8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-02-02 09:20:39 +01:00

Welcome to 64bit MacOS builds

This commit is contained in:
paulbeach 2008-01-18 14:12:26 +00:00
parent 390878e836
commit 79a649377d
10 changed files with 89 additions and 11 deletions

View File

@ -1,10 +1,10 @@
# EKU: taken from Makefile.in.firebird
ROOT=..
include $(ROOT)/gen/make.defaults
include $(ROOT)/gen/make.platform
include $(ROOT)/gen/make.rules
include $(ROOT)/gen/make.shared.variables
include $(ROOT)/gen/make.defaults
include $(ROOT)/gen/make.platform
include $(ROOT)/gen/make.rules
include $(ROOT)/gen/make.shared.variables
@ -23,7 +23,7 @@ FB_MAJOR_VERS:=$(shell cpp -DDARWIN -I. ../builds/install/arch-specific/darwin/
FB_MINOR_VERS:=$(shell cpp -DDARWIN -I. ../builds/install/arch-specific/darwin/minorvers.c | tail -1 | sed -e 's/" "//g' -e 's/"//g')
FB_REV_NO:=$(shell cpp -DDARWIN -I. ../builds/install/arch-specific/darwin/revno.c | tail -1 | sed -e 's/" "//g' -e 's/"//g')
FB_BUILD_NO:=$(shell cpp -DDARWIN -I. ../builds/install/arch-specific/darwin/buildno.c | tail -1 | sed -e 's/" "//g' -e 's/"//g')
FB_PLATFORM:=$(shell uname -p)
FB_PLATFORM:=$(CpuType)
package packages dist: package_@FIREBIRD_ARCH_TYPE@

View File

@ -0,0 +1,65 @@
# 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) 2000 Inprise Corporation
# All Rights Reserved.
# Contributor(s): ______________________________________.
# Start of file prefix.darwin: $(VERSION) @PLATFORM@
#$Id: prefix.darwin_x86_64,v 1.2 2008-01-18 14:12:25 paulbeach Exp $
# 2 Oct 2002, Nickolay Samofatov - Major Cleanup
# To use this file to build 64bit version of Firebird for MacOS 10.5 (Leopard)
# 1. edit configure.in so that MAKEFILE_PREFIX=darwin_x86_64
# 2. uncomment the CPU_TYPE
# 3. edit extern/icu/source/config/mh-darwin and set the right 64bit flags (-arch x86_64)
# 4. export CFLAGS='-arch x86_64'
# 5. export CXXFLAGS='-arch x86_64'
DYLD_LIBRARY_PATH=$(FIREBIRD)/lib
export DYLD_LIBRARY_PATH
MACOSX_DEPLOYMENT_TARGET=10.5
export MACOSX_DEPLOYMENT_TARGET
OS_ServerFiles=inet_server.cpp
PROD_FLAGS=-O3 -DNDEBUG -DDARWIN -pipe -p -MMD -fPIC -fno-common -mmacosx-version-min=10.5
DEV_FLAGS=-ggdb -DDARWIN -pipe -p -MMD -fPIC -fno-common -Wall -mmacosx-version-min=10.5
EMBED_UTIL_TARGETS=gstat gds_drop gds_relay gsec nbackup fb_lock_print fbsvcmgr
CLIENT_UTIL_TARGETS=gds_drop gds_relay gstat gsec fbguard fbmgr_bin nbackup fb_lock_print fbsvcmgr
Physical_IO_Module=os/posix/unix.cpp
PLATFORM_PATH=os/darwin
LINK_OPTS:=-arch x86_64
LD_FLAGS+=-arch x86_64
LIB_BUNDLE_OPTIONS:=$(LD_FLAGS) -bundle -flat_namespace -undefined suppress
LIB_LINK_OPTIONS:=$(LD_FLAGS) -dynamiclib -flat_namespace
LIB_LINK_SONAME:=-current_version 2.1.0 -compatibility_version 2.1.0 -seg1addr 0x30000000
LIB_LINK_MAPFILE:=-Wl,-exported_symbols_list,
LINK_FIREBIRD_EMBED_SYMBOLS=$(LIB_LINK_MAPFILE)$(ROOT)/builds/posix/firebird.darwin.embed.vers
LINK_FIREBIRD_CLIENT_SYMBOLS=$(LIB_LINK_MAPFILE)$(ROOT)/builds/posix/firebird.darwin.client.vers
LINK_FBINTL_SYMBOLS=$(LIB_LINK_MAPFILE)$(ROOT)/builds/posix/fbintl.darwin.vers
LIB_LINK_RPATH:=-install_name /Library/Frameworks/Firebird.framework/Versions/A/Libraries/
LIB_EMBED_LINK_OPTIONS:=-install_name /Library/Frameworks/Firebird.framework/Versions/A/Firebird
LIB_CLIENT_LINK_OPTIONS:=-install_name /Library/Frameworks/Firebird.framework/Versions/A/Firebird
FBEMBED_LINK:=-F../gen/firebird -framework Firebird -L$(LIB) -lfbembed
PLATFORM_FALLBACK=os/posix
PLAT_CLASSIC_PRE_TARGET=darwin_setup_framework
PLAT_CLASSIC_POST_TARGET=darwin_finish_cs_framework
PLAT_SUPER_PRE_TARGET=darwin_setup_framework
PLAT_SUPER_POST_TRAGET=darwin_finish_ss_framework
PLATFORM_POSTBUILD_TARGET=darwin_postbuild_target

View File

@ -55,6 +55,7 @@ case "$target" in
EDITLINE_FLG=Y
SHRLIB_EXT=dylib
ICU_PLATFORM=MacOSX
dnl CPU_TYPE=x86_64
;;
powerpc-*-darwin*)

View File

@ -164,6 +164,10 @@
#define I386
#define IMPLEMENTATION isc_info_db_impl_darwin_x86 /* 70 */
#endif
#ifdef __x86_64__
#define DARWIN64
#define IMPLEMENTATION isc_info_db_impl_darwin_x64 /* 73 */
#endif
#define IEEE
#define QUADCONST(n) (n##LL)
#define QUADFORMAT "q"

View File

@ -200,6 +200,7 @@ enum info_db_implementations
isc_info_db_impl_darwin_x86 = 70,
isc_info_db_impl_linux_mipsel = 71,
isc_info_db_impl_linux_mips = 72,
isc_info_db_impl_darwin_x64 = 73,
isc_info_db_impl_last_value /* Leave this LAST! */
};

View File

@ -121,12 +121,12 @@
#endif
#ifdef DARWIN
#ifdef i386
#if defined(i386) || defined(__x86_64__)
#define FB_PLATFORM "UI" /* Darwin/Intel */
#endif
#if defined (DARWIN) && defined (_powerpc_)
#define FB_PLATFORM "UP" /* Darwin/PowerPC */
#endif
#if defined(DARWIN) && defined(_powerpc_)
#define FB_PLATFORM "UP" /* Darwin/PowerPC */
#endif
#ifndef FB_VERSION

View File

@ -154,6 +154,7 @@ static const int CLASS_LINUX_PPC = 27; // LINUX/PowerPC
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_MAX10 = CLASS_LINUX_AMD64; // This should not be changed, no new ports with ODS10
static const int CLASS_MAX = CLASS_LINUX_MIPS;
@ -244,6 +245,7 @@ static const ArchitectureType archMatrix[CLASS_MAX + 1] =
archLittleEndian, // CLASS_DARWIN_I386
archLittleEndian, // CLASS_LINUX_MIPSEL
archBigEndian // CLASS_LINUX_MIPS
archLittleEndian // CLASS_DARWIN_X64
};
#ifdef sun
@ -312,6 +314,9 @@ const SSHORT CLASS = CLASS_NETBSD_I386;
#ifdef i386
const SSHORT CLASS = CLASS_DARWIN_I386;
#endif
#ifdef DARWIN64
const SSHORT CLASS = CLASS_DARWIN_X64;
#endif
#ifdef powerpc
const SSHORT CLASS = CLASS_DARWIN_PPC;
#endif

View File

@ -147,8 +147,8 @@ typedef enum
arch_netbsd = 38,
arch_darwin_ppc = 39,
arch_winnt_64 = 40,
arch_max = 41 /* Keep this at the end */
arch_darwin_64 = 41,
arch_max = 42 /* Keep this at the end */
} P_ARCH;
/* Protocol Types */

View File

@ -68,6 +68,8 @@ const P_ARCH ARCHITECTURE = arch_darwin_ppc;
const P_ARCH ARCHITECTURE = arch_winnt_64;
#elif defined(I386)
const P_ARCH ARCHITECTURE = arch_intel_32;
#elif defined(DARWIN64)
const P_ARCH ARCHITECTURE = arch_darwin_64;
#endif

View File

@ -39,7 +39,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)
#if defined(i386) || defined(I386) || defined(_M_IX86) || defined(AMD64) || defined(MIPSEL) || defined(DARWIN64)
#define SWAP_DOUBLE
#elif defined(sparc) || defined(PowerPC) || defined(PPC) || defined(__ppc__) || defined(HPUX) || defined(MIPS)
#undef SWAP_DOUBLE