| @@ -1,14 +1,14 @@ | | | @@ -1,14 +1,14 @@ |
1 | # $NetBSD: Makefile,v 1.106 2023/07/28 08:05:29 mrg Exp $ | | 1 | # $NetBSD: Makefile,v 1.107 2023/07/31 01:48:37 mrg Exp $ |
2 | | | 2 | |
3 | .include <bsd.hostinit.mk> | | 3 | .include <bsd.hostinit.mk> |
4 | | | 4 | |
5 | GCC_LANGUAGES=c c++ objc | | 5 | GCC_LANGUAGES=c c++ objc |
6 | MODULE= ${EXTERNAL_GCC_SUBDIR} | | 6 | MODULE= ${EXTERNAL_GCC_SUBDIR} |
7 | | | 7 | |
8 | GCCDIST= ${.CURDIR}/../../external/gpl3/${EXTERNAL_GCC_SUBDIR}/dist | | 8 | GCCDIST= ${.CURDIR}/../../external/gpl3/${EXTERNAL_GCC_SUBDIR}/dist |
9 | GNUHOSTDIST= ${GCCDIST} | | 9 | GNUHOSTDIST= ${GCCDIST} |
10 | | | 10 | |
11 | .if ${HAVE_GCC} == 10 | | 11 | .if ${HAVE_GCC} == 10 |
12 | MKNATIVE= ${.CURDIR}/mknative-gcc.old | | 12 | MKNATIVE= ${.CURDIR}/mknative-gcc.old |
13 | .endif | | 13 | .endif |
14 | | | 14 | |
| @@ -100,26 +100,32 @@ MKNATIVE_CONFIG_TARGET_LIBS+= configure- | | | @@ -100,26 +100,32 @@ MKNATIVE_CONFIG_TARGET_LIBS+= configure- |
100 | MKNATIVE_CONFIG_TARGET_LIBS+= \ | | 100 | MKNATIVE_CONFIG_TARGET_LIBS+= \ |
101 | configure-target-libstdc++-v3 \ | | 101 | configure-target-libstdc++-v3 \ |
102 | configure-target-libbacktrace \ | | 102 | configure-target-libbacktrace \ |
103 | configure-target-libobjc | | 103 | configure-target-libobjc |
104 | | | 104 | |
105 | .if ${HAVE_GCC} >= 9 | | 105 | .if ${HAVE_GCC} >= 9 |
106 | # XXX needs to build libstdc++ fully, which fails | | 106 | # XXX needs to build libstdc++ fully, which fails |
107 | .if 0 | | 107 | .if 0 |
108 | MKNATIVE_CONFIG_TARGET_LIBS+= \ | | 108 | MKNATIVE_CONFIG_TARGET_LIBS+= \ |
109 | configure-target-libsanitizer | | 109 | configure-target-libsanitizer |
110 | .endif | | 110 | .endif |
111 | .endif | | 111 | .endif |
112 | | | 112 | |
| | | 113 | .if ${HAVE_GCC} <= 10 |
| | | 114 | EXTRA_FILES= gcov-iov.h |
| | | 115 | .else |
| | | 116 | EXTRA_FILES= bversion.h gtyp-input.list |
| | | 117 | .endif |
| | | 118 | |
113 | BINENV= /usr/bin/env -i | | 119 | BINENV= /usr/bin/env -i |
114 | | | 120 | |
115 | | | 121 | |
116 | MKNATIVE_ENV= ${BINENV} ${CONFIGURE_ENV:NC*:NLD*} \ | | 122 | MKNATIVE_ENV= ${BINENV} ${CONFIGURE_ENV:NC*:NLD*} \ |
117 | CC_FOR_BUILD=${CC_FOR_BUILD:Q} \ | | 123 | CC_FOR_BUILD=${CC_FOR_BUILD:Q} \ |
118 | CXX_FOR_BUILD=${HOST_CXX:Q} \ | | 124 | CXX_FOR_BUILD=${HOST_CXX:Q} \ |
119 | CFLAGS_FOR_BUILD="-I${TOOLDIR}/include" \ | | 125 | CFLAGS_FOR_BUILD="-I${TOOLDIR}/include" \ |
120 | CC=${CC:Q}' '${CCADDFLAGS:Q} \ | | 126 | CC=${CC:Q}' '${CCADDFLAGS:Q} \ |
121 | CXX=${CXX:Q}' '${CCADDFLAGS:Q}' '${CXXADDFLAGS:Q} \ | | 127 | CXX=${CXX:Q}' '${CCADDFLAGS:Q}' '${CXXADDFLAGS:Q} \ |
122 | CPP=${CPP:Q}' '-I${DESTDIR}/usr/include' '-I${DESTDIR}/usr/include/g++/bits \ | | 128 | CPP=${CPP:Q}' '-I${DESTDIR}/usr/include' '-I${DESTDIR}/usr/include/g++/bits \ |
123 | CFLAGS= CPPFLAGS= CXXFLAGS= LDFLAGS= \ | | 129 | CFLAGS= CPPFLAGS= CXXFLAGS= LDFLAGS= \ |
124 | AS=${AS:Q} AWK=${TOOL_AWK:Q} LD=${LD:Q} \ | | 130 | AS=${AS:Q} AWK=${TOOL_AWK:Q} LD=${LD:Q} \ |
125 | MSGFMT=${TOOLDIR}/bin/${_TOOL_PREFIX}msgfmt \ | | 131 | MSGFMT=${TOOLDIR}/bin/${_TOOL_PREFIX}msgfmt \ |
| @@ -220,27 +226,27 @@ MKENV_BUILD_MAKE=cd .native && ${MKNATIV | | | @@ -220,27 +226,27 @@ MKENV_BUILD_MAKE=cd .native && ${MKNATIV |
220 | ((${MKENV_BUILD_MAKE} all-libcpp) && \ | | 226 | ((${MKENV_BUILD_MAKE} all-libcpp) && \ |
221 | (${MKENV_BUILD_MAKE} all-libbacktrace) && \ | | 227 | (${MKENV_BUILD_MAKE} all-libbacktrace) && \ |
222 | (${MKENV_BUILD_MAKE} all-libdecnumber) || true) | | 228 | (${MKENV_BUILD_MAKE} all-libdecnumber) || true) |
223 | PATH=${TOOLDIR}/bin:$$PATH; export PATH; \ | | 229 | PATH=${TOOLDIR}/bin:$$PATH; export PATH; \ |
224 | (${MKENV_BUILD_MAKE} configure-gcc configure-libcpp) && \ | | 230 | (${MKENV_BUILD_MAKE} configure-gcc configure-libcpp) && \ |
225 | (${MKENV_BUILD_MAKE} configure-libiberty) && \ | | 231 | (${MKENV_BUILD_MAKE} configure-libiberty) && \ |
226 | (${MKENV_BUILD_MAKE} configure-libdecnumber) | | 232 | (${MKENV_BUILD_MAKE} configure-libdecnumber) |
227 | # edit Makefile so that maybe-all-gcc does not depend on all-gcc any more. | | 233 | # edit Makefile so that maybe-all-gcc does not depend on all-gcc any more. |
228 | (cd .native && mv Makefile Makefile.config && \ | | 234 | (cd .native && mv Makefile Makefile.config && \ |
229 | ${TOOL_SED} -e 's/\(maybe-all-gcc:\) all-gcc/\1/' \ | | 235 | ${TOOL_SED} -e 's/\(maybe-all-gcc:\) all-gcc/\1/' \ |
230 | -e 's/\(maybe-all-target-libgcc:\) all-target-libgcc/\1/' \ | | 236 | -e 's/\(maybe-all-target-libgcc:\) all-target-libgcc/\1/' \ |
231 | < Makefile.config > Makefile) | | 237 | < Makefile.config > Makefile) |
232 | PATH=${TOOLDIR}/bin:$$PATH; export PATH; \ | | 238 | PATH=${TOOLDIR}/bin:$$PATH; export PATH; \ |
233 | (cd .native/gcc && ${MKNATIVE_ENV} ${BUILD_MAKE} -e tree-check.h config.h multilib.h gcov-iov.h) | | 239 | (cd .native/gcc && ${MKNATIVE_ENV} ${BUILD_MAKE} -e tree-check.h config.h multilib.h ${EXTRA_FILES}) |
234 | PATH=${TOOLDIR}/bin:$$PATH; export PATH; \ | | 240 | PATH=${TOOLDIR}/bin:$$PATH; export PATH; \ |
235 | (cd .native/gcc && ${MKNATIVE_ENV} ${BUILD_MAKE} -e libgcc.mvars tconfig.h); \ | | 241 | (cd .native/gcc && ${MKNATIVE_ENV} ${BUILD_MAKE} -e libgcc.mvars tconfig.h); \ |
236 | (cd .native && touch gcc/cc1obj gcc/cc1plus gcc/f771 gcc/libgcc.a gcc/libgcc_s.so) | | 242 | (cd .native && touch gcc/cc1obj gcc/cc1plus gcc/f771 gcc/libgcc.a gcc/libgcc_s.so) |
237 | PATH=${TOOLDIR}/bin:$$PATH; export PATH; \ | | 243 | PATH=${TOOLDIR}/bin:$$PATH; export PATH; \ |
238 | (cd .native/gcc && ${MKNATIVE_ENV} ${BUILD_MAKE} -e s-omp-device-properties-h) | | 244 | (cd .native/gcc && ${MKNATIVE_ENV} ${BUILD_MAKE} -e s-omp-device-properties-h) |
239 | .if defined(EXTRA_GCC_TARGETS) | | 245 | .if defined(EXTRA_GCC_TARGETS) |
240 | PATH=${TOOLDIR}/bin:$$PATH; export PATH; \ | | 246 | PATH=${TOOLDIR}/bin:$$PATH; export PATH; \ |
241 | (cd .native/gcc && ${MKNATIVE_ENV} ${BUILD_MAKE} -e ${EXTRA_GCC_TARGETS}) | | 247 | (cd .native/gcc && ${MKNATIVE_ENV} ${BUILD_MAKE} -e ${EXTRA_GCC_TARGETS}) |
242 | .endif | | 248 | .endif |
243 | .for _lib in ${MKNATIVE_CONFIG_TARGET_LIBS} | | 249 | .for _lib in ${MKNATIVE_CONFIG_TARGET_LIBS} |
244 | PATH=${TOOLDIR}/bin:$$PATH; export PATH; \ | | 250 | PATH=${TOOLDIR}/bin:$$PATH; export PATH; \ |
245 | (cd .native && ${MKNATIVE_ENV} ${BUILD_MAKE} \ | | 251 | (cd .native && ${MKNATIVE_ENV} ${BUILD_MAKE} \ |
246 | ${_lib} \ | | 252 | ${_lib} \ |