freebsd-dev/lib/libcxxrt/Makefile
Enji Cooper e8067928ff Standardize -std=c++* as CXXSTD`
CXXSTD was added as the C++ analogue to CSTD.

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
MFC with:	r345203, r345704, r345705
Relnotes:	yes
Tested with:	make tinderbox
Differential Revision:	https://reviews.freebsd.org/D19732
2019-03-29 18:45:27 +00:00

29 lines
404 B
Makefile

# $FreeBSD$
PACKAGE= clibs
SRCDIR= ${SRCTOP}/contrib/libcxxrt
SHLIB_MAJOR= 1
SHLIBDIR?= /lib
.PATH: ${SRCDIR}
LIB= cxxrt
SRCS+= libelftc_dem_gnu3.c\
terminate.cc\
dynamic_cast.cc\
memory.cc\
auxhelper.cc\
exception.cc\
stdexcept.cc\
typeinfo.cc\
guard.cc
WARNS= 0
CFLAGS+= -isystem ${SRCDIR} -nostdinc++
CXXSTD= c++11
VERSION_MAP= ${.CURDIR}/Version.map
.include <bsd.lib.mk>