diff options
Diffstat (limited to 'devel/boost/Makefile')
-rw-r--r-- | devel/boost/Makefile | 147 |
1 files changed, 110 insertions, 37 deletions
diff --git a/devel/boost/Makefile b/devel/boost/Makefile index 10c5b0b70252..b09d57e93f67 100644 --- a/devel/boost/Makefile +++ b/devel/boost/Makefile @@ -5,41 +5,72 @@ # # $FreeBSD$ # +# This port has the following tunable options: +# +# option | desscription | default +# ----------------------+-----------------------------+--------- +# WITH_PYTHON | enable Python support | off +# WITH_DEBUG | build debugging symbols | off +# WITHOUT_THREADS | turn off threading support | off +# WITH_OPTIMIZED_CFLAGS | enable -O3 optimization | off +# | (otherwise CFLAGS are | +# | respected) | +# VERBOSE_BUILD | show compiler messages | off PORTNAME= boost -PORTVERSION= 1.30.2 -PORTREVISION= 0 +PORTVERSION= 1.31.0 CATEGORIES= devel MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} MASTER_SITE_SUBDIR=${PORTNAME} -DISTNAME= ${PORTNAME}-${PORTVERSION} +DISTNAME= ${PORTNAME}_${PORTVERSION:S/./_/g} MAINTAINER= barner@gmx.de COMMENT= Free peer-reviewed portable C++ source libraries -MAKE_ENV= BOOST_ROOT=${WRKSRC} BUILD="debug release" +USE_BZIP2= yes +USE_REINPLACE= yes +INSTALLS_SHLIB= yes + +MAKE_ENV+= GCC="${CC} ${CFLAGS}"\ + GXX="${CXX} ${CXXFLAGS}" .if defined(WITH_PYTHON) -USE_PYTHON= yes -# 1.30.2 doesn't support python2.3 -PYTHON_VERSION= python2.2 -COMPILED_LIBS= python +USE_PYTHON= 2.3+ +PYTHON_VERSION= python2.3 PLIST_SUB= BOOST_PYTHON="" -MAKE_ENV+= PYTHON_ROOT="${PREFIX}" \ - PYTHON_VERSION="${_PYTHON_VERSION}" \ - PYTHON_INCLUDES="${PYTHON_INCLUDEDIR}" \ - PYTHON_LIB_PATH="${PYTHON_LIBDIR}" +MAKE_ENV+= PYTHON_ROOT="${PREFIX}"\ + PYTHON_VERSION="${PYTHON_VERSION}"\ + PYTHON_INCLUDES="${PYTHON_INCLUDEDIR}"\ + PYTHON_LIB_PATH="${PYTHON_LIBDIR}" .else PLIST_SUB= BOOST_PYTHON="@comment " .endif -INSTALLS_SHLIB= yes -DOCFILES= *.css *.gif *.htm *.html *.jpeg *.jpg *.png - .include <bsd.port.pre.mk> -.if ${OSVERSION} >= 502102 -FORBIDDEN= "Does not respect PTHREAD_{CFLAGS,LIBS}" +.if defined (VERBOSE_BUILD) +BJAM_OPTIONS= -d2 +.endif + +.if defined (WITH_DEBUG) +BJAM_BUILD= debug +.else +BJAM_BUILD= release +.endif + +.if defined (WITHOUT_THREADS) +BJAM_BUILD+= <threading>single +PLIST_SUB+= BOOST_THREADS="@comment " +.else +BJAM_BUILD+= <threading>multi +PLIST_SUB+= BOOST_THREADS="" +.endif + +.if defined (WITH_OPTIMIZED_CFLAGS) +BJAM_BUILD+= <optimization>speed\ + <inlining>full +.else +BJAM_BUILD+= <optimization>off .endif .if ${ARCH} == alpha @@ -49,32 +80,74 @@ BJAM= ${WRKSRC}/tools/build/jam_src/bin.freebsdsparc/bjam .else BJAM= ${WRKSRC}/tools/build/jam_src/bin.freebsd/bjam .endif - -COMPILED_LIBS+= date_time filesystem regex signals test thread +SCRIPTS_ENV+= BJAM="${BJAM}"\ + NOPORTDOCS="${NOPORTDOCS}"\ + FIND="${FIND}"\ + GREP="${GREP}"\ + REINPLACE_CMD="${REINPLACE_CMD}"\ + LN="${LN}"\ + MKDIR="${MKDIR}"\ + TAR="${TAR}" -do-configure: -# for -pthread options -.if ${OSVERSION} >= 500016 - cd ${WRKSRC} && patch < ${FILESDIR}/gcc-tools.jam.diff +.if !defined(NOPORTDOCS) +SCRIPTS_ENV+= PORTDOCS="true"\ + DOCSDIR="${DOCSDIR}"\ + EXAMPLESDIR="${EXAMPLESDIR}" .endif +# Do the right thing(tm) for pthread support +post-patch: + @${REINPLACE_CMD} -e 's|%%PTHREAD_CFLAGS%%|${PTHREAD_CFLAGS}|'\ + ${WRKSRC}/tools/build/v1/gcc-tools.jam + @${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%|${PTHREAD_LIBS}|'\ + ${WRKSRC}/tools/build/v1/gcc-tools.jam + do-build: - cd ${WRKSRC}/tools/build/jam_src && ./build.sh gcc -.for lib in ${COMPILED_LIBS} - cd ${WRKSRC}/libs/${lib}/build && ${SETENV} ${MAKE_ENV} ${BJAM} ${BJAM_FLAGS} -.endfor +# Print configuration + @${ECHO_CMD} + @${ECHO_CMD} Selected options: + @${ECHO_CMD} \(see the Makefile for a description of available tunables\) + @${ECHO_CMD} + @${ECHO_CMD} -n o Debugging symbols.... +.if defined (WITH_DEBUG) + @${ECHO_CMD} yes +.else + @${ECHO_CMD} no +.endif -do-install: - ${INSTALL_PROGRAM} ${BJAM} ${PREFIX}/bin/ - cd ${WRKSRC} && ${FIND} libs -type f -name \*.a -exec ${INSTALL_DATA} \{\} ${PREFIX}/lib \; - cd ${WRKSRC} && ${FIND} libs -type f -name \*.so -exec ${INSTALL_PROGRAM} \{\} ${PREFIX}/lib \; - cd ${WRKSRC} && ${FIND} boost -type d -exec ${MKDIR} ${PREFIX}/include/\{\} \; - cd ${WRKSRC} && ${FIND} boost -type f -exec ${INSTALL_DATA} \{\} ${PREFIX}/include/\{\} \; -.if !defined(NOPORTDOCS) - ${MKDIR} ${DOCSDIR} ${EXAMPLESDIR} - cd ${WRKSRC} && ${FIND} * -type f \( -name \*.htm ${DOCFILES:S/^/-o -name \\/} \) | ${TAR} cTf - - | ${TAR} xUCf ${DOCSDIR} - - cd ${WRKSRC} && ${FIND} libs -type d -name example\* | ${TAR} cTf - - | ${TAR} xUCf ${EXAMPLESDIR} - + @${ECHO_CMD} -n o Thread support....... +.if defined (WITHOUT_THREADS) + @${ECHO_CMD} no +.else + @${ECHO_CMD} yes +.endif + + @${ECHO_CMD} -n o Extra optimization... +.if defined (WITH_OPTIMIZED_CFLAGS) + @${ECHO_CMD} yes +.else + @${ECHO_CMD} no .endif + @${ECHO_CMD} -n o Python support....... +.if defined (WITH_PYTHON) + @${ECHO_CMD} yes +.else + @${RM} -rf ${WRKSRC}/libs/python + @${ECHO_CMD} no +.endif + @${ECHO_CMD} + +# build the bjam project build tool + @cd ${WRKSRC}/tools/build/jam_src && ./build.sh gcc + +# build the library + @cd ${WRKSRC}; \ + ${SETENV} ${MAKE_ENV} ${BJAM} ${BJAM_OPTIONS} --prefix=${PREFIX}\ + "-sTOOLS=gcc" "-sBUILD=${BJAM_BUILD}" + +do-install: + @${SETENV} ${SCRIPTS_ENV} ${SH} ${SCRIPTDIR}/do-install + .include <bsd.port.post.mk> |