1# $NetBSD: Makefile.common,v 1.13 2019/02/28 01:11:04 mrg Exp $ 2 3DIST= ${GCCDIST} 4GNUHOSTDIST= ${DIST} 5 6GCC_MACHINE_ARCH=${MACHINE_ARCH:S/earmv5/earm/} 7 8# Support src/compat builds 9.if defined(MLIBDIR) && exists(${.CURDIR}/../libstdc++-v3/arch/${MLIBDIR}/defs.mk) 10LIBSTDCXX_MACHINE_ARCH=${MLIBDIR} 11.else 12LIBSTDCXX_MACHINE_ARCH=${GCC_MACHINE_ARCH} 13.endif 14 15# Make sure we get G_*_SOURCES, etc.*, for the .for loops 16.include "${.CURDIR}/../libstdc++-v3/arch/${LIBSTDCXX_MACHINE_ARCH}/defs.mk" 17 18LIBSTDCXXSRCS= ${G_SRC_SOURCES} ${G_CPP98_SOURCES} ${G_CPP11_SOURCES} 19# XXX XXX dir.o doesn't have <deque> stuff properly, leave it out for now 20#LIBSTDCXXSRCS+= ${G_FILESYSTEM_SOURCES} 21 22LIBSUPCXXSRCS= ${G_LIBSUPCXX_SOURCES} ${G_LIBSUPCXX_C_SOURCES} 23 24CPPFLAGS+= -I${DIST}/gcc 25CPPFLAGS+= -I${DIST}/include 26CPPFLAGS+= -I${DIST}/libstdc++-v3/libsupc++ 27CPPFLAGS+= -I${DIST}/libgcc 28CPPFLAGS+= -I${.CURDIR}/../libstdc++-v3/arch/${LIBSTDCXX_MACHINE_ARCH} -I. 29CPPFLAGS+= -DHAVE_STDLIB_H -DHAVE_STRING_H 30 31CPPFLAGS.cp-demangle.c=-DIN_GLIBCPP_V3 32 33.for _f in ${G_CPP98_SOURCES} 34COPTS.${_f}+= -std=gnu++98 35.endfor 36 37STD_GNU11= \ 38 bad_array_length.cc \ 39 bad_array_new.cc \ 40 eh_aux_runtime.cc \ 41 eh_ptr.cc \ 42 eh_terminate.cc \ 43 eh_throw.cc \ 44 guard.cc \ 45 atexit_thread.cc \ 46 nested_exception.cc \ 47 new_handler.cc \ 48 new_op.cc \ 49 new_opnt.cc 50 51.for _f in ${STD_GNU11} ${G_CPP11_SOURCES:M*.cc} 52COPTS.${_f}+= -std=gnu++11 53.endfor 54 55STD_GNU14= \ 56 del_ops.cc \ 57 del_opvs.cc 58 59.for _f in ${STD_GNU14} ${G_FILESYSTEM_SOURCES:M*.cc} 60COPTS.${_f}+= -std=gnu++14 -Wno-sized-deallocation 61.endfor 62 63STD_GNU1Z= \ 64 new_opa.cc \ 65 new_opant.cc \ 66 new_opva.cc \ 67 new_opvant.cc \ 68 del_opa.cc \ 69 del_opant.cc \ 70 del_opsa.cc \ 71 del_opva.cc \ 72 del_opvant.cc \ 73 del_opvsa.cc 74 75.for _f in ${STD_GNU1Z} 76COPTS.${_f}+= -std=gnu++1z 77.endfor 78