]> git.ipfire.org Git - ipfire-3.x.git/commitdiff
Updated boost to version 1_39_0.
authorStefan Schantl <Stevee@ipfire.org>
Tue, 4 Aug 2009 20:55:34 +0000 (22:55 +0200)
committerStefan Schantl <Stevee@ipfire.org>
Tue, 4 Aug 2009 20:55:34 +0000 (22:55 +0200)
lfs/boost

index b6f33affe08fe04762e33cb2a5739bc1c746c404..aa13d814f62cdc1def84c3fd8a9ea93f9d5d03d7 100644 (file)
--- a/lfs/boost
+++ b/lfs/boost
@@ -25,7 +25,7 @@
 include Config
 
 PKG_NAME   = boost
-PKG_VER    = 1_38_0
+PKG_VER    = 1_39_0
 PKG_REL    = 0
 
 THISAPP    = $(PKG_NAME)_$(PKG_VER)
@@ -56,12 +56,22 @@ define LONG_DESC
        Standards Committee's upcoming C++ Standard Library Technical Report.)
 endef
 
+export BOOST_ROOT=$(DIR_APP)
+BUILD_FLAGS = -d2 --layout=system variant=release threading=single,multi \
+       debug-symbols=on link=shared runtime-link=shared
+SONAMEVERSION = 5
+
+CFLAGS   += -fno-strict-aliasing
+
 ###############################################################################
 # Top-level Rules
 ###############################################################################
 
 objects = $(DL_FILE) \
-       $(THISAPP)-sonamevers.patch
+       $(THISAPP)-version-override.patch \
+       $(THISAPP)-unneccessary_iostreams.patch \
+       $(THISAPP)-function_template.patch \
+       $(THISAPP)-fs_gcc44.patch
 
 download: $(objects)
 
@@ -87,19 +97,36 @@ $(OBJECT): $(objects)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && $(EXTRACTOR) $(DIR_DL)/$(DL_FILE)
        # Let bjam use our own cflags
        cd $(DIR_APP) && sed -e "s/-O3/$(CFLAGS)/g" -i tools/build/v2/tools/gcc.jam
-       cd $(DIR_APP) && sed -e "s/!!!SONAME!!!/4/" $(DIR_PATCHES)/$(THISAPP)-sonamevers.patch | patch -Np1
 
-       cd $(DIR_APP) && \
-               ./configure \
-                       --prefix=/usr
+       cd $(DIR_APP) && patch -Np0 -i $(DIR_PATCHES)/$(THISAPP)-version-override.patch
+       cd $(DIR_APP) && patch -Np0 -i $(DIR_PATCHES)/$(THISAPP)-unneccessary_iostreams.patch   
+       cd $(DIR_APP) && patch -Np0 -i $(DIR_PATCHES)/$(THISAPP)-function_template.patch
+       cd $(DIR_APP) && patch -Np0 -i $(DIR_PATCHES)/$(THISAPP)-fs_gcc44.patch
 
-       # Support parallel build and pass several flags
-       cd $(DIR_APP) && sed -e \
-               "s/^BJAM_CONFIG=/& $(PARALLELISMFLAGS) -d2 --layout=system variant=release threading=multi/" \
-               -i Makefile
+       # build jam
+       cd $(DIR_APP)/tools/jam/src && ./build.sh
+
+       # build libs
+       cd $(DIR_APP) && ./bootstrap.sh \
+               --with-toolset=gcc \
+               --with-icu
+
+       cd $(DIR_APP) && \
+               ./bjam $(BUILD_FLAGS) $(PARALLELISMFLAGS) stage
+
+       # install libs
+       cd $(DIR_APP) && for i in $$(find stage -type f -name "*.so"); do \
+               install -v -p -m 755 $$i /usr/lib/$$(basename $$i).$(PKG_VER).$(SONAMEVERSION); \
+               ln -svf $$(basename $$i).$(PKG_VER).$(SONAMEVERSION) /usr/lib/$(basename $$i).$(PKG_VER); \
+               ln -svf $$(basename $$i).$(PKG_VER) /usr/lib/$$(basename $$i); \
+       done
+
+       # install includes
+       cd $(DIR_APP) && find boost -type d | while read a; do \
+               mkdir -pv /usr/include/$$a; \
+               find $$a -mindepth 1 -maxdepth 1 -type f | \
+                       xargs -r install -v -m 644 -p -t /usr/include/$$a; \
+       done
 
-       cd $(DIR_APP) && make
-       cd $(DIR_APP) && make install
-       rm -vf /usr/lib/libboost_*.a
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)