48f4591035
- Clean up the Makefile. - Follow some upstream recommendations (--with-data-packaging=archive, --disable-renaming, -DICU_NO_USER_DATA_OVERRIDE). - Patch makefiles to install static libraries with INSTALL_DATA so they aren't stripped. - Patch config/mh-bsd-gcc to sync with config/mh-linux-gcc. - Fix endianness detection in ICU. The code wanted to use BYTE_ORDER defined in machine/endian.h, but this isn't visible because ICU is compiled with _XOPEN_SOURCE. Patch the code to use _BYTE_ORDER instead. - Compile ICU with C++11 compiler to enable move constructors. - Patch ICU to fix a problem with atomics in the case of a C++11 compiler without C++11 header <atomic> (like Clang on FreeBSD 9). - Bump all ports that depend on it due to library version change. - Add USES=compiler:c++0x to some ports that pick up -std=c++0x from ICU pkgconfig files. - Add USES=compiler:c++11-lib to graphics/libcdr01 because it also needs a C++11 runtime library now. Add this to all ports that depend on it so their executables load the right libstdc++.so on FreeBSD 9. PR: 205120 Exp-run by: antoine Approved by: portmgr (antoine)
68 lines
2.1 KiB
Makefile
68 lines
2.1 KiB
Makefile
# Created by: Alexander Churanov <churanov.port.maintainer@gmail.com>
|
|
# $FreeBSD$
|
|
|
|
PORTNAME= boost-libs
|
|
PORTREVISION= 13
|
|
|
|
COMMENT= Free portable C++ libraries (without Boost.Python)
|
|
|
|
BUILD_DEPENDS+= bjam:devel/boost-jam
|
|
|
|
OPTIONS_DEFINE= VERBOSE_BUILD DEBUG OPTIMIZED_CFLAGS
|
|
OPTIONS_MULTI= LOCALE
|
|
OPTIONS_MULTI_LOCALE= ICONV ICU
|
|
OPTIONS_DEFAULT= ICONV ICU
|
|
VERBOSE_BUILD_DESC= Show compiler messages
|
|
ICONV_DESC= Boost.Locale with iconv encoding support
|
|
ICU_DESC= Boost.Regex/Locale with ICU unicode support
|
|
|
|
ICONV_USES= iconv
|
|
ICONV_VARS= BJAM_ARGS+=-sICONV_PATH=${ICONV_PREFIX}
|
|
ICONV_VARS_OFF= BJAM_ARGS+=boost.locale.iconv=off
|
|
ICU_LIB_DEPENDS= libicuuc.so:devel/icu
|
|
ICU_VARS= BJAM_ARGS+=-sICU_PATH=${LOCALBASE}
|
|
ICU_VARS_OFF= BJAM_ARGS+=boost.locale.icu=off
|
|
|
|
.include "${.CURDIR}/../boost-all/common.mk"
|
|
|
|
.include "${.CURDIR}/../boost-all/compiled.mk"
|
|
|
|
BJAM_ARGS+= --without-python
|
|
.if defined(X_BUILD_FOR)
|
|
BJAM_ARGS+= --without-context --without-coroutine \
|
|
--without-locale --without-log
|
|
PLIST_SUB+= COROUTINE="@comment " CONTEXT="@comment " \
|
|
LOCALE="@comment " LOG="@comment "
|
|
.else
|
|
PLIST_SUB+= COROUTINE="" CONTEXT="" LOCALE="" LOG=""
|
|
.endif
|
|
|
|
do-build:
|
|
@cd ${WRKSRC} && \
|
|
${SETENV} ${MAKE_ENV} ${BJAM} ${BJAM_ARGS} stage
|
|
#Compatibility layer to avoid rebuilding everything this time
|
|
@cd ${WRKSRC}/stage/lib && \
|
|
( for l in lib*.so.*; do ${LN} -sf $${l} $${l%.${PORTVERSION}}.5; done )
|
|
|
|
do-install:
|
|
@cd ${WRKSRC} && \
|
|
${SETENV} ${MAKE_ENV} ${BJAM} --prefix=${STAGEDIR}${PREFIX} ${BJAM_ARGS} install
|
|
# For some reasons BJAM forget about the links
|
|
@cd ${WRKSRC}/stage/ && ${FIND} lib -type l | ${PAX} -rw -p p ${STAGEDIR}${PREFIX}
|
|
|
|
# display pkg-message
|
|
post-install:
|
|
@${TOUCH} ${PKGMESSAGE}
|
|
|
|
@${CAT} ${PKG_MESSAGE_FILE_THREADS} >> ${PKGMESSAGE}
|
|
@${ECHO_CMD} >> ${PKGMESSAGE}
|
|
|
|
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/*.so
|
|
|
|
@${REINPLACE_CMD} \
|
|
-e "s|%%LOCALBASE%%|${LOCALBASE}|g" \
|
|
-e "s|%%PYTHON_INCLUDEDIR%%|${PYTHON_INCLUDEDIR}|g" \
|
|
-e "s|%%PYTHON_LIBDIR%%|${PYTHON_LIBDIR}|g" \
|
|
-e "s|%%PYTHON_VERSION%%|${PYTHON_VERSION}|g" ${PKGMESSAGE}
|
|
|
|
.include <bsd.port.mk>
|