12233c95bSzrjRELUP= /.. 22233c95bSzrj.include "../../Makefile.inc" 32233c95bSzrjSRCDIR= ${GCCDIR}/libstdc++-v3 42233c95bSzrj.include "Makefile.headers" 52233c95bSzrj 62233c95bSzrj.PATH: ${SRCDIR} 72233c95bSzrj 82233c95bSzrj# These sections are detailed in Makefile.headers 92233c95bSzrj# parallel section is empty, skip it 102233c95bSzrj# make buildincludes, make installincludes before make depend 112233c95bSzrjglibcxx_srcdir= ${SRCDIR} 122233c95bSzrjHSECT= std bits bits_sup backward ext ext_compat tr1 tr2 decimal \ 132233c95bSzrj c_base c_compatibility debug profile profile_impl host supc \ 142233c95bSzrj parallel experimental ext_host 152233c95bSzrjPBSECT= 1 2 3 4 5 6 7 162233c95bSzrjHD= ${INCLUDEDIR}/c++/${GCCPOINTVER} 172233c95bSzrj 182233c95bSzrj.for i in ${HSECT} 192233c95bSzrjINCSGROUPS+= ${i}_headers 202233c95bSzrj${i}_headersDIR= ${HD}/${${i}_builddir} 212233c95bSzrj.endfor 222233c95bSzrj 232233c95bSzrjPATHGROUP= 242233c95bSzrj.for i in ${PBSECT} 252233c95bSzrj. for k in ${pb_headers${i}} 262233c95bSzrj. if ${PATHGROUP:M${k:H:T}} == "" 272233c95bSzrjPATHGROUP+=${k:H:T} 282233c95bSzrjPATH_${k:H:T}=${k:H:T} 292233c95bSzrj. endif 302233c95bSzrjPBG_${k:H:T}+=${k} 312233c95bSzrj. endfor 322233c95bSzrj.endfor 332233c95bSzrj 342233c95bSzrjINCSGROUPS+= PBG_pb_ds 352233c95bSzrjPBG_pb_dsDIR= ${HD}/${pb_builddir} 362233c95bSzrj 372233c95bSzrjINCSGROUPS+= PBG_detail 382233c95bSzrjPBG_detailDIR= ${HD}/${pb_builddir}/detail 392233c95bSzrj 402233c95bSzrj.for k in ${PATHGROUP:Npb_ds:Ndetail} 412233c95bSzrjINCSGROUPS+= PBG_${k} 422233c95bSzrjPBG_${k}DIR= ${HD}/${pb_builddir}/detail/${PATH_${k}} 432233c95bSzrj.endfor 442233c95bSzrj 452233c95bSzrjINCSGROUPS+= experimental_bits_headers 462233c95bSzrjexperimental_bits_headersDIR= ${HD}/experimental/bits 472233c95bSzrj 482233c95bSzrjINCSGROUPS+= host_headers_extra 492233c95bSzrjhost_headers_extraDIR= ${HD}/bits 502233c95bSzrjhost_headers_extraNAME_basic_file_stdio.h= basic_file.h 512233c95bSzrjhost_headers_extraNAME_c_locale.h= c++locale.h 522233c95bSzrjhost_headers_extraNAME_c_io_stdio.h+= c++io.h 532233c95bSzrjhost_headers_extraNAME_new_allocator_base.h= c++allocator.h 542233c95bSzrj 552233c95bSzrjcxxabi_forced.h: ${SRCDIR}/libsupc++/cxxabi_forced.h 562233c95bSzrj cp ${.ALLSRC} ${.TARGET} 572233c95bSzrj 582233c95bSzrjgthr.h: ${GCCDIR}/libgcc/gthr.h 592233c95bSzrj sed -e '/^#pragma/b' \ 602233c95bSzrj -e '/^#/s/\([ABCDEFGHIJKLMNOPQRSTUVWXYZ_][ABCDEFGHIJKLMNOPQRSTUVWXYZ_]*\)/_GLIBCXX_\1/g' \ 612233c95bSzrj -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \ 622233c95bSzrj -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \ 632233c95bSzrj -e 's,^#include "\(.*\)",#include <bits/\1>,g' \ 642233c95bSzrj < ${GCCDIR}/libgcc/gthr.h > ${.TARGET} 652233c95bSzrj 662233c95bSzrjgthr-single.h: ${GCCDIR}/libgcc/gthr.h 672233c95bSzrj sed -e 's/\(UNUSED\)/_GLIBCXX_\1/g' \ 682233c95bSzrj -e 's/\(GCC[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]*_H\)/_GLIBCXX_\1/g' \ 692233c95bSzrj < ${GCCDIR}/libgcc/gthr-single.h > ${.TARGET} 702233c95bSzrj 712233c95bSzrjgthr-posix.h: ${GCCDIR}/libgcc/gthr-posix.h 722233c95bSzrj sed -e 's/\(UNUSED\)/_GLIBCXX_\1/g' \ 732233c95bSzrj -e 's/\(GCC[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]*_H\)/_GLIBCXX_\1/g' \ 742233c95bSzrj -e 's/SUPPORTS_WEAK/__GXX_WEAK__/g' \ 752233c95bSzrj -e 's/\([ABCDEFGHIJKLMNOPQRSTUVWXYZ_]*USE_WEAK\)/_GLIBCXX_\1/g' \ 762233c95bSzrj < ${GCCDIR}/libgcc/gthr-posix.h > ${.TARGET} 772233c95bSzrj 782233c95bSzrjgthr-default.h: gthr-posix.h 792233c95bSzrj cp ${.ALLSRC} ${.TARGET} 802233c95bSzrj 812233c95bSzrjrelease=${GCCMAJORVER} 822233c95bSzrjns_version=0 832233c95bSzrjvisibility=1 842233c95bSzrjexterntemplate=1 852233c95bSzrjdualabi=1 862233c95bSzrjcxx11abi=1 872233c95bSzrjallocatornew=1 88*de2610f5Szrjfloat128=define _GLIBCXX_USE_FLOAT128 1 89*de2610f5Szrj#float128=undef _GLIBCXX_USE_FLOAT128 902233c95bSzrjldbl_compat='s,g,g,' 912233c95bSzrjS1='s,define __GLIBCXX__,define __GLIBCXX__ ${GCCSHORTDATE},' 922233c95bSzrjS2='s,define _GLIBCXX_RELEASE,define _GLIBCXX_RELEASE ${release},' 932233c95bSzrjS3='s,define _GLIBCXX_INLINE_VERSION, define _GLIBCXX_INLINE_VERSION ${ns_version},' 942233c95bSzrjS4='s,define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY, define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY ${visibility},' 952233c95bSzrjS5='s,define _GLIBCXX_EXTERN_TEMPLATE$$, define _GLIBCXX_EXTERN_TEMPLATE ${externtemplate},' 962233c95bSzrjS6='s,define _GLIBCXX_USE_DUAL_ABI, define _GLIBCXX_USE_DUAL_ABI ${dualabi},' 972233c95bSzrjS7='s,define _GLIBCXX_USE_CXX11_ABI, define _GLIBCXX_USE_CXX11_ABI ${cxx11abi},' 982233c95bSzrjS8='s,define _GLIBCXX_USE_ALLOCATOR_NEW, define _GLIBCXX_USE_ALLOCATOR_NEW ${allocatornew},' 99*de2610f5SzrjS9='s,define _GLIBCXX_USE_FLOAT128, ${float128},' 100*de2610f5SzrjS10='${ldbl_compat}' 1012233c95bSzrj 1022233c95bSzrjc++config.h: config.h 103*de2610f5Szrj sed -e ${S1} -e ${S2} -e ${S3} -e ${S4} -e ${S5} -e ${S6} -e ${S7} -e ${S8} -e ${S9} -e ${S10} \ 1042233c95bSzrj < ${GCCDIR}/libstdc++-v3/include/bits/c++config > ${.TARGET} 1052233c95bSzrj sed -e 's/HAVE_/_GLIBCXX_HAVE_/g' \ 1062233c95bSzrj -e 's/PACKAGE/_GLIBCXX_PACKAGE/g' \ 1072233c95bSzrj -e 's/VERSION/_GLIBCXX_VERSION/g' \ 1082233c95bSzrj -e 's/WORDS_/_GLIBCXX_WORDS_/g' \ 1092233c95bSzrj -e 's/ICONV_CONST/_GLIBCXX_ICONV_CONST/g' \ 1102233c95bSzrj -e '/[ ]_GLIBCXX_LONG_DOUBLE_COMPAT[ ]/d' \ 1112233c95bSzrj < ${.ALLSRC} >> ${.TARGET} 1122233c95bSzrj echo "" >> ${.TARGET} 1132233c95bSzrj echo "#endif // _GLIBCXX_CXX_CONFIG_H" >> ${.TARGET} 1142233c95bSzrj 1152233c95bSzrjCLEANFILES= gthr.h gthr-default.h gthr-single.h gthr-posix.h \ 1162233c95bSzrj c++config.h cxxabi_forced.h 1172233c95bSzrj 1182233c95bSzrj.include <bsd.lib.mk> 119