mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-22 20:03:02 +01:00
Alan's patch for ARM
This commit is contained in:
parent
fd38d38345
commit
f4f209cb6f
42
builds/posix/prefix.linux_arm
Normal file
42
builds/posix/prefix.linux_arm
Normal file
@ -0,0 +1,42 @@
|
||||
# The contents of this file are subject to the Interbase Public
|
||||
# License Version 1.0 (the "License"); you may not use this file
|
||||
# except in compliance with the License. You may obtain a copy
|
||||
# of the License at http://www.Inprise.com/IPL.html
|
||||
#
|
||||
# Software distributed under the License is distributed on an
|
||||
# "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express
|
||||
# or implied. See the License for the specific language governing
|
||||
# rights and limitations under the License.
|
||||
#
|
||||
# The Original Code was created by Inprise Corporation
|
||||
# and its predecessors. Portions created by Inprise Corporation are
|
||||
# Copyright (C) Inprise Corporation.
|
||||
#
|
||||
# All Rights Reserved.
|
||||
# Contributor(s): ______________________________________.
|
||||
# Start of file prefix.linux: $(VERSION) $(PLATFORM)
|
||||
#
|
||||
# $Id: prefix.linux_arm,v 1.2 2008-04-15 14:14:48 alexpeshkoff Exp $
|
||||
#
|
||||
# 14 Apr 2008 Alan Barclay alan AT escribe.co.uk
|
||||
|
||||
|
||||
#LD=@CXX@
|
||||
|
||||
#PROD_FLAGS=-ggdb -O3 -fno-omit-frame-pointer -DNDEBUG -DLINUX -pipe -MMD -fPIC
|
||||
#DEV_FLAGS=-ggdb -DLINUX -DDEBUG_GDS_ALLOC -pipe -MMD -p -fPIC -Wall -Wno-switch
|
||||
|
||||
PROD_FLAGS=-O3 -DNDEBUG -DLINUX -DARM -pipe -p -MMD -fPIC -fsigned-char -fmessage-length=0
|
||||
DEV_FLAGS=-ggdb -DLINUX -DARM -pipe -p -MMD -fPIC -Wall -fsigned-char -fmessage-length=0
|
||||
|
||||
OS_ServerFiles=inet_server.cpp
|
||||
|
||||
#LIB_LINK_OPTIONS:=-shared
|
||||
#LIB_LINK_RPATH:=-Wl,-rpath,
|
||||
#LIB_LINK_SONAME:=-Wl,-soname,
|
||||
|
||||
EMBED_UTIL_TARGETS=gstat gds_drop gds_relay gsec nbackup fb_lock_print fbsvcmgr
|
||||
CLIENT_UTIL_TARGETS=gstat gds_drop gds_relay gsec nbackup fb_lock_print fbguard fbmgr_bin fbsvcmgr
|
||||
|
||||
Physical_IO_Module=unix.cpp
|
||||
|
12
configure.in
12
configure.in
@ -135,6 +135,18 @@ dnl CPU_TYPE=x86_64
|
||||
RPM64='()(64bit)'
|
||||
;;
|
||||
|
||||
arm*-*-linux*)
|
||||
MAKEFILE_PREFIX=linux_arm
|
||||
INSTALL_PREFIX=linux
|
||||
PLATFORM=LINUX
|
||||
AC_DEFINE(LINUX, 1, [Define this if OS is Linux])
|
||||
LOCK_MANAGER_FLG=Y
|
||||
EDITLINE_FLG=Y
|
||||
SHRLIB_EXT=so
|
||||
STD_EDITLINE=true
|
||||
STD_ICU=true
|
||||
;;
|
||||
|
||||
sparc*-*-linux*)
|
||||
MAKEFILE_PREFIX=linux_sparc32
|
||||
INSTALL_PREFIX=linux
|
||||
|
@ -118,6 +118,10 @@
|
||||
#define IMPLEMENTATION isc_info_db_impl_i386 /* 60 */
|
||||
#endif /* i386 */
|
||||
|
||||
#ifdef ARM
|
||||
#define IMPLEMENTATION isc_info_db_impl_linux_arm
|
||||
#endif /* ARM */
|
||||
|
||||
#ifdef sparc
|
||||
#define IMPLEMENTATION isc_info_db_impl_linux_sparc /* 65 */
|
||||
#define RISC_ALIGNMENT
|
||||
|
@ -202,6 +202,8 @@ enum info_db_implementations
|
||||
isc_info_db_impl_linux_mips = 72,
|
||||
isc_info_db_impl_darwin_x64 = 73,
|
||||
|
||||
isc_info_db_impl_linux_arm = 75,
|
||||
|
||||
isc_info_db_impl_last_value /* Leave this LAST! */
|
||||
};
|
||||
|
||||
|
@ -154,8 +154,11 @@ static const int CLASS_DARWIN_I386 = 28; //Darwin/Intel
|
||||
static const int CLASS_LINUX_MIPSEL = 29; // LINUX/MIPSEL
|
||||
static const int CLASS_LINUX_MIPS = 30; // LINUX/MIPS
|
||||
static const int CLASS_DARWIN_X64 = 31; // Darwin/x64
|
||||
static const int CLASS_SOLARIS_AMD64 = 32; //Solaris/amd64
|
||||
static const int CLASS_LINUX_ARM = 33; // LINUX/ARM
|
||||
|
||||
static const int CLASS_MAX10 = CLASS_LINUX_AMD64; // This should not be changed, no new ports with ODS10
|
||||
static const int CLASS_MAX = CLASS_DARWIN_X64;
|
||||
static const int CLASS_MAX = CLASS_LINUX_ARM;
|
||||
|
||||
// ARCHITECTURE COMPATIBILITY CLASSES
|
||||
|
||||
@ -244,7 +247,9 @@ static const ArchitectureType archMatrix[CLASS_MAX + 1] =
|
||||
archLittleEndian, // CLASS_DARWIN_I386
|
||||
archLittleEndian, // CLASS_LINUX_MIPSEL
|
||||
archBigEndian, // CLASS_LINUX_MIPS
|
||||
archLittleEndian // CLASS_DARWIN_X64
|
||||
archLittleEndian, // CLASS_DARWIN_X64
|
||||
archLittleEndian, // CLASS_SOLARIS_AMD64
|
||||
archLittleEndian // CLASS_LINUX_ARM
|
||||
};
|
||||
|
||||
#ifdef sun
|
||||
@ -284,6 +289,8 @@ const SSHORT CLASS = CLASS_LINUX_I386;
|
||||
const SSHORT CLASS = CLASS_LINUX_SPARC;
|
||||
#elif defined(AMD64)
|
||||
const SSHORT CLASS = CLASS_LINUX_AMD64;
|
||||
#elif defined(ARM)
|
||||
const SSHORT CLASS = CLASS_LINUX_ARM;
|
||||
#elif defined(PPC)
|
||||
const SSHORT CLASS = CLASS_LINUX_PPC;
|
||||
#elif defined(MIPSEL)
|
||||
|
@ -212,7 +212,9 @@ static const TEXT* const impl_implementation[] = {
|
||||
"Firebird/Darwin/Intel", /* 70 */
|
||||
"Firebird/linux MIPSEL", /* 71 */
|
||||
"Firebird/linux MIPS", /* 72 */
|
||||
"Firebird/Darwin/Intel64" /* 73 */
|
||||
"Firebird/Darwin/Intel64", /* 73 */
|
||||
"Firebird/sun/amd64", /* 74 */
|
||||
"Firebird/linux ARM" /* 75 */
|
||||
};
|
||||
|
||||
|
||||
|
@ -38,7 +38,7 @@
|
||||
// The simpliest way to check it is to issue
|
||||
// "select abs(2.0/3.0) from rdb$database" from correct client
|
||||
// It will return big strange value in case of invalid define
|
||||
#if defined(i386) || defined(I386) || defined(_M_IX86) || defined(AMD64) || defined(MIPSEL) || defined(DARWIN64)
|
||||
#if defined(i386) || defined(I386) || defined(_M_IX86) || defined(AMD64) || defined(ARM) || defined(MIPSEL) || defined(DARWIN64)
|
||||
#define SWAP_DOUBLE
|
||||
#elif defined(sparc) || defined(PowerPC) || defined(PPC) || defined(__ppc__) || defined(HPUX) || defined(MIPS)
|
||||
#undef SWAP_DOUBLE
|
||||
|
Loading…
Reference in New Issue
Block a user