CXXSTD defaults to `-std=c++11` with supporting compilers; `-std=gnu++98`, otherwise for older versions of g++. This change standardizes the CXXSTD variable, originally added to googletest.test.inc.mk as part of r345203. As part of this effort, convert all `CXXFLAGS+= -std=*` calls to use `CXXSTD`. Notes: This value is not sanity checked in bsd.sys.mk, however, given the two most used C++ compilers on FreeBSD (clang++ and g++) support both modes, it is likely to work with both toolchains. This method will be refined in the future to support more variants of C++, as not all versions of clang++ and g++ (for instance) support C++14, C++17, etc. Any manual appending of `-std=*` to `CXXFLAGS` should be replaced with CXXSTD. Example: Before this commit: ``` CXXFLAGS+= -std=c++14 ``` After this commit: ``` CXXSTD= c++14 ``` Reviewed by: asomers Approved by: emaste (mentor) MFC after: 1 month Relnotes: yes Differential Revision: https://reviews.freebsd.org/D19732
26 lines
411 B
Makefile
26 lines
411 B
Makefile
# $FreeBSD$
|
|
|
|
.include <src.opts.mk>
|
|
|
|
PACKAGE= clibs
|
|
SRCDIR= ${SRCTOP}/contrib/libc++
|
|
|
|
LIB= c++experimental
|
|
NO_PIC=
|
|
MK_PROFILE= no
|
|
|
|
.PATH: ${SRCDIR}/src/experimental
|
|
|
|
SRCS+= memory_resource.cpp
|
|
|
|
WARNS?= 0
|
|
CXXFLAGS+= ${PICFLAG}
|
|
CXXFLAGS+= -isystem ${SRCDIR}/include
|
|
CXXFLAGS+= -nostdinc++
|
|
CXXFLAGS+= -nostdlib
|
|
CXXFLAGS+= -D_LIBCPP_BUILDING_LIBRARY
|
|
CXXFLAGS+= -DLIBCXXRT
|
|
CXXSTD= c++14
|
|
|
|
.include <bsd.lib.mk>
|