1USE_LDCONFIG=	yes
2PKGMESSAGE=	${WRKDIR}/pkg-message
3MAKE_CMD?=	bjam
4MAKEFILE=	#
5MAKE_FLAGS=	#
6ALL_TARGET=	stage
7USES+=		compiler:c++17-lang
8USE_CXXSTD=	gnu++17
9
10PLIST_SUB+=	MAJOR_VER=${PORTVERSION:R:R} \
11		MINOR_VER=${PORTVERSION:R:E} \
12		BOOST_MAJOR_VER=${PORTVERSION:R:R} \
13		BOOST_MINOR_VER=${PORTVERSION:R:E} \
14		BOOST_SHARED_LIB_VER=${PORTVERSION}
15
16PKG_MESSAGE_FILE_THREADS=	${PORTSDIR}/devel/boost-all/pkg-message.threads
17PKG_MESSAGE_FILE_PYTHON=	${PORTSDIR}/devel/boost-all/pkg-message.python
18
19MAKE_ARGS=	--layout=system \
20		--prefix=${PREFIX} \
21		-d2
22
23# Our compiler-flags will be added AFTER those set by bjam. We remove
24# the optimization level, because Boost sets it itself (to -O3 in case
25# of gcc/g++):
26MAKE_ARGS+=	cxxflags="${CXXFLAGS:N-O*}" cflags="${CFLAGS:N-O*}"
27
28MAKE_ARGS+=	--toolset=${CHOSEN_COMPILER_TYPE} \
29		${_MAKE_JOBS}
30
31DEBUG_MAKE_ARGS=	debug
32DEBUG_MAKE_ARGS_OFF=	release
33
34MAKE_ARGS+=	threading=multi \
35		link=shared,static
36
37MAKE_ARGS+=	optimization=speed
38OPTIMIZED_CFLAGS_MAKE_ARGS=	inlining=full
39
40# ccache build fails when using precompiled headers, on a cached build.
41#
42# base gcc 4.2.1 fails when using precompiled headers on 11.0+ kernel.
43# https://lists.freebsd.org/pipermail/svn-src-all/2015-March/101722.html
44MAKE_ARGS+=	pch=off
45
46post-patch:
47.if defined(USE_BINUTILS)
48	@${ECHO} "using ${CHOSEN_COMPILER_TYPE} : : ${CXX} : <linkflags>-B${LOCALBASE}/bin ;" >> ${WRKSRC}/tools/build/src/user-config.jam
49.else
50	@${ECHO} "using ${CHOSEN_COMPILER_TYPE} : : ${CXX} ;" >> ${WRKSRC}/tools/build/src/user-config.jam
51.endif
52