]>
Commit | Line | Data |
---|---|---|
adad1007 JR |
1 | # Run tests covering all config.gcc cases. |
2 | host_options='--with-mpc=/opt/cfarm/mpc' # gcc10 | |
3 | TEST=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. | |
13 | GCC_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. | |
18 | OPT_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 |
37 | LIST = \ |
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 | |
115 | LOGFILES = $(patsubst %,log/%-make.out,$(LIST)) | |
116 | all: $(LOGFILES) | |
117 | config: $(LIST) | |
3ce2cd36 JBG |
118 | show: |
119 | @echo $(LIST) | |
adad1007 | 120 | |
3ce2cd36 | 121 | .PHONY: make-log-dir all config show |
adad1007 JR |
122 | |
123 | empty= | |
124 | ||
54951c63 DM |
125 | #Check for the presence of the MAINTAINERS file to make sure we've located |
126 | #the gcc sources. | |
127 | make-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 $< |