freebsd-dev/lib/libc++experimental/Makefile
Enji Cooper 9a41926bfb CXXSTD is 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
Relnotes:	yes
Differential Revision:	https://reviews.freebsd.org/D19732
2019-03-29 18:13:44 +00:00

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>