Thu Jun 16 15:46:22 2022 UTC ()
gcc.mk: support gcc12


(adam)
diff -r1.242 -r1.243 pkgsrc/mk/compiler/gcc.mk

cvs diff -r1.242 -r1.243 pkgsrc/mk/compiler/gcc.mk (expand / switch to unified diff)

--- pkgsrc/mk/compiler/gcc.mk 2022/05/28 02:31:47 1.242
+++ pkgsrc/mk/compiler/gcc.mk 2022/06/16 15:46:22 1.243
@@ -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
134USE_NATIVE_GCC?= no 134USE_NATIVE_GCC?= no
135USE_PKGSRC_GCC?= no 135USE_PKGSRC_GCC?= no
136USE_PKGSRC_GCC_RUNTIME?=no 136USE_PKGSRC_GCC_RUNTIME?=no
137 137
138GCC_REQD+= 2.8.0 138GCC_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"
142GCC_REQD+= 3.0 142GCC_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)
148GCC_REQD+= 20160822 148GCC_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)
177CC= gcc 180CC= 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
321USE_PKGSRC_GCC= yes 324USE_PKGSRC_GCC= yes
322USE_PKGSRC_GCC_RUNTIME= yes 325USE_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.
353LANGUAGES.gcc?= c 363LANGUAGES.gcc?= c
354.if !empty(_NEED_GCC6:M[yY][eE][sS]) 364.if !empty(_NEED_GCC6:M[yY][eE][sS])
355LANGUAGES.gcc= c c++ fortran fortran77 go java objc obj-c++ 365LANGUAGES.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])
357LANGUAGES.gcc= c c++ fortran fortran77 go java objc obj-c++ 367LANGUAGES.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])
359LANGUAGES.gcc= c c++ fortran fortran77 go java objc obj-c++ 369LANGUAGES.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])
361LANGUAGES.gcc= c c++ fortran fortran77 go java objc obj-c++ 371LANGUAGES.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])
363LANGUAGES.gcc= c c++ fortran fortran77 go java objc obj-c++ 373LANGUAGES.gcc= c c++ fortran fortran77 go java objc obj-c++
 374.elif !empty(_NEED_GCC12:M[yY][eE][sS])
 375LANGUAGES.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])
365LANGUAGES.gcc= c c++ fortran fortran77 objc ada 377LANGUAGES.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
373CWRAPPERS_PREPEND.cc+= -fcommon 385CWRAPPERS_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
 575MAKEFLAGS+= _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
563MAKEFLAGS+= _IGNORE_GCC=yes 596MAKEFLAGS+= _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
882PKG_FAIL_REASON+= "No USE_PKGSRC_GCC_RUNTIME support for ${CC_VERSION}" 917PKG_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_}})
889override-tools: ${_GCC_${_var_}} 924override-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}