aboutsummaryrefslogtreecommitdiff
path: root/devel/boost/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'devel/boost/Makefile')
-rw-r--r--devel/boost/Makefile147
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>