nrelease - fix/improve livecd
[dragonfly.git] / gnu / lib / gcc80 / libstdcxx / headers / Makefile
1 RELUP=  /..
2 .include "../../Makefile.inc"
3 SRCDIR= ${GCCDIR}/libstdc++-v3
4 .include "Makefile.headers"
5
6 .PATH:  ${SRCDIR}
7
8 # These sections are detailed in Makefile.headers
9 # parallel section is empty, skip it
10 # make buildincludes, make installincludes before make depend
11 glibcxx_srcdir= ${SRCDIR}
12 HSECT=  std bits bits_sup backward ext ext_compat tr1 tr2 decimal \
13         c_base c_compatibility debug profile profile_impl host supc \
14         parallel experimental ext_host
15 PBSECT= 1 2 3 4 5 6 7
16 HD=     ${INCLUDEDIR}/c++/${GCCPOINTVER}
17
18 .for i in ${HSECT}
19 INCSGROUPS+=            ${i}_headers
20 ${i}_headersDIR=        ${HD}/${${i}_builddir}
21 .endfor
22
23 PATHGROUP=
24 .for i in ${PBSECT}
25 .  for k in ${pb_headers${i}}
26 .    if ${PATHGROUP:M${k:H:T}} == ""
27 PATHGROUP+=${k:H:T}
28 PATH_${k:H:T}=${k:H:T}
29 .    endif
30 PBG_${k:H:T}+=${k}
31 .  endfor
32 .endfor
33
34 INCSGROUPS+=            PBG_pb_ds
35 PBG_pb_dsDIR=           ${HD}/${pb_builddir}
36
37 INCSGROUPS+=            PBG_detail
38 PBG_detailDIR=          ${HD}/${pb_builddir}/detail
39
40 .for k in ${PATHGROUP:Npb_ds:Ndetail}
41 INCSGROUPS+=            PBG_${k}
42 PBG_${k}DIR=            ${HD}/${pb_builddir}/detail/${PATH_${k}}
43 .endfor
44
45 INCSGROUPS+=            experimental_bits_headers
46 experimental_bits_headersDIR=   ${HD}/experimental/bits
47
48 INCSGROUPS+=            host_headers_extra
49 host_headers_extraDIR=  ${HD}/bits
50 host_headers_extraNAME_basic_file_stdio.h=      basic_file.h
51 host_headers_extraNAME_c_locale.h=              c++locale.h
52 host_headers_extraNAME_c_io_stdio.h+=           c++io.h
53 host_headers_extraNAME_new_allocator_base.h=    c++allocator.h
54
55 cxxabi_forced.h: ${SRCDIR}/libsupc++/cxxabi_forced.h
56         cp ${.ALLSRC} ${.TARGET}
57
58 gthr.h: ${GCCDIR}/libgcc/gthr.h
59         sed -e '/^#pragma/b' \
60             -e '/^#/s/\([ABCDEFGHIJKLMNOPQRSTUVWXYZ_][ABCDEFGHIJKLMNOPQRSTUVWXYZ_]*\)/_GLIBCXX_\1/g' \
61             -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \
62             -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \
63             -e 's,^#include "\(.*\)",#include <bits/\1>,g' \
64             < ${GCCDIR}/libgcc/gthr.h > ${.TARGET}
65
66 gthr-single.h: ${GCCDIR}/libgcc/gthr.h
67         sed -e 's/\(UNUSED\)/_GLIBCXX_\1/g' \
68             -e 's/\(GCC[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]*_H\)/_GLIBCXX_\1/g' \
69             < ${GCCDIR}/libgcc/gthr-single.h > ${.TARGET}
70
71 gthr-posix.h: ${GCCDIR}/libgcc/gthr-posix.h
72         sed -e 's/\(UNUSED\)/_GLIBCXX_\1/g' \
73             -e 's/\(GCC[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]*_H\)/_GLIBCXX_\1/g' \
74             -e 's/SUPPORTS_WEAK/__GXX_WEAK__/g' \
75             -e 's/\([ABCDEFGHIJKLMNOPQRSTUVWXYZ_]*USE_WEAK\)/_GLIBCXX_\1/g' \
76             < ${GCCDIR}/libgcc/gthr-posix.h > ${.TARGET}
77
78 gthr-default.h: gthr-posix.h
79         cp ${.ALLSRC} ${.TARGET}
80
81 release=${GCCMAJORVER}
82 ns_version=0
83 visibility=1
84 externtemplate=1
85 dualabi=1
86 cxx11abi=1
87 allocatornew=1
88 float128=define _GLIBCXX_USE_FLOAT128 1
89 #float128=undef _GLIBCXX_USE_FLOAT128
90 ldbl_compat='s,g,g,'
91 S1='s,define __GLIBCXX__,define __GLIBCXX__ ${GCCSHORTDATE},'
92 S2='s,define _GLIBCXX_RELEASE,define _GLIBCXX_RELEASE ${release},'
93 S3='s,define _GLIBCXX_INLINE_VERSION, define _GLIBCXX_INLINE_VERSION ${ns_version},'
94 S4='s,define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY, define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY ${visibility},'
95 S5='s,define _GLIBCXX_EXTERN_TEMPLATE$$, define _GLIBCXX_EXTERN_TEMPLATE ${externtemplate},'
96 S6='s,define _GLIBCXX_USE_DUAL_ABI, define _GLIBCXX_USE_DUAL_ABI ${dualabi},'
97 S7='s,define _GLIBCXX_USE_CXX11_ABI, define _GLIBCXX_USE_CXX11_ABI ${cxx11abi},'
98 S8='s,define _GLIBCXX_USE_ALLOCATOR_NEW, define _GLIBCXX_USE_ALLOCATOR_NEW ${allocatornew},'
99 S9='s,define _GLIBCXX_USE_FLOAT128, ${float128},'
100 S10='${ldbl_compat}'
101
102 c++config.h: config.h
103         sed -e ${S1} -e ${S2} -e ${S3} -e ${S4} -e ${S5} -e ${S6} -e ${S7} -e ${S8} -e ${S9} -e ${S10} \
104             < ${GCCDIR}/libstdc++-v3/include/bits/c++config > ${.TARGET}
105         sed -e 's/HAVE_/_GLIBCXX_HAVE_/g' \
106             -e 's/PACKAGE/_GLIBCXX_PACKAGE/g' \
107             -e 's/VERSION/_GLIBCXX_VERSION/g' \
108             -e 's/WORDS_/_GLIBCXX_WORDS_/g' \
109             -e 's/ICONV_CONST/_GLIBCXX_ICONV_CONST/g' \
110             -e '/[       ]_GLIBCXX_LONG_DOUBLE_COMPAT[   ]/d' \
111             < ${.ALLSRC} >> ${.TARGET}
112         echo "" >> ${.TARGET}
113         echo "#endif // _GLIBCXX_CXX_CONFIG_H" >> ${.TARGET}
114
115 CLEANFILES=     gthr.h gthr-default.h gthr-single.h gthr-posix.h \
116                 c++config.h cxxabi_forced.h
117
118 .include <bsd.lib.mk>