summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firebird/ExternalPackage_firebird.mk6
-rw-r--r--firebird/ExternalProject_firebird.mk4
-rw-r--r--firebird/UnpackedTarball_firebird.mk6
-rw-r--r--firebird/firebird-macosx.patch.1153
-rw-r--r--solenv/bin/macosx-change-install-names.pl4
5 files changed, 171 insertions, 2 deletions
diff --git a/firebird/ExternalPackage_firebird.mk b/firebird/ExternalPackage_firebird.mk
index 8039bece966c..43127b5c221d 100644
--- a/firebird/ExternalPackage_firebird.mk
+++ b/firebird/ExternalPackage_firebird.mk
@@ -15,9 +15,15 @@ ifeq ($(OS)-$(COM),WNT-MSC)
$(eval $(call gb_ExternalPackage_add_file,firebird,bin/ifbembed.dll,gen/firebird/bin/ifbembed.dll))
$(eval $(call gb_ExternalPackage_add_file,firebird,lib/ifbembed.lib,gen/firebird/bin/ifbembed.lib))
else
+ifeq ($(OS),MACOSX)
+$(eval $(call gb_ExternalPackage_add_file,firebird,lib/libfbembed.2.5.2.dylib,gen/firebird/lib/libfbembed.dylib.2.5.2))
+$(eval $(call gb_ExternalPackage_add_file,firebird,lib/libfbembed.2.5.dylib,gen/firebird/lib/libfbembed.dylib.2.5))
+$(eval $(call gb_ExternalPackage_add_file,firebird,lib/libfbembed.dylib,gen/firebird/lib/libfbembed.dylib))
+else
$(eval $(call gb_ExternalPackage_add_file,firebird,lib/libfbembed.so.2.5.2,gen/firebird/lib/libfbembed.so.2.5.2))
$(eval $(call gb_ExternalPackage_add_file,firebird,lib/libfbembed.so.2.5,gen/firebird/lib/libfbembed.so.2.5))
$(eval $(call gb_ExternalPackage_add_file,firebird,lib/libfbembed.so,gen/firebird/lib/libfbembed.so))
endif
+endif
# vim: set noet sw=4 ts=4:
diff --git a/firebird/ExternalProject_firebird.mk b/firebird/ExternalProject_firebird.mk
index 7f43d17c0f88..b0f639cc7d9e 100644
--- a/firebird/ExternalProject_firebird.mk
+++ b/firebird/ExternalProject_firebird.mk
@@ -38,7 +38,8 @@ $(call gb_ExternalProject_get_state_target,firebird,build):
-L$(OUTDIR)/lib \
-L$(call gb_UnpackedTarball_get_dir,boost)/source/lib" \
&& export LD_LIBRARY_PATH="$(OUTDIR)/lib:$(call gb_UnpackedTarball_get_dir,boost)/source/lib" \
- && export PATH="$(PATH):$(shell cygpath $(OUTDIR)/lib):$(shell cygpath $(call gb_UnpackedTarball_get_dir,icu)/source/lib)" \
+ && export DYLD_LIBRARY_PATH="$(OUTDIR)/lib:$(call gb_UnpackedTarball_get_dir,boost)/source/lib" \
+ $(if $(filter WNT,$(OS)), && export PATH="$(PATH):$(shell cygpath $(OUTDIR)/lib):$(shell cygpath $(call gb_UnpackedTarball_get_dir,icu)/source/lib)") \
&& ./configure \
--without-editline \
--disable-superserver \
@@ -46,6 +47,7 @@ $(call gb_ExternalProject_get_state_target,firebird,build):
$(if $(filter YES,$(CROSS_COMPILING)),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)) \
$(if $(filter MACOSX,$(OS)),--prefix=/@.__________________________________________________OOO) \
$(if $(filter IOS ANDROID,$(OS)),--disable-shared,--disable-static) \
+ && export CHANGE_INSTALL_NAMES="$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl fb OOO" \
&& $(MAKE) firebird_embedded \
)
# vim: set noet sw=4 ts=4:
diff --git a/firebird/UnpackedTarball_firebird.mk b/firebird/UnpackedTarball_firebird.mk
index b37cebbfdc2d..b474b0063739 100644
--- a/firebird/UnpackedTarball_firebird.mk
+++ b/firebird/UnpackedTarball_firebird.mk
@@ -20,4 +20,10 @@ $(eval $(call gb_UnpackedTarball_add_patches,firebird,\
firebird/firebird-cygwin-msvc.patch.1 \
))
endif
+
+ifeq ($(OS),MACOSX)
+$(eval $(call gb_UnpackedTarball_add_patches,firebird,\
+ firebird/firebird-macosx.patch.1 \
+))
+endif
# vim: set noet sw=4 ts=4:
diff --git a/firebird/firebird-macosx.patch.1 b/firebird/firebird-macosx.patch.1
new file mode 100644
index 000000000000..5794a9648a36
--- /dev/null
+++ b/firebird/firebird-macosx.patch.1
@@ -0,0 +1,153 @@
+Only in firebird: Makefile
+Only in firebird: build.log
+diff -ur firebird.org/builds/posix/Makefile.in.codes firebird/builds/posix/Makefile.in.codes
+--- firebird.org/builds/posix/Makefile.in.codes 2013-07-12 20:55:46.000000000 +0200
++++ firebird/builds/posix/Makefile.in.codes 2013-07-15 11:43:26.000000000 +0200
+@@ -63,7 +63,7 @@
+
+ $(BIN)/codes$(EXEC_EXT): $(CODES_Objects) $(COMMON_Objects) $(LIBFBSTATIC_A)
+ $(STATICEXE_LINK) $(LINK_OPTS) $^ -o $@ -L$(LIB) $(LINK_LIBS) $(ICU_LIBS)
+-
++ $(CHANGE_INSTALL_NAMES) $@
+
+ # Rebuild ids.h
+ $(SRC_ROOT)/include/gen/ids.h: $(SRC_ROOT)/misc/ids.m $(SRC_ROOT)/jrd/relations.h
+diff -ur firebird.org/builds/posix/Makefile.in.examples firebird/builds/posix/Makefile.in.examples
+--- firebird.org/builds/posix/Makefile.in.examples 2013-07-12 20:55:46.000000000 +0200
++++ firebird/builds/posix/Makefile.in.examples 2013-07-15 11:50:37.000000000 +0200
+@@ -129,6 +129,7 @@
+
+ $(EXAMPLES_DEST)/empbuild$(EXEC_EXT): $(EMPBLD_Objects) $(COMMON_Objects) $(LIBFBSTATIC_A)
+ $(EXE_LINK) $(LINK_OPTS) $(EMPBLD_Objects) $(COMMON_Objects) -o $@ -L$(LIB) -lfbstatic $(LINK_LIBS) $(ICU_LIBS)
++ $(CHANGE_INSTALL_NAMES) $@
+
+ $(EXAMPLES_DEST)/empbuild.c: $(EXAMPLES_DEST)/empbuild.fdb $(EXAMPLES_DEST)/empbuild.e
+
+@@ -147,6 +148,7 @@
+
+ $(EXAMPLES_DEST)/intlbld$(EXEC_EXT): $(INTLBLD_Objects) $(COMMON_Objects) $(LIBFBSTATIC_A)
+ $(EXE_LINK) $(LINK_OPTS) $(INTLBLD_Objects) $(COMMON_Objects) -o $@ -L$(LIB) -lfbstatic $(LINK_LIBS) $(ICU_LIBS)
++ $(CHANGE_INSTALL_NAMES) $@
+
+ $(EXAMPLES_DEST)/intlbld.c: $(EXAMPLES_DEST)/intlbuild.fdb $(EXAMPLES_DEST)/intlbld.e
+
+diff -ur firebird.org/builds/posix/Makefile.in.msgs firebird/builds/posix/Makefile.in.msgs
+--- firebird.org/builds/posix/Makefile.in.msgs 2013-07-12 20:55:46.000000000 +0200
++++ firebird/builds/posix/Makefile.in.msgs 2013-07-15 11:37:17.000000000 +0200
+@@ -107,6 +107,7 @@
+ $(BUILD_FILE): $(BUILD_Objects) $(COMMON_Objects) $(LIBFBSTATIC_A)
+ $(STATICEXE_LINK) $(LINK_OPTS) $(BUILD_Objects) $(COMMON_Objects) -o $@ -L$(LIB) -lfbstatic $(LINK_LIBS) $(ICU_LIBS)
+ $(CHMOD_7) $@
++ $(CHANGE_INSTALL_NAMES) $@
+
+
+ enter_messages : $(ENTER_MESSAGES)
+@@ -114,6 +115,7 @@
+ $(ENTER_MESSAGES): $(ENTER_Objects) $(LIBFBSTATIC_A)
+ $(STATICEXE_LINK) $(LINK_OPTS) $(ENTER_Objects) $(COMMON_Objects) -o $@ -L$(LIB) -lfbstatic $(LINK_LIBS) $(ICU_LIBS)
+ $(CHMOD_7) $@
++ $(CHANGE_INSTALL_NAMES) $@
+
+
+ modify_messages: $(MODIFY_MESSAGES)
+@@ -121,6 +123,7 @@
+ $(MODIFY_MESSAGES): $(MODIFY_Objects) $(LIBFBSTATIC_A)
+ $(STATICEXE_LINK) $(LINK_OPTS) $(MODIFY_Objects) $(COMMON_Objects) -o $@ -L$(LIB) -lfbstatic $(LINK_LIBS) $(ICU_LIBS)
+ $(CHMOD_7) $@
++ $(CHANGE_INSTALL_NAMES) $@
+
+
+ change_messages: $(CHANGE_MESSAGES)
+@@ -128,6 +131,7 @@
+ $(CHANGE_MESSAGES): $(CHANGE_Objects) $(COMMON_Objects) $(LIBFBSTATIC_A)
+ $(STATICEXE_LINK) $(LINK_OPTS) $(CHANGE_Objects) $(COMMON_Objects) -o $@ -L$(LIB) -lfbstatic $(LINK_LIBS) $(ICU_LIBS)
+ $(CHMOD_7) $@
++ $(CHANGE_INSTALL_NAMES) $@
+
+
+
+diff -ur firebird.org/builds/posix/Makefile.in.static.createdb firebird/builds/posix/Makefile.in.static.createdb
+--- firebird.org/builds/posix/Makefile.in.static.createdb 2013-07-12 20:55:46.000000000 +0200
++++ firebird/builds/posix/Makefile.in.static.createdb 2013-07-15 10:12:21.000000000 +0200
+@@ -59,6 +59,7 @@
+
+ $(CREATE_DB): $(CREATEDB_Objects) $(COMMON_Objects) $(LIBFBSTATIC_A)
+ $(STATICEXE_LINK) $(LINK_OPTS) $^ -o $@ -L$(LIB) $(LINK_LIBS) $(ICU_LIBS)
++ $(CHANGE_INSTALL_NAMES) $(CREATE_DB)
+
+
+ include $(ROOT)/gen/make.shared.targets
+diff -ur firebird.org/builds/posix/Makefile.in.static.gbak firebird/builds/posix/Makefile.in.static.gbak
+--- firebird.org/builds/posix/Makefile.in.static.gbak 2013-07-12 20:55:46.000000000 +0200
++++ firebird/builds/posix/Makefile.in.static.gbak 2013-07-15 11:25:41.000000000 +0200
+@@ -60,7 +60,7 @@
+
+ $(GBAK_STATIC) : $(AllObjects) $(LIBFBSTATIC_A)
+ $(STATICEXE_LINK) $(LINK_OPTS) $^ -o $@ -L$(LIB) $(LINK_LIBS) $(ICU_LIBS)
+-
++ $(CHANGE_INSTALL_NAMES) $@
+
+ include $(ROOT)/gen/make.shared.targets
+
+diff -ur firebird.org/builds/posix/Makefile.in.static.gpre firebird/builds/posix/Makefile.in.static.gpre
+--- firebird.org/builds/posix/Makefile.in.static.gpre 2013-07-12 20:55:46.000000000 +0200
++++ firebird/builds/posix/Makefile.in.static.gpre 2013-07-15 10:12:34.000000000 +0200
+@@ -61,6 +61,7 @@
+ $(GPRE_STATIC): $(GPRESTATIC_Objects) $(COMMON_Objects) $(LIBFBSTATIC_A)
+ $(STATICEXE_LINK) $(LINK_OPTS) $^ -o $@ -L$(LIB) $(LINK_LIBS) $(ICU_LIBS)
+ -$(RM) $(GPRE_CURRENT)
++ $(CHANGE_INSTALL_NAMES) $(GPRE_STATIC)
+ (cd $(@D); $(LN) $(@F) $(notdir $(GPRE_CURRENT)))
+
+
+diff -ur firebird.org/builds/posix/Makefile.in.static.isql firebird/builds/posix/Makefile.in.static.isql
+--- firebird.org/builds/posix/Makefile.in.static.isql 2013-07-12 20:55:46.000000000 +0200
++++ firebird/builds/posix/Makefile.in.static.isql 2013-07-15 11:27:32.000000000 +0200
+@@ -60,7 +60,7 @@
+
+ $(ISQL_STATIC): $(ISQL_Objects) $(COMMON_Objects) $(LIBFBSTATIC_A)
+ $(STATICEXE_LINK) $(LINK_OPTS) $(ISQL_Objects) $(COMMON_Objects) -o $@ -L$(LIB) -lfbstatic $(LIBEDITLINE) $(LINK_LIBS) $(ICU_LIBS)
+-
++ $(CHANGE_INSTALL_NAMES) $@
+
+ include $(ROOT)/gen/make.shared.targets
+
+diff -ur firebird.org/builds/posix/postfix.darwin firebird/builds/posix/postfix.darwin
+--- firebird.org/builds/posix/postfix.darwin 2013-07-12 20:55:46.000000000 +0200
++++ firebird/builds/posix/postfix.darwin 2013-07-15 12:07:36.000000000 +0200
+@@ -54,9 +54,9 @@
+ cp -r ../gen/firebird/include $(FB_FW)/Versions/A/Headers
+ cp ../gen/firebird/lib/libfbembed.dylib $(FB_FW)/Versions/A/Firebird
+ cp ../gen/firebird/lib/libfbclient.dylib $(FB_FW)/Versions/A/Libraries/libfbclient.dylib
+- cp ../gen/firebird/lib/libicudata.dylib $(FB_FW)/Versions/A/Libraries/libicudata.dylib
+- cp ../gen/firebird/lib/libicui18n.dylib $(FB_FW)/Versions/A/Libraries/libicui18n.dylib
+- cp ../gen/firebird/lib/libicuuc.dylib $(FB_FW)/Versions/A/Libraries/libicuuc.dylib
++ #cp ../gen/firebird/lib/libicudata.dylib $(FB_FW)/Versions/A/Libraries/libicudata.dylib
++ #cp ../gen/firebird/lib/libicui18n.dylib $(FB_FW)/Versions/A/Libraries/libicui18n.dylib
++ #cp ../gen/firebird/lib/libicuuc.dylib $(FB_FW)/Versions/A/Libraries/libicuuc.dylib
+ cp ../gen/firebird/lib/libib_util.dylib $(FB_FW)/Versions/A/Libraries/libib_util.dylib
+ cp ../gen/firebird/firebird.msg \
+ $(FB_FW)/Resources/English.lproj/var/firebird.msg
+@@ -68,8 +68,8 @@
+ $(FB_FW)/Resources/English.lproj/var/intl/fbintl.conf
+ chmod a+rx $(FB_FW)/Resources/English.lproj/var/intl/fbintl
+ mkdir -p $(FB_FW)/Resources/English.lproj/var/plugins
+- cp ../gen/firebird/plugins/libfbtrace.dylib \
+- $(FB_FW)/Resources/English.lproj/var/plugins/libfbtrace.dylib
++# cp ../gen/firebird/plugins/libfbtrace.dylib \
++# $(FB_FW)/Resources/English.lproj/var/plugins/libfbtrace.dylib
+ cp -r ../gen/firebird/help $(FB_FW)/Resources/English.lproj/var/help
+ cp ../gen/firebird/security2.fdb $(FB_FW)/Resources/English.lproj/var
+ mkdir -p $(FB_FW)/Resources/doc
+Only in firebird: config.log
+Only in firebird: config.status
+Only in firebird/extern/btyacc: btyacc
+Only in firebird: gen
+Only in firebird: libtool
+Only in firebird/src/dsql: dsql.tab.h
+Only in firebird/src/dsql: parse.cpp
+Only in firebird/src/gpre: gpre_meta.cpp
+Only in firebird/src/include/gen: autoconfig.h
+Only in firebird/src/include/gen: blrtable.h
+Only in firebird/src/misc: codes.cpp
+Only in firebird: temp
diff --git a/solenv/bin/macosx-change-install-names.pl b/solenv/bin/macosx-change-install-names.pl
index 7a42afc44ff7..cd76e80681b0 100644
--- a/solenv/bin/macosx-change-install-names.pl
+++ b/solenv/bin/macosx-change-install-names.pl
@@ -56,6 +56,8 @@ sub action($$$)
'shl/URELIB/URELIB' => '@loader_path',
'shl/OOO/URELIB' => '@loader_path/../ure-link/lib',
'shl/OOO/OOO' => '@loader_path',
+ 'fb/OOO/URELIB' => '@rpath/../ure-link/lib',
+ 'fb/OOO/OOO' => '@rpath',
'shl/OXT/URELIB' => '@executable_path/urelibs',
'shl/NONE/URELIB' => '@__VIA_LIBRARY_PATH__',
'shl/NONE/OOO' => '@__VIA_LIBRARY_PATH__',
@@ -66,7 +68,7 @@ sub action($$$)
return $act;
}
-@ARGV >= 2 or die 'Usage: app|shl UREBIN|URELIB|OOO|SDKBIN|OXT|NONE <filepath>*';
+@ARGV >= 2 or die 'Usage: app|shl|fb UREBIN|URELIB|OOO|SDKBIN|OXT|NONE <filepath>*';
$type = shift @ARGV;
$loc = shift @ARGV;
foreach $file (@ARGV)