1*8feb0f0bSmrg# $NetBSD: Makefile.common,v 1.11 2023/02/20 02:12:28 mrg Exp $ 236ac495dSmrg 336ac495dSmrgDIST= ${GCCDIST} 436ac495dSmrgGNUHOSTDIST= ${DIST} 536ac495dSmrg 636ac495dSmrgGCC_MACHINE_ARCH=${MACHINE_ARCH:S/earmv5/earm/} 736ac495dSmrg 836ac495dSmrg# Support src/compat builds 936ac495dSmrg.if defined(MLIBDIR) && exists(${.CURDIR}/../libstdc++-v3/arch/${MLIBDIR}/defs.mk) 1036ac495dSmrgLIBSTDCXX_MACHINE_ARCH=${MLIBDIR} 1136ac495dSmrg.else 1236ac495dSmrgLIBSTDCXX_MACHINE_ARCH=${GCC_MACHINE_ARCH} 1336ac495dSmrg.endif 1436ac495dSmrg 1536ac495dSmrg# Make sure we get G_*_SOURCES, etc.*, for the .for loops 1636ac495dSmrg.include "${.CURDIR}/../libstdc++-v3/arch/${LIBSTDCXX_MACHINE_ARCH}/defs.mk" 1736ac495dSmrg 18*8feb0f0bSmrg# Deal with renamed sources. Needs to match a loop in libstdc++-v3/Makefile. 19*8feb0f0bSmrgBUILD_CPP98_SOURCES= ${G_CPP98_SOURCES:Ncodecvt.cc} \ 20*8feb0f0bSmrg c98-codecvt.cc 21*8feb0f0bSmrgBUILD_CPP11_SOURCES= ${G_CPP11_SOURCES:Ncodecvt.cc:Ncow-string-inst.cc:Nostream-inst.cc:Nstring-inst.cc} \ 22*8feb0f0bSmrg c11-codecvt.cc \ 23*8feb0f0bSmrg c11-cow-string-inst.cc \ 24*8feb0f0bSmrg c11-ostream-inst.cc \ 25*8feb0f0bSmrg c11-string-inst.cc 26*8feb0f0bSmrgBUILD_CPP17_SOURCES= ${G_CPP17_SOURCES:Ncow-string-inst.cc:Nostream-inst.cc:Nstring-inst.cc} \ 27*8feb0f0bSmrg c17-cow-string-inst.cc \ 28*8feb0f0bSmrg c17-ostream-inst.cc \ 29*8feb0f0bSmrg c17-string-inst.cc 30*8feb0f0bSmrg 31*8feb0f0bSmrgLIBSTDCXXSRCS= ${G_SRC_SOURCES} \ 32*8feb0f0bSmrg ${BUILD_CPP98_SOURCES} \ 33*8feb0f0bSmrg ${BUILD_CPP11_SOURCES} \ 34*8feb0f0bSmrg ${BUILD_CPP17_SOURCES} 3536ac495dSmrg# XXX XXX dir.o doesn't have <deque> stuff properly, leave it out for now 3636ac495dSmrg#LIBSTDCXXSRCS+= ${G_FILESYSTEM_SOURCES} 3736ac495dSmrg 3836ac495dSmrgLIBSUPCXXSRCS= ${G_LIBSUPCXX_SOURCES} ${G_LIBSUPCXX_C_SOURCES} 3936ac495dSmrg 4036ac495dSmrgCPPFLAGS+= -I${DIST}/gcc 4136ac495dSmrgCPPFLAGS+= -I${DIST}/include 4236ac495dSmrgCPPFLAGS+= -I${DIST}/libstdc++-v3/libsupc++ 4336ac495dSmrgCPPFLAGS+= -I${DIST}/libgcc 4436ac495dSmrgCPPFLAGS+= -I${.CURDIR}/../libstdc++-v3/arch/${LIBSTDCXX_MACHINE_ARCH} -I. 4536ac495dSmrgCPPFLAGS+= -DHAVE_STDLIB_H -DHAVE_STRING_H 4636ac495dSmrg 4736ac495dSmrgCPPFLAGS.cp-demangle.c=-DIN_GLIBCPP_V3 4836ac495dSmrg 49*8feb0f0bSmrg.for _f in ${BUILD_CPP98_SOURCES} 5036ac495dSmrgCOPTS.${_f}+= -std=gnu++98 5136ac495dSmrg.endfor 5236ac495dSmrg 5336ac495dSmrgSTD_GNU11= \ 5436ac495dSmrg eh_aux_runtime.cc \ 5536ac495dSmrg eh_ptr.cc \ 5636ac495dSmrg eh_terminate.cc \ 5736ac495dSmrg eh_throw.cc \ 5836ac495dSmrg guard.cc \ 5936ac495dSmrg atexit_thread.cc \ 6036ac495dSmrg nested_exception.cc \ 6136ac495dSmrg new_handler.cc \ 6236ac495dSmrg new_op.cc \ 6336ac495dSmrg new_opnt.cc 6436ac495dSmrg 65*8feb0f0bSmrg.for _f in ${STD_GNU11} ${BUILD_CPP11_SOURCES:M*.cc} 6636ac495dSmrgCOPTS.${_f}+= -std=gnu++11 6736ac495dSmrg.endfor 6836ac495dSmrg 6936ac495dSmrgSTD_GNU14= \ 7036ac495dSmrg del_ops.cc \ 7136ac495dSmrg del_opvs.cc 7236ac495dSmrg 7336ac495dSmrg.for _f in ${STD_GNU14} ${G_FILESYSTEM_SOURCES:M*.cc} 74a2dc1f3fSmrgCOPTS.${_f}+= -std=gnu++17 -Wno-sized-deallocation 7536ac495dSmrg.endfor 7636ac495dSmrg 7736ac495dSmrgSTD_GNU1Z= \ 7836ac495dSmrg new_opa.cc \ 7936ac495dSmrg new_opant.cc \ 8036ac495dSmrg new_opva.cc \ 8136ac495dSmrg new_opvant.cc \ 8236ac495dSmrg del_opa.cc \ 8336ac495dSmrg del_opant.cc \ 8436ac495dSmrg del_opsa.cc \ 8536ac495dSmrg del_opva.cc \ 8636ac495dSmrg del_opvant.cc \ 8736ac495dSmrg del_opvsa.cc 8836ac495dSmrg 8936ac495dSmrg.for _f in ${STD_GNU1Z} 9036ac495dSmrgCOPTS.${_f}+= -std=gnu++1z 9136ac495dSmrg.endfor 92c0a68be4Smrg 93*8feb0f0bSmrg.for _f in ${BUILD_CPP17_SOURCES} 94c0a68be4SmrgCOPTS.${_f}+= -std=gnu++17 -fimplicit-templates 95c0a68be4Smrg.endfor 96c0a68be4Smrg 97c0a68be4Smrg.for _f in dir ops fs_dir fs_ops cow-fs_dir cow-fs_ops 98c0a68be4Smrg${_f}.o ${_f}.d ${_f}.pico ${_f}.po: bits/largefile-config.h 99c0a68be4Smrg.endfor 100c0a68be4Smrg 101c0a68be4Smrgbits/largefile-config.h: 102c0a68be4Smrg mkdir -p bits 103c0a68be4Smrg touch bits/largefile-config.h 104c0a68be4Smrg 105c0a68be4SmrgCLEANFILES+= bits/largefile-config.h 106