xref: /dflybsd-src/gnu/lib/gcc47/libsupc++/Makefile.src (revision 94b98a915ba84699b2a2adab9146fbc2cf617459)
18a014a40SJohn Marino#note vec.cc has been replaced by vec-cxx.cc due to object filename clash
28a014a40SJohn Marino
3b450dd39SJohn MarinoSUPCXX=	\
4b450dd39SJohn Marino	array_type_info.cc \
5b450dd39SJohn Marino	atexit_arm.cc \
6b450dd39SJohn Marino	bad_alloc.cc \
7b450dd39SJohn Marino	bad_cast.cc \
8b450dd39SJohn Marino	bad_typeid.cc \
9b450dd39SJohn Marino	class_type_info.cc \
10b450dd39SJohn Marino	del_op.cc \
11b450dd39SJohn Marino	del_opnt.cc \
12b450dd39SJohn Marino	del_opv.cc \
13b450dd39SJohn Marino	del_opvnt.cc \
14b450dd39SJohn Marino	dyncast.cc \
15b450dd39SJohn Marino	eh_alloc.cc \
16b450dd39SJohn Marino	eh_arm.cc \
17b450dd39SJohn Marino	eh_aux_runtime.cc \
18b450dd39SJohn Marino	eh_call.cc \
19b450dd39SJohn Marino	eh_catch.cc \
20b450dd39SJohn Marino	eh_exception.cc \
21b450dd39SJohn Marino	eh_globals.cc \
22b450dd39SJohn Marino	eh_personality.cc \
23b450dd39SJohn Marino	eh_ptr.cc \
24b450dd39SJohn Marino	eh_term_handler.cc \
25b450dd39SJohn Marino	eh_terminate.cc \
26b450dd39SJohn Marino	eh_tm.cc \
27b450dd39SJohn Marino	eh_throw.cc \
28b450dd39SJohn Marino	eh_type.cc \
29b450dd39SJohn Marino	eh_unex_handler.cc \
30b450dd39SJohn Marino	enum_type_info.cc \
31b450dd39SJohn Marino	function_type_info.cc \
32b450dd39SJohn Marino	fundamental_type_info.cc \
33b450dd39SJohn Marino	guard.cc \
34b450dd39SJohn Marino	guard_error.cc \
35b450dd39SJohn Marino	hash_bytes.cc \
36b450dd39SJohn Marino	nested_exception.cc \
37b450dd39SJohn Marino	new_handler.cc \
38b450dd39SJohn Marino	new_op.cc \
39b450dd39SJohn Marino	new_opnt.cc \
40b450dd39SJohn Marino	new_opv.cc \
41b450dd39SJohn Marino	new_opvnt.cc \
42b450dd39SJohn Marino	pbase_type_info.cc \
43b450dd39SJohn Marino	pmem_type_info.cc \
44b450dd39SJohn Marino	pointer_type_info.cc \
45b450dd39SJohn Marino	pure.cc \
46b450dd39SJohn Marino	si_class_type_info.cc \
47b450dd39SJohn Marino	tinfo.cc \
48b450dd39SJohn Marino	tinfo2.cc \
498a014a40SJohn Marino	vec-cxx.cc \
50b450dd39SJohn Marino	vmi_class_type_info.cc \
51b450dd39SJohn Marino	vterminate.cc
52b450dd39SJohn Marino
53*7992527cSJohn Marinogthr.h: ${GCCDIR}/libgcc/gthr.h
54b450dd39SJohn Marino	sed -e '/^#pragma/b' \
55b450dd39SJohn Marino    	-e '/^#/s/\([ABCDEFGHIJKLMNOPQRSTUVWXYZ_][ABCDEFGHIJKLMNOPQRSTUVWXYZ_]*\)/_GLIBCXX_\1/g' \
56b450dd39SJohn Marino    	-e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \
57b450dd39SJohn Marino    	-e 's,^#include "\(.*\)",#include <bits/\1>,g' \
58b450dd39SJohn Marino    	< ${GCCDIR}/libgcc/gthr.h > ${.TARGET}
59b450dd39SJohn Marino
60*7992527cSJohn Marinogthr-default.h: ${GCCDIR}/libgcc/gthr-posix.h
61b450dd39SJohn Marino	sed -e 's/\(UNUSED\)/_GLIBCXX_\1/g' \
62b450dd39SJohn Marino	    -e 's/\(GCC[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]*_H\)/_GLIBCXX_\1/g' \
63b450dd39SJohn Marino	    -e 's/SUPPORTS_WEAK/__GXX_WEAK__/g' \
64b450dd39SJohn Marino	    -e 's/\([ABCDEFGHIJKLMNOPQRSTUVWXYZ_]*USE_WEAK\)/_GLIBCXX_\1/g' \
65b450dd39SJohn Marino	    < ${GCCDIR}/libgcc/gthr-posix.h > ${.TARGET}
66b450dd39SJohn Marino
67b450dd39SJohn MarinoCXX_CONFIG_H = ${.CURDIR}/../libstdc++/config.h
68b450dd39SJohn Marinons_version=0
69b450dd39SJohn Marinovisibility=1
70b450dd39SJohn Marinoexterntemplate=1
71b450dd39SJohn MarinoSUBST1='s,define __GLIBCXX__,define __GLIBCXX__ ${GCCSHORTDATE},'
72b450dd39SJohn MarinoSUBST2='s,define _GLIBCXX_INLINE_VERSION, define _GLIBCXX_INLINE_VERSION ${ns_version},'
73b450dd39SJohn MarinoSUBST3='s,define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY, define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY ${visibility},'
74b450dd39SJohn MarinoSUBST4='s,define _GLIBCXX_EXTERN_TEMPLATE$$, define _GLIBCXX_EXTERN_TEMPLATE ${externtemplate},'
75b450dd39SJohn Marino
76*7992527cSJohn Marinoc++config.h: ${CXX_CONFIG_H}
77b450dd39SJohn Marino	sed -e ${SUBST1} -e ${SUBST2} -e ${SUBST3} -e ${SUBST4} \
78b450dd39SJohn Marino	    < ${GCCDIR}/libstdc++-v3/include/bits/c++config > ${.TARGET}
79b450dd39SJohn Marino	sed -e 's/HAVE_/_GLIBCXX_HAVE_/g' \
80b450dd39SJohn Marino	    -e 's/PACKAGE/_GLIBCXX_PACKAGE/g' \
81b450dd39SJohn Marino	    -e 's/VERSION/_GLIBCXX_VERSION/g' \
82b450dd39SJohn Marino	    -e 's/WORDS_/_GLIBCXX_WORDS_/g' \
83b450dd39SJohn Marino	    -e 's/ICONV_CONST/_GLIBCXX_ICONV_CONST/g' \
84b450dd39SJohn Marino	    -e '/[ 	]_GLIBCXX_LONG_DOUBLE_COMPAT[ 	]/d' \
85b450dd39SJohn Marino	    < ${CXX_CONFIG_H} >> ${.TARGET}
86b450dd39SJohn Marino	echo "" >> ${.TARGET}
87b450dd39SJohn Marino	echo "#endif // _GLIBCXX_CXX_CONFIG_H" >> ${.TARGET}
88