Aurelien Larcher
2018-05-22 96984659a921be0d38c0212b02eabaa84808206a
commit | author | age
25a3df 1 #
AP 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.
6 #
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.
10 #
11
12 #
13 # Copyright 2014 Alexander Pyhalov.  All rights reserved.
759f66 14 # Copyright 2015-2017 Aurelien Larcher. All rights reserved.
25a3df 15 #
AP 16
759f66 17 include ../../../make-rules/shared-macros.mk
25a3df 18
d4c4c9 19 COMPONENT_NAME=        boost
759f66 20 COMPONENT_VERSION=    1.64.0
AL 21 COMPONENT_SRC_VERSION=    1_64_0
227dd7 22 COMPONENT_REVISION=     1
d4c4c9 23 COMPONENT_FMRI=        system/library/boost
AL 24 COMPONENT_CLASSIFICATION=System/Libraries
25 COMPONENT_SUMMARY=    boost - free peer-reviewed portable C++ source libraries
759f66 26 COMPONENT_SRC=        $(COMPONENT_NAME)_$(COMPONENT_SRC_VERSION)
d4c4c9 27 COMPONENT_ARCHIVE=    $(COMPONENT_SRC).tar.bz2
25a3df 28 COMPONENT_ARCHIVE_HASH= \
759f66 29   sha256:7bcc5caace97baa948931d712ea5f37038dbb1c5d89b43ad4def4ed7cb683332
25a3df 30 COMPONENT_ARCHIVE_URL= \
AP 31   http://sourceforge.net/projects/boost/files/boost/$(COMPONENT_VERSION)/$(COMPONENT_ARCHIVE)/download
d4c4c9 32 COMPONENT_PROJECT_URL=    http://www.boost.org
AL 33 COMPONENT_LICENSE=    Boost Software license
25a3df 34
759f66 35 include $(WS_MAKE_RULES)/prep.mk
AL 36 include $(WS_MAKE_RULES)/ips.mk
37 include $(WS_MAKE_RULES)/modules.mk
25a3df 38
227dd7 39 PATH=$(GCC_ROOT)/bin:$(PATH.illumos)
AL 40
d4c4c9 41 LIBDIR.32= $(USRLIBDIR)
AL 42 LIBDIR.64= $(USRLIBDIR64)
43 LIBDIR= $(LIBDIR.$(BITS))
25a3df 44
d4c4c9 45 DOCDIR=$(USRSHAREDOCDIR)/$(COMPONENT_NAME)-$(COMPONENT_VERSION)
25a3df 46
d4c4c9 47 GTAR=$(GNUBIN)/tar
AL 48 BJAM=./bjam --v2 -d+2 -q address-model=$(BITS) \
759f66 49     cflags="$(CFLAGS)" cxxflags="$(CXXFLAGS)" \
d4c4c9 50     -sBUILD="release <threading>single/multi" \
AL 51     --prefix=$(PROTO_DIR)$(USRDIR) \
52     --libdir=$(PROTO_DIR)$(LIBDIR) \
53     -sGCC_ROOT_DIRECTORY=$(GCC_ROOT) -sGCC=gcc -sGXX=g++ \
227dd7 54     --user-config=./user-config.jam --without-fiber
d4c4c9 55
227dd7 56 COMPONENT_BUILD_ENV += PATH="$(PATH)" CC="$(CC)" CXX="$(CXX)" LDFLAGS="$(LDFLAGS)"
d4c4c9 57
449091 58 # Force CPU detection to workaround failure in some virtual environments
AL 59 COMPONENT_BUILD_ENV += OPENBLAS_CORETYPE=Prescott
60
d4c4c9 61 COMPONENT_PRE_BUILD_ACTION = \
759f66 62             $(MODULES_ENV); $(MODULE_PURGE); \
d4c4c9 63             $(MODULE_LOAD) mpich/gcc/$(BITS)/latest
759f66 64
AL 65 BJAM_BUILD_ARGS:= $(filter -j%,$(COMPONENT_BUILD_ARGS))
d4c4c9 66
AL 67 COMPONENT_BUILD_ACTION = \
68                 ./bootstrap.sh --prefix=$(USRDIR) --libdir=$(LIBDIR) \
69                 --with-toolset=gcc --with-icu=$(USRDIR); \
70             echo 'using mpi ;' > ./user-config.jam; \
759f66 71             $(BJAM) $(BJAM_BUILD_ARGS) release stage
d4c4c9 72
AL 73 COMPONENT_POST_BUILD_ACTION = \
74             $(MODULE_UNLOAD) mpich/gcc/$(BITS)/latest
75
76 COMPONENT_PRE_INSTALL_ACTION = \
759f66 77             $(MODULES_ENV); $(MODULE_PURGE); \
d4c4c9 78             $(MODULE_LOAD) mpich/gcc/$(BITS)/latest
AL 79
80 COMPONENT_INSTALL_ACTION = \
81             $(BJAM) install \
82
83 COMPONENT_POST_INSTALL_ACTION= \
84     $(MKDIR) $(PROTO_DIR)$(DOCDIR); \
85     cd $(SOURCE_DIR) && \
86     find . -type f \
87         \( -name \*.htm\* -o -name \*.css -o -name \*.js \
88             -o -name \*.gif -o -name \*.jpg -o -name \*.png -o -name \*.PNG -o -name \*.ico \
89             -o -name \*.qbk -o -name \*.pattern \) | \
90         $(GTAR) -cf - --files-from=- | $(GTAR) -C $(PROTO_DIR)$(DOCDIR) -xf - ; \
91     $(MODULE_UNLOAD) mpich/gcc/$(BITS)/latest
92  
93
94
95 $(BUILD_DIR)/%/.built:    $(SOURCE_DIR)/.prep
96     $(RM) -r $(@D) ; $(MKDIR) $(@D)
97     $(CLONEY) $(SOURCE_DIR) $(@D)
98     (cd $(@D);\
99         $(COMPONENT_PRE_BUILD_ACTION) ; \
100         $(ENV) $(COMPONENT_BUILD_ENV) $(COMPONENT_BUILD_ACTION) ; \
101         $(COMPONENT_POST_BUILD_ACTION))
25a3df 102     $(TOUCH) $@
AP 103
d4c4c9 104 $(BUILD_DIR)/%/.installed:  $(BUILD_DIR)/%/.built
AL 105     (cd $(@D); \
106         $(COMPONENT_PRE_INSTALL_ACTION) ; \
107         $(COMPONENT_INSTALL_ENV) $(COMPONENT_INSTALL_ACTION) ; \
108         $(COMPONENT_POST_INSTALL_ACTION))
25a3df 109     $(TOUCH) $@
AP 110
d4c4c9 111 build: $(BUILD_32_and_64)
25a3df 112
d4c4c9 113 install: $(INSTALL_32_and_64)
AL 114
115 clean::
116     $(RM) -r $(BUILD_DIR) $(PROTO_DIR)
759f66 117
AL 118 # Build dependencies for boost locale
119 REQUIRED_PACKAGES += developer/icu
120
121 # Build dependencies for boost mpi
122 REQUIRED_PACKAGES += library/mpich/gcc/modulefiles
123
449091 124 # Build dependencies for boost numpy
AL 125 REQUIRED_PACKAGES += library/python/numpy-27
126
759f66 127 # Auto-generated dependencies
AL 128 REQUIRED_PACKAGES += compress/bzip2
227dd7 129 REQUIRED_PACKAGES += library/icu
AL 130 REQUIRED_PACKAGES += library/mpich/gcc
759f66 131 REQUIRED_PACKAGES += library/zlib
AL 132 REQUIRED_PACKAGES += system/library
6e938f 133 REQUIRED_PACKAGES += system/library/g++-6-runtime
969846 134 REQUIRED_PACKAGES += $(GCC_RUNTIME_PKG)
759f66 135 REQUIRED_PACKAGES += system/library/math