1bc2fcd34Scvs2svn# $FreeBSD$ 268866c8cSDavid E. O'Brien 3c6063d0dSWarner Losh.include <src.opts.mk> 4621cd629SOlivier Houchard 5680e78b3SDavid E. O'BrienGCCVER= 4.2 6b5ad6294SPeter WemmGCCDIR= ${.CURDIR}/../../../contrib/gcc 7afb57df6SAlexander KabaevGCCLIB= ${.CURDIR}/../../../contrib/gcclibs 8b5ad6294SPeter WemmSRCDIR= ${.CURDIR}/../../../contrib/libstdc++/libsupc++ 968866c8cSDavid E. O'Brien 10afb57df6SAlexander Kabaev.PATH: ${SRCDIR} ${GCCLIB}/libiberty 11b5ad6294SPeter Wemm 12b5ad6294SPeter WemmLIB= supc++ 13cf56074eSDavid ChisnallSHLIB_MAJOR=1 14afb57df6SAlexander KabaevSRCS+= del_op.cc del_opnt.cc del_opv.cc del_opvnt.cc eh_alloc.cc eh_arm.cc \ 15afb57df6SAlexander Kabaev eh_aux_runtime.cc eh_call.cc eh_catch.cc eh_exception.cc eh_globals.cc \ 16ae8cd67dSAlexander Kabaev eh_personality.cc eh_term_handler.cc eh_terminate.cc eh_throw.cc \ 17ae8cd67dSAlexander Kabaev eh_type.cc eh_unex_handler.cc guard.cc new_handler.cc new_op.cc \ 18ae8cd67dSAlexander Kabaev new_opnt.cc new_opv.cc new_opvnt.cc pure.cc tinfo.cc tinfo2.cc \ 19ae8cd67dSAlexander Kabaev vec.cc vterminate.cc 2068866c8cSDavid E. O'Brien 2168866c8cSDavid E. O'Brien# from libiberty: 2281efba8cSAlexander KabaevSRCS+= cp-demangle.c 2368866c8cSDavid E. O'Brien 2468866c8cSDavid E. O'BrienCFLAGS+= -DIN_GLIBCPP_V3 -DHAVE_CONFIG_H 25afb57df6SAlexander KabaevCFLAGS+= -I${GCCLIB}/include -I${SRCDIR} -I${GCCDIR} 26afb57df6SAlexander KabaevCFLAGS+= -I${.CURDIR}/../libstdc++ -I. 275c2f3990SColin PercivalCFLAGS+= -frandom-seed=RepeatabilityConsideredGood 28b5ad6294SPeter WemmCXXFLAGS+= -fno-implicit-templates -ffunction-sections -fdata-sections 29a070c499SStephane E. PotvinPO_CXXFLAGS= ${CXXFLAGS:N-ffunction-sections} 3068866c8cSDavid E. O'Brien 3168866c8cSDavid E. O'BrienHDRS= exception new typeinfo cxxabi.h exception_defines.h 32c7b111cbSRuslan ErmilovINCS= ${HDRS:S;^;${SRCDIR}/;} 33680e78b3SDavid E. O'BrienINCSDIR=${INCLUDEDIR}/c++/${GCCVER} 34afb57df6SAlexander Kabaev 356d4766c1SAndrew Turner.if ${MACHINE_CPUARCH} == "arm" 36621cd629SOlivier Houchardunwind.h: ${GCCDIR}/config/arm/unwind-arm.h 37621cd629SOlivier Houchard.else 38afb57df6SAlexander Kabaevunwind.h: ${GCCDIR}/unwind-generic.h 39621cd629SOlivier Houchard.endif 40621cd629SOlivier Houchard 41*b791fbe6SBryan Dreweryunwind.h: .NOMETA 42afb57df6SAlexander Kabaev ln -sf ${.ALLSRC} ${.TARGET} 43afb57df6SAlexander Kabaev 44afb57df6SAlexander KabaevSRCS+= unwind.h 45afb57df6SAlexander KabaevCLEANFILES+= unwind.h 4668866c8cSDavid E. O'Brien 47cf56074eSDavid Chisnall# Symbol versioning 48cf56074eSDavid Chisnall 49cf56074eSDavid ChisnallVERSION_MAP= ${.CURDIR}/Version.map 50cf56074eSDavid Chisnall 51eb941910SDimitry AndricCXXFLAGS.clang+= -stdlib=libstdc++ 52cf56074eSDavid Chisnall 5368866c8cSDavid E. O'Brien.include <bsd.lib.mk> 54f289fa66SDimitry Andric 55f289fa66SDimitry Andric# Filter out libc++-specific flags, and -std= flags above c++98 or gnu++98. 56f289fa66SDimitry AndricCXXFLAGS:= ${CXXFLAGS:N-stdlib=libc++:N-std=c++[01][13x]:N-std=gnu++[01][13x]} 57