summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--external/firebird/ExternalProject_firebird.mk2
-rw-r--r--external/firebird/UnpackedTarball_firebird.mk1
-rw-r--r--external/firebird/macosx-elcapitan-dyld.patch39
3 files changed, 41 insertions, 1 deletions
diff --git a/external/firebird/ExternalProject_firebird.mk b/external/firebird/ExternalProject_firebird.mk
index f24d0f75dedc..35e63ab8ba70 100644
--- a/external/firebird/ExternalProject_firebird.mk
+++ b/external/firebird/ExternalProject_firebird.mk
@@ -60,7 +60,7 @@ $(call gb_ExternalProject_get_state_target,firebird,build):
&& $(if $(filter WNT,$(OS)),\
PATH="$(shell cygpath -u $(call gb_UnpackedTarball_get_dir,icu)/source/lib):$$PATH",\
$(gb_Helper_set_ld_path)) \
- $(MAKE) firebird_embedded \
+ $(MAKE) SHELL=$(SHELL) firebird_embedded \
$(if $(filter MACOSX,$(OS)),&& $(PERL) \
$(SRCDIR)/solenv/bin/macosx-change-install-names.pl shl OOO \
$(gb_Package_SOURCEDIR_firebird)/gen/firebird/lib/libfbembed.dylib.2.5.4) \
diff --git a/external/firebird/UnpackedTarball_firebird.mk b/external/firebird/UnpackedTarball_firebird.mk
index c42cbd5f1201..9701fc2f0108 100644
--- a/external/firebird/UnpackedTarball_firebird.mk
+++ b/external/firebird/UnpackedTarball_firebird.mk
@@ -31,6 +31,7 @@ ifeq ($(OS),MACOSX)
$(eval $(call gb_UnpackedTarball_add_patches,firebird,\
external/firebird/firebird-macosx.patch.1 \
external/firebird/firebird-configure-x86-64-macosx.patch.1 \
+ external/firebird/macosx-elcapitan-dyld.patch \
))
endif
# vim: set noet sw=4 ts=4:
diff --git a/external/firebird/macosx-elcapitan-dyld.patch b/external/firebird/macosx-elcapitan-dyld.patch
new file mode 100644
index 000000000000..b8c4c1cdf419
--- /dev/null
+++ b/external/firebird/macosx-elcapitan-dyld.patch
@@ -0,0 +1,39 @@
+--- examples/empbuild/empbuild.e
++++ examples/empbuild/empbuild.e
+@@ -64,7 +64,7 @@
+ * Functional description
+ *
+ **************************************/
+-TEXT cmd [140];
++TEXT cmd [8000];
+
+ if (argc > 1)
+ strcpy (Db_name, argv[1]);
+@@ -94,21 +94,23 @@
+ }
+
+ printf ("Creating tables\n");
++char const * lp = getenv("DYLD_LIBRARY_PATH");
++if (!lp) lp = "";
+-sprintf (cmd, "isql %s -q -i empddl.sql", Db_name);
++sprintf (cmd, "DYLD_LIBRARY_PATH=%s isql %s -q -i empddl.sql", lp, Db_name);
+ if (system (cmd))
+ {
+ printf ("Couldn't create tables \n");
+ exit (FINI_ERROR);
+ }
+
+ printf ("Turning off indices and triggers \n");
+-sprintf (cmd, "isql %s -i indexoff.sql", Db_name);
++sprintf (cmd, "DYLD_LIBRARY_PATH=%s isql %s -i indexoff.sql", lp, Db_name);
+ system (cmd);
+ printf ("Loading column data\n");
+-sprintf (cmd, "isql %s -i empdml.sql", Db_name);
++sprintf (cmd, "DYLD_LIBRARY_PATH=%s isql %s -i empdml.sql", lp, Db_name);
+ system (cmd);
+ printf ("Turning on indices and triggers \n");
+-sprintf (cmd, "isql %s -i indexon.sql", Db_name);
++sprintf (cmd, "DYLD_LIBRARY_PATH=%s isql %s -i indexon.sql", lp, Db_name);
+ system (cmd);
+
+ EXEC SQL CONNECT DB;