8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-22 18:43:02 +01:00

Port to Renesas SH (linux) by Nobuhiro Iwamatsu

This commit is contained in:
alexpeshkoff 2009-10-07 13:29:17 +00:00
parent 4c9d5f0d93
commit 23b4e0767e
5 changed files with 49 additions and 3 deletions

View File

@ -230,6 +230,29 @@ dnl CPU_TYPE=ppc64
SHRLIB_EXT=so
;;
sh*-*-linux*)
MAKEFILE_PREFIX=linux_generic
INSTALL_PREFIX=linux
PLATFORM=LINUX
AC_DEFINE(LINUX, 1, [Define this if OS is Linux])
AC_DEFINE(SH, 1, [Architecture is little-endian sh4])
LOCK_MANAGER_FLG=Y
EDITLINE_FLG=Y
SHRLIB_EXT=so
;;
sh*eb-*-linux*)
MAKEFILE_PREFIX=linux_generic
INSTALL_PREFIX=linux
PLATFORM=LINUX
AC_DEFINE(LINUX, 1, [Define this if OS is Linux])
AC_DEFINE(SHEB, 1, [Architecture is big-edian sh4])
LOCK_MANAGER_FLG=Y
EDITLINE_FLG=Y
SHRLIB_EXT=so
;;
*-*-linux*)
MAKEFILE_PREFIX=linux_generic
INSTALL_PREFIX=linux

View File

@ -172,6 +172,16 @@
#endif // __s390x__
#endif // __s390__
#ifdef SH
#define IMPLEMENTATION isc_info_db_impl_linux_sh /* 80 */
#define RISC_ALIGNMENT
#endif /* sh */
#ifdef SHEB
#define IMPLEMENTATION isc_info_db_impl_linux_sheb /* 81 */
#define RISC_ALIGNMENT
#endif /* sheb */
#endif /* LINUX */

View File

@ -211,6 +211,9 @@ enum info_db_implementations
isc_info_db_impl_linux_s390x = 78,
isc_info_db_impl_linux_s390 = 79,
isc_info_db_impl_linux_sh = 80,
isc_info_db_impl_linux_sheb = 81,
isc_info_db_impl_last_value // Leave this LAST!
};

View File

@ -158,9 +158,11 @@ static const int CLASS_LINUX_IA64 = 34; // LINUX/IA64
static const int CLASS_DARWIN_PPC64 = 35; // Darwin/PowerPC64
static const int CLASS_LINUX_S390X = 36; // LINUX/s390x
static const int CLASS_LINUX_S390 = 37; // LINUX/s390
static const int CLASS_LINUX_SH = 38; // LINUX/SH (little-endian)
static const int CLASS_LINUX_SHEB = 39; // LINUX/SH (big-endian)
static const int CLASS_MAX10 = CLASS_LINUX_AMD64; // This should not be changed, no new ports with ODS10
static const int CLASS_MAX = CLASS_LINUX_S390;
static const int CLASS_MAX = CLASS_LINUX_SHEB;
// ARCHITECTURE COMPATIBILITY CLASSES
@ -255,7 +257,9 @@ static const ArchitectureType archMatrix[CLASS_MAX + 1] =
archLittleEndian, // CLASS_LINUX_IA64
archBigEndian, // CLASS_DARWIN_PPC64
archBigEndian, // CLASS_LINUX_S390X
archBigEndian // CLASS_LINUX_S390
archBigEndian, // CLASS_LINUX_S390
archLittleEndian, // CLASS_LINUX_SH
archBigEndian // CLASS_LINUX_SHEB
};
#ifdef __sun
@ -311,6 +315,10 @@ const SSHORT CLASS = CLASS_LINUX_S390X;
# else
const SSHORT CLASS = CLASS_LINUX_S390;
# endif // defined(__s390x__)
#elif defined(SH)
const SSHORT CLASS = CLASS_LINUX_SH;
#elif defined(SHEB)
const SSHORT CLASS = CLASS_LINUX_SHEB;
#else
#error no support on other hardware for Linux
#endif

View File

@ -223,7 +223,9 @@ static const TEXT* const impl_implementation[] =
"Firebird/linux IA64", // 76
"Firebird/Darwin/PowerPC64", // 77
"Firebird/linux s390x", // 78
"Firebird/linux s390" // 79
"Firebird/linux s390", // 79
"Firebird/linux SH", // 80
"Firebird/linux SHEB" // 81
};