gcc-6: use $(GNU_ARCH) in manifest
[unleashed-userland.git] / components / boost / Makefile
blob81a305150055030d9fcbf77f4129d3a747cb0b70
2 # This file and its contents are supplied under the terms of the
3 # Common Development and Distribution License ("CDDL"), version 1.0.
4 # You may only use this file in accordance with the terms of version
5 # 1.0 of the CDDL.
7 # A full copy of the text of the CDDL should have accompanied this
8 # source. A copy of the CDDL is also available via the Internet at
9 # http://www.illumos.org/license/CDDL.
13 # Copyright 2014 Alexander Pyhalov. All rights reserved.
14 # Copyright 2015 Aurelien Larcher. All rights reserved.
17 include ../../make-rules/shared-macros.mk
19 COMPONENT_NAME= boost
20 COMPONENT_VERSION= 1.58.0
21 COMPONENT_REVISION= 4
22 COMPONENT_FMRI= system/library/boost
23 COMPONENT_CLASSIFICATION=System/Libraries
24 COMPONENT_SUMMARY= boost - free peer-reviewed portable C++ source libraries
25 COMPONENT_SRC= $(COMPONENT_NAME)_1_58_0
26 COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.bz2
27 COMPONENT_ARCHIVE_HASH= \
28 sha256:fdfc204fc33ec79c99b9a74944c3e54bd78be4f7f15e260c0e2700a36dc7d3e5
29 COMPONENT_ARCHIVE_URL= \
30 http://sourceforge.net/projects/boost/files/boost/$(COMPONENT_VERSION)/$(COMPONENT_ARCHIVE)/download
31 COMPONENT_PROJECT_URL= http://www.boost.org
32 COMPONENT_LICENSE_FILE= boost.license
33 COMPONENT_LICENSE= Boost Software license
35 include ../../make-rules/prep.mk
36 include ../../make-rules/ips.mk
37 include ../../make-rules/modules.mk
39 LIBDIR.32= $(USRLIBDIR)
40 LIBDIR.64= $(USRLIBDIR64)
41 LIBDIR= $(LIBDIR.$(BITS))
43 DOCDIR=$(USRSHAREDOCDIR)/$(COMPONENT_NAME)-$(COMPONENT_VERSION)
45 GTAR=$(GNUBIN)/tar
46 BJAM=./bjam --v2 -d+2 -q address-model=$(BITS) \
47 -sBUILD="release <threading>single/multi" \
48 --prefix=$(PROTO_DIR)$(USRDIR) \
49 --libdir=$(PROTO_DIR)$(LIBDIR) \
50 -sGCC_ROOT_DIRECTORY=$(GCC_ROOT) -sGCC=gcc -sGXX=g++ \
51 --user-config=./user-config.jam
53 COMPONENT_BUILD_ENV += CC="$(CC)" CXX="$(CXX)" LDFLAGS="$(LDFLAGS)"
55 COMPONENT_PRE_BUILD_ACTION = \
56 $(MODULES_ENV); \
57 $(MODULE_LOAD) mpich/gcc/$(BITS)/latest
59 COMPONENT_BUILD_ACTION = \
60 ./bootstrap.sh --prefix=$(USRDIR) --libdir=$(LIBDIR) \
61 --with-toolset=gcc --with-icu=$(USRDIR); \
62 echo 'using mpi ;' > ./user-config.jam; \
63 $(BJAM) release stage
65 COMPONENT_POST_BUILD_ACTION = \
66 $(MODULE_UNLOAD) mpich/gcc/$(BITS)/latest
68 COMPONENT_PRE_INSTALL_ACTION = \
69 $(MODULES_ENV); \
70 $(MODULE_LOAD) mpich/gcc/$(BITS)/latest
72 COMPONENT_INSTALL_ACTION = \
73 $(BJAM) install \
75 COMPONENT_POST_INSTALL_ACTION= \
76 $(MKDIR) $(PROTO_DIR)$(DOCDIR); \
77 cd $(SOURCE_DIR) && \
78 find . -type f \
79 \( -name \*.htm\* -o -name \*.css -o -name \*.js \
80 -o -name \*.gif -o -name \*.jpg -o -name \*.png -o -name \*.PNG -o -name \*.ico \
81 -o -name \*.qbk -o -name \*.pattern \) | \
82 $(GTAR) -cf - --files-from=- | $(GTAR) -C $(PROTO_DIR)$(DOCDIR) -xf - ; \
83 $(MODULE_UNLOAD) mpich/gcc/$(BITS)/latest
87 $(BUILD_DIR)/%/.built: $(SOURCE_DIR)/.prep
88 $(RM) -r $(@D) ; $(MKDIR) $(@D)
89 $(CLONEY) $(SOURCE_DIR) $(@D)
90 (cd $(@D);\
91 $(COMPONENT_PRE_BUILD_ACTION) ; \
92 $(ENV) $(COMPONENT_BUILD_ENV) $(COMPONENT_BUILD_ACTION) ; \
93 $(COMPONENT_POST_BUILD_ACTION))
94 $(TOUCH) $@
96 $(BUILD_DIR)/%/.installed: $(BUILD_DIR)/%/.built
97 (cd $(@D); \
98 $(COMPONENT_PRE_INSTALL_ACTION) ; \
99 $(COMPONENT_INSTALL_ENV) $(COMPONENT_INSTALL_ACTION) ; \
100 $(COMPONENT_POST_INSTALL_ACTION))
101 $(TOUCH) $@
103 build: $(BUILD_32_and_64)
105 install: $(INSTALL_32_and_64)
107 clean::
108 $(RM) -r $(BUILD_DIR) $(PROTO_DIR)