Yes, Mac build of Firebird was the hardest of all our software modules so far
(we're planning to use it as embedded database).
My build notes are very similar to yours, a few things that I noted down are:
autogen.sh I had to add --disable-raw-devices, because that module did not
compile for me.
Gen\make.platform has a wrong (absolute) path for libtommath. I had to fix
that every time I ran autogen again, or the build would fail.
I'm using ICU 57.1 because later versions removed a (deprecated) module that is
required for another 3rd party library. I used the version of tommath that was
included with the firebird source (I just built it manually).
Mark
-Original Message-
From: Paul Beach [mailto:pbe...@ibphoenix.com]
Sent: 01 March 2017 09:50
To: firebird-devel@lists.sourceforge.net
Subject: [Firebird-devel] Firebird 3.x on MacOS
That took me more than enough time to work out.. ok the following should work.
You will need to install a copy of ICU, the ICU shipped with MacOS (assuming
they still do) is not good enough. The easiest way to do this is to download
the source code and build it yourself. Currently I am using 5.4. Unlike other
posix platforms we are going to have to ship the libs with the framework. You
will also need to install libtommath via MacPorts for example. We need a way to
link this into the build statically, because we can't ask everyone to install
it.
To get round the build shell issue DYLD_LIBRARY_PATH failure (SIP) see here:
http://paulbeachsblog.blogspot.fr/2016/03/dyldlibrarypath-and-el-capitan.html
Reboot command-r
Terminal csrutil disable
Restart
or we borrow libreoffices workaround.
Within ICU
Amend config/mh-darwin
Note install-path LD_SONAME
## Compiler switches to embed a library name and version informationifeq
($(ENABLE_RPATH),YES) LD_SONAME = -Wl,-compatibility_version
-Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-curre nt_version -Wl,$(SO_TARGET_VERSION)
-install_name $(libdir)/$(notdir $(MIDDLE_SO
_TARGET))
else
LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR)
-Wl,-curre nt_version -Wl,$(SO_TARGET_VERSION) -install_name
/Library/Frameworks/Firebird.f ramework/Versions/A/Libraries/$(notdir
$(MIDDLE_SO_TARGET)) endif
Build ICU
ICU ./configure --enable-renaming=no
Firebird
./autogen.sh
./configure
Needs these flags setting for example
CFLAGS
(ucnv.h)-I/Users/pbeach/icu54/icu/source/common
(libtommath.h) -I/opt/local/include/libtommath
LDFLAGS
(-licuuc) -L/Users/pbeach/icu54/icu/source/lib
(-ltommath) -L/opt/local/lib
Make needs these for example
CXXFLAGS
(ucnv.h)-I/Users/pbeach/icu54/icu/source/common
(libtommath.h) -I/opt/local/include/libtommath
(utrans.h) -I/Users/pbeach/icu54/icu/source/i18n
Hows that for starters...
Regards
Paul
--
Check out the vibrant tech community on one of the world's most engaging tech
sites, SlashDot.org! http://sdm.link/slashdot Firebird-Devel mailing list, web
interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel