- new shlib minor

- move -std=* handling, besides the list in CXX11_ALWAYS, to
  libsupc++/Makefile.common
- include the arch defs.mk to obtain ${G_*_SOURCES} and use them
  for -std= setting
This commit is contained in:
mrg 2019-02-01 10:37:13 +00:00
parent 437aa6a459
commit 75b1676ff7
2 changed files with 43 additions and 57 deletions

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile,v 1.38 2019/01/31 08:42:03 mrg Exp $
# $NetBSD: Makefile,v 1.39 2019/02/01 10:37:13 mrg Exp $
REQUIRETOOLS= yes
NOLINT= # defined
@ -47,7 +47,7 @@ CWARNFLAGS.clang+= -Wno-logical-op-parentheses \
.include "${.CURDIR}/arch/${LIBSTDCXX_MACHINE_ARCH}/defs.mk"
SHLIB_MAJOR= 8
SHLIB_MINOR= 1
SHLIB_MINOR= 2
SUBDIR= include
@ -153,33 +153,10 @@ CXX11_ALWAYS= localename.cc \
compatibility-condvar.cc \
ios_failure.cc
.for _s in ${G_CPP11_SOURCES:M*.cc} ${CXX11_ALWAYS}
.for _s in ${CXX11_ALWAYS}
COPTS.${_s}+= -std=gnu++11
.endfor
.for _s in ${G_FILESYSTEM_SOURCES:M*.cc}
COPTS.${_s}+= -std=gnu++14
.endfor
CXX98_ALWAYS= collate_members_cow.cc \
messages_members_cow.cc \
monetary_members_cow.cc \
numeric_members_cow.cc \
atomicity.cc \
collate_members.cc \
messages_members.cc \
monetary_members.cc \
numeric_members.cc \
time_members.cc \
basic_file.cc \
c++locale.cc
.for _s in ${CXX98_ALWAYS}
. if empty(COPTS.${_s}:M-std=*)
#COPTS.${_s}+= -std=gnu++98
. endif
.endfor
COPTS.cp-demangle.c += -Wno-unused-function
COPTS.ext-inst.cc+= -Wno-error

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile.common,v 1.11 2019/01/31 06:50:51 mrg Exp $
# $NetBSD: Makefile.common,v 1.12 2019/02/01 10:37:13 mrg Exp $
DIST= ${GCCDIST}
GNUHOSTDIST= ${DIST}
@ -12,7 +12,12 @@ LIBSTDCXX_MACHINE_ARCH=${MLIBDIR}
LIBSTDCXX_MACHINE_ARCH=${GCC_MACHINE_ARCH}
.endif
# Make sure we get G_*_SOURCES, etc.*, for the .for loops
.include "${.CURDIR}/../libstdc++-v3/arch/${LIBSTDCXX_MACHINE_ARCH}/defs.mk"
LIBSTDCXXSRCS= ${G_SRC_SOURCES} ${G_CPP98_SOURCES} ${G_CPP11_SOURCES} ${G_FILESYSTEM_SOURCES}
# XXX XXX dir.o doesn't have <deque> stuff properly, leave it out for now?
LIBSTDCXXSRCS= ${G_SRC_SOURCES} ${G_CPP98_SOURCES} ${G_CPP11_SOURCES}
LIBSUPCXXSRCS= ${G_LIBSUPCXX_SOURCES} ${G_LIBSUPCXX_C_SOURCES}
CPPFLAGS+= -I${DIST}/gcc
@ -24,44 +29,48 @@ CPPFLAGS+= -DHAVE_STDLIB_H -DHAVE_STRING_H
CPPFLAGS.cp-demangle.c=-DIN_GLIBCPP_V3
STD_GNU11= \
bad_array_length \
bad_array_new \
eh_aux_runtime \
eh_ptr \
eh_terminate \
eh_throw \
guard \
atexit_thread \
nested_exception \
new_handler \
new_op \
new_opnt
.for _f in ${G_CPP98_SOURCES}
COPTS.${_f}+= -std=gnu++98
.endfor
.for _f in ${STD_GNU11}
COPTS.${_f}.cc= -std=gnu++11
STD_GNU11= \
bad_array_length.cc \
bad_array_new.cc \
eh_aux_runtime.cc \
eh_ptr.cc \
eh_terminate.cc \
eh_throw.cc \
guard.cc \
atexit_thread.cc \
nested_exception.cc \
new_handler.cc \
new_op.cc \
new_opnt.cc
.for _f in ${STD_GNU11} ${G_CPP11_SOURCES:M*.cc}
COPTS.${_f}+= -std=gnu++11
.endfor
STD_GNU14= \
del_ops \
del_opvs
del_ops.cc \
del_opvs.cc
.for _f in ${STD_GNU14}
COPTS.${_f}.cc= -std=gnu++14 -Wno-sized-deallocation
.for _f in ${STD_GNU14} ${G_FILESYSTEM_SOURCES:M*.cc}
COPTS.${_f}+= -std=gnu++14 -Wno-sized-deallocation
.endfor
STD_GNU1Z= \
new_opa \
new_opant \
new_opva \
new_opvant \
del_opa \
del_opant \
del_opsa \
del_opva \
del_opvant \
del_opvsa
new_opa.cc \
new_opant.cc \
new_opva.cc \
new_opvant.cc \
del_opa.cc \
del_opant.cc \
del_opsa.cc \
del_opva.cc \
del_opvant.cc \
del_opvsa.cc
.for _f in ${STD_GNU1Z}
COPTS.${_f}.cc= -std=gnu++1z
COPTS.${_f}+= -std=gnu++1z
.endfor