|
From: <ale...@us...> - 2010-08-09 13:56:28
|
Revision: 51416
http://firebird.svn.sourceforge.net/firebird/?rev=51416&view=rev
Author: alexpeshkoff
Date: 2010-08-09 13:56:20 +0000 (Mon, 09 Aug 2010)
Log Message:
-----------
Damian's patch for additional CPUs under linux
Modified Paths:
--------------
firebird/trunk/configure.in
firebird/trunk/src/common/classes/DbImplementation.cpp
firebird/trunk/src/jrd/common.h
Modified: firebird/trunk/configure.in
===================================================================
--- firebird/trunk/configure.in 2010-08-09 11:50:12 UTC (rev 51415)
+++ firebird/trunk/configure.in 2010-08-09 13:56:20 UTC (rev 51416)
@@ -275,6 +275,28 @@
SHRLIB_EXT=so
;;
+ hppa*-*-linux*)
+ MAKEFILE_PREFIX=linux_generic
+ INSTALL_PREFIX=linux
+ PLATFORM=LINUX
+ AC_DEFINE(LINUX, 1, [Define this if OS is Linux])
+ AC_DEFINE(HPPA, 1, [Define this if CPU is HPPA])
+ LOCK_MANAGER_FLG=Y
+ EDITLINE_FLG=Y
+ SHRLIB_EXT=so
+ ;;
+
+ alpha*-*-linux*)
+ MAKEFILE_PREFIX=linux_generic
+ INSTALL_PREFIX=linux
+ PLATFORM=LINUX
+ AC_DEFINE(LINUX, 1, [Define this if OS is Linux])
+ AC_DEFINE(ALPHA, 1, [Define this if CPU is Alpha])
+ LOCK_MANAGER_FLG=Y
+ EDITLINE_FLG=Y
+ SHRLIB_EXT=so
+ ;;
+
*-*-linux* | *-*-gnu*)
MAKEFILE_PREFIX=linux_generic
INSTALL_PREFIX=linux
Modified: firebird/trunk/src/common/classes/DbImplementation.cpp
===================================================================
--- firebird/trunk/src/common/classes/DbImplementation.cpp 2010-08-09 11:50:12 UTC (rev 51415)
+++ firebird/trunk/src/common/classes/DbImplementation.cpp 2010-08-09 13:56:20 UTC (rev 51416)
@@ -46,6 +46,7 @@
static const UCHAR CpuSh = 11;
static const UCHAR CpuSheb = 12;
static const UCHAR CpuHppa = 13;
+static const UCHAR CpuAlpha = 14;
static const UCHAR OsWindows = 0;
static const UCHAR OsLinux = 1;
@@ -82,7 +83,8 @@
"s390x",
"SH",
"SHEB",
- "HPPA"
+ "HPPA",
+ "Alpha"
};
const char* operatingSystem[] = {
@@ -109,22 +111,22 @@
// This table lists pre-fb3 imlementation codes
const UCHAR backwardTable[FB_NELEM(hardware) * FB_NELEM(operatingSystem)] =
{
-// Intel AMD Sparc PPC PPC64 MIPSEL MIPS ARM IA64 s390 s390x SH SHEB HPPA
-/* Windows */ 50, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-/* Linux */ 60, 66, 65, 69, 0, 71, 72, 75, 76, 79, 78, 80, 81, 0,
-/* Darwin */ 70, 73, 0, 63, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-/* Solaris */ 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-/* HPUX */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31,
-/* AIX */ 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-/* MVS */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-/* FreeBSD */ 61, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-/* NetBSD */ 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+// Intel AMD Sparc PPC PPC64 MIPSEL MIPS ARM IA64 s390 s390x SH SHEB HPPA Alpha
+/* Windows */ 50, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+/* Linux */ 60, 66, 65, 69, 0, 71, 72, 75, 76, 79, 78, 80, 81, 0, 0,
+/* Darwin */ 70, 73, 0, 63, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+/* Solaris */ 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+/* HPUX */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0,
+/* AIX */ 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+/* MVS */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+/* FreeBSD */ 61, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+/* NetBSD */ 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};
const UCHAR backEndianess[FB_NELEM(hardware)] =
{
-// Intel AMD Sparc PPC PPC64 MIPSEL MIPS ARM IA64 s390 s390x SH SHEB HPPA
- 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1,
+// Intel AMD Sparc PPC PPC64 MIPSEL MIPS ARM IA64 s390 s390x SH SHEB HPPA Alpha
+ 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0
};
} // anonymous namespace
Modified: firebird/trunk/src/jrd/common.h
===================================================================
--- firebird/trunk/src/jrd/common.h 2010-08-09 11:50:12 UTC (rev 51415)
+++ firebird/trunk/src/jrd/common.h 2010-08-09 13:56:20 UTC (rev 51416)
@@ -182,6 +182,16 @@
#define RISC_ALIGNMENT
#endif /* sheb */
+#ifdef HPPA
+#define FB_CPU CpuHppa
+#define RISC_ALIGNMENT
+#endif /* hppa */
+
+#ifdef ALPHA
+#define FB_CPU CpuAlpha
+#define RISC_ALIGNMENT
+#endif
+
#endif /* LINUX */
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|