Rework CXXSTD setting via r345708

This change allows the user to once again override the C++ standard, restoring
high-level pre-r345708 behavior.

This also unbreaks building lib/ofed/libibnetdisc/Makefile with a non-C++11
capable compiler, e.g., g++ 4.2.1, as the library supported being built with
older C++ standards.

MFC after:	2 weeks
MFC with:	r345708
Reviewed by:	emaste
Reported by:	jbeich
Differential Revision: https://reviews.freebsd.org/D19895 (as part of a larger change)
This commit is contained in:
ngie 2019-04-22 18:38:54 +00:00
parent b00e0c706c
commit 1fdcadf9b2
7 changed files with 10 additions and 5 deletions

View File

@ -76,7 +76,7 @@ CFLAGS+= -nostdinc++
CFLAGS+= -nostdlib CFLAGS+= -nostdlib
CFLAGS+= -D_LIBCPP_BUILDING_LIBRARY CFLAGS+= -D_LIBCPP_BUILDING_LIBRARY
CFLAGS+= -DLIBCXXRT CFLAGS+= -DLIBCXXRT
CXXSTD= c++11 CXXSTD?= c++11
LIBADD+= cxxrt LIBADD+= cxxrt
INCSGROUPS= STD EXP EXT INCSGROUPS= STD EXP EXT

View File

@ -20,6 +20,6 @@ CXXFLAGS+= -nostdinc++
CXXFLAGS+= -nostdlib CXXFLAGS+= -nostdlib
CXXFLAGS+= -D_LIBCPP_BUILDING_LIBRARY CXXFLAGS+= -D_LIBCPP_BUILDING_LIBRARY
CXXFLAGS+= -DLIBCXXRT CXXFLAGS+= -DLIBCXXRT
CXXSTD= c++14 CXXSTD?= c++14
.include <bsd.lib.mk> .include <bsd.lib.mk>

View File

@ -22,6 +22,6 @@ CXXFLAGS+= -nostdinc++
CXXFLAGS+= -nostdlib CXXFLAGS+= -nostdlib
CXXFLAGS+= -D_LIBCPP_BUILDING_LIBRARY CXXFLAGS+= -D_LIBCPP_BUILDING_LIBRARY
CXXFLAGS+= -DLIBCXXRT CXXFLAGS+= -DLIBCXXRT
CXXSTD= c++14 CXXSTD?= c++14
.include <bsd.lib.mk> .include <bsd.lib.mk>

View File

@ -22,7 +22,7 @@ SRCS+= libelftc_dem_gnu3.c\
WARNS= 0 WARNS= 0
CFLAGS+= -isystem ${SRCDIR} -nostdinc++ CFLAGS+= -isystem ${SRCDIR} -nostdinc++
CXXSTD= c++11 CXXSTD?= c++11
VERSION_MAP= ${.CURDIR}/Version.map VERSION_MAP= ${.CURDIR}/Version.map
.include <bsd.lib.mk> .include <bsd.lib.mk>

View File

@ -28,7 +28,7 @@ CXXFLAGS.${file}+= -fno-exceptions -funwind-tables
CFLAGS+= -I${UNWINDINCDIR} -I${.CURDIR} -D_LIBUNWIND_IS_NATIVE_ONLY CFLAGS+= -I${UNWINDINCDIR} -I${.CURDIR} -D_LIBUNWIND_IS_NATIVE_ONLY
CXXFLAGS+= -fno-rtti CXXFLAGS+= -fno-rtti
CXXSTD= c++11 CXXSTD?= c++11
STATIC_CXXFLAGS+= -fvisibility=hidden -fPIC STATIC_CXXFLAGS+= -fvisibility=hidden -fPIC
# Probably need to just move this earlier or use CXXFLAGS # Probably need to just move this earlier or use CXXFLAGS
.if ${MK_DIRDEPS_BUILD} == "yes" .if ${MK_DIRDEPS_BUILD} == "yes"

View File

@ -31,6 +31,9 @@ LIBADD= osmcomp ibmad ibumad
CFLAGS+= -DHAVE_CONFIG_H=1 CFLAGS+= -DHAVE_CONFIG_H=1
CFLAGS+= -I${_spath} CFLAGS+= -I${_spath}
CFLAGS+= -I${SYSROOT:U${DESTDIR}}/${INCLUDEDIR}/infiniband CFLAGS+= -I${SYSROOT:U${DESTDIR}}/${INCLUDEDIR}/infiniband
.if ${COMPILER_FEATURES:Mc++11}
CXXSTD= c++11
.endif
VERSION_MAP= ${_spath}/libibnetdisc.map VERSION_MAP= ${_spath}/libibnetdisc.map
.include <bsd.lib.mk> .include <bsd.lib.mk>

View File

@ -8,6 +8,8 @@ WARNS?= 3
CXXFLAGS+= -fno-rtti -fno-exceptions CXXFLAGS+= -fno-rtti -fno-exceptions
CXXSTD= c++11
NO_SHARED?=NO NO_SHARED?=NO
.include <bsd.prog.mk> .include <bsd.prog.mk>