On 31 Jan, Jan Beich wrote: > Don Lewis <truck...@freebsd.org> writes: > >> PORTNAME= junk >> PORTVERSION= 0.0.0 >> CATEGORIES= devel >> DISTFILES= >> >> MAINTAINER= truck...@freebsd.org >> COMMENT= junk >> >> USE_GCC= 4.9+ >> >> .include <bsd.port.pre.mk> >> >> post-patch: >> echo CXX=${CXX} >> .if ${CXX} == g++49 > > This idiom may lead to crashes. According to the wiki[1] mixing > libstdc++ and libc++ is only supported when both are linked against > libcxxrt. lang/gcc by default use libsupc++, so you'd have to add
Yeah, been there, done that. I found this out firsthand on FreeBSD 10 when I pulled in a dependency that was compiled with clang. > USES= compiler:gcc-c++11-lib > > to force the port use devel/libc++. At least for now I'm happy to stick with libstdc++. The code currently doesn't even compile with clang, hence USES_GCC=yes. If I USES= compiler:gcc-c++11-lib > Also, the following wouldn't work > > .if ${CHOSEN_COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} == 49 > > because COMPILER_VERSION or COMPILER_FEATURES are evaluated against > COMPILER_TYPE, not CHOSEN_COMPILER_TYPE. Yup, that appears to be the case. > [1] > https://wiki.freebsd.org/NewC++Stack#Mixing_Libraries_using_Libc.2B-.2B-_and_Libstdc.2B-.2B- USES=compiler:gcc-c++11-lib allows me to force GCC, but it looks like I always get the default version from ports and USE_GCC is ignored. CXX is still not updated early enough. PORTNAME= junk PORTVERSION= 0.0.0 CATEGORIES= devel DISTFILES= MAINTAINER= truck...@freebsd.org COMMENT= junk USES= compiler:gcc-c++11-lib .include <bsd.port.pre.mk> post-patch: @echo CXX=${CXX} @echo GCC_DEFAULT=${GCC_DEFAULT} @echo CHOSEN_COMPILER_TYPE=${CHOSEN_COMPILER_TYPE} .if ${CXX} == g++48 @echo g++48 was detected .endif .if ${CXX} == c++ @echo .if thinks CXX is still clang .endif .include <bsd.port.post.mk> # make patch ===> Patching for junk-0.0.0 CXX=g++48 GCC_DEFAULT=4.8 CHOSEN_COMPILER_TYPE=gcc .if thinks CXX is still clang _______________________________________________ freebsd-ports@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"