]> git.ipfire.org Git - thirdparty/gcc.git/blame - contrib/config-list.mk
build: Don't check for host-prefixed 'cargo' program
[thirdparty/gcc.git] / contrib / config-list.mk
CommitLineData
adad1007
JR
1# Run tests covering all config.gcc cases.
2host_options='--with-mpc=/opt/cfarm/mpc' # gcc10
3TEST=all-gcc
4# Make sure you have a recent enough gcc (with ada support) in your path so
5# that --enable-werror-always will work.
54951c63
DM
6# To use, create a build directory with plenty of free disk space - a build of
7# all configurations can take 450GB.
8# By default, this file assumes the build directory is in a sibling directory
9# to the gcc sources, but you can override GCC_SRC_DIR to specify where to
10# find them. GCC_SRC_DIR is used in the directory below the build directory,
11# hence the two ".." in the default value; if overriding it, it's easiest to
12# supply an absolute path.
13GCC_SRC_DIR=../../gcc
14
301dec85
RS
15# Define this to ,m2 if you want to build Modula-2. Modula-2 builds target
16# objects during all-gcc, so it can only be included if you've installed
17# binutils (or an equivalent) for each target.
18OPT_IN_LANGUAGES=
19
adad1007
JR
20# Use -j / -l make arguments and nice to assure a smooth resource-efficient
21# load on the build machine, e.g. for 24 cores:
22# svn co svn://gcc.gnu.org/svn/gcc/branches/foo-branch gcc
23# mkdir multi-mk; cd multi-mk
24# nohup nice make -j25 -l36 -f ../gcc/contrib/config-list.mk > make.out 2>&1 &
25#
54951c63
DM
26# Alternatively, if building against an existing gcc source tree:
27#
28# cd /somewhere/with/plenty/of/disk/space
29# mkdir multi-mk; cd multi-mk
30# nohup nice make \
31# -j25 -l36 \
32# -f /path/to/contrib/config-list.mk \
33# GCC_SRC_DIR=/path/to/gcc/source/tree \
34# > make.out 2>&1 &
35#
36
594fe745
IS
37LIST = \
38 aarch64-elf aarch64-freebsd13 aarch64-linux-gnu aarch64-rtems \
6044eae7 39 alpha-linux-gnu alpha-netbsd alpha-openbsd \
f47337ae 40 alpha64-dec-vms alpha-dec-vms \
7431c1a1 41 amdgcn-amdhsa \
53426f6c
JR
42 arc-elf32OPT-with-cpu=arc600 arc-elf32OPT-with-cpu=arc700 \
43 arc-linux-uclibcOPT-with-cpu=arc700 arceb-linux-uclibcOPT-with-cpu=arc700 \
30da9dc4 44 arm-netbsdelf \
b060c217 45 arm-linux-androideabi arm-uclinux_eabi arm-eabi arm-rtems \
3e326935 46 arm-symbianelf avr-elf \
adad1007 47 bfin-elf bfin-uclinux bfin-linux-uclibc bfin-rtems bfin-openbsd \
91dfef96 48 bpf-unknown-none \
eb635824 49 c6x-elf c6x-uclinux cris-elf \
56856b58 50 csky-elf csky-linux-gnu \
feeeff5c 51 epiphany-elf epiphany-elfOPT-with-stack-offset=16 fido-elf \
5ebf89bd 52 fr30-elf frv-elf frv-linux ft32-elf h8300-elf hppa-linux-gnu \
adad1007 53 hppa-linux-gnuOPT-enable-sjlj-exceptions=yes hppa64-linux-gnu \
dc832fb3 54 hppa64-hpux11.3 \
10555529 55 hppa64-hpux11.0OPT-enable-sjlj-exceptions=yes \
594fe745 56 i686-apple-darwin9 i686-apple-darwin13 i686-apple-darwin17 \
b92e5535 57 i686-freebsd13 i686-kfreebsd-gnu \
8466af06 58 i686-netbsdelf9 \
10f08513 59 i686-openbsd i686-elf i686-kopensolaris-gnu i686-gnu \
594fe745 60 i686-pc-linux-gnu i686-pc-msdosdjgpp i686-lynxos i686-nto-qnx \
ca3a27b6 61 i686-rtems i686-solaris2.11 i686-wrs-vxworks \
adad1007 62 i686-wrs-vxworksae \
bff1cbf2
RB
63 i686-cygwinOPT-enable-threads=yes i686-mingw32crt ia64-elfOPT-enable-obsolete \
64 ia64-linuxOPT-enable-obsolete ia64-hpuxOPT-enable-obsolete \
65 ia64-hp-vmsOPT-enable-obsolete iq2000-elf lm32-elf \
8766689a 66 lm32-rtems lm32-uclinux \
67 loongarch64-linux-gnuf64 loongarch64-linux-gnuf32 loongarch64-linux-gnusf \
1ddf31af 68 m32c-elf m32r-elf m32rle-elf \
20f3c168 69 m68k-elf m68k-netbsdelf \
40c9541a 70 m68k-uclinux m68k-linux m68k-rtems \
0609abda 71 mcore-elf microblaze-linux microblaze-elf \
e35fceb5 72 mips-netbsd \
adad1007 73 mips64el-st-linux-gnu mips64octeon-linux mipsisa64r2-linux \
c4bc5c25 74 mipsisa32r2-linux-gnu mipsisa64r2-sde-elf mipsisa32-elfoabi \
adad1007
JR
75 mipsisa64-elfoabi mipsisa64r2el-elf mipsisa64sr71k-elf mipsisa64sb1-elf \
76 mipsel-elf mips64-elf mips64vr-elf mips64orion-elf mips-rtems \
77 mips-wrs-vxworks mipstx39-elf mmix-knuth-mmixware mn10300-elf moxie-elf \
e430824f 78 moxie-uclinux moxie-rtems \
e8aa9f55 79 msp430-elf msp430-elfbare \
9304f876 80 nds32le-elf nds32be-elf \
b060c217 81 nios2-elf nios2-linux-gnu nios2-rtems \
27776f55 82 nvptx-none \
5f35a828 83 or1k-elf or1k-linux-uclibc or1k-linux-musl or1k-rtems \
157e859f 84 pdp11-aout \
594fe745
IS
85 powerpc-apple-darwin9 powerpc64-apple-darwin9 powerpc-apple-darwin8 \
86 powerpc-freebsd13 powerpc-netbsd \
23d3e2d5 87 powerpc-eabisimaltivec powerpc-eabisim ppc-elf \
adad1007 88 powerpc-eabialtivec powerpc-xilinx-eabi powerpc-eabi \
23d3e2d5 89 powerpc-rtems \
d3435784 90 powerpc64-linux_altivec \
3a8fe7c6
OH
91 powerpc-wrs-vxworks powerpc-wrs-vxworksae powerpc-wrs-vxworksmils \
92 powerpc-lynxos powerpcle-elf \
316ded53 93 powerpcle-eabisim powerpcle-eabi \
1d2d5afc 94 pru-elf \
154cc77e 95 riscv32-unknown-linux-gnu riscv64-unknown-linux-gnu \
0745b6fa 96 powerpc-ibm-aix7.1 powerpc-ibm-aix7.2 \
85b8555e 97 rl78-elf rx-elf s390-linux-gnu s390x-linux-gnu s390x-ibm-tpf sh-elf \
bc6d9014
OE
98 shle-linux sh-netbsdelf sh-superh-elf \
99 sh-rtems sh-wrs-vxworks sparc-elf \
adad1007
JR
100 sparc-leon-elf sparc-rtems sparc-linux-gnu \
101 sparc-leon3-linux-gnuOPT-enable-target=all sparc-netbsdelf \
ca3a27b6 102 sparc64-sun-solaris2.11OPT-with-gnu-ldOPT-with-gnu-asOPT-enable-threads=posix \
306ff653 103 sparc-wrs-vxworks sparc64-elf sparc64-rtems sparc64-linux \
2f2aeda9 104 sparc64-netbsd sparc64-openbsd \
7248bf60 105 v850e1-elf v850e-elf v850-elf v850-rtems vax-linux-gnu \
594fe745
IS
106 vax-netbsdelf visium-elf \
107 x86_64-apple-darwin10 x86_64-apple-darwin15 x86_64-apple-darwin21 \
108 x86_64-gnu x86_64-pc-linux-gnuOPT-with-fpmath=avx \
b92e5535 109 x86_64-elfOPT-with-fpmath=sse x86_64-freebsd13 x86_64-netbsd \
8466af06 110 x86_64-w64-mingw32 \
7d081272
JS
111 x86_64-mingw32OPT-enable-sjlj-exceptions=yes x86_64-rtems \
112 xstormy16-elf xtensa-elf \
ee2499b4 113 xtensa-linux
adad1007
JR
114
115LOGFILES = $(patsubst %,log/%-make.out,$(LIST))
116all: $(LOGFILES)
117config: $(LIST)
3ce2cd36
JBG
118show:
119 @echo $(LIST)
adad1007 120
3ce2cd36 121.PHONY: make-log-dir all config show
adad1007
JR
122
123empty=
124
54951c63
DM
125#Check for the presence of the MAINTAINERS file to make sure we've located
126#the gcc sources.
127make-log-dir: $(GCC_SRC_DIR)/MAINTAINERS
128 -mkdir log
adad1007 129
e44dbbe1 130$(LIST): make-log-dir
adad1007 131 -mkdir $@
1335a8ca
JBG
132 ( \
133 cd $@ && \
04a11c01 134 TGT=`echo $@ | awk 'BEGIN { FS = "OPT" }; { print $$1 }'` && \
54951c63 135 TGT=`$(GCC_SRC_DIR)/config.sub $$TGT` && \
1335a8ca 136 case $$TGT in \
301dec85 137 bpf-*-*) \
1335a8ca
JBG
138 ADDITIONAL_LANGUAGES=""; \
139 ;; \
301dec85
RS
140 *-*-darwin* | *-*-cygwin* | *-*-mingw* | *-*-aix*) \
141 ADDITIONAL_LANGUAGES=",fortran"; \
142 ;; \
143 mmix-*-*) \
1335a8ca
JBG
144 ADDITIONAL_LANGUAGES=",go"; \
145 ;; \
301dec85
RS
146 *) \
147 ADDITIONAL_LANGUAGES=",fortran,go"; \
148 ;; \
1335a8ca 149 esac && \
54951c63 150 $(GCC_SRC_DIR)/configure \
1335a8ca
JBG
151 --target=$(subst SCRIPTS,`pwd`/../scripts/,$(subst OPT,$(empty) -,$@)) \
152 --enable-werror-always ${host_options} \
301dec85 153 --enable-languages=c,ada,c++,d,lto,objc,obj-c++,rust$$ADDITIONAL_LANGUAGES$(OPT_IN_LANGUAGES); \
1335a8ca 154 ) > log/$@-config.out 2>&1
adad1007
JR
155
156$(LOGFILES) : log/%-make.out : %
157 -$(MAKE) -C $< $(TEST) > $@ 2>&1 && rm -rf $<