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