aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authordavilla <davilla@4pi.com>2011-06-21 00:27:59 -0400
committerJim Carroll <thecarrolls@jiminger.com>2011-06-23 13:13:02 -0400
commit8abda1fb2dc254b95f0f45a03b3dc1713d43a991 (patch)
treee6d679c23f73bfa093f99ce69e13c259f296beb7 /tools
parentb3cdaaafc1e7485d86fcf52917847adf332a3d14 (diff)
fixed, build boost_thread the right way
Diffstat (limited to 'tools')
-rw-r--r--tools/darwin/depends/boost/Makefile7
-rw-r--r--tools/darwin/depends/boost/user-config.jam.in4
-rwxr-xr-xtools/darwin/depends/config.site_ios.mk.in3
3 files changed, 11 insertions, 3 deletions
diff --git a/tools/darwin/depends/boost/Makefile b/tools/darwin/depends/boost/Makefile
index 0aea7f68f0..abebdff419 100644
--- a/tools/darwin/depends/boost/Makefile
+++ b/tools/darwin/depends/boost/Makefile
@@ -3,6 +3,7 @@ include ../config.site.mk
LIBNAME=boost
VERSION=1_44_0
+LIBVERSION=1.44.0
SOURCE=$(LIBNAME)_$(VERSION)
ARCHIVE=$(SOURCE).tar.bz2
@@ -20,6 +21,12 @@ $(TARBALLS_LOCATION)/$(ARCHIVE):
user-config.jam.in >> $(SOURCE)/tools/build/v2/user-config.jam
cd $(SOURCE); ./bootstrap.sh --prefix=$(PREFIX) --with-libraries=thread
cd $(SOURCE); ./bjam --prefix=$(PREFIX) $(bjam_args) install
+ # boost builds .so instead of .dylib for iphone, fix it.
+ if test "$(DARWIN)" = "ios"; then \
+ mv $(PREFIX)/lib/libboost_thread.so.$(LIBVERSION) $(PREFIX)/lib/libboost_thread.dylib; \
+ rm $(PREFIX)/lib/libboost_thread.so; \
+ fi
+ install_name_tool -id $(PREFIX)/lib/libboost_thread.dylib $(PREFIX)/lib/libboost_thread.dylib
touch .installed
clean:
diff --git a/tools/darwin/depends/boost/user-config.jam.in b/tools/darwin/depends/boost/user-config.jam.in
index ed7353b13e..970b4d9881 100644
--- a/tools/darwin/depends/boost/user-config.jam.in
+++ b/tools/darwin/depends/boost/user-config.jam.in
@@ -1,5 +1,5 @@
using darwin : @platform_gcc_version@ : g++-@platform_gcc_version@ :
- <cflags>"-isysroot @boost_flags@ -fvisibility=hidden -fvisibility-inlines-hidden -DBOOST_AC_USE_PTHREADS -DBOOST_SP_USE_PTHREADS"
- <cxxflags>"-isysroot @boost_flags@ -fvisibility=hidden -fvisibility-inlines-hidden -DBOOST_AC_USE_PTHREADS -DBOOST_SP_USE_PTHREADS"
+ <cflags>"-isysroot @boost_flags@ -fvisibility=default -fvisibility-inlines-hidden"
+ <cxxflags>"-isysroot @boost_flags@ -fvisibility=default -fvisibility-inlines-hidden"
<linkflags>"-Wl,-syslibroot,@boost_flags@"
;
diff --git a/tools/darwin/depends/config.site_ios.mk.in b/tools/darwin/depends/config.site_ios.mk.in
index edd39533d7..de5054e5d0 100755
--- a/tools/darwin/depends/config.site_ios.mk.in
+++ b/tools/darwin/depends/config.site_ios.mk.in
@@ -32,4 +32,5 @@ export PATH:=@use_toolchain@/bin:${PREFIX}/bin:${platform_path}/usr/bin:/Develop
# tweaks for boost
bjam_args=toolset=darwin-${platform_gcc_version} --architecture=arm target-os=iphone macosx-version=iphone-${platform_sdk_version} define=_LITTLE_ENDIAN
-boost_flags=${platform_sdk_path} -arch @use_arch@
+# arm uses non-thread-safe compare-and-swap instruction so use posix thread primitives
+boost_flags=${platform_sdk_path} -arch @use_arch@ -DBOOST_AC_USE_PTHREADS -DBOOST_SP_USE_PTHREADS