freebsd-ports/devel/boost-libs/Makefile
Tijl Coosemans 48f4591035 - Update devel/icu to 57.1.
- 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)
2016-09-24 11:06:57 +00:00

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>