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