| @@ -1,14 +1,14 @@ | | | @@ -1,14 +1,14 @@ |
1 | # $NetBSD: gcc.mk,v 1.242 2022/05/28 02:31:47 gutteridge Exp $ | | 1 | # $NetBSD: gcc.mk,v 1.243 2022/06/16 15:46:22 adam Exp $ |
2 | # | | 2 | # |
3 | # This is the compiler definition for the GNU Compiler Collection. | | 3 | # This is the compiler definition for the GNU Compiler Collection. |
4 | # | | 4 | # |
5 | # User-settable variables: | | 5 | # User-settable variables: |
6 | # | | 6 | # |
7 | # GCCBASE | | 7 | # GCCBASE |
8 | # If using a native GCC and the compiler is not in $PATH then | | 8 | # If using a native GCC and the compiler is not in $PATH then |
9 | # this should be set to the base installation directory. | | 9 | # this should be set to the base installation directory. |
10 | # | | 10 | # |
11 | # USE_NATIVE_GCC | | 11 | # USE_NATIVE_GCC |
12 | # When set to "yes", the native gcc is used, no matter which | | 12 | # When set to "yes", the native gcc is used, no matter which |
13 | # compiler version a package requires. | | 13 | # compiler version a package requires. |
14 | # | | 14 | # |
| @@ -85,27 +85,27 @@ _DEF_VARS.gcc= \ | | | @@ -85,27 +85,27 @@ _DEF_VARS.gcc= \ |
85 | _GCC_CC _GCC_CPP _GCC_CXX _GCC_DEPENDENCY _GCC_DEPENDS \ | | 85 | _GCC_CC _GCC_CPP _GCC_CXX _GCC_DEPENDENCY _GCC_DEPENDS \ |
86 | _GCC_DIST_NAME _GCC_DIST_VERSION \ | | 86 | _GCC_DIST_NAME _GCC_DIST_VERSION \ |
87 | _GCC_FC _GCC_LDFLAGS _GCC_LIBDIRS _GCC_PKG \ | | 87 | _GCC_FC _GCC_LDFLAGS _GCC_LIBDIRS _GCC_PKG \ |
88 | _GCC_PKGBASE _GCC_PKGSRCDIR _GCC_PKG_SATISFIES_DEP \ | | 88 | _GCC_PKGBASE _GCC_PKGSRCDIR _GCC_PKG_SATISFIES_DEP \ |
89 | _GCC_PREFIX _GCC_REQD _GCC_STRICTEST_REQD _GCC_SUBPREFIX \ | | 89 | _GCC_PREFIX _GCC_REQD _GCC_STRICTEST_REQD _GCC_SUBPREFIX \ |
90 | _GCC_TEST_DEPENDS _GCC_NEEDS_A_FORTRAN _GCC_VARS _GCC_VERSION \ | | 90 | _GCC_TEST_DEPENDS _GCC_NEEDS_A_FORTRAN _GCC_VARS _GCC_VERSION \ |
91 | _GCC_VERSION_STRING \ | | 91 | _GCC_VERSION_STRING \ |
92 | _GCC_ADA _GCC_GMK _GCC_GLK _GCC_GBD _GCC_CHP _GCC_GLS _GCC_GNT _GCC_PRP \ | | 92 | _GCC_ADA _GCC_GMK _GCC_GLK _GCC_GBD _GCC_CHP _GCC_GLS _GCC_GNT _GCC_PRP \ |
93 | _IGNORE_GCC \ | | 93 | _IGNORE_GCC \ |
94 | _IS_BUILTIN_GCC \ | | 94 | _IS_BUILTIN_GCC \ |
95 | _LANGUAGES.gcc \ | | 95 | _LANGUAGES.gcc \ |
96 | _LINKER_RPATH_FLAG \ | | 96 | _LINKER_RPATH_FLAG \ |
97 | _NEED_GCC6 _NEED_GCC7 _NEED_GCC8 _NEED_GCC9 \ | | 97 | _NEED_GCC6 _NEED_GCC7 _NEED_GCC8 _NEED_GCC9 \ |
98 | _NEED_GCC10 \ | | 98 | _NEED_GCC10 _NEED_GCC12 \ |
99 | _NEED_GCC_AUX _NEED_NEWER_GCC \ | | 99 | _NEED_GCC_AUX _NEED_NEWER_GCC \ |
100 | _PKGSRC_GCC_VERSION \ | | 100 | _PKGSRC_GCC_VERSION \ |
101 | _USE_GCC_SHLIB _USE_PKGSRC_GCC \ | | 101 | _USE_GCC_SHLIB _USE_PKGSRC_GCC \ |
102 | _WRAP_EXTRA_ARGS.CC \ | | 102 | _WRAP_EXTRA_ARGS.CC \ |
103 | _EXTRA_CC_DIRS \ | | 103 | _EXTRA_CC_DIRS \ |
104 | _CXX_STD_VERSIONS \ | | 104 | _CXX_STD_VERSIONS \ |
105 | ${_CXX_STD_VERSIONS:@std@_CXX_STD_FLAG.${std}@} \ | | 105 | ${_CXX_STD_VERSIONS:@std@_CXX_STD_FLAG.${std}@} \ |
106 | _MKPIE_CFLAGS.gcc _MKPIE_LDFLAGS \ | | 106 | _MKPIE_CFLAGS.gcc _MKPIE_LDFLAGS \ |
107 | _FORTIFY_CFLAGS _RELRO_LDFLAGS _STACK_CHECK_CFLAGS \ | | 107 | _FORTIFY_CFLAGS _RELRO_LDFLAGS _STACK_CHECK_CFLAGS \ |
108 | _CTF_CFLAGS \ | | 108 | _CTF_CFLAGS \ |
109 | _GCC_DIR \ | | 109 | _GCC_DIR \ |
110 | _ALIASES.CC _ALIASES.CPP _ALIASES.CXX _ALIASES.FC \ | | 110 | _ALIASES.CC _ALIASES.CPP _ALIASES.CXX _ALIASES.FC \ |
111 | _ALIASES.ADA _ALIASES.GMK _ALIASES.GLK _ALIASES.GBD \ | | 111 | _ALIASES.ADA _ALIASES.GMK _ALIASES.GLK _ALIASES.GBD \ |
| @@ -116,69 +116,72 @@ _DEF_VARS.gcc= \ | | | @@ -116,69 +116,72 @@ _DEF_VARS.gcc= \ |
116 | _CXX_STD_FLAG.c++03 _CXX_STD_FLAG.gnu++03 | | 116 | _CXX_STD_FLAG.c++03 _CXX_STD_FLAG.gnu++03 |
117 | _USE_VARS.gcc= \ | | 117 | _USE_VARS.gcc= \ |
118 | MACHINE_ARCH PATH DRAGONFLY_CCVER OPSYS LOCALBASE \ | | 118 | MACHINE_ARCH PATH DRAGONFLY_CCVER OPSYS LOCALBASE \ |
119 | USE_LIBTOOL \ | | 119 | USE_LIBTOOL \ |
120 | LIBABISUFFIX \ | | 120 | LIBABISUFFIX \ |
121 | COMPILER_RPATH_FLAG \ | | 121 | COMPILER_RPATH_FLAG \ |
122 | MACHINE_GNU_PLATFORM \ | | 122 | MACHINE_GNU_PLATFORM \ |
123 | WRKDIR MACHINE_PLATFORM PKGPATH \ | | 123 | WRKDIR MACHINE_PLATFORM PKGPATH \ |
124 | _PKGSRC_MKPIE _PKGSRC_MKREPRO _MKREPRO_CFLAGS.gcc \ | | 124 | _PKGSRC_MKPIE _PKGSRC_MKREPRO _MKREPRO_CFLAGS.gcc \ |
125 | _PKGSRC_USE_FORTIFY _PKGSRC_USE_RELRO _PKGSRC_USE_STACK_CHECK \ | | 125 | _PKGSRC_USE_FORTIFY _PKGSRC_USE_RELRO _PKGSRC_USE_STACK_CHECK \ |
126 | _OPSYS_INCLUDE_DIRS _OPSYS_LIB_DIRS | | 126 | _OPSYS_INCLUDE_DIRS _OPSYS_LIB_DIRS |
127 | _IGN_VARS.gcc= \ | | 127 | _IGN_VARS.gcc= \ |
128 | _GCC6_PATTERNS _GCC7_PATTERNS _GCC8_PATTERNS _GCC9_PATTERNS \ | | 128 | _GCC6_PATTERNS _GCC7_PATTERNS _GCC8_PATTERNS _GCC9_PATTERNS \ |
129 | _GCC10_PATTERNS _GCC_AUX_PATTERNS | | 129 | _GCC10_PATTERNS _GCC12_PATTERNS _GCC_AUX_PATTERNS |
130 | _LISTED_VARS.gcc= \ | | 130 | _LISTED_VARS.gcc= \ |
131 | MAKEFLAGS IMAKEOPTS LDFLAGS PREPEND_PATH | | 131 | MAKEFLAGS IMAKEOPTS LDFLAGS PREPEND_PATH |
132 | .include "../../mk/bsd.prefs.mk" | | 132 | .include "../../mk/bsd.prefs.mk" |
133 | | | 133 | |
134 | USE_NATIVE_GCC?= no | | 134 | USE_NATIVE_GCC?= no |
135 | USE_PKGSRC_GCC?= no | | 135 | USE_PKGSRC_GCC?= no |
136 | USE_PKGSRC_GCC_RUNTIME?=no | | 136 | USE_PKGSRC_GCC_RUNTIME?=no |
137 | | | 137 | |
138 | GCC_REQD+= 2.8.0 | | 138 | GCC_REQD+= 2.8.0 |
139 | | | 139 | |
140 | # gcc2 doesn't support c99 and amd64 | | 140 | # gcc2 doesn't support c99 and amd64 |
141 | .if !empty(USE_LANGUAGES:Mc99) || ${MACHINE_ARCH} == "x86_64" | | 141 | .if !empty(USE_LANGUAGES:Mc99) || ${MACHINE_ARCH} == "x86_64" |
142 | GCC_REQD+= 3.0 | | 142 | GCC_REQD+= 3.0 |
143 | .endif | | 143 | .endif |
144 | | | 144 | |
145 | # Only one compiler defined here supports Ada: lang/gcc6-aux | | 145 | # Only one compiler defined here supports Ada: lang/gcc6-aux |
146 | # If the Ada language is requested, force lang/gcc6-aux to be selected | | 146 | # If the Ada language is requested, force lang/gcc6-aux to be selected |
147 | .if !empty(USE_LANGUAGES:Mada) | | 147 | .if !empty(USE_LANGUAGES:Mada) |
148 | GCC_REQD+= 20160822 | | 148 | GCC_REQD+= 20160822 |
149 | .endif | | 149 | .endif |
150 | | | 150 | |
151 | # _GCC_DIST_VERSION is the highest version of GCC installed by the pkgsrc | | 151 | # _GCC_DIST_VERSION is the highest version of GCC installed by the pkgsrc |
152 | # without the PKGREVISIONs. | | 152 | # without the PKGREVISIONs. |
153 | _GCC_DIST_NAME:= gcc10 | | 153 | _GCC_DIST_NAME:= gcc12 |
154 | .include "../../lang/${_GCC_DIST_NAME}/version.mk" | | 154 | .include "../../lang/${_GCC_DIST_NAME}/version.mk" |
155 | _GCC_DIST_VERSION:= ${${_GCC_DIST_NAME:tu}_DIST_VERSION} | | 155 | _GCC_DIST_VERSION:= ${${_GCC_DIST_NAME:tu}_DIST_VERSION} |
156 | | | 156 | |
157 | # _GCC6_PATTERNS matches N s.t. N < 7. | | 157 | # _GCC6_PATTERNS matches N s.t. N < 7. |
158 | _GCC6_PATTERNS= 5 6 [0-6].* | | 158 | _GCC6_PATTERNS= 5 6 [0-6].* |
159 | | | 159 | |
160 | # _GCC7_PATTERNS matches N s.t. 7.0 <= N < 8. | | 160 | # _GCC7_PATTERNS matches N s.t. 7.0 <= N < 8. |
161 | _GCC7_PATTERNS= 7 7.* | | 161 | _GCC7_PATTERNS= 7 7.* |
162 | | | 162 | |
163 | # _GCC8_PATTERNS matches N s.t. 8.0 <= N < 9. | | 163 | # _GCC8_PATTERNS matches N s.t. 8.0 <= N < 9. |
164 | _GCC8_PATTERNS= 8 8.* | | 164 | _GCC8_PATTERNS= 8 8.* |
165 | | | 165 | |
166 | # _GCC9_PATTERNS matches N s.t. 9.0 <= N < 10. | | 166 | # _GCC9_PATTERNS matches N s.t. 9.0 <= N < 10. |
167 | _GCC9_PATTERNS= 9 9.* | | 167 | _GCC9_PATTERNS= 9 9.* |
168 | | | 168 | |
169 | # _GCC10_PATTERNS matches N s.t. 10.0 <= N < 11. | | 169 | # _GCC10_PATTERNS matches N s.t. 10.0 <= N < 11. |
170 | _GCC10_PATTERNS= 10 10.* | | 170 | _GCC10_PATTERNS= 10 10.* |
171 | | | 171 | |
| | | 172 | # _GCC12_PATTERNS matches N s.t. 12.0 <= N < 13. |
| | | 173 | _GCC12_PATTERNS= 12 12.* |
| | | 174 | |
172 | # _GCC_AUX_PATTERNS matches 8-digit date YYYYMMDD* | | 175 | # _GCC_AUX_PATTERNS matches 8-digit date YYYYMMDD* |
173 | _GCC_AUX_PATTERNS= 20[1-2][0-9][0-1][0-9][0-3][0-9]* | | 176 | _GCC_AUX_PATTERNS= 20[1-2][0-9][0-1][0-9][0-3][0-9]* |
174 | | | 177 | |
175 | # Override the default from sys.mk if necessary. | | 178 | # Override the default from sys.mk if necessary. |
176 | .if ${CC} == cc && ${GCCBASE:U} && !exists(${GCCBASE}/bin/${CC}) && exists(${GCCBASE}/bin/gcc) | | 179 | .if ${CC} == cc && ${GCCBASE:U} && !exists(${GCCBASE}/bin/${CC}) && exists(${GCCBASE}/bin/gcc) |
177 | CC= gcc | | 180 | CC= gcc |
178 | .endif | | 181 | .endif |
179 | | | 182 | |
180 | # _CC is the full path to the compiler named by ${CC} if it can be found. | | 183 | # _CC is the full path to the compiler named by ${CC} if it can be found. |
181 | .if !defined(_CC) | | 184 | .if !defined(_CC) |
182 | _CC:= ${CC:[1]} | | 185 | _CC:= ${CC:[1]} |
183 | . if !empty(GCCBASE) && exists(${GCCBASE}/bin) | | 186 | . if !empty(GCCBASE) && exists(${GCCBASE}/bin) |
184 | _EXTRA_CC_DIRS= ${GCCBASE}/bin | | 187 | _EXTRA_CC_DIRS= ${GCCBASE}/bin |
| @@ -314,63 +317,72 @@ USE_PKGSRC_GCC_RUNTIME= yes | | | @@ -314,63 +317,72 @@ USE_PKGSRC_GCC_RUNTIME= yes |
314 | _NEED_GCC9= yes | | 317 | _NEED_GCC9= yes |
315 | . endif | | 318 | . endif |
316 | .endfor | | 319 | .endfor |
317 | _NEED_GCC10?= no | | 320 | _NEED_GCC10?= no |
318 | .for _pattern_ in ${_GCC10_PATTERNS} | | 321 | .for _pattern_ in ${_GCC10_PATTERNS} |
319 | . if !empty(_GCC_REQD:M${_pattern_}) | | 322 | . if !empty(_GCC_REQD:M${_pattern_}) |
320 | . if ${OPSYS} == "NetBSD" && ${OPSYS_VERSION} < 099982 | | 323 | . if ${OPSYS} == "NetBSD" && ${OPSYS_VERSION} < 099982 |
321 | USE_PKGSRC_GCC= yes | | 324 | USE_PKGSRC_GCC= yes |
322 | USE_PKGSRC_GCC_RUNTIME= yes | | 325 | USE_PKGSRC_GCC_RUNTIME= yes |
323 | . endif | | 326 | . endif |
324 | _NEED_GCC10= yes | | 327 | _NEED_GCC10= yes |
325 | . endif | | 328 | . endif |
326 | .endfor | | 329 | .endfor |
| | | 330 | _NEED_GCC12?= no |
| | | 331 | .for _pattern_ in ${_GCC12_PATTERNS} |
| | | 332 | . if !empty(_GCC_REQD:M${_pattern_}) |
| | | 333 | _NEED_GCC12= yes |
| | | 334 | . endif |
| | | 335 | .endfor |
327 | _NEED_GCC_AUX?= no | | 336 | _NEED_GCC_AUX?= no |
328 | .for _pattern_ in ${_GCC_AUX_PATTERNS} | | 337 | .for _pattern_ in ${_GCC_AUX_PATTERNS} |
329 | . if !empty(_GCC_REQD:M${_pattern_}) | | 338 | . if !empty(_GCC_REQD:M${_pattern_}) |
330 | _NEED_GCC_AUX= yes | | 339 | _NEED_GCC_AUX= yes |
331 | _NEED_NEWER_GCC=NO | | 340 | _NEED_NEWER_GCC=NO |
332 | . endif | | 341 | . endif |
333 | .endfor | | 342 | .endfor |
334 | .if !empty(_NEED_GCC6:M[nN][oO]) && !empty(_NEED_GCC7:M[nN][oO]) && \ | | 343 | .if !empty(_NEED_GCC6:M[nN][oO]) && !empty(_NEED_GCC7:M[nN][oO]) && \ |
335 | !empty(_NEED_GCC8:M[nN][oO]) && !empty(_NEED_GCC9:M[nN][oO]) && \ | | 344 | !empty(_NEED_GCC8:M[nN][oO]) && !empty(_NEED_GCC9:M[nN][oO]) && \ |
336 | !empty(_NEED_GCC10:M[nN][oO]) && \ | | 345 | !empty(_NEED_GCC10:M[nN][oO]) && !empty(_NEED_GCC12:M[nN][oO]) && \ |
337 | !empty(_NEED_GCC_AUX:M[nN][oO]) | | 346 | !empty(_NEED_GCC_AUX:M[nN][oO]) |
338 | _NEED_GCC8= yes | | 347 | _NEED_GCC8= yes |
339 | .endif | | 348 | .endif |
340 | | | 349 | |
341 | # April 2022: GCC below 10 from pkgsrc is broken on 32-bit arm NetBSD. | | 350 | # April 2022: GCC below 10 from pkgsrc is broken on 32-bit arm NetBSD. |
342 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-earm*) && \ | | 351 | .if !empty(MACHINE_PLATFORM:MNetBSD-*-earm*) && \ |
343 | ${OPSYS_VERSION} < 099900 && \ | | 352 | ${OPSYS_VERSION} < 099900 && \ |
344 | (${_NEED_GCC8:tl} == "yes" || ${_NEED_GCC9:tl} == "yes") | | 353 | (${_NEED_GCC8:tl} == "yes" || ${_NEED_GCC9:tl} == "yes") |
345 | _NEED_GCC6= no | | 354 | _NEED_GCC6= no |
346 | _NEED_GCC7= no | | 355 | _NEED_GCC7= no |
347 | _NEED_GCC8= no | | 356 | _NEED_GCC8= no |
348 | _NEED_GCC9= no | | 357 | _NEED_GCC9= no |
349 | _NEED_GCC10= yes | | 358 | _NEED_GCC10= yes |
| | | 359 | _NEED_GCC12= yes |
350 | .endif | | 360 | .endif |
351 | | | 361 | |
352 | # Assume by default that GCC will only provide a C compiler. | | 362 | # Assume by default that GCC will only provide a C compiler. |
353 | LANGUAGES.gcc?= c | | 363 | LANGUAGES.gcc?= c |
354 | .if !empty(_NEED_GCC6:M[yY][eE][sS]) | | 364 | .if !empty(_NEED_GCC6:M[yY][eE][sS]) |
355 | LANGUAGES.gcc= c c++ fortran fortran77 go java objc obj-c++ | | 365 | LANGUAGES.gcc= c c++ fortran fortran77 go java objc obj-c++ |
356 | .elif !empty(_NEED_GCC7:M[yY][eE][sS]) | | 366 | .elif !empty(_NEED_GCC7:M[yY][eE][sS]) |
357 | LANGUAGES.gcc= c c++ fortran fortran77 go java objc obj-c++ | | 367 | LANGUAGES.gcc= c c++ fortran fortran77 go java objc obj-c++ |
358 | .elif !empty(_NEED_GCC8:M[yY][eE][sS]) | | 368 | .elif !empty(_NEED_GCC8:M[yY][eE][sS]) |
359 | LANGUAGES.gcc= c c++ fortran fortran77 go java objc obj-c++ | | 369 | LANGUAGES.gcc= c c++ fortran fortran77 go java objc obj-c++ |
360 | .elif !empty(_NEED_GCC9:M[yY][eE][sS]) | | 370 | .elif !empty(_NEED_GCC9:M[yY][eE][sS]) |
361 | LANGUAGES.gcc= c c++ fortran fortran77 go java objc obj-c++ | | 371 | LANGUAGES.gcc= c c++ fortran fortran77 go java objc obj-c++ |
362 | .elif !empty(_NEED_GCC10:M[yY][eE][sS]) | | 372 | .elif !empty(_NEED_GCC10:M[yY][eE][sS]) |
363 | LANGUAGES.gcc= c c++ fortran fortran77 go java objc obj-c++ | | 373 | LANGUAGES.gcc= c c++ fortran fortran77 go java objc obj-c++ |
| | | 374 | .elif !empty(_NEED_GCC12:M[yY][eE][sS]) |
| | | 375 | LANGUAGES.gcc= c c++ fortran fortran77 go java objc obj-c++ |
364 | .elif !empty(_NEED_GCC_AUX:M[yY][eE][sS]) | | 376 | .elif !empty(_NEED_GCC_AUX:M[yY][eE][sS]) |
365 | LANGUAGES.gcc= c c++ fortran fortran77 objc ada | | 377 | LANGUAGES.gcc= c c++ fortran fortran77 objc ada |
366 | .endif | | 378 | .endif |
367 | _LANGUAGES.gcc= # empty | | 379 | _LANGUAGES.gcc= # empty |
368 | .for _lang_ in ${USE_LANGUAGES} | | 380 | .for _lang_ in ${USE_LANGUAGES} |
369 | _LANGUAGES.gcc+= ${LANGUAGES.gcc:M${_lang_}} | | 381 | _LANGUAGES.gcc+= ${LANGUAGES.gcc:M${_lang_}} |
370 | .endfor | | 382 | .endfor |
371 | | | 383 | |
372 | _WRAP_EXTRA_ARGS.cc+= -fcommon | | 384 | _WRAP_EXTRA_ARGS.cc+= -fcommon |
373 | CWRAPPERS_PREPEND.cc+= -fcommon | | 385 | CWRAPPERS_PREPEND.cc+= -fcommon |
374 | | | 386 | |
375 | .if !empty(USE_LANGUAGES:Mc99) | | 387 | .if !empty(USE_LANGUAGES:Mc99) |
376 | _WRAP_EXTRA_ARGS.CC+= -std=gnu99 | | 388 | _WRAP_EXTRA_ARGS.CC+= -std=gnu99 |
| @@ -543,26 +555,47 @@ MAKEFLAGS+= _IGNORE_GCC=yes | | | @@ -543,26 +555,47 @@ MAKEFLAGS+= _IGNORE_GCC=yes |
543 | . endif | | 555 | . endif |
544 | . if !defined(_IGNORE_GCC) && !empty(_LANGUAGES.gcc) | | 556 | . if !defined(_IGNORE_GCC) && !empty(_LANGUAGES.gcc) |
545 | _GCC_PKGSRCDIR= ../../lang/gcc10 | | 557 | _GCC_PKGSRCDIR= ../../lang/gcc10 |
546 | _GCC_DEPENDENCY= gcc10>=${_GCC_REQD}:../../lang/gcc10 | | 558 | _GCC_DEPENDENCY= gcc10>=${_GCC_REQD}:../../lang/gcc10 |
547 | . if !empty(_LANGUAGES.gcc:Mc++) || \ | | 559 | . if !empty(_LANGUAGES.gcc:Mc++) || \ |
548 | !empty(_LANGUAGES.gcc:Mfortran) || \ | | 560 | !empty(_LANGUAGES.gcc:Mfortran) || \ |
549 | !empty(_LANGUAGES.gcc:Mfortran77) || \ | | 561 | !empty(_LANGUAGES.gcc:Mfortran77) || \ |
550 | !empty(_LANGUAGES.gcc:Mgo) || \ | | 562 | !empty(_LANGUAGES.gcc:Mgo) || \ |
551 | !empty(_LANGUAGES.gcc:Mobjc) || \ | | 563 | !empty(_LANGUAGES.gcc:Mobjc) || \ |
552 | !empty(_LANGUAGES.gcc:Mobj-c++) | | 564 | !empty(_LANGUAGES.gcc:Mobj-c++) |
553 | _USE_GCC_SHLIB?= yes | | 565 | _USE_GCC_SHLIB?= yes |
554 | . endif | | 566 | . endif |
555 | . endif | | 567 | . endif |
| | | 568 | .elif !empty(_NEED_GCC12:M[yY][eE][sS]) |
| | | 569 | # |
| | | 570 | # We require gcc-12.x in the lang/gcc12-* directory. |
| | | 571 | # |
| | | 572 | _GCC_PKGBASE= gcc12 |
| | | 573 | . if ${PKGPATH} == lang/gcc12 |
| | | 574 | _IGNORE_GCC= yes |
| | | 575 | MAKEFLAGS+= _IGNORE_GCC=yes |
| | | 576 | . endif |
| | | 577 | . if !defined(_IGNORE_GCC) && !empty(_LANGUAGES.gcc) |
| | | 578 | _GCC_PKGSRCDIR= ../../lang/gcc12 |
| | | 579 | _GCC_DEPENDENCY= gcc12>=${_GCC_REQD}:../../lang/gcc12 |
| | | 580 | . if !empty(_LANGUAGES.gcc:Mc++) || \ |
| | | 581 | !empty(_LANGUAGES.gcc:Mfortran) || \ |
| | | 582 | !empty(_LANGUAGES.gcc:Mfortran77) || \ |
| | | 583 | !empty(_LANGUAGES.gcc:Mgo) || \ |
| | | 584 | !empty(_LANGUAGES.gcc:Mobjc) || \ |
| | | 585 | !empty(_LANGUAGES.gcc:Mobj-c++) |
| | | 586 | _USE_GCC_SHLIB?= yes |
| | | 587 | . endif |
| | | 588 | . endif |
556 | .elif !empty(_NEED_GCC_AUX:M[yY][eE][sS]) | | 589 | .elif !empty(_NEED_GCC_AUX:M[yY][eE][sS]) |
557 | # | | 590 | # |
558 | # We require Ada-capable compiler in the lang/gcc6-aux directory. | | 591 | # We require Ada-capable compiler in the lang/gcc6-aux directory. |
559 | # | | 592 | # |
560 | _GCC_PKGBASE= gcc6-aux | | 593 | _GCC_PKGBASE= gcc6-aux |
561 | . if ${PKGPATH} == lang/gcc6-aux | | 594 | . if ${PKGPATH} == lang/gcc6-aux |
562 | _IGNORE_GCC= yes | | 595 | _IGNORE_GCC= yes |
563 | MAKEFLAGS+= _IGNORE_GCC=yes | | 596 | MAKEFLAGS+= _IGNORE_GCC=yes |
564 | . endif | | 597 | . endif |
565 | . if !defined(_IGNORE_GCC) && !empty(_LANGUAGES.gcc) | | 598 | . if !defined(_IGNORE_GCC) && !empty(_LANGUAGES.gcc) |
566 | _GCC_PKGSRCDIR= ../../lang/gcc6-aux | | 599 | _GCC_PKGSRCDIR= ../../lang/gcc6-aux |
567 | _GCC_DEPENDENCY= gcc6-aux>=${_GCC_REQD}:../../lang/gcc6-aux | | 600 | _GCC_DEPENDENCY= gcc6-aux>=${_GCC_REQD}:../../lang/gcc6-aux |
568 | . if !empty(_LANGUAGES.gcc:Mc++) || \ | | 601 | . if !empty(_LANGUAGES.gcc:Mc++) || \ |
| @@ -857,37 +890,39 @@ PREPEND_PATH+= ${_GCC_DIR}/bin | | | @@ -857,37 +890,39 @@ PREPEND_PATH+= ${_GCC_DIR}/bin |
857 | | | 890 | |
858 | # Add the dependency on GCC. | | 891 | # Add the dependency on GCC. |
859 | .if !empty(_USE_PKGSRC_GCC:M[yY][eE][sS]) | | 892 | .if !empty(_USE_PKGSRC_GCC:M[yY][eE][sS]) |
860 | . for _dir_ in ${_GCC_PKGSRCDIR} | | 893 | . for _dir_ in ${_GCC_PKGSRCDIR} |
861 | . include "${_dir_}/buildlink3.mk" | | 894 | . include "${_dir_}/buildlink3.mk" |
862 | . endfor | | 895 | . endfor |
863 | .endif | | 896 | .endif |
864 | | | 897 | |
865 | # Add dependency on GCC libraries if requested. | | 898 | # Add dependency on GCC libraries if requested. |
866 | .if (defined(_USE_GCC_SHLIB) && !empty(_USE_GCC_SHLIB:M[Yy][Ee][Ss])) && !empty(USE_PKGSRC_GCC_RUNTIME:M[Yy][Ee][Ss]) | | 899 | .if (defined(_USE_GCC_SHLIB) && !empty(_USE_GCC_SHLIB:M[Yy][Ee][Ss])) && !empty(USE_PKGSRC_GCC_RUNTIME:M[Yy][Ee][Ss]) |
867 | # Special case packages which are themselves a dependency of gcc runtime. | | 900 | # Special case packages which are themselves a dependency of gcc runtime. |
868 | . if ${PKGPATH} != devel/libtool-base && ${PKGPATH} != devel/binutils && \ | | 901 | . if ${PKGPATH} != devel/libtool-base && ${PKGPATH} != devel/binutils && \ |
869 | empty(PKGPATH:Mlang/gcc4?) && empty(PKGPATH:Mlang/gcc[5-9]) && \ | | 902 | empty(PKGPATH:Mlang/gcc4?) && empty(PKGPATH:Mlang/gcc[5-9]) && \ |
870 | empty(PKGPATH:Mlang/gcc10) | | 903 | empty(PKGPATH:Mlang/gcc10) && empty(PKGPATH:Mlang/gcc12) |
871 | . if !empty(_GCC_PKGBASE:Mgcc6) | | 904 | . if !empty(_GCC_PKGBASE:Mgcc6) |
872 | . include "../../lang/gcc6-libs/buildlink3.mk" | | 905 | . include "../../lang/gcc6-libs/buildlink3.mk" |
873 | . elif !empty(_GCC_PKGBASE:Mgcc7) | | 906 | . elif !empty(_GCC_PKGBASE:Mgcc7) |
874 | . include "../../lang/gcc7-libs/buildlink3.mk" | | 907 | . include "../../lang/gcc7-libs/buildlink3.mk" |
875 | . elif !empty(_GCC_PKGBASE:Mgcc8) | | 908 | . elif !empty(_GCC_PKGBASE:Mgcc8) |
876 | . include "../../lang/gcc8-libs/buildlink3.mk" | | 909 | . include "../../lang/gcc8-libs/buildlink3.mk" |
877 | . elif !empty(_GCC_PKGBASE:Mgcc9) | | 910 | . elif !empty(_GCC_PKGBASE:Mgcc9) |
878 | . include "../../lang/gcc9-libs/buildlink3.mk" | | 911 | . include "../../lang/gcc9-libs/buildlink3.mk" |
879 | . elif !empty(_GCC_PKGBASE:Mgcc10) | | 912 | . elif !empty(_GCC_PKGBASE:Mgcc10) |
880 | . include "../../lang/gcc10-libs/buildlink3.mk" | | 913 | . include "../../lang/gcc10-libs/buildlink3.mk" |
| | | 914 | . elif !empty(_GCC_PKGBASE:Mgcc12) |
| | | 915 | . include "../../lang/gcc12-libs/buildlink3.mk" |
881 | . else | | 916 | . else |
882 | PKG_FAIL_REASON+= "No USE_PKGSRC_GCC_RUNTIME support for ${CC_VERSION}" | | 917 | PKG_FAIL_REASON+= "No USE_PKGSRC_GCC_RUNTIME support for ${CC_VERSION}" |
883 | . endif | | 918 | . endif |
884 | . endif | | 919 | . endif |
885 | .endif | | 920 | .endif |
886 | | | 921 | |
887 | .for _var_ in ${_GCC_VARS} | | 922 | .for _var_ in ${_GCC_VARS} |
888 | . if !target(${_GCC_${_var_}}) | | 923 | . if !target(${_GCC_${_var_}}) |
889 | override-tools: ${_GCC_${_var_}} | | 924 | override-tools: ${_GCC_${_var_}} |
890 | ${_GCC_${_var_}}: | | 925 | ${_GCC_${_var_}}: |
891 | ${RUN}${MKDIR} ${.TARGET:H} | | 926 | ${RUN}${MKDIR} ${.TARGET:H} |
892 | . if !empty(COMPILER_USE_SYMLINKS:M[Yy][Ee][Ss]) | | 927 | . if !empty(COMPILER_USE_SYMLINKS:M[Yy][Ee][Ss]) |
893 | ${RUN}${RM} -f ${.TARGET} | | 928 | ${RUN}${RM} -f ${.TARGET} |