head 1.20; access; symbols perseant-exfatfs-base-20261102:1.20 netbsd-11-1-RELEASE:1.18 gcc-14-4-0:1.1.1.23 netbsd-10-2-RELEASE:1.14.2.1 netbsd-9-5-RELEASE:1.9 netbsd-11-0-RELEASE:1.18 netbsd-11-0-RC7:1.18 netbsd-11-0-RC6:1.18 netbsd-11-0-RC5:1.18 netbsd-11-0-RC4:1.18 netbsd-11-0-RC3:1.18 netbsd-11-0-RC2:1.18 netbsd-11-0-RC1:1.18 gcc-14-3-0:1.1.1.22 perseant-exfatfs-base-20250801:1.18 netbsd-11:1.18.0.2 netbsd-11-base:1.18 gcc-12-5-0:1.1.1.21 netbsd-10-1-RELEASE:1.14.2.1 perseant-exfatfs-base-20240630:1.17 gcc-12-4-0:1.1.1.20 perseant-exfatfs:1.16.0.2 perseant-exfatfs-base:1.16 netbsd-8-3-RELEASE:1.5.8.1 netbsd-9-4-RELEASE:1.9 netbsd-10-0-RELEASE:1.14.2.1 netbsd-10-0-RC6:1.14.2.1 netbsd-10-0-RC5:1.14.2.1 netbsd-10-0-RC4:1.14.2.1 netbsd-10-0-RC3:1.14.2.1 netbsd-10-0-RC2:1.14.2.1 netbsd-10-0-RC1:1.14.2.1 gcc-12-3-0:1.1.1.19 gcc-10-5-0:1.1.1.18 netbsd-10:1.14.0.2 netbsd-10-base:1.14 netbsd-9-3-RELEASE:1.9 gcc-10-4-0:1.1.1.17 cjep_sun2x-base1:1.13 cjep_sun2x:1.13.0.4 cjep_sun2x-base:1.13 cjep_staticlib_x-base1:1.13 netbsd-9-2-RELEASE:1.9 cjep_staticlib_x:1.13.0.2 cjep_staticlib_x-base:1.13 gcc-10-3-0:1.1.1.16 netbsd-9-1-RELEASE:1.9 gcc-9-3-0:1.1.1.15 gcc-7-5-0:1.1.1.13 phil-wifi-20200421:1.11 phil-wifi-20200411:1.11 is-mlppp:1.10.0.2 is-mlppp-base:1.10 phil-wifi-20200406:1.11 netbsd-8-2-RELEASE:1.5.8.1 gcc-8-4-0:1.1.1.14 netbsd-9-0-RELEASE:1.9 netbsd-9-0-RC2:1.9 netbsd-9-0-RC1:1.9 phil-wifi-20191119:1.10 gcc-8-3-0:1.1.1.11 netbsd-9:1.9.0.2 netbsd-9-base:1.9 phil-wifi-20190609:1.9 netbsd-8-1-RELEASE:1.5.8.1 netbsd-8-1-RC1:1.5.8.1 pgoyette-compat-merge-20190127:1.7.2.2 pgoyette-compat-20190127:1.9 gcc-7-4-0:1.1.1.10 pgoyette-compat-20190118:1.8 pgoyette-compat-1226:1.8 pgoyette-compat-1126:1.8 gcc-6-5-0:1.1.1.9 pgoyette-compat-1020:1.7 pgoyette-compat-0930:1.7 pgoyette-compat-0906:1.7 netbsd-7-2-RELEASE:1.3.2.1 pgoyette-compat-0728:1.7 netbsd-8-0-RELEASE:1.5.8.1 phil-wifi:1.7.0.4 phil-wifi-base:1.7 pgoyette-compat-0625:1.7 netbsd-8-0-RC2:1.5.8.1 pgoyette-compat-0521:1.7 pgoyette-compat-0502:1.7 pgoyette-compat-0422:1.7 netbsd-8-0-RC1:1.5.8.1 pgoyette-compat-0415:1.7 pgoyette-compat-0407:1.7 pgoyette-compat-0330:1.7 pgoyette-compat-0322:1.7 pgoyette-compat-0315:1.7 netbsd-7-1-2-RELEASE:1.3.2.1 pgoyette-compat:1.7.0.2 pgoyette-compat-base:1.7 gcc-6-4-0:1.1.1.8 netbsd-7-1-1-RELEASE:1.3.2.1 gcc-5-5-0:1.1.1.7 matt-nb8-mediatek:1.5.0.12 matt-nb8-mediatek-base:1.5 perseant-stdc-iso10646:1.5.0.10 perseant-stdc-iso10646-base:1.5 netbsd-8:1.5.0.8 netbsd-8-base:1.5 prg-localcount2-base3:1.5 prg-localcount2-base2:1.5 prg-localcount2-base1:1.5 prg-localcount2:1.5.0.6 prg-localcount2-base:1.5 pgoyette-localcount-20170426:1.5 bouyer-socketcan-base1:1.5 pgoyette-localcount-20170320:1.5 netbsd-7-1:1.3.2.1.0.4 netbsd-7-1-RELEASE:1.3.2.1 netbsd-7-1-RC2:1.3.2.1 netbsd-7-nhusb-base-20170116:1.3.2.1 bouyer-socketcan:1.5.0.4 bouyer-socketcan-base:1.5 pgoyette-localcount-20170107:1.5 netbsd-7-1-RC1:1.3.2.1 pgoyette-localcount-20161104:1.5 netbsd-7-0-2-RELEASE:1.3 localcount-20160914:1.5 netbsd-7-nhusb:1.3.2.1.0.2 netbsd-7-nhusb-base:1.3.2.1 pgoyette-localcount-20160806:1.5 pgoyette-localcount-20160726:1.5 pgoyette-localcount:1.5.0.2 pgoyette-localcount-base:1.5 gcc-5-4-0:1.1.1.6 netbsd-7-0-1-RELEASE:1.3 gcc-5-3-0:1.1.1.6 netbsd-7-0:1.3.0.4 netbsd-7-0-RELEASE:1.3 gcc-4-8-5-pre-gcc-old-import:1.4 netbsd-7-0-RC3:1.3 netbsd-7-0-RC2:1.3 post-gcc-4-8-5-merge:1.4 gcc-4-8-5:1.1.1.5 netbsd-7-0-RC1:1.3 gcc-4-8-4:1.1.1.4 netbsd-6-0-6-RELEASE:1.1.1.1 netbsd-6-1-5-RELEASE:1.1.1.1 netbsd-7:1.3.0.2 netbsd-7-base:1.3 gcc-4-8-3:1.1.1.3 yamt-pagecache-base9:1.2 yamt-pagecache-tag8:1.1.1.1.2.1 netbsd-6-1-4-RELEASE:1.1.1.1 netbsd-6-0-5-RELEASE:1.1.1.1 tls-earlyentropy:1.2.0.2 tls-earlyentropy-base:1.3 riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.2 riastradh-drm2-base3:1.2 imported-to-gcc-old-20140227-0107:1.1.1.2 netbsd-6-1-3-RELEASE:1.1.1.1 netbsd-6-0-4-RELEASE:1.1.1.1 netbsd-6-1-2-RELEASE:1.1.1.1 netbsd-6-0-3-RELEASE:1.1.1.1 netbsd-6-1-1-RELEASE:1.1.1.1 riastradh-drm2-base2:1.1.1.2 riastradh-drm2-base1:1.1.1.2 riastradh-drm2:1.1.1.2.0.2 riastradh-drm2-base:1.1.1.2 netbsd-6-1:1.1.1.1.0.12 netbsd-6-0-2-RELEASE:1.1.1.1 netbsd-6-1-RELEASE:1.1.1.1 netbsd-6-1-RC4:1.1.1.1 netbsd-6-1-RC3:1.1.1.1 agc-symver:1.1.1.2.0.4 agc-symver-base:1.1.1.2 netbsd-6-1-RC2:1.1.1.1 netbsd-6-1-RC1:1.1.1.1 yamt-pagecache-base8:1.1.1.2 netbsd-6-0-1-RELEASE:1.1.1.1 yamt-pagecache-base7:1.1.1.2 matt-nb6-plus-nbase:1.1.1.1 yamt-pagecache-base6:1.1.1.2 netbsd-6-0:1.1.1.1.0.10 netbsd-6-0-RELEASE:1.1.1.1 gcc-4-5-4:1.1.1.2 netbsd-6-0-RC2:1.1.1.1 tls-maxphys:1.1.1.1.0.8 tls-maxphys-base:1.3 matt-nb6-plus:1.1.1.1.0.6 matt-nb6-plus-base:1.1.1.1 netbsd-6-0-RC1:1.1.1.1 yamt-pagecache-base5:1.1.1.1 yamt-pagecache-base4:1.1.1.1 netbsd-6:1.1.1.1.0.4 netbsd-6-base:1.1.1.1 yamt-pagecache-base3:1.1.1.1 yamt-pagecache-base2:1.1.1.1 yamt-pagecache:1.1.1.1.0.2 yamt-pagecache-base:1.1.1.1 gcc-4-5-3:1.1.1.1 FSF:1.1.1; locks; strict; comment @# @; 1.20 date 2026.09.26.20.42.32; author mrg; state Exp; branches; next 1.19; commitid zkJzcIOvQooiNaXG; 1.19 date 2025.09.14.00.07.14; author mrg; state Exp; branches; next 1.18; commitid x9D5QEnvbeMI4CaG; 1.18 date 2025.07.21.03.01.09; author mrg; state Exp; branches; next 1.17; commitid 0iwx35CAgfJ1Oy3G; 1.17 date 2024.06.30.08.38.39; author mrg; state Exp; branches; next 1.16; commitid kExYYE9GeDZb5ZfF; 1.16 date 2023.07.30.05.51.10; author mrg; state Exp; branches 1.16.2.1; next 1.15; commitid Iugici1GtQ2mWMyE; 1.15 date 2023.07.11.00.40.40; author mrg; state Exp; branches; next 1.14; commitid UboG1aHS8nDGQjwE; 1.14 date 2022.07.22.20.22.33; author mrg; state Exp; branches 1.14.2.1; next 1.13; commitid 26I33JZwnjoCLVMD; 1.13 date 2021.04.11.00.02.10; author mrg; state Exp; branches; next 1.12; commitid rXajJcXg3xWG0OOC; 1.12 date 2020.09.05.09.12.22; author mrg; state Exp; branches; next 1.11; commitid dS3LXwk3lAvP4QmC; 1.11 date 2020.03.11.08.29.45; author mrg; state Exp; branches; next 1.10; commitid jRMJlCbDUVAWyXZB; 1.10 date 2019.10.01.10.38.16; author mrg; state Exp; branches; next 1.9; commitid r1DeKUVOMBnJt9FB; 1.9 date 2019.01.19.12.10.03; author mrg; state Exp; branches; next 1.8; commitid k8UsQyKpGt5Abo8B; 1.8 date 2018.11.04.00.38.13; author mrg; state Exp; branches; next 1.7; commitid sRYjqyoImfCCNyYA; 1.7 date 2018.02.02.03.41.03; author mrg; state Exp; branches 1.7.2.1 1.7.4.1; next 1.6; commitid YbHkrPGCnw2dEepA; 1.6 date 2017.11.12.00.36.44; author mrg; state Exp; branches; next 1.5; commitid qvf6fubay3FAgGeA; 1.5 date 2016.01.24.09.43.31; author mrg; state Exp; branches 1.5.8.1; next 1.4; commitid dxhNntGC3MSSqaSy; 1.4 date 2015.06.24.14.51.17; author mrg; state Exp; branches; next 1.3; commitid 1WAL6q85IgrA1Hqy; 1.3 date 2014.05.27.09.18.54; author skrll; state Exp; branches 1.3.2.1; next 1.2; commitid Z8i3oVrmy8KgN9Cx; 1.2 date 2014.03.01.08.58.29; author mrg; state dead; branches 1.2.2.1; next 1.1; commitid PSOLhRBVEIqVuYqx; 1.1 date 2011.06.21.01.23.11; author mrg; state Exp; branches 1.1.1.1; next ; 1.16.2.1 date 2024.07.01.01.00.44; author perseant; state Exp; branches; next 1.16.2.2; commitid NkoYLLCQWWw9v4gF; 1.16.2.2 date 2025.08.02.05.25.24; author perseant; state Exp; branches; next 1.16.2.3; commitid 23j6GFaDws3O875G; 1.16.2.3 date 2026.11.04.22.46.46; author perseant; state Exp; branches; next ; commitid 3QTNojfCEH9lUb2H; 1.14.2.1 date 2023.07.13.09.18.16; author martin; state Exp; branches; next ; commitid nTDZbluVjX9bCCwE; 1.7.2.1 date 2018.11.26.01.50.38; author pgoyette; state Exp; branches; next 1.7.2.2; commitid Zj4q5SspGdKXto1B; 1.7.2.2 date 2019.01.26.21.58.19; author pgoyette; state Exp; branches; next ; commitid JKpcmvSjdT25dl9B; 1.7.4.1 date 2019.06.10.21.53.16; author christos; state Exp; branches; next 1.7.4.2; commitid jtc8rnCzWiEEHGqB; 1.7.4.2 date 2020.04.13.07.57.03; author martin; state Exp; branches; next ; commitid X01YhRUPVUDaec4C; 1.5.8.1 date 2017.11.23.11.01.43; author martin; state Exp; branches; next ; commitid lA6hq5q2Y1dXl9gA; 1.3.2.1 date 2015.10.31.21.35.14; author snj; state Exp; branches; next ; commitid ynIajmFMECdR6jHy; 1.2.2.1 date 2014.08.10.07.10.40; author tls; state Exp; branches; next ; commitid 3hJZAsnr6L0lHMLx; 1.1.1.1 date 2011.06.21.01.23.11; author mrg; state Exp; branches 1.1.1.1.2.1 1.1.1.1.8.1; next 1.1.1.2; 1.1.1.2 date 2012.09.18.06.15.47; author skrll; state Exp; branches; next 1.1.1.3; 1.1.1.3 date 2014.05.27.08.39.34; author skrll; state Exp; branches; next 1.1.1.4; commitid Esid9j2Tay8qt9Cx; 1.1.1.4 date 2015.01.10.00.49.42; author mrg; state Exp; branches; next 1.1.1.5; commitid E07JC7FpnM8mAp5y; 1.1.1.5 date 2015.06.24.14.02.53; author mrg; state Exp; branches; next 1.1.1.6; commitid 64Yqx91eMSn0JGqy; 1.1.1.6 date 2016.01.24.06.05.54; author mrg; state Exp; branches; next 1.1.1.7; commitid uWWfbLp08zOK79Sy; 1.1.1.7 date 2017.11.11.23.50.05; author mrg; state Exp; branches; next 1.1.1.8; commitid KefS4gJN8ajyYFeA; 1.1.1.8 date 2018.02.02.01.59.58; author mrg; state Exp; branches; next 1.1.1.9; commitid XNKaycqpfhzd5epA; 1.1.1.9 date 2018.11.04.00.13.04; author mrg; state Exp; branches; next 1.1.1.10; commitid bulspy67pMB6EyYA; 1.1.1.10 date 2019.01.19.10.14.40; author mrg; state Exp; branches; next 1.1.1.11; commitid VQ8OwWIg5RS9kn8B; 1.1.1.11 date 2019.10.01.09.36.38; author mrg; state Exp; branches; next 1.1.1.12; commitid smvgr2IPAQDr89FB; 1.1.1.12 date 2020.03.11.08.16.37; author mrg; state Exp; branches; next 1.1.1.13; commitid AhKhCnGPUZgytXZB; 1.1.1.13 date 2020.08.11.05.11.08; author mrg; state Exp; branches; next 1.1.1.14; commitid 5dBRDT7i6e65xBjC; 1.1.1.14 date 2020.08.11.05.30.44; author mrg; state Exp; branches; next 1.1.1.15; commitid 7AI4OfpLi4eqEBjC; 1.1.1.15 date 2020.09.05.07.52.58; author mrg; state Exp; branches; next 1.1.1.16; commitid ZRYA7IOuwfMjAPmC; 1.1.1.16 date 2021.04.10.22.09.22; author mrg; state Exp; branches; next 1.1.1.17; commitid eC4g0MRpqTvEkNOC; 1.1.1.17 date 2022.07.22.19.53.18; author mrg; state Exp; branches; next 1.1.1.18; commitid fUYPgdKzIHqhwVMD; 1.1.1.18 date 2023.07.11.00.32.10; author mrg; state Exp; branches; next 1.1.1.19; commitid 3yo4S98RsOFBNjwE; 1.1.1.19 date 2023.07.30.05.20.41; author mrg; state Exp; branches; next 1.1.1.20; commitid tk6nV4mbc9nVEMyE; 1.1.1.20 date 2024.06.30.07.36.33; author mrg; state Exp; branches; next 1.1.1.21; commitid m7BwZsPdfJvuHYfF; 1.1.1.21 date 2025.07.21.02.43.01; author mrg; state Exp; branches; next 1.1.1.22; commitid 9k1gPU4fqf8VHy3G; 1.1.1.22 date 2025.09.13.23.45.04; author mrg; state Exp; branches; next 1.1.1.23; commitid KwhwN4krNWa6XBaG; 1.1.1.23 date 2026.09.26.20.27.25; author mrg; state Exp; branches; next ; commitid Us2gtpl1zAY1IaXG; 1.1.1.1.2.1 date 2012.10.30.18.56.47; author yamt; state Exp; branches; next 1.1.1.1.2.2; 1.1.1.1.2.2 date 2014.05.22.16.34.59; author yamt; state dead; branches; next ; commitid ae3mEUOn0ZasoyBx; 1.1.1.1.8.1 date 2012.11.20.02.58.15; author tls; state Exp; branches; next 1.1.1.1.8.2; 1.1.1.1.8.2 date 2014.08.19.23.53.11; author tls; state Exp; branches; next ; commitid jTnpym9Qu0o4R1Nx; desc @@ 1.20 log @merge GCC 14.4. @ text @ Installing GCC: Configuration

Like most GNU software, GCC must be configured before it can be built. This document describes the recommended configuration procedure for both native and cross targets.

We use srcdir to refer to the toplevel source directory for GCC; we use objdir to refer to the toplevel build/object directory.

If you obtained the sources by cloning the repository, srcdir must refer to the top gcc directory, the one where the MAINTAINERS file can be found, and not its gcc subdirectory, otherwise the build will fail.

If either srcdir or objdir is located on an automounted NFS file system, the shell’s built-in pwd command will return temporary pathnames. Using these can lead to various sorts of build problems. To avoid this issue, set the PWDCMD environment variable to an automounter-aware pwd command, e.g., pawd or ‘amq -w’, during the configuration and build phases.

First, we highly recommend that GCC be built into a separate directory from the sources which does not reside within the source tree. This is how we generally build GCC; building where objdir is a subdirectory of srcdir should work as well; building where objdir == srcdir is unsupported.

If you have previously built GCC in the same directory for a different target machine, do ‘make distclean’ to delete all files that might be invalid. One of the files this deletes is Makefile; if ‘make distclean’ complains that Makefile does not exist or issues a message like “don’t know how to make distclean” it probably means that the directory is already suitably clean. However, with the recommended method of building in a separate objdir, you should simply use a different objdir for each target.

Second, when configuring a native system, either cc or gcc must be in your path or you must set CC in your environment before running configure. Otherwise the configuration scripts may fail.

To configure GCC:

% mkdir objdir
% cd objdir
% srcdir/configure [options] [target]

Distributor options

If you will be distributing binary versions of GCC, with modifications to the source code, you should use the options described in this section to make clear that your version contains modifications.

--with-pkgversion=version

Specify a string that identifies your package. You may wish to include a build number or build date. This version string will be included in the output of gcc --version. This suffix does not replace the default version string, only the ‘GCC’ part.

The default value is ‘GCC’.

--with-bugurl=url

Specify the URL that users should visit if they wish to report a bug. You are of course welcome to forward bugs reported to you to the FSF, if you determine that they are not bugs in your modifications.

The default value refers to the FSF’s GCC bug tracker.

--with-documentation-root-url=url

Specify the URL root that contains GCC option documentation. The url should end with a / character.

The default value is https://gcc.gnu.org/onlinedocs/ on the GCC main development trunk. On release branches, the default is https://gcc.gnu.org/onlinedocs/gcc-major.minor.0/.

--with-changes-root-url=url

Specify the URL root that contains information about changes in GCC releases like gcc-version/changes.html. The url should end with a / character.

The default value is https://gcc.gnu.org/.

Host, Build and Target specification

Specify the host, build and target machine configurations. You do this when you run the configure script.

The build machine is the system which you are using, the host machine is the system where you want to run the resulting compiler (normally the build machine), and the target machine is the system for which you want the compiler to generate code.

If you are building a compiler to produce code for the machine it runs on (a native compiler), you normally do not need to specify any operands to configure; it will try to guess the type of machine you are on and use that as the build, host and target machines. So you don’t need to specify a configuration when building a native compiler unless configure cannot figure out what your configuration is or guesses wrong.

In those cases, specify the build machine’s configuration name with the --host option; the host and target will default to be the same as the host machine.

Here is an example:

./configure --host=x86_64-pc-linux-gnu

A configuration name may be canonical or it may be more or less abbreviated (config.sub script produces canonical versions).

A canonical configuration name has three parts, separated by dashes. It looks like this: ‘cpu-company-system’.

Here are the possible CPU types:

aarch64, aarch64_be, alpha, alpha64, amdgcn, arc, arceb, arm, armeb, avr, bfin, bpf, cris, csky, epiphany, fido, fr30, frv, ft32, h8300, hppa, hppa2.0, hppa64, i486, i686, ia64, iq2000, lm32, loongarch64, m32c, m32r, m32rle, m68k, mcore, microblaze, microblazeel, mips, mips64, mips64el, mips64octeon, mips64orion, mips64vr, mipsel, mipsisa32, mipsisa32r2, mipsisa64, mipsisa64r2, mipsisa64r2el, mipsisa64sb1, mipsisa64sr71k, mipstx39, mmix, mn10300, moxie, msp430, nds32be, nds32le, nios2, nvptx, or1k, pdp11, powerpc, powerpc64, powerpc64le, powerpcle, pru, riscv32, riscv32be, riscv64, riscv64be, rl78, rx, s390, s390x, sh, shle, sparc, sparc64, tic6x, v850, v850e, v850e1, vax, visium, x86_64, xstormy16, xtensa

Here is a list of system types:

aixversion, amdhsa, aout, cygwin, darwinversion, eabi, eabialtivec, eabisim, eabisimaltivec, elf, elf32, elfbare, elfoabi, freebsdversion, gnu, hpux, hpuxversion, kfreebsd-gnu, kopensolaris-gnu, linux-androideabi, linux-gnu, linux-gnu_altivec, linux-musl, linux-uclibc, lynxos, mingw32, mingw32crt, mmixware, msdosdjgpp, netbsd, netbsdelfversion, nto-qnx, openbsd, rtems, solarisversion, symbianelf, tpf, uclinux, uclinux_eabi, vms, vxworks, vxworksae, vxworksmils

Options specification

Use options to override several configure time options for GCC. A list of supported options follows; ‘configure --help’ may list other options, but those not listed below may not work and should not normally be used.

Note that each --enable option has a corresponding --disable option and that each --with option has a corresponding --without option.

--prefix=dirname

Specify the toplevel installation directory. This is the recommended way to install the tools into a directory other than the default. The toplevel installation directory defaults to /usr/local.

We highly recommend against dirname being the same or a subdirectory of objdir or vice versa. If specifying a directory beneath a user’s home directory tree, some shells will not expand dirname correctly if it contains the ‘~’ metacharacter; use $HOME instead.

The following standard autoconf options are supported. Normally you should not need to use these options.

--exec-prefix=dirname

Specify the toplevel installation directory for architecture-dependent files. The default is prefix.

--bindir=dirname

Specify the installation directory for the executables called by users (such as gcc and g++). The default is exec-prefix/bin.

--libdir=dirname

Specify the installation directory for object code libraries and internal data files of GCC. The default is exec-prefix/lib.

--libexecdir=dirname

Specify the installation directory for internal executables of GCC. The default is exec-prefix/libexec.

--with-slibdir=dirname

Specify the installation directory for the shared libgcc library. The default is libdir.

--datarootdir=dirname

Specify the root of the directory tree for read-only architecture-independent data files referenced by GCC. The default is prefix/share.

--infodir=dirname

Specify the installation directory for documentation in info format. The default is datarootdir/info.

--datadir=dirname

Specify the installation directory for some architecture-independent data files referenced by GCC. The default is datarootdir.

--docdir=dirname

Specify the installation directory for documentation files (other than Info) for GCC. The default is datarootdir/doc.

--htmldir=dirname

Specify the installation directory for HTML documentation files. The default is docdir.

--pdfdir=dirname

Specify the installation directory for PDF documentation files. The default is docdir.

--mandir=dirname

Specify the installation directory for manual pages. The default is datarootdir/man. (Note that the manual pages are only extracts from the full GCC manuals, which are provided in Texinfo format. The manpages are derived by an automatic conversion process from parts of the full manual.)

--with-gxx-include-dir=dirname

Specify the installation directory for G++ header files. The default depends on other configuration options, and differs between cross and native configurations.

--with-specs=specs

Specify additional command line driver SPECS. This can be useful if you need to turn on a non-standard feature by default without modifying the compiler’s source code, for instance --with-specs=%{!fcommon:%{!fno-common:-fno-common}}. See “Spec Files” in the main manual

--program-prefix=prefix

GCC supports some transformations of the names of its programs when installing them. This option prepends prefix to the names of programs to install in bindir (see above). For example, specifying --program-prefix=foo- would result in ‘gcc’ being installed as /usr/local/bin/foo-gcc.

--program-suffix=suffix

Appends suffix to the names of programs to install in bindir (see above). For example, specifying --program-suffix=-3.1 would result in ‘gcc’ being installed as /usr/local/bin/gcc-3.1.

--program-transform-name=pattern

Applies the ‘sed’ script pattern to be applied to the names of programs to install in bindir (see above). pattern has to consist of one or more basic ‘sed’ editing commands, separated by semicolons. For example, if you want the ‘gcc’ program name to be transformed to the installed program /usr/local/bin/myowngcc and the ‘g++’ program name to be transformed to /usr/local/bin/gspecial++ without changing other program names, you could use the pattern --program-transform-name='s/^gcc$/myowngcc/; s/^g++$/gspecial++/' to achieve this effect.

All three options can be combined and used together, resulting in more complex conversion patterns. As a basic rule, prefix (and suffix) are prepended (appended) before further transformations can happen with a special transformation script pattern.

As currently implemented, this option only takes effect for native builds; cross compiler binaries’ names are not transformed even when a transformation is explicitly asked for by one of these options.

For native builds, some of the installed programs are also installed with the target alias in front of their name, as in ‘i686-pc-linux-gnu-gcc’. All of the above transformations happen before the target alias is prepended to the name—so, specifying --program-prefix=foo- and program-suffix=-3.1, the resulting binary would be installed as /usr/local/bin/i686-pc-linux-gnu-foo-gcc-3.1.

As a last shortcoming, none of the installed Ada programs are transformed yet, which will be fixed in some time.

--with-local-prefix=dirname

Specify the installation directory for local include files. The default is /usr/local. Specify this option if you want the compiler to search directory dirname/include for locally installed header files instead of /usr/local/include.

You should specify --with-local-prefix only if your site has a different convention (not /usr/local) for where to put site-specific files.

The default value for --with-local-prefix is /usr/local regardless of the value of --prefix. Specifying --prefix has no effect on which directory GCC searches for local header files. This may seem counterintuitive, but actually it is logical.

The purpose of --prefix is to specify where to install GCC. The local header files in /usr/local/include—if you put any in that directory—are not part of GCC. They are part of other programs—perhaps many others. (GCC installs its own header files in another directory which is based on the --prefix value.)

Both the local-prefix include directory and the GCC-prefix include directory are part of GCC’s “system include” directories. Although these two directories are not fixed, they need to be searched in the proper order for the correct processing of the include_next directive. The local-prefix include directory is searched before the GCC-prefix include directory. Another characteristic of system include directories is that pedantic warnings are turned off for headers in these directories.

Some autoconf macros add -I directory options to the compiler command line, to ensure that directories containing installed packages’ headers are searched. When directory is one of GCC’s system include directories, GCC will ignore the option so that system directories continue to be processed in the correct order. This may result in a search order different from what was specified but the directory will still be searched.

GCC automatically searches for ordinary libraries using GCC_EXEC_PREFIX. Thus, when the same installation prefix is used for both GCC and packages, GCC will automatically search for both headers and libraries. This provides a configuration that is easy to use. GCC behaves in a manner similar to that when it is installed as a system compiler in /usr.

Sites that need to install multiple versions of GCC may not want to use the above simple configuration. It is possible to use the --program-prefix, --program-suffix and --program-transform-name options to install multiple versions into a single directory, but it may be simpler to use different prefixes and the --with-local-prefix option to specify the location of the site-specific files for each version. It will then be necessary for users to specify explicitly the location of local site libraries (e.g., with LIBRARY_PATH).

The same value can be used for both --with-local-prefix and --prefix provided it is not /usr. This can be used to avoid the default search of /usr/local/include.

Do not specify /usr as the --with-local-prefix! The directory you use for --with-local-prefix must not contain any of the system’s standard header files. If it did contain them, certain programs would be miscompiled (including GNU Emacs, on certain targets), because this would override and nullify the header file corrections made by the fixincludes script.

Indications are that people who use this option use it based on mistaken ideas of what it is for. People use it as if it specified where to install part of GCC. Perhaps they make this assumption because installing GCC creates the directory.

--with-gcc-major-version-only

Specifies that GCC should use only the major number rather than major.minor.patchlevel in filesystem paths.

--with-native-system-header-dir=dirname

Specifies that dirname is the directory that contains native system header files, rather than /usr/include. This option is most useful if you are creating a compiler that should be isolated from the system as much as possible. It is most commonly used with the --with-sysroot option and will cause GCC to search dirname inside the system root specified by that option.

--enable-shared[=package[,…]]

Build shared versions of libraries, if shared libraries are supported on the target platform. Unlike GCC 2.95.x and earlier, shared libraries are enabled by default on all platforms that support shared libraries.

If a list of packages is given as an argument, build shared libraries only for the listed packages. For other packages, only static libraries will be built. Package names currently recognized in the GCC tree are ‘libgcc’ (also known as ‘gcc’), ‘libstdc++’ (not ‘libstdc++-v3’), ‘libffi’, ‘zlib’, ‘boehm-gc’, ‘ada’, ‘libada’, ‘libgo’, ‘libobjc’, and ‘libphobos’. Note ‘libiberty’ does not support shared libraries at all.

Use --disable-shared to build only static libraries. Note that --disable-shared does not accept a list of package names as argument, only --enable-shared does.

Contrast with --enable-host-shared, which affects host code.

--enable-host-shared

Specify that the host code should be built into position-independent machine code (with -fPIC), allowing it to be used within shared libraries, but yielding a slightly slower compiler.

This option is required when building the libgccjit.so library.

Contrast with --enable-shared, which affects target libraries.

--enable-host-pie

Specify that the host executables should be built into position-independent executables (with -fPIE and -pie), yielding a slightly slower compiler (but faster than --enable-host-shared). Position-independent executables are loaded at random addresses each time they are executed, therefore provide additional protection against Return Oriented Programming (ROP) attacks.

--enable-host-pie may be used with --enable-host-shared, in which case -fPIC is used when compiling, and -pie when linking.

--enable-host-bind-now

Specify that the host executables should be linked with the option -Wl,-z,now, which means that the dynamic linker will resolve all symbols when the executables are started, and that in turn allows RELRO to mark the GOT read-only, resulting in better security.

--with-gnu-as

Specify that the compiler should assume that the assembler it finds is the GNU assembler. However, this does not modify the rules to find an assembler and will result in confusion if the assembler found is not actually the GNU assembler. (Confusion may also result if the compiler finds the GNU assembler but has not been configured with --with-gnu-as.) If you have more than one assembler installed on your system, you may want to use this option in connection with --with-as=pathname or --with-build-time-tools=pathname.

The following systems are the only ones where it makes a difference whether you use the GNU assembler. On any other system, --with-gnu-as has no effect.

--with-as=pathname

Specify that the compiler should use the assembler pointed to by pathname, rather than the one found by the standard rules to find an assembler, which are:

You may want to use --with-as if no assembler is installed in the directories listed above, or if you have multiple assemblers installed and want to choose one that is not found by the above rules.

--with-gnu-ld

Same as --with-gnu-as but for the linker.

--with-ld=pathname

Same as --with-as but for the linker.

--with-dsymutil=pathname

Same as --with-as but for the debug linker (only used on Darwin platforms so far).

--with-tls=dialect

Specify the default TLS dialect, for systems where there is a choice. For ARM targets, possible values for dialect are gnu or gnu2, which select between the original GNU dialect and the GNU TLS descriptor-based dialect. For RISC-V targets, possible values for dialect are trad or desc, which select between the traditional GNU dialect and the GNU TLS descriptor-based dialect.

--enable-multiarch

Specify whether to enable or disable multiarch support. The default is to check for glibc start files in a multiarch location, and enable it if the files are found. The auto detection is enabled for native builds, and for cross builds configured with --with-sysroot, and without --with-native-system-header-dir. More documentation about multiarch can be found at https://wiki.debian.org/Multiarch.

--enable-sjlj-exceptions

Force use of the setjmp/longjmp-based scheme for exceptions. ‘configure’ ordinarily picks the correct value based on the platform. Only use this option if you are sure you need a different setting.

--enable-vtable-verify

Specify whether to enable or disable the vtable verification feature. Enabling this feature causes libstdc++ to be built with its virtual calls in verifiable mode. This means that, when linked with libvtv, every virtual call in libstdc++ will verify the vtable pointer through which the call will be made before actually making the call. If not linked with libvtv, the verifier will call stub functions (in libstdc++ itself) and do nothing. If vtable verification is disabled, then libstdc++ is not built with its virtual calls in verifiable mode at all. However the libvtv library will still be built (see --disable-libvtv to turn off building libvtv). --disable-vtable-verify is the default.

--disable-gcov

Specify that the run-time library used for coverage analysis and associated host tools should not be built.

--disable-multilib

Specify that multiple target libraries to support different target variants, calling conventions, etc. should not be built. The default is to build a predefined set of them.

Some targets provide finer-grained control over which multilibs are built (e.g., --disable-softfloat):

arm-*-*

fpu, 26bit, underscore, interwork, biendian, nofmult.

m68*-*-*

softfloat, m68881, m68000, m68020.

mips*-*-*

single-float, biendian, softfloat.

msp430-*-*

no-exceptions

powerpc*-*-*, rs6000*-*-*

aix64, pthread, softfloat, powercpu, powerpccpu, powerpcos, biendian, sysv, aix.

--with-multilib-list=list
--without-multilib-list

Specify what multilibs to build. list is a comma separated list of values, possibly consisting of a single value. Currently only implemented for aarch64*-*-*, amdgcn*-*-*, arm*-*-*, loongarch*-*-*, riscv*-*-*, sh*-*-* and x86-64-*-linux*. The accepted values and meaning for each target is given below.

aarch64*-*-*

list is a comma separated list of ilp32, and lp64 to enable ILP32 and LP64 run-time libraries, respectively. If list is empty, then there will be no multilibs and only the default run-time library will be built. If list is default or –with-multilib-list= is not specified, then the default set of libraries is selected based on the value of --target.

amdgcn*-*-*

list is a comma separated list of ISA names (allowed values: fiji, gfx900, gfx906, gfx908, gfx90a, gfx90c, gfx1030, gfx1036, gfx1100, gfx1103). It ought not include the name of the default ISA, specified via --with-arch. If list is empty, then there will be no multilibs and only the default run-time library will be built. If list is default or --with-multilib-list= is not specified, then the default set of libraries is selected.

arm*-*-*

list is a comma separated list of aprofile and rmprofile to build multilibs for A or R and M architecture profiles respectively. Note that, due to some limitation of the current multilib framework, using the combined aprofile,rmprofile multilibs selects in some cases a less optimal multilib than when using the multilib profile for the architecture targetted. The special value default is also accepted and is equivalent to omitting the option, i.e., only the default run-time library will be enabled.

list may instead contain @@name, to use the multilib configuration Makefile fragment name in gcc/config/arm in the source tree (it is part of the corresponding sources, after all). It is recommended, but not required, that files used for this purpose to be named starting with t-ml-, to make their intended purpose self-evident, in line with GCC conventions. Such files enable custom, user-chosen multilib lists to be configured. Whether multiple such files can be used together depends on the contents of the supplied files. See gcc/config/arm/t-multilib and its supplementary gcc/config/arm/t-*profile files for an example of what such Makefile fragments might look like for this version of GCC. The macros expected to be defined in these fragments are not stable across GCC releases, so make sure they define the MULTILIB-related macros expected by the version of GCC you are building. See “Target Makefile Fragments” in the internals manual.

The table below gives the combination of ISAs, architectures, FPUs and floating-point ABIs for which multilibs are built for each predefined profile. The union of these options is considered when specifying both aprofile and rmprofile.

Optionaprofilermprofile
ISAs-marm and -mthumb-mthumb
Architectures





default architecture
-march=armv7-a
-march=armv7ve
-march=armv8-a


default architecture
-march=armv6s-m
-march=armv7-m
-march=armv7e-m
-march=armv8-m.base
-march=armv8-m.main
-march=armv7
FPUs




none
-mfpu=vfpv3-d16
-mfpu=neon
-mfpu=vfpv4-d16
-mfpu=neon-vfpv4
-mfpu=neon-fp-armv8
none
-mfpu=vfpv3-d16
-mfpu=fpv4-sp-d16
-mfpu=fpv5-sp-d16
-mfpu=fpv5-d16
floating-point ABIs

-mfloat-abi=soft
-mfloat-abi=softfp
-mfloat-abi=hard
-mfloat-abi=soft
-mfloat-abi=softfp
-mfloat-abi=hard
loongarch*-*-*

list is a comma-separated list, with each of the element starting with the following ABI identifiers: lp64d[/base] lp64f[/base] lp64d[/base] (the /base suffix may be omitted) to enable their respective run-time libraries.

A suffix [/arch][/option/…] may follow immediately after the ABI identifier to customize the compiler options for building the given set of libraries. arch denotes the architecture name recognized by the -march=arch compiler option, which acts as a basic target ISA configuration that can be adjusted using the subsequent option suffixes, where each option is a compiler option without a leading dash (’-’).

If no such suffix is present for a given multilib variant, the configured value of --with-multilib-default is appended as a default suffix. If --with-multilib-default is not given, the default build option -march=abi-default is applied when building the variants without a suffix.

As a special case, fixed may be used in the position of arch, which means using the architecture configured with --with-arch=arch, or its default value (e.g. loongarch64 for loongarch64-* targets).

If list is empty or default, or if --with-multilib-list is not specified, then only the default variant of the libraries are built, where the default ABI is implied by the configured target triplet.

riscv*-*-*

list is a single ABI name. The target architecture must be either rv32gc or rv64gc. This will build a single multilib for the specified architecture and ABI pair. If --with-multilib-list is not given, then a default set of multilibs is selected based on the value of --target. This is usually a large set of multilibs.

sh*-*-*

list is a comma separated list of CPU names. These must be of the form sh* or m* (in which case they match the compiler option for that processor). The list should not contain any endian options - these are handled by --with-endian.

If list is empty, then there will be no multilibs for extra processors. The multilib for the secondary endian remains enabled.

As a special case, if an entry in the list starts with a ! (exclamation point), then it is added to the list of excluded multilibs. Entries of this sort should be compatible with ‘MULTILIB_EXCLUDES’ (once the leading ! has been stripped).

If --with-multilib-list is not given, then a default set of multilibs is selected based on the value of --target. This is usually the complete set of libraries, but some targets imply a more specialized subset.

Example 1: to configure a compiler for SH4A only, but supporting both endians, with little endian being the default:

--with-cpu=sh4a --with-endian=little,big --with-multilib-list=

Example 2: to configure a compiler for both SH4A and SH4AL-DSP, but with only little endian SH4AL:

--with-cpu=sh4a --with-endian=little,big \
--with-multilib-list=sh4al,!mb/m4al
x86-64-*-linux*

list is a comma separated list of m32, m64 and mx32 to enable 32-bit, 64-bit and x32 run-time libraries, respectively. If list is empty, then there will be no multilibs and only the default run-time library will be enabled.

If --with-multilib-list is not given, then only 32-bit and 64-bit run-time libraries will be enabled.

--with-multilib-default

On LoongArch targets, set the default build options for enabled multilibs without build options appended to their corresponding --with-multilib-list items. The format of this value is [/arch][/option/…], where arch is an architecture name recognized by -march=arch compiler option, and subsequent option suffixes are compiler options minus a leading dash (’-’).

Multiple options may appear consecutively while arch may only appear in the beginning or be omitted (which means -march=abi-default is applied when building the libraries).

--with-strict-align-lib

On LoongArch targets, build all enabled multilibs with -mstrict-align (Not enabled by default).

--with-multilib-generator=config

Specify what multilibs to build. config is a semicolon separated list of values, possibly consisting of a single value. Currently only implemented for riscv*-*-elf*. The accepted values and meanings are given below.

Every config is constructed with four components: architecture string, ABI, reuse rule with architecture string and reuse rule with sub-extension.

Example 1: Add multi-lib suppport for rv32i with ilp32.

rv32i-ilp32--

Example 2: Add multi-lib suppport for rv32i with ilp32 and rv32imafd with ilp32.

rv32i-ilp32--;rv32imafd-ilp32--

Example 3: Add multi-lib suppport for rv32i with ilp32; rv32im with ilp32 and rv32ic with ilp32 will reuse this multi-lib set.

rv32i-ilp32-rv32im-c

Example 4: Add multi-lib suppport for rv64ima with lp64; rv64imaf with lp64, rv64imac with lp64 and rv64imafc with lp64 will reuse this multi-lib set.

rv64ima-lp64--f,c,fc

--with-multilib-generator have an optional configuration argument --cmodel=val for code model, this option will expand with other config options, val is a comma separated list of possible code model, currently we support medlow and medany.

Example 5: Add multi-lib suppport for rv64ima with lp64; rv64ima with lp64 and medlow code model

rv64ima-lp64--;--cmodel=medlow

Example 6: Add multi-lib suppport for rv64ima with lp64; rv64ima with lp64 and medlow code model; rv64ima with lp64 and medany code model

rv64ima-lp64--;--cmodel=medlow,medany
--with-endian=endians

Specify what endians to use. Currently only implemented for sh*-*-*.

endians may be one of the following:

big

Use big endian exclusively.

little

Use little endian exclusively.

big,little

Use big endian by default. Provide a multilib for little endian.

little,big

Use little endian by default. Provide a multilib for big endian.

--enable-threads

Specify that the target supports threads. This affects the Objective-C compiler and runtime library, and exception handling for other languages like C++. On some systems, this is the default.

In general, the best (and, in many cases, the only known) threading model available will be configured for use. Beware that on some systems, GCC has not been taught what threading models are generally available for the system. In this case, --enable-threads is an alias for --enable-threads=single.

--disable-threads

Specify that threading support should be disabled for the system. This is an alias for --enable-threads=single.

--enable-threads=lib

Specify that lib is the thread support library. This affects the Objective-C compiler and runtime library, and exception handling for other languages like C++. The possibilities for lib are:

aix

AIX thread support.

dce

DCE thread support.

lynx

LynxOS thread support.

mipssde

MIPS SDE thread support.

no

This is an alias for ‘single’.

posix

Generic POSIX/Unix98 thread support.

rtems

RTEMS thread support.

single

Disable thread support, should work for all platforms.

tpf

TPF thread support.

vxworks

VxWorks thread support.

win32

Microsoft Win32 API thread support.

--enable-tls

Specify that the target supports TLS (Thread Local Storage). Usually configure can correctly determine if TLS is supported. In cases where it guesses incorrectly, TLS can be explicitly enabled or disabled with --enable-tls or --disable-tls. This can happen if the assembler supports TLS but the C library does not, or if the assumptions made by the configure test are incorrect.

--disable-tls

Specify that the target does not support TLS. This is an alias for --enable-tls=no.

--disable-tm-clone-registry

Disable TM clone registry in libgcc. It is enabled in libgcc by default. This option helps to reduce code size for embedded targets which do not use transactional memory.

--with-cpu=cpu
--with-cpu-32=cpu
--with-cpu-64=cpu

Specify which cpu variant the compiler should generate code for by default. cpu will be used as the default value of the -mcpu= switch. This option is only supported on some targets, including ARC, ARM, i386, M68k, PowerPC, and SPARC. It is mandatory for ARC. The --with-cpu-32 and --with-cpu-64 options specify separate default CPUs for 32-bit and 64-bit modes; these options are only supported for aarch64, i386, x86-64, PowerPC, and SPARC.

--with-schedule=cpu
--with-arch=cpu
--with-arch-32=cpu
--with-arch-64=cpu
--with-tune=cpu
--with-tune-32=cpu
--with-tune-64=cpu
--with-abi=abi
--with-fpu=type
--with-float=type
--with-simd=type

These configure options provide default values for the -mschedule=, -march=, -mtune=, -mabi=, and -mfpu= options and for -mhard-float or -msoft-float. As with --with-cpu, which switches will be accepted and acceptable values of the arguments depend on the target.

--with-mode=mode

Specify if the compiler should default to -marm or -mthumb. This option is only supported on ARM targets.

--with-stack-offset=num

This option sets the default for the -mstack-offset=num option, and will thus generally also control the setting of this option for libraries. This option is only supported on Epiphany targets.

--with-fpmath=isa

This options sets -mfpmath=sse by default and specifies the default ISA for floating-point arithmetics. You can select either ‘sse’ which enables -msse2 or ‘avx’ which enables -mavx by default. This option is only supported on i386 and x86-64 targets.

--with-fp-32=mode

On MIPS targets, set the default value for the -mfp option when using the o32 ABI. The possibilities for mode are:

32

Use the o32 FP32 ABI extension, as with the -mfp32 command-line option.

xx

Use the o32 FPXX ABI extension, as with the -mfpxx command-line option.

64

Use the o32 FP64 ABI extension, as with the -mfp64 command-line option.

In the absence of this configuration option the default is to use the o32 FP32 ABI extension.

--with-odd-spreg-32

On MIPS targets, set the -modd-spreg option by default when using the o32 ABI.

--without-odd-spreg-32

On MIPS targets, set the -mno-odd-spreg option by default when using the o32 ABI. This is normally used in conjunction with --with-fp-32=64 in order to target the o32 FP64A ABI extension.

--with-nan=encoding

On MIPS targets, set the default encoding convention to use for the special not-a-number (NaN) IEEE 754 floating-point data. The possibilities for encoding are:

legacy

Use the legacy encoding, as with the -mnan=legacy command-line option.

2008

Use the 754-2008 encoding, as with the -mnan=2008 command-line option.

To use this configuration option you must have an assembler version installed that supports the -mnan= command-line option too. In the absence of this configuration option the default convention is the legacy encoding, as when neither of the -mnan=2008 and -mnan=legacy command-line options has been used.

--with-divide=type

Specify how the compiler should generate code for checking for division by zero. This option is only supported on the MIPS target. The possibilities for type are:

traps

Division by zero checks use conditional traps (this is the default on systems that support conditional traps).

breaks

Division by zero checks use the break instruction.

--with-compact-branches=policy

Specify how the compiler should generate branch instructions. This option is only supported on the MIPS target. The possibilities for type are:

optimal

Cause a delay slot branch to be used if one is available in the current ISA and the delay slot is successfully filled. If the delay slot is not filled, a compact branch will be chosen if one is available.

never

Ensures that compact branch instructions will never be generated.

always

Ensures that a compact branch instruction will be generated if available. If a compact branch instruction is not available, a delay slot form of the branch will be used instead. This option is supported from MIPS Release 6 onwards. For pre-R6/microMIPS/MIPS16, this option is just same as never/optimal.

--with-llsc

On MIPS targets, make -mllsc the default when no -mno-llsc option is passed. This is the default for Linux-based targets, as the kernel will emulate them if the ISA does not provide them.

--without-llsc

On MIPS targets, make -mno-llsc the default when no -mllsc option is passed.

--with-synci

On MIPS targets, make -msynci the default when no -mno-synci option is passed.

--without-synci

On MIPS targets, make -mno-synci the default when no -msynci option is passed. This is the default.

--with-lxc1-sxc1

On MIPS targets, make -mlxc1-sxc1 the default when no -mno-lxc1-sxc1 option is passed. This is the default.

--without-lxc1-sxc1

On MIPS targets, make -mno-lxc1-sxc1 the default when no -mlxc1-sxc1 option is passed. The indexed load/store instructions are not directly a problem but can lead to unexpected behaviour when deployed in an application intended for a 32-bit address space but run on a 64-bit processor. The issue is seen because all known MIPS 64-bit Linux kernels execute o32 and n32 applications with 64-bit addressing enabled which affects the overflow behaviour of the indexed addressing mode. GCC will assume that ordinary 32-bit arithmetic overflow behaviour is the same whether performed as an addu instruction or as part of the address calculation in lwxc1 type instructions. This assumption holds true in a pure 32-bit environment and can hold true in a 64-bit environment if the address space is accurately set to be 32-bit for o32 and n32.

--with-madd4

On MIPS targets, make -mmadd4 the default when no -mno-madd4 option is passed. This is the default.

--without-madd4

On MIPS targets, make -mno-madd4 the default when no -mmadd4 option is passed. The madd4 instruction family can be problematic when targeting a combination of cores that implement these instructions differently. There are two known cores that implement these as fused operations instead of unfused (where unfused is normally expected). Disabling these instructions is the only way to ensure compatible code is generated; this will incur a performance penalty.

--with-msa

On MIPS targets, make -mmsa the default when no -mno-msa option is passed.

--without-msa

On MIPS targets, make -mno-msa the default when no -mmsa option is passed. This is the default.

--with-mips-plt

On MIPS targets, make use of copy relocations and PLTs. These features are extensions to the traditional SVR4-based MIPS ABIs and require support from GNU binutils and the runtime C library.

--with-stack-clash-protection-guard-size=size

On certain targets this option sets the default stack clash protection guard size as a power of two in bytes. On AArch64 size is required to be either 12 (4KB) or 16 (64KB).

--with-isa-spec=ISA-spec-string

On RISC-V targets specify the default version of the RISC-V Unprivileged (formerly User-Level) ISA specification to produce code conforming to. The possibilities for ISA-spec-string are:

2.2

Produce code conforming to version 2.2.

20190608

Produce code conforming to version 20190608.

20191213

Produce code conforming to version 20191213.

In the absence of this configuration option the default version is 20191213.

--enable-__cxa_atexit

Define if you want to use __cxa_atexit, rather than atexit, to register C++ destructors for local statics and global objects. This is essential for fully standards-compliant handling of destructors, but requires __cxa_atexit in libc. This option is currently only available on systems with GNU libc. When enabled, this will cause -fuse-cxa-atexit to be passed by default.

--enable-gnu-indirect-function

Define if you want to enable the ifunc attribute. This option is currently only available on systems with GNU libc on certain targets.

--enable-target-optspace

Specify that target libraries should be optimized for code space instead of code speed. This is the default for the m32r platform.

--with-cpp-install-dir=dirname

Specify that the user visible cpp program should be installed in prefix/dirname/cpp, in addition to bindir.

--enable-comdat

Enable COMDAT group support. This is primarily used to override the automatically detected value.

--enable-initfini-array

Force the use of sections .init_array and .fini_array (instead of .init and .fini) for constructors and destructors. Option --disable-initfini-array has the opposite effect. If neither option is specified, the configure script will try to guess whether the .init_array and .fini_array sections are supported and, if they are, use them.

--enable-link-mutex

When building GCC, use a mutex to avoid linking the compilers for multiple languages at the same time, to avoid thrashing on build systems with limited free memory. The default is not to use such a mutex.

--enable-link-serialization

When building GCC, use make dependencies to serialize linking the compilers for multiple languages, to avoid thrashing on build systems with limited free memory. The default is not to add such dependencies and thus with parallel make potentially link different compilers concurrently. If the argument is a positive integer, allow that number of concurrent link processes for the large binaries.

--enable-maintainer-mode

The build rules that regenerate the Autoconf and Automake output files as well as the GCC master message catalog gcc.pot are normally disabled. This is because it can only be rebuilt if the complete source tree is present. If you have changed the sources and want to rebuild the catalog, configuring with --enable-maintainer-mode will enable this. Note that you need a recent version of the gettext tools to do so.

--disable-bootstrap

For a native build, the default configuration is to perform a 3-stage bootstrap of the compiler when ‘make’ is invoked, testing that GCC can compile itself correctly. If you want to disable this process, you can configure with --disable-bootstrap.

--enable-bootstrap

In special cases, you may want to perform a 3-stage build even if the target and host triplets are different. This is possible when the host can run code compiled for the target (e.g. host is i686-linux, target is i486-linux). Starting from GCC 4.2, to do this you have to configure explicitly with --enable-bootstrap.

--enable-generated-files-in-srcdir

Neither the .c and .h files that are generated from Bison and flex nor the info manuals and man pages that are built from the .texi files are present in the repository development tree. When building GCC from that development tree, or from one of our snapshots, those generated files are placed in your build directory, which allows for the source to be in a readonly directory.

If you configure with --enable-generated-files-in-srcdir then those generated files will go into the source directory. This is mainly intended for generating release or prerelease tarballs of the GCC sources, since it is not a requirement that the users of source releases to have flex, Bison, or makeinfo.

--enable-version-specific-runtime-libs

Specify that runtime libraries should be installed in the compiler specific subdirectory (libdir/gcc) rather than the usual places. In addition, ‘libstdc++’’s include files will be installed into libdir unless you overruled it by using --with-gxx-include-dir=dirname. Using this option is particularly useful if you intend to use several versions of GCC in parallel. The default is ‘yes’ for ‘libada’, and ‘no’ for the remaining libraries.

--with-darwin-extra-rpath

This is provided to allow distributions to add a single additional runpath on Darwin / macOS systems. This allows for cases where the installed GCC library directories are then symlinked to a common directory outside of the GCC installation.

--with-aix-soname=‘aix’, ‘svr4’ or ‘both’

Traditional AIX shared library versioning (versioned Shared Object files as members of unversioned Archive Library files named ‘lib.a’) causes numerous headaches for package managers. However, Import Files as members of Archive Library files allow for filename-based versioning of shared libraries as seen on Linux/SVR4, where this is called the "SONAME". But as they prevent static linking, Import Files may be used with Runtime Linking only, where the linker does search for ‘libNAME.so’ before ‘libNAME.a’ library filenames with the ‘-lNAME’ linker flag.

For detailed information please refer to the AIX ld Command reference.

As long as shared library creation is enabled, upon:

--with-aix-soname=aix
--with-aix-soname=both

A (traditional AIX) Shared Archive Library file is created:

  • using the ‘libNAME.a’ filename scheme
  • with the Shared Object file as archive member named ‘libNAME.so.V’ (except for ‘libgcc_s’, where the Shared Object file is named ‘shr.o’ for backwards compatibility), which
    • is used for runtime loading from inside the ‘libNAME.a’ file
    • is used for dynamic loading via dlopen("libNAME.a(libNAME.so.V)", RTLD_MEMBER)
    • is used for shared linking
    • is used for static linking, so no separate Static Archive Library file is needed
--with-aix-soname=both
--with-aix-soname=svr4

A (second) Shared Archive Library file is created:

  • using the ‘libNAME.so.V’ filename scheme
  • with the Shared Object file as archive member named ‘shr.o’, which
    • is created with the -G linker flag
    • has the F_LOADONLY flag set
    • is used for runtime loading from inside the ‘libNAME.so.V’ file
    • is used for dynamic loading via dlopen("libNAME.so.V(shr.o)", RTLD_MEMBER)
  • with the Import File as archive member named ‘shr.imp’, which
    • refers to ‘libNAME.so.V(shr.o)’ as the "SONAME", to be recorded in the Loader Section of subsequent binaries
    • indicates whether ‘libNAME.so.V(shr.o)’ is 32 or 64 bit
    • lists all the public symbols exported by ‘lib.so.V(shr.o)’, eventually decorated with the ‘weak’ Keyword
    • is necessary for shared linking against ‘lib.so.V(shr.o)’

A symbolic link using the ‘libNAME.so’ filename scheme is created:

  • pointing to the ‘libNAME.so.V’ Shared Archive Library file
  • to permit the ld Command to find ‘lib.so.V(shr.imp)’ via the ‘-lNAME’ argument (requires Runtime Linking to be enabled)
  • to permit dynamic loading of ‘lib.so.V(shr.o)’ without the need to specify the version number via dlopen("libNAME.so(shr.o)", RTLD_MEMBER)

As long as static library creation is enabled, upon:

--with-aix-soname=svr4

A Static Archive Library is created:

  • using the ‘libNAME.a’ filename scheme
  • with all the Static Object files as archive members, which
    • are used for static linking

While the aix-soname=‘svr4’ option does not create Shared Object files as members of unversioned Archive Library files any more, package managers still are responsible to transfer Shared Object files found as member of a previously installed unversioned Archive Library file into the newly installed Archive Library file with the same filename.

WARNING: Creating Shared Object files with Runtime Linking enabled may bloat the TOC, eventually leading to TOC overflow errors, requiring the use of either the -Wl,-bbigtoc linker flag (seen to break with the GDB debugger) or some of the TOC-related compiler flags, see “RS/6000 and PowerPC Options” in the main manual.

--with-aix-soname is currently supported by ‘libgcc_s’ only, so this option is still experimental and not for normal use yet.

Default is the traditional behavior --with-aix-soname=‘aix’.

--enable-languages=lang1,lang2,…

Specify that only a particular subset of compilers and their runtime libraries should be built. For a list of valid values for langN you can issue the following command in the gcc directory of your GCC source tree:

grep ^language= */config-lang.in

Currently, you can use any of the following: all, default, ada, c, c++, d, fortran, go, jit, lto, m2, objc, obj-c++. Building the Ada compiler has special requirements, see below. If you do not pass this flag, or specify the option default, then the default languages available in the gcc sub-tree will be configured. Ada, D, Go, Jit, Objective-C++ and Modula-2 are not default languages. LTO is not a default language, but is built by default because --enable-lto is enabled by default. The other languages are default languages. If all is specified, then all available languages are built. An exception is jit language, which requires --enable-host-shared to be included with all.

--enable-stage1-languages=lang1,lang2,…

Specify that a particular subset of compilers and their runtime libraries should be built with the system C compiler during stage 1 of the bootstrap process, rather than only in later stages with the bootstrapped C compiler. The list of valid values is the same as for --enable-languages, and the option all will select all of the languages enabled by --enable-languages. This option is primarily useful for GCC development; for instance, when a development version of the compiler cannot bootstrap due to compiler bugs, or when one is debugging front ends other than the C front end. When this option is used, one can then build the target libraries for the specified languages with the stage-1 compiler by using make stage1-bubble all-target, or run the testsuite on the stage-1 compiler for the specified languages using make stage1-start check-gcc.

--disable-libada

Specify that the run-time libraries and tools used by GNAT should not be built. This can be useful for debugging, or for compatibility with previous Ada build procedures, when it was required to explicitly do a ‘make -C gcc gnatlib_and_tools’.

--disable-libgm2

Specify that the run-time libraries and tools used by Modula-2 should not be built. This can be useful for debugging.

--disable-libsanitizer

Specify that the run-time libraries for the various sanitizers should not be built.

--disable-libssp

Specify that the run-time libraries for stack smashing protection should not be built or linked against. On many targets library support is provided by the C library instead.

--disable-libquadmath

Specify that the GCC quad-precision math library should not be built. On some systems, the library is required to be linkable when building the Fortran front end, unless --disable-libquadmath-support is used.

--disable-libquadmath-support

Specify that the Fortran front end and libgfortran do not add support for libquadmath on systems supporting it.

--disable-libgomp

Specify that the GNU Offloading and Multi Processing Runtime Library should not be built.

--disable-libvtv

Specify that the run-time libraries used by vtable verification should not be built.

--with-dwarf2

Specify that the compiler should use DWARF debugging information as the default; the exact DWARF version that is the default is target-specific.

--with-advance-toolchain=at

On 64-bit PowerPC Linux systems, configure the compiler to use the header files, library files, and the dynamic linker from the Advance Toolchain release at instead of the default versions that are provided by the Linux distribution. In general, this option is intended for the developers of GCC, and it is not intended for general use.

--enable-targets=all
--enable-targets=target_list

Some GCC targets, e.g. powerpc64-linux, build bi-arch compilers. These are compilers that are able to generate either 64-bit or 32-bit code. Typically, the corresponding 32-bit target, e.g. powerpc-linux for powerpc64-linux, only generates 32-bit code. This option enables the 32-bit target to be a bi-arch compiler, which is useful when you want a bi-arch compiler that defaults to 32-bit, and you are building a bi-arch or multi-arch binutils in a combined tree. On mips-linux, this will build a tri-arch compiler (ABI o32/n32/64), defaulted to o32. Currently, this option only affects sparc-linux, powerpc-linux, x86-linux, mips-linux and s390-linux.

--enable-default-pie

Turn on -fPIE and -pie by default.

--enable-secureplt

This option enables -msecure-plt by default for powerpc-linux. See “RS/6000 and PowerPC Options” in the main manual

--enable-default-ssp

Turn on -fstack-protector-strong by default.

--enable-cld

This option enables -mcld by default for 32-bit x86 targets. See “i386 and x86-64 Options” in the main manual

--enable-large-address-aware

The --enable-large-address-aware option arranges for MinGW executables to be linked using the --large-address-aware option, that enables the use of more than 2GB of memory. If GCC is configured with this option, its effects can be reversed by passing the -Wl,--disable-large-address-aware option to the so-configured compiler driver.

--enable-win32-registry
--enable-win32-registry=key
--disable-win32-registry

The --enable-win32-registry option enables Microsoft Windows-hosted GCC to look up installations paths in the registry using the following key:

HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\key

key defaults to GCC version number, and can be overridden by the --enable-win32-registry=key option. Vendors and distributors who use custom installers are encouraged to provide a different key, perhaps one comprised of vendor name and GCC version number, to avoid conflict with existing installations. This feature is enabled by default, and can be disabled by --disable-win32-registry option. This option has no effect on the other hosts.

--nfp

Specify that the machine does not have a floating point unit. This option only applies to ‘m68k-sun-sunosn’. On any other system, --nfp has no effect.

--enable-werror
--disable-werror
--enable-werror=yes
--enable-werror=no

When you specify this option, it controls whether certain files in the compiler are built with -Werror in bootstrap stage2 and later. If you don’t specify it, -Werror is turned on for the main development trunk. However it defaults to off for release branches and final releases. The specific files which get -Werror are controlled by the Makefiles.

--enable-checking
--disable-checking
--enable-checking=list

This option controls performing internal consistency checks in the compiler. It does not change the generated code, but adds error checking of the requested complexity. This slows down the compiler and may only work properly if you are building the compiler with GCC.

When the option is not specified, the active set of checks depends on context. Namely, bootstrap stage 1 defaults to ‘--enable-checking=yes’, builds from release branches or release archives default to ‘--enable-checking=release’, and otherwise ‘--enable-checking=yes,extra’ is used. When the option is specified without a list, the result is the same as ‘--enable-checking=yes’. Likewise, ‘--disable-checking’ is equivalent to ‘--enable-checking=no’.

The categories of checks available in list are ‘yes’ (most common checks ‘assert,misc,gc,gimple,rtlflag,runtime,tree,types’), ‘no’ (no checks at all), ‘all’ (all but ‘valgrind’), ‘release’ (cheapest checks ‘assert,runtime’) or ‘none’ (same as ‘no’). ‘release’ checks are always on and to disable them ‘--disable-checking’ or ‘--enable-checking=no[,<other checks>]’ must be explicitly requested. Disabling assertions makes the compiler and runtime slightly faster but increases the risk of undetected internal errors causing wrong code to be generated.

Individual checks can be enabled with these flags: ‘assert’, ‘df’, ‘extra’, ‘fold’, ‘gc’, ‘gcac’, ‘gimple’, ‘misc’, ‘rtl’, ‘rtlflag’, ‘runtime’, ‘tree’, ‘types’ and ‘valgrind’. ‘extra’ extends ‘misc’ checking with extra checks that might affect code generation and should therefore not differ between stage1 and later stages in bootstrap.

The ‘valgrind’ check requires the external valgrind simulator, available from https://valgrind.org. The ‘rtl’ checks are expensive and the ‘df’, ‘gcac’ and ‘valgrind’ checks are very expensive.

--disable-stage1-checking
--enable-stage1-checking
--enable-stage1-checking=list

This option affects only bootstrap build. If no --enable-checking option is specified the stage1 compiler is built with ‘yes’ checking enabled, otherwise the stage1 checking flags are the same as specified by --enable-checking. To build the stage1 compiler with different checking options use --enable-stage1-checking. The list of checking options is the same as for --enable-checking. If your system is too slow or too small to bootstrap a released compiler with checking for stage1 enabled, you can use ‘--disable-stage1-checking’ to disable checking for the stage1 compiler.

--enable-coverage
--enable-coverage=level

With this option, the compiler is built to collect self coverage information, every time it is run. This is for internal development purposes, and only works when the compiler is being built with gcc. The level argument controls whether the compiler is built optimized or not, values are ‘opt’ and ‘noopt’. For coverage analysis you want to disable optimization, for performance analysis you want to enable optimization. When coverage is enabled, the default level is without optimization.

--enable-gather-detailed-mem-stats

When this option is specified more detailed information on memory allocation is gathered. This information is printed when using -fmem-report.

--enable-valgrind-annotations

Mark selected memory related operations in the compiler when run under valgrind to suppress false positives.

--enable-nls
--disable-nls

The --enable-nls option enables Native Language Support (NLS), which lets GCC output diagnostics in languages other than American English. Native Language Support is enabled by default if not doing a canadian cross build. The --disable-nls option disables NLS.

Note that this functionality requires either libintl (provided by GNU gettext) or C standard library that contains support for gettext (such as the GNU C Library). See –with-included-gettext for more information on the conditions required to get gettext support.

--with-libintl-prefix=dir
--without-libintl-prefix

Searches for libintl in dir/include and dir/lib, or disables manual searching for it, letting the linker handle it.

--with-libintl-type=type

Specifies the type of library to search for when looking for libintl. type can be one of auto, static or shared.

--with-included-gettext

Only available if gettext is present in the source tree.

Forces the gettext tree to be configured to build and use a new static libintl, overriding the system libintl. Results in GCC being built against the newly built libintl rather than the system libintl.

The build system makes a somewhat complicated choice when picking where to get gettext routines from. The following table is a summary of the possible options:

GNU gettext present in sourceslibintl installed on the systemgettext present in libc--with-included-gettextEffects on localization
NoNoNo(ignored)No localization
NoNoYes(ignored)Localized, libc gettext
NoYesNo(ignored)Localized, libintl
NoYesYes(ignored)Localized, libintl
YesNoNoNoLocalized, new, static libintl
YesNoNoYesLocalized, new, static libintl
YesNoYesNoLocalized, libc gettext
YesNoYesYesLocalized, new, static libintl
YesYesNoNoLocalized, libintl
YesYesNoYesLocalized, new, static libintl
YesYesYesNoLocalized, libintl
YesYesYesYesLocalized, new, static libintl
--with-catgets

If NLS is enabled, and if the host lacks gettext but has the inferior catgets interface, the GCC build procedure normally ignores catgets and instead uses GCC’s copy of the GNU gettext library. The --with-catgets option causes the build procedure to use the host’s catgets in this situation.

--with-libiconv-prefix=dir

Search for libiconv header files in dir/include and libiconv library files in dir/lib.

--enable-obsolete

Enable configuration for an obsoleted system. If you attempt to configure GCC for a system (build, host, or target) which has been obsoleted, and you do not specify this flag, configure will halt with an error message.

All support for systems which have been obsoleted in one release of GCC is removed entirely in the next major release, unless someone steps forward to maintain the port.

--enable-decimal-float
--enable-decimal-float=yes
--enable-decimal-float=no
--enable-decimal-float=bid
--enable-decimal-float=dpd
--disable-decimal-float

Enable (or disable) support for the C decimal floating point extension that is in the IEEE 754-2008 standard. This is enabled by default only on AArch64, PowerPC, i386, and x86_64 GNU/Linux systems. Other systems may also support it, but require the user to specifically enable it. You can optionally control which decimal floating point format is used (either ‘bid’ or ‘dpd’). The ‘bid’ (binary integer decimal) format is default on AArch64, i386 and x86_64 systems, and the ‘dpd’ (densely packed decimal) format is default on PowerPC systems.

--enable-fixed-point
--disable-fixed-point

Enable (or disable) support for C fixed-point arithmetic. This option is enabled by default for some targets (such as MIPS) which have hardware-support for fixed-point operations. On other targets, you may enable this option manually.

--with-long-double-128

Specify if long double type should be 128-bit by default on selected GNU/Linux architectures. If using --without-long-double-128, long double will be by default 64-bit, the same as double type. When neither of these configure options are used, the default will be 128-bit long double when built against GNU C Library 2.4 and later, 64-bit long double otherwise.

--with-long-double-format=ibm
--with-long-double-format=ieee

Specify whether long double uses the IBM extended double format or the IEEE 128-bit floating point format on PowerPC Linux systems. This configuration switch will only work on little endian PowerPC Linux systems and on big endian 64-bit systems where the default cpu is at least power7 (i.e. --with-cpu=power7, --with-cpu=power8, or --with-cpu=power9 is used).

If you use the --with-long-double-64 configuration option, the --with-long-double-format=ibm and --with-long-double-format=ieee options are ignored.

The default long double format is to use IBM extended double. Until all of the libraries are converted to use IEEE 128-bit floating point, it is not recommended to use --with-long-double-format=ieee.

--enable-fdpic

On SH Linux systems, generate ELF FDPIC code.

--with-gmp=pathname
--with-gmp-include=pathname
--with-gmp-lib=pathname
--with-mpfr=pathname
--with-mpfr-include=pathname
--with-mpfr-lib=pathname
--with-mpc=pathname
--with-mpc-include=pathname
--with-mpc-lib=pathname

If you want to build GCC but do not have the GMP library, the MPFR library and/or the MPC library installed in a standard location and do not have their sources present in the GCC source tree then you can explicitly specify the directory where they are installed (‘--with-gmp=gmpinstalldir’, ‘--with-mpfr=mpfrinstalldir’, ‘--with-mpc=mpcinstalldir’). The --with-gmp=gmpinstalldir option is shorthand for --with-gmp-lib=gmpinstalldir/lib and --with-gmp-include=gmpinstalldir/include. Likewise the --with-mpfr=mpfrinstalldir option is shorthand for --with-mpfr-lib=mpfrinstalldir/lib and --with-mpfr-include=mpfrinstalldir/include, also the --with-mpc=mpcinstalldir option is shorthand for --with-mpc-lib=mpcinstalldir/lib and --with-mpc-include=mpcinstalldir/include. If these shorthand assumptions are not correct, you can use the explicit include and lib options directly. You might also need to ensure the shared libraries can be found by the dynamic linker when building and using GCC, for example by setting the runtime shared library path variable (LD_LIBRARY_PATH on GNU/Linux and Solaris systems).

These flags are applicable to the host platform only. When building a cross compiler, they will not be used to configure target libraries.

--with-isl=pathname
--with-isl-include=pathname
--with-isl-lib=pathname

If you do not have the isl library installed in a standard location and you want to build GCC, you can explicitly specify the directory where it is installed (‘--with-isl=islinstalldir’). The --with-isl=islinstalldir option is shorthand for --with-isl-lib=islinstalldir/lib and --with-isl-include=islinstalldir/include. If this shorthand assumption is not correct, you can use the explicit include and lib options directly.

These flags are applicable to the host platform only. When building a cross compiler, they will not be used to configure target libraries.

--with-stage1-ldflags=flags

This option may be used to set linker flags to be used when linking stage 1 of GCC. These are also used when linking GCC if configured with --disable-bootstrap. If --with-stage1-libs is not set to a value, then the default is ‘-static-libstdc++ -static-libgcc’, if supported.

--with-stage1-libs=libs

This option may be used to set libraries to be used when linking stage 1 of GCC. These are also used when linking GCC if configured with --disable-bootstrap.

--with-boot-ldflags=flags

This option may be used to set linker flags to be used when linking stage 2 and later when bootstrapping GCC. If –with-boot-libs is not is set to a value, then the default is ‘-static-libstdc++ -static-libgcc’.

--with-boot-libs=libs

This option may be used to set libraries to be used when linking stage 2 and later when bootstrapping GCC.

--with-debug-prefix-map=map

Convert source directory names using -fdebug-prefix-map when building runtime libraries. ‘map’ is a space-separated list of maps of the form ‘old=new’.

--enable-linker-build-id

Tells GCC to pass --build-id option to the linker for all final links (links performed without the -r or --relocatable option), if the linker supports it. If you specify --enable-linker-build-id, but your linker does not support --build-id option, a warning is issued and the --enable-linker-build-id option is ignored. The default is off.

--with-linker-hash-style=choice

Tells GCC to pass --hash-style=choice option to the linker for all final links. choice can be one of ‘sysv’, ‘gnu’, and ‘both’ where ‘sysv’ is the default.

--enable-gnu-unique-object
--disable-gnu-unique-object

Tells GCC to use the gnu_unique_object relocation for C++ template static data members and inline function local statics. Enabled by default for a toolchain with an assembler that accepts it and GLIBC 2.11 or above, otherwise disabled.

--with-diagnostics-color=choice

Tells GCC to use choice as the default for -fdiagnostics-color= option (if not used explicitly on the command line). choice can be one of ‘never’, ‘auto’, ‘always’, and ‘auto-if-env’ where ‘auto’ is the default. ‘auto-if-env’ makes -fdiagnostics-color=auto the default if GCC_COLORS is present and non-empty in the environment of the compiler, and -fdiagnostics-color=never otherwise.

--with-diagnostics-urls=choice

Tells GCC to use choice as the default for -fdiagnostics-urls= option (if not used explicitly on the command line). choice can be one of ‘never’, ‘auto’, ‘always’, and ‘auto-if-env’ where ‘auto’ is the default. ‘auto-if-env’ makes -fdiagnostics-urls=auto the default if GCC_URLS or TERM_URLS is present and non-empty in the environment of the compiler, and -fdiagnostics-urls=never otherwise.

--enable-lto
--disable-lto

Enable support for link-time optimization (LTO). This is enabled by default, and may be disabled using --disable-lto.

--enable-linker-plugin-configure-flags=FLAGS
--enable-linker-plugin-flags=FLAGS

By default, linker plugins (such as the LTO plugin) are built for the host system architecture. For the case that the linker has a different (but run-time compatible) architecture, these flags can be specified to build plugins that are compatible to the linker. For example, if you are building GCC for a 64-bit x86_64 (‘x86_64-pc-linux-gnu’) host system, but have a 32-bit x86 GNU/Linux (‘i686-pc-linux-gnu’) linker executable (which is executable on the former system), you can configure GCC as follows for getting compatible linker plugins:

% srcdir/configure \
    --host=x86_64-pc-linux-gnu \
    --enable-linker-plugin-configure-flags=--host=i686-pc-linux-gnu \
    --enable-linker-plugin-flags='CC=gcc\ -m32\ -Wl,-rpath,[...]/i686-pc-linux-gnu/lib'
--with-plugin-ld=pathname

Enable an alternate linker to be used at link-time optimization (LTO) link time when -fuse-linker-plugin is enabled. This linker should have plugin support such as gold starting with version 2.20 or GNU ld starting with version 2.21. See -fuse-linker-plugin for details.

--enable-canonical-system-headers
--disable-canonical-system-headers

Enable system header path canonicalization for libcpp. This can produce shorter header file paths in diagnostics and dependency output files, but these changed header paths may conflict with some compilation environments. Enabled by default, and may be disabled using --disable-canonical-system-headers.

--with-glibc-version=major.minor

Tell GCC that when the GNU C Library (glibc) is used on the target it will be version major.minor or later. Normally this can be detected from the C library’s header files, but this option may be needed when bootstrapping a cross toolchain without the header files available for building the initial bootstrap compiler.

If GCC is configured with some multilibs that use glibc and some that do not, this option applies only to the multilibs that use glibc. However, such configurations may not work well as not all the relevant configuration in GCC is on a per-multilib basis.

--enable-as-accelerator-for=target

Build as offload target compiler. Specify offload host triple by target.

--enable-offload-targets=target1[=path1],…,targetN[=pathN]

Enable offloading to targets target1, …, targetN. Offload compilers are expected to be already installed. Default search path for them is exec-prefix, but it can be changed by specifying paths path1, …, pathN.

% srcdir/configure \
    --enable-offload-targets=amdgcn-amdhsa,nvptx-none
--enable-offload-defaulted

Tell GCC that configured but not installed offload compilers and libgomp plugins are silently ignored. Useful for distribution compilers where those are in separate optional packages and where the presence or absence of those optional packages should determine the actual supported offloading target set rather than the GCC configure-time selection.

--enable-cet
--disable-cet

Enable building target run-time libraries with control-flow instrumentation, see -fcf-protection option. When --enable-cet is specified target libraries are configured to add -fcf-protection and, if needed, other target specific options to a set of building options.

--enable-cet=auto is default. CET is enabled on Linux/x86 if target binutils supports Intel CET instructions and disabled otherwise. In this case, the target libraries are configured to get additional -fcf-protection option.

--with-riscv-attribute=‘yes’, ‘no’ or ‘default’

Generate RISC-V attribute by default, in order to record extra build information in object.

The option is disabled by default. It is enabled on RISC-V/ELF (bare-metal) target if target binutils supported.

--enable-s390-excess-float-precision
--disable-s390-excess-float-precision

On s390(x) targets, enable treatment of float expressions with double precision when in standards-compliant mode (e.g., when --std=c99 or -fexcess-precision=standard are given).

For a native build and cross compiles that have target headers, the option’s default is derived from glibc’s behavior. When glibc clamps float_t to double, GCC follows and enables the option. For other cross compiles, the default is disabled.

--with-zstd=pathname
--with-zstd-include=pathname
--with-zstd-lib=pathname

If you do not have the zstd library installed in a standard location and you want to build GCC, you can explicitly specify the directory where it is installed (‘--with-zstd=zstdinstalldir’). The --with-zstd=zstdinstalldir option is shorthand for --with-zstd-lib=zstdinstalldir/lib and --with-zstd-include=zstdinstalldir/include. If this shorthand assumption is not correct, you can use the explicit include and lib options directly.

These flags are applicable to the host platform only. When building a cross compiler, they will not be used to configure target libraries.

Cross-Compiler-Specific Options

The following options only apply to building cross compilers.

--with-toolexeclibdir=dir

Specify the installation directory for libraries built with a cross compiler. The default is ${gcc_tooldir}/lib.

--with-sysroot
--with-sysroot=dir

Tells GCC to consider dir as the root of a tree that contains (a subset of) the root filesystem of the target operating system. Target system headers, libraries and run-time object files will be searched for in there. More specifically, this acts as if --sysroot=dir was added to the default options of the built compiler. The specified directory is not copied into the install tree, unlike the options --with-headers and --with-libs that this option obsoletes. The default value, in case --with-sysroot is not given an argument, is ${gcc_tooldir}/sys-root. If the specified directory is a subdirectory of ${exec_prefix}, then it will be found relative to the GCC binaries if the installation tree is moved.

This option affects the system root for the compiler used to build target libraries (which runs on the build system) and the compiler newly installed with make install; it does not affect the compiler which is used to build GCC itself.

If you specify the --with-native-system-header-dir=dirname option then the compiler will search that directory within dirname for native system headers rather than the default /usr/include.

--with-build-sysroot
--with-build-sysroot=dir

Tells GCC to consider dir as the system root (see --with-sysroot) while building target libraries, instead of the directory specified with --with-sysroot. This option is only useful when you are already using --with-sysroot. You can use --with-build-sysroot when you are configuring with --prefix set to a directory that is different from the one in which you are installing GCC and your target libraries.

This option affects the system root for the compiler used to build target libraries (which runs on the build system); it does not affect the compiler which is used to build GCC itself.

If you specify the --with-native-system-header-dir=dirname option then the compiler will search that directory within dirname for native system headers rather than the default /usr/include.

--with-headers
--with-headers=dir

Deprecated in favor of --with-sysroot. Specifies that target headers are available when building a cross compiler. The dir argument specifies a directory which has the target include files. These include files will be copied into the gcc install directory. This option with the dir argument is required when building a cross compiler, if prefix/target/sys-include doesn’t pre-exist. If prefix/target/sys-include does pre-exist, the dir argument may be omitted. fixincludes will be run on these files to make them compatible with GCC.

--without-headers

Tells GCC not use any target headers from a libc when building a cross compiler. When crossing to GNU/Linux, you need the headers so GCC can build the exception handling for libgcc.

--with-libs
--with-libs="dir1 dir2 … dirN"

Deprecated in favor of --with-sysroot. Specifies a list of directories which contain the target runtime libraries. These libraries will be copied into the gcc install directory. If the directory list is omitted, this option has no effect.

--with-newlib

Specifies that ‘newlib’ is being used as the target C library. This causes __eprintf to be omitted from libgcc.a on the assumption that it will be provided by ‘newlib’.

--with-avrlibc

Only supported for the AVR target. Specifies that ‘AVR-Libc’ is being used as the target C  library. This causes float support functions like __addsf3 to be omitted from libgcc.a on the assumption that it will be provided by libm.a. For more technical details, cf. PR54461. It is not supported for RTEMS configurations, which currently use newlib. The option is supported since version 4.7.2 and is the default in 4.8.0 and newer.

--with-double={32|64|32,64|64,32}
--with-long-double={32|64|32,64|64,32|double}

Only supported for the AVR target since version 10. Specify the default layout available for the C/C++ ‘double’ and ‘long double’ type, respectively. The following rules apply:

Not all combinations of --with-double= and --with-long-double= are valid. For example, the combination --with-double=32,64 --with-long-double=32 will be rejected because the first option specifies the availability of multilibs for ‘double’, whereas the second option implies that ‘long double’ — and hence also ‘double’ — is always 32 bits wide.

--with-double-comparison={tristate|bool|libf7}

Only supported for the AVR target since version 10. Specify what result format is returned by library functions that compare 64-bit floating point values (DFmode). The GCC default is ‘tristate’. If the floating point implementation returns a boolean instead, set it to ‘bool’.

--with-libf7={libgcc|math|math-symbols|no}

Only supported for the AVR target since version 10. Specify to which degree code from LibF7 is included in libgcc. LibF7 is an ad-hoc, AVR-specific, 64-bit floating point emulation written in C and (inline) assembly. ‘libgcc’ adds support for functions that one would usually expect in libgcc like double addition, double comparisons and double conversions. ‘math’ also adds routines that one would expect in libm.a, but with __ (two underscores) prepended to the symbol names as specified by math.h. ‘math-symbols’ also defines weak aliases for the functions declared in math.h. However, --with-libf7 won’t install no math.h header file whatsoever, this file must come from elsewhere. This option sets --with-double-comparison to ‘bool’.

--with-nds32-lib=library

Specifies that library setting is used for building libgcc.a. Currently, the valid library is ‘newlib’ or ‘mculib’. This option is only supported for the NDS32 target.

--with-build-time-tools=dir

Specifies where to find the set of target tools (assembler, linker, etc.) that will be used while building GCC itself. This option can be useful if the directory layouts are different between the system you are building GCC on, and the system where you will deploy it.

For example, on an ‘ia64-hp-hpux’ system, you may have the GNU assembler and linker in /usr/bin, and the native tools in a different path, and build a toolchain that expects to find the native tools in /usr/bin.

When you use this option, you should ensure that dir includes ar, as, ld, nm, ranlib and strip if necessary, and possibly objdump. Otherwise, GCC may use an inconsistent set of tools.

Overriding configure test results

Sometimes, it might be necessary to override the result of some configure test, for example in order to ease porting to a new system or work around a bug in a test. The toplevel configure script provides three variables for this:

build_configargs

The contents of this variable is passed to all build configure scripts.

host_configargs

The contents of this variable is passed to all host configure scripts.

target_configargs

The contents of this variable is passed to all target configure scripts.

In order to avoid shell and make quoting issues for complex overrides, you can pass a setting for CONFIG_SITE and set variables in the site file.

Objective-C-Specific Options

The following options apply to the build of the Objective-C runtime library.

--enable-objc-gc

Specify that an additional variant of the GNU Objective-C runtime library is built, using an external build of the Boehm-Demers-Weiser garbage collector (https://www.hboehm.info/gc/). This library needs to be available for each multilib variant, unless configured with --enable-objc-gc=‘auto’ in which case the build of the additional runtime library is skipped when not available and the build continues.

--with-target-bdw-gc=list
--with-target-bdw-gc-include=list
--with-target-bdw-gc-lib=list

Specify search directories for the garbage collector header files and libraries. list is a comma separated list of key value pairs of the form ‘multilibdir=path’, where the default multilib key is named as ‘.’ (dot), or is omitted (e.g. ‘--with-target-bdw-gc=/opt/bdw-gc,32=/opt-bdw-gc32’).

The options --with-target-bdw-gc-include and --with-target-bdw-gc-lib must always be specified together for each multilib variant and they take precedence over --with-target-bdw-gc. If --with-target-bdw-gc-include is missing values for a multilib, then the value for the default multilib is used (e.g. ‘--with-target-bdw-gc-include=/opt/bdw-gc/include’ ‘--with-target-bdw-gc-lib=/opt/bdw-gc/lib64,32=/opt-bdw-gc/lib32’). If none of these options are specified, the library is assumed in default locations.

D-Specific Options

The following options apply to the build of the D runtime library.

--enable-libphobos-checking
--disable-libphobos-checking
--enable-libphobos-checking=list

This option controls whether run-time checks and contracts are compiled into the D runtime library. When the option is not specified, the library is built with ‘release’ checking. When the option is specified without a list, the result is the same as ‘--enable-libphobos-checking=yes’. Likewise, ‘--disable-libphobos-checking’ is equivalent to ‘--enable-libphobos-checking=no’.

The categories of checks available in list are ‘yes’ (compiles libphobos with -fno-release), ‘no’ (compiles libphobos with -frelease), ‘all’ (same as ‘yes’), ‘none’ or ‘release’ (same as ‘no’).

Individual checks available in list are ‘assert’ (compiles libphobos with an extra option -fassert).

--with-libphobos-druntime-only
--with-libphobos-druntime-only=choice

Specify whether to build only the core D runtime library (druntime), or both the core and standard library (phobos) into libphobos. This is useful for targets that have full support in druntime, but no or incomplete support in phobos. choice can be one of ‘auto’, ‘yes’, and ‘no’ where ‘auto’ is the default.

When the option is not specified, the default choice ‘auto’ means that it is inferred whether the target has support for the phobos standard library. When the option is specified without a choice, the result is the same as ‘--with-libphobos-druntime-only=yes’.

--with-target-system-zlib

Use installed ‘zlib’ rather than that included with GCC. This needs to be available for each multilib variant, unless configured with --with-target-system-zlib=‘auto’ in which case the GCC included ‘zlib’ is only used when the system installed library is not available.


Return to the GCC Installation page

@ 1.19 log @merge GCC 14.3.0. @ text @d1 1 a1 1 d3 4 a6 1 d32 2 d36 1 a36 5 a.summary-letter {text-decoration: none} blockquote.indentedblock {margin-right: 0em} blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} blockquote.smallquotation {font-size: smaller} div.display {margin-left: 3.2em} d38 3 a40 17 div.lisp {margin-left: 3.2em} div.smalldisplay {margin-left: 3.2em} div.smallexample {margin-left: 3.2em} div.smalllisp {margin-left: 3.2em} kbd {font-style: oblique} pre.display {font-family: inherit} pre.format {font-family: inherit} pre.menu-comment {font-family: serif} pre.menu-preformatted {font-family: serif} pre.smalldisplay {font-family: inherit; font-size: smaller} pre.smallexample {font-size: smaller} pre.smallformat {font-family: inherit; font-size: smaller} pre.smalllisp {font-size: smaller} span.nolinebreak {white-space: nowrap} span.roman {font-family: initial; font-weight: normal} span.sansserif {font-family: sans-serif; font-weight: normal} ul.no-bullet {list-style: none} a47 1

Installing GCC: Configuration

d70 2 a71 2 d77 2 a78 2

We use srcdir to refer to the toplevel source directory for GCC; we use objdir to refer to the toplevel build/object directory. d80 3 a82 3

If you obtained the sources by cloning the repository, srcdir must refer to the top gcc directory, the one where the MAINTAINERS file can be found, and not its gcc d85 2 a86 2

If either srcdir or objdir is located on an automounted NFS file system, the shell’s built-in pwd command will return d88 3 a90 3 problems. To avoid this issue, set the PWDCMD environment variable to an automounter-aware pwd command, e.g., pawd or ‘amq -w’, during the configuration and build d93 2 a94 2

First, we highly recommend that GCC be built into a separate directory from the sources which does not reside d96 2 a97 2 where objdir is a subdirectory of srcdir should work as well; building where objdir == srcdir is unsupported. d100 3 a102 3 different target machine, do ‘make distclean’ to delete all files that might be invalid. One of the files this deletes is Makefile; if ‘make distclean’ complains that Makefile does not exist d105 2 a106 2 recommended method of building in a separate objdir, you should simply use a different objdir for each target. d108 2 a109 2

Second, when configuring a native system, either cc or gcc must be in your path or you must set CC in d116 4 a119 4

% mkdir objdir
% cd objdir
% srcdir/configure [options] [target]
d122 1
a122 2

Distributor options

d128 2 a129 2
--with-pkgversion=version
d132 2 a133 2 included in the output of gcc --version. This suffix does not replace the default version string, only the ‘GCC’ part. d135 1 a135 1

The default value is ‘GCC’. d138 1 a138 1

--with-bugurl=url
d146 3 a148 3
--with-documentation-root-url=url

Specify the URL root that contains GCC option documentation. The url should end with a / character. d150 1 a150 1

The default value is https://gcc.gnu.org/onlinedocs/ d152 1 a152 1 is https://gcc.gnu.org/onlinedocs/gcc-major.minor.0/. d155 1 a155 1

--with-changes-root-url=url
d157 2 a158 2 releases like gcc-version/changes.html. The url should end with a / character. d160 1 a160 1

The default value is https://gcc.gnu.org/. d165 1 a165 2

Host, Build and Target specification

d168 1 a168 1 when you run the configure script. d170 3 a172 3

The build machine is the system which you are using, the host machine is the system where you want to run the resulting compiler (normally the build machine), and the target machine is d177 1 a177 1 to configure; it will try to guess the type of machine you are on d180 1 a180 1 configure cannot figure out what your configuration is or guesses d183 2 a184 2

In those cases, specify the build machine’s configuration name with the --host option; the host and target will default to be d189 2 a190 2

./configure --host=x86_64-pc-linux-gnu
d194 1
a194 1
abbreviated (config.sub script produces canonical versions).
d197 1
a197 1
It looks like this: ‘cpu-company-system’.
d201 1
a201 1
d216 2 a217 2

aixversion, amdhsa, aout, cygwin, darwinversion, d219 1 a219 1 elfbare, elfoabi, freebsdversion, gnu, hpux, hpuxversion, d222 2 a223 2 mmixware, msdosdjgpp, netbsd, netbsdelfversion, nto-qnx, openbsd, rtems, solarisversion, symbianelf, tpf, uclinux, uclinux_eabi, vms, d227 1 a227 2

Options specification

d229 2 a230 2

Use options to override several configure time options for GCC. A list of supported options follows; ‘configure d234 3 a236 3

Note that each --enable option has a corresponding --disable option and that each --with option has a corresponding --without option. d238 2 a239 2

--prefix=dirname
d243 1 a243 1 /usr/local. d245 2 a246 2

We highly recommend against dirname being the same or a subdirectory of objdir or vice versa. If specifying a directory d248 2 a249 2 dirname correctly if it contains the ‘~’ metacharacter; use $HOME instead. d251 1 a251 1

The following standard autoconf options are supported. Normally you d253 2 a254 2

--exec-prefix=dirname
d256 1 a256 1 files. The default is prefix. d259 1 a259 1
--bindir=dirname
d261 2 a262 2 (such as gcc and g++). The default is exec-prefix/bin. d265 1 a265 1
--libdir=dirname
d267 1 a267 1 internal data files of GCC. The default is exec-prefix/lib. d270 1 a270 1
--libexecdir=dirname
d272 1 a272 1 The default is exec-prefix/libexec. d275 1 a275 1
--with-slibdir=dirname
d277 1 a277 1 default is libdir. d280 1 a280 1
--datarootdir=dirname
d282 1 a282 1 data files referenced by GCC. The default is prefix/share. d285 1 a285 1
--infodir=dirname
d287 1 a287 1 The default is datarootdir/info. d290 1 a290 1
--datadir=dirname
d292 1 a292 1 data files referenced by GCC. The default is datarootdir. d295 1 a295 1
--docdir=dirname
d297 1 a297 1 than Info) for GCC. The default is datarootdir/doc. d300 1 a300 1
--htmldir=dirname
d302 1 a302 1 The default is docdir. d305 1 a305 1
--pdfdir=dirname
d307 1 a307 1 The default is docdir. d310 1 a310 1
--mandir=dirname
d312 1 a312 1 datarootdir/man. (Note that the manual pages are only extracts d318 1 a318 1
--with-gxx-include-dir=dirname
d325 1 a325 1
--with-specs=specs
d329 1 a329 1 --with-specs=%{!fcommon:%{!fno-common:-fno-common}}. d336 1 a336 1
--program-prefix=prefix
d338 21 a358 21 installing them. This option prepends prefix to the names of programs to install in bindir (see above). For example, specifying --program-prefix=foo- would result in ‘gcc’ being installed as /usr/local/bin/foo-gcc.

--program-suffix=suffix

Appends suffix to the names of programs to install in bindir (see above). For example, specifying --program-suffix=-3.1 would result in ‘gcc’ being installed as /usr/local/bin/gcc-3.1.

--program-transform-name=pattern

Applies the ‘sed’ script pattern to be applied to the names of programs to install in bindir (see above). pattern has to consist of one or more basic ‘sed’ editing commands, separated by semicolons. For example, if you want the ‘gcc’ program name to be transformed to the installed program /usr/local/bin/myowngcc and the ‘g++’ program name to be transformed to /usr/local/bin/gspecial++ without changing other program names, d360 1 a360 1 --program-transform-name='s/^gcc$/myowngcc/; s/^g++$/gspecial++/' d364 3 a366 3 complex conversion patterns. As a basic rule, prefix (and suffix) are prepended (appended) before further transformations can happen with a special transformation script pattern. d374 1 a374 1 ‘i686-pc-linux-gnu-gcc’. All of the above transformations happen d376 1 a376 1 --program-prefix=foo- and program-suffix=-3.1, the d378 1 a378 1 /usr/local/bin/i686-pc-linux-gnu-foo-gcc-3.1. d384 1 a384 1

--with-local-prefix=dirname
d387 3 a389 3 /usr/local. Specify this option if you want the compiler to search directory dirname/include for locally installed header files instead of /usr/local/include. d391 2 a392 2

You should specify --with-local-prefix only if your site has a different convention (not /usr/local) for where to put d395 3 a397 3

The default value for --with-local-prefix is /usr/local regardless of the value of --prefix. Specifying --prefix has no effect on which directory GCC searches for d401 2 a402 2

The purpose of --prefix is to specify where to install GCC. The local header files in /usr/local/include—if you put d405 1 a405 1 another directory which is based on the --prefix value.) d415 1 a415 1

Some autoconf macros add -I directory options to the d417 1 a417 1 packages’ headers are searched. When directory is one of GCC’s d424 1 a424 1 GCC_EXEC_PREFIX. Thus, when the same installation prefix is d428 1 a428 1 installed as a system compiler in /usr. d432 2 a433 2 --program-prefix, --program-suffix and --program-transform-name options to install multiple versions d435 1 a435 1 and the --with-local-prefix option to specify the location of the d438 1 a438 1 (e.g., with LIBRARY_PATH). d440 3 a442 3

The same value can be used for both --with-local-prefix and --prefix provided it is not /usr. This can be used to avoid the default search of /usr/local/include. d444 2 a445 2

Do not specify /usr as the --with-local-prefix! The directory you use for --with-local-prefix must not d449 1 a449 1 file corrections made by the fixincludes script. d457 1 a457 1

--with-gcc-major-version-only
d459 1 a459 1 major.minor.patchlevel in filesystem paths. d462 3 a464 3
--with-native-system-header-dir=dirname

Specifies that dirname is the directory that contains native system header files, rather than /usr/include. This option is most useful d467 2 a468 2 --with-sysroot option and will cause GCC to search dirname inside the system root specified by that option. d471 1 a471 1

--enable-shared[=package[,…]]
d479 8 a486 8 ‘libgcc’ (also known as ‘gcc’), ‘libstdc++’ (not ‘libstdc++-v3’), ‘libffi’, ‘zlib’, ‘boehm-gc’, ‘ada’, ‘libada’, ‘libgo’, ‘libobjc’, and ‘libphobos’. Note ‘libiberty’ does not support shared libraries at all.

Use --disable-shared to build only static libraries. Note that --disable-shared does not accept a list of package names as argument, only --enable-shared does. d488 1 a488 1

Contrast with --enable-host-shared, which affects host d492 3 a494 3

--enable-host-shared

Specify that the host code should be built into position-independent machine code (with -fPIC), allowing it to be used within shared d499 1 a499 1

Contrast with --enable-shared, which affects target d503 3 a505 3

--enable-host-pie

Specify that the host executables should be built into position-independent executables (with -fPIE and -pie), d507 1 a507 1 --enable-host-shared). Position-independent executables are loaded d511 2 a512 2

--enable-host-pie may be used with --enable-host-shared, in which case -fPIC is used when compiling, and -pie when d516 3 a518 3

--enable-host-bind-now

Specify that the host executables should be linked with the option -Wl,-z,now, which means that the dynamic linker will resolve all d523 1 a523 1

--with-gnu-as
d529 1 a529 1 configured with --with-gnu-as.) If you have more than one d531 2 a532 2 connection with --with-as=pathname or --with-build-time-tools=pathname. d536 1 a536 1 --with-gnu-as has no effect. d538 4 a541 4
  • ‘hppa1.0-any-any’
  • ‘hppa1.1-any-any’
  • ‘*-*-solaris2.11’ d545 1 a545 1
    --with-as=pathname
    d547 1 a547 1 pathname, rather than the one found by the standard rules to find d549 9 a557 9

    • Unless GCC is being built with a cross compiler, check the libexec/gcc/target/version directory. libexec defaults to exec-prefix/libexec; exec-prefix defaults to prefix, which defaults to /usr/local unless overridden by the --prefix=pathname switch described above. target is the target system triple, such as ‘sparc-sun-solaris2.11’, and version denotes the GCC version, such as 3.0. d559 1 a559 1
    • If the target system is the same that you are building on, check d562 1 a562 1
    • Check in the PATH for a tool whose name is prefixed by the d565 1 a565 1
    • Check in the PATH for a tool whose name is not prefixed by the d571 1 a571 1

      You may want to use --with-as if no assembler d577 2 a578 2

      --with-gnu-ld

      Same as --with-gnu-as d582 2 a583 2

      --with-ld=pathname

      Same as --with-as d587 2 a588 2

      --with-dsymutil=pathname

      Same as --with-as d592 4 a595 4

      --with-tls=dialect

      Specify the default TLS dialect, for systems were there is a choice. For ARM targets, possible values for dialect are gnu or gnu2, which select between the original GNU dialect and the GNU TLS d597 2 a598 2 For RISC-V targets, possible values for dialect are trad or desc, which select between the traditional GNU dialect and the GNU TLS d602 1 a602 1

      --enable-multiarch
      d606 2 a607 2 and for cross builds configured with --with-sysroot, and without --with-native-system-header-dir. d609 1 a609 1 https://wiki.debian.org/Multiarch. d612 3 a614 3
      --enable-sjlj-exceptions

      Force use of the setjmp/longjmp-based scheme for exceptions. ‘configure’ ordinarily picks the correct value based on the platform. d618 1 a618 1

      --enable-vtable-verify
      d627 2 a628 2 still be built (see --disable-libvtv to turn off building libvtv). --disable-vtable-verify is the default. d631 1 a631 1
      --disable-gcov
      d636 1 a636 1
      --disable-multilib
      d643 3 a645 3 (e.g., --disable-softfloat):

      arm-*-*
      d649 1 a649 1
      m68*-*-*
      d653 1 a653 1
      mips*-*-*
      d657 1 a657 1
      msp430-*-*
      d661 1 a661 1
      powerpc*-*-*, rs6000*-*-*
      d669 3 a671 3
      --with-multilib-list=list
      --without-multilib-list

      Specify what multilibs to build. list is a comma separated list of d677 3 a679 3

      aarch64*-*-*

      list is a comma separated list of ilp32, and lp64 d681 3 a683 3 list is empty, then there will be no multilibs and only the default run-time library will be built. If list is default or –with-multilib-list= is not specified, then the d685 1 a685 1 --target. d688 4 a691 4

      amdgcn*-*-*

      list is a comma separated list of ISA names (allowed values: fiji, gfx900, gfx906, gfx908, gfx90a, gfx90c, gfx1030, gfx1036, gfx1100, gfx1103). d693 1 a693 1 ISA, specified via --with-arch. If list is empty, then there d695 1 a695 1 list is default or --with-multilib-list= is not d699 3 a701 3

      arm*-*-*

      list is a comma separated list of aprofile and rmprofile to build multilibs for A or R and M architecture d703 1 a703 1 multilib framework, using the combined aprofile,rmprofile d706 1 a706 1 default is also accepted and is equivalent to omitting the d709 2 a710 2

      list may instead contain @@name, to use the multilib configuration Makefile fragment name in gcc/config/arm in d713 1 a713 1 be named starting with t-ml-, to make their intended purpose d717 2 a718 2 files. See gcc/config/arm/t-multilib and its supplementary gcc/config/arm/t-*profile files for an example of what such d721 1 a721 1 releases, so make sure they define the MULTILIB-related macros d728 1 a728 1 aprofile and rmprofile. d730 3 a732 3 d734 9 a742 9 -march=armv7-a
      -march=armv7ve
      -march=armv8-a


      d744 15 a758 14 -mfpu=vfpv3-d16
      -mfpu=neon
      -mfpu=vfpv4-d16
      -mfpu=neon-vfpv4
      -mfpu=neon-fp-armv8 d762 4 a765 4
      loongarch*-*-*

      list is a comma-separated list, with each of the element starting with the following ABI identifiers: lp64d[/base] lp64f[/base] lp64d[/base] (the /base suffix may be omitted) d768 1 a768 1

      A suffix [/arch][/option/…] may follow immediately d770 4 a773 4 given set of libraries. arch denotes the architecture name recognized by the -march=arch compiler option, which acts as a basic target ISA configuration that can be adjusted using the subsequent option suffixes, where each option is a compiler option without a leading dash d777 3 a779 3 configured value of --with-multilib-default is appended as a default suffix. If --with-multilib-default is not given, the default build option -march=abi-default is applied when building the variants d782 1 a782 1

      As a special case, fixed may be used in the position of arch, d784 2 a785 2 --with-arch=arch, or its default value (e.g. loongarch64 for loongarch64-* targets). d787 1 a787 1

      If list is empty or default, or if --with-multilib-list d792 4 a795 4

      riscv*-*-*

      list is a single ABI name. The target architecture must be either rv32gc or rv64gc. This will build a single multilib for the specified architecture and ABI pair. If --with-multilib-list is not d797 1 a797 1 --target. This is usually a large set of multilibs. d800 3 a802 3

      sh*-*-*

      list is a comma separated list of CPU names. These must be of the form sh* or m* (in which case they match the compiler option d804 1 a804 1 these are handled by --with-endian. d806 1 a806 1

      If list is empty, then there will be no multilibs for extra d809 1 a809 1

      As a special case, if an entry in the list starts with a ! d811 2 a812 2 Entries of this sort should be compatible with ‘MULTILIB_EXCLUDES’ (once the leading ! has been stripped). d814 2 a815 2

      If --with-multilib-list is not given, then a default set of multilibs is selected based on the value of --target. This is d821 2 a822 2

      --with-cpu=sh4a --with-endian=little,big --with-multilib-list=
      d827 2
      a828 2
      

      --with-cpu=sh4a --with-endian=little,big \
      d833 4
      a836 4
      
      x86-64-*-linux*

      list is a comma separated list of m32, m64 and mx32 to enable 32-bit, 64-bit and x32 run-time libraries, respectively. If list is empty, then there will be no multilibs d839 1 a839 1

      If --with-multilib-list is not given, then only 32-bit and d845 1 a845 1

      --with-multilib-default
      d848 4 a851 4 --with-multilib-list items. The format of this value is [/arch][/option/…], where arch is an architecture name recognized by -march=arch compiler option, and subsequent option suffixes are compiler options minus a leading d854 2 a855 2

      Multiple options may appear consecutively while arch may only appear in the beginning or be omitted (which means -march=abi-default d859 2 a860 2

      --with-strict-align-lib

      On LoongArch targets, build all enabled multilibs with -mstrict-align d864 2 a865 2

      --with-multilib-generator=config

      Specify what multilibs to build. config is a semicolon separated list of d874 2 a875 2

      rv32i-ilp32--
      d879 2
      a880 2
      

      rv32i-ilp32--;rv32imafd-ilp32--
      d885 2
      a886 2
      

      rv32i-ilp32-rv32im-c
      d891 2
      a892 2
      

      rv64ima-lp64--f,c,fc
      d895 3
      a897 3
      

      --with-multilib-generator have an optional configuration argument --cmodel=val for code model, this option will expand with other config options, val is a comma separated list of possible code model, d902 2 a903 2

      rv64ima-lp64--;--cmodel=medlow
      d908 2
      a909 2
      

      rv64ima-lp64--;--cmodel=medlow,medany
      d913 1
      a913 1
      
      --with-endian=endians
      d917 3 a919 3

      endians may be one of the following:

      big
      d922 1 a922 1
      little
      d925 1 a925 1
      big,little
      d928 1 a928 1
      little,big
      d934 1 a934 1
      --enable-threads
      d943 2 a944 2 available for the system. In this case, --enable-threads is an alias for --enable-threads=single. d947 1 a947 1
      --disable-threads
      d949 1 a949 1 This is an alias for --enable-threads=single. d952 1 a952 1
      --enable-threads=lib
      d954 1 a954 1 lib is the thread support library. This affects the Objective-C d956 1 a956 1 like C++. The possibilities for lib are: d958 2 a959 2
      aix
      d962 1 a962 1
      dce
      d965 1 a965 1
      lynx
      d968 1 a968 1
      mipssde
      d971 2 a972 2
      no

      This is an alias for ‘single’. d974 1 a974 1

      posix
      d977 1 a977 1
      rtems
      d980 1 a980 1
      single
      d983 1 a983 1
      tpf
      d986 1 a986 1
      vxworks
      d989 1 a989 1
      win32
      d995 1 a995 1
      --enable-tls
      d999 1 a999 1 --enable-tls or --disable-tls. This can happen if d1004 1 a1004 1
      --disable-tls
      d1006 1 a1006 1 This is an alias for --enable-tls=no. d1009 1 a1009 1
      --disable-tm-clone-registry
      d1015 3 a1017 3
      --with-cpu=cpu
      --with-cpu-32=cpu
      --with-cpu-64=cpu
      d1019 1 a1019 1 cpu will be used as the default value of the -mcpu= switch. d1021 2 a1022 2 PowerPC, and SPARC. It is mandatory for ARC. The --with-cpu-32 and --with-cpu-64 options specify separate default CPUs for d1027 15 a1041 15
      --with-schedule=cpu
      --with-arch=cpu
      --with-arch-32=cpu
      --with-arch-64=cpu
      --with-tune=cpu
      --with-tune-32=cpu
      --with-tune-64=cpu
      --with-abi=abi
      --with-fpu=type
      --with-float=type
      --with-simd=type

      These configure options provide default values for the -mschedule=, -march=, -mtune=, -mabi=, and -mfpu= options and for -mhard-float or -msoft-float. As with --with-cpu, which switches will be accepted and acceptable values d1045 2 a1046 2

      --with-mode=mode

      Specify if the compiler should default to -marm or -mthumb. d1050 2 a1051 2

      --with-stack-offset=num

      This option sets the default for the -mstack-offset=num option, d1056 4 a1059 4

      --with-fpmath=isa

      This options sets -mfpmath=sse by default and specifies the default ISA for floating-point arithmetics. You can select either ‘sse’ which enables -msse2 or ‘avx’ which enables -mavx by default. d1063 6 a1068 6

      --with-fp-32=mode

      On MIPS targets, set the default value for the -mfp option when using the o32 ABI. The possibilities for mode are:

      32

      Use the o32 FP32 ABI extension, as with the -mfp32 command-line d1071 2 a1072 2

      xx

      Use the o32 FPXX ABI extension, as with the -mfpxx command-line d1075 2 a1076 2

      64

      Use the o32 FP64 ABI extension, as with the -mfp64 command-line d1084 2 a1085 2

      --with-odd-spreg-32

      On MIPS targets, set the -modd-spreg option by default when using d1089 2 a1090 2

      --without-odd-spreg-32

      On MIPS targets, set the -mno-odd-spreg option by default when using d1092 1 a1092 1 --with-fp-32=64 in order to target the o32 FP64A ABI extension. d1095 1 a1095 1

      --with-nan=encoding
      d1098 4 a1101 4 possibilities for encoding are:

      legacy

      Use the legacy encoding, as with the -mnan=legacy command-line d1104 2 a1105 2

      2008

      Use the 754-2008 encoding, as with the -mnan=2008 command-line d1110 1 a1110 1 installed that supports the -mnan= command-line option too. d1112 2 a1113 2 the legacy encoding, as when neither of the -mnan=2008 and -mnan=legacy command-line options has been used. d1116 1 a1116 1

      --with-divide=type
      d1119 3 a1121 3 The possibilities for type are:

      traps
      d1125 1 a1125 1
      breaks
      d1131 1 a1131 1
      --with-compact-branches=policy
      d1134 3 a1136 3 The possibilities for type are:

      optimal
      d1141 1 a1141 1
      never
      d1144 1 a1144 1
      always
      d1155 3 a1157 3
      --with-llsc

      On MIPS targets, make -mllsc the default when no -mno-llsc option is passed. This is the default for d1162 3 a1164 3

      --without-llsc

      On MIPS targets, make -mno-llsc the default when no -mllsc option is passed. d1167 3 a1169 3

      --with-synci

      On MIPS targets, make -msynci the default when no -mno-synci option is passed. d1172 3 a1174 3

      --without-synci

      On MIPS targets, make -mno-synci the default when no -msynci option is passed. This is the default. d1177 3 a1179 3

      --with-lxc1-sxc1

      On MIPS targets, make -mlxc1-sxc1 the default when no -mno-lxc1-sxc1 option is passed. This is the default. d1182 3 a1184 3

      --without-lxc1-sxc1

      On MIPS targets, make -mno-lxc1-sxc1 the default when no -mlxc1-sxc1 option is passed. The indexed load/store d1192 2 a1193 2 as an addu instruction or as part of the address calculation in lwxc1 type instructions. This assumption holds true in a d1198 3 a1200 3

      --with-madd4

      On MIPS targets, make -mmadd4 the default when no -mno-madd4 option is passed. This is the default. d1203 3 a1205 3

      --without-madd4

      On MIPS targets, make -mno-madd4 the default when no -mmadd4 option is passed. The madd4 instruction d1214 3 a1216 3

      --with-msa

      On MIPS targets, make -mmsa the default when no -mno-msa option is passed. d1219 3 a1221 3

      --without-msa

      On MIPS targets, make -mno-msa the default when no -mmsa option is passed. This is the default. d1224 1 a1224 1

      --with-mips-plt
      d1231 1 a1231 1
      --with-stack-clash-protection-guard-size=size
      d1233 1 a1233 1 size as a power of two in bytes. On AArch64 size is required to be either d1237 1 a1237 1
      --with-isa-spec=ISA-spec-string
      d1240 3 a1242 3 The possibilities for ISA-spec-string are:

      2.2
      d1245 1 a1245 1
      20190608
      d1248 1 a1248 1
      20191213
      d1255 1 a1255 1
      --enable-__cxa_atexit
      d1261 1 a1261 1 -fuse-cxa-atexit to be passed by default. d1264 2 a1265 2
      --enable-gnu-indirect-function

      Define if you want to enable the ifunc attribute. This option is d1269 1 a1269 1

      --enable-target-optspace
      d1275 3 a1277 3
      --with-cpp-install-dir=dirname

      Specify that the user visible cpp program should be installed in prefix/dirname/cpp, in addition to bindir. d1280 1 a1280 1

      --enable-comdat
      d1285 4 a1288 4
      --enable-initfini-array

      Force the use of sections .init_array and .fini_array (instead of .init and .fini) for constructors and destructors. Option --disable-initfini-array has the d1290 2 a1291 2 will try to guess whether the .init_array and .fini_array sections are supported and, if they are, use them. d1294 1 a1294 1

      --enable-link-mutex
      d1300 1 a1300 1
      --enable-link-serialization
      d1309 1 a1309 1
      --enable-maintainer-mode
      d1311 1 a1311 1 well as the GCC master message catalog gcc.pot are normally d1314 2 a1315 2 catalog, configuring with --enable-maintainer-mode will enable this. Note that you need a recent version of the gettext tools d1319 1 a1319 1
      --disable-bootstrap
      d1321 1 a1321 1 a 3-stage bootstrap of the compiler when ‘make’ is invoked, d1323 1 a1323 1 this process, you can configure with --disable-bootstrap. d1326 1 a1326 1
      --enable-bootstrap
      d1332 1 a1332 1 with --enable-bootstrap. d1335 1 a1335 1
      --enable-generated-files-in-srcdir
      d1343 1 a1343 1

      If you configure with --enable-generated-files-in-srcdir then those d1350 1 a1350 1

      --enable-version-specific-runtime-libs
      d1353 4 a1356 4 subdirectory (libdir/gcc) rather than the usual places. In addition, ‘libstdc++’’s include files will be installed into libdir unless you overruled it by using --with-gxx-include-dir=dirname. Using this option is d1358 1 a1358 1 parallel. The default is ‘yes’ for ‘libada’, and ‘no’ for d1362 1 a1362 1
      --with-darwin-extra-rpath
      d1369 6 a1374 6
      --with-aix-soname=‘aix’, ‘svr4’ or ‘both’

      Traditional AIX shared library versioning (versioned Shared Object files as members of unversioned Archive Library files named ‘lib.a’) causes numerous headaches for package managers. However, Import Files as members of Archive Library files allow for filename-based versioning of shared libraries as seen on Linux/SVR4, d1376 3 a1378 3 Import Files may be used with Runtime Linking only, where the linker does search for ‘libNAME.so’ before ‘libNAME.a’ library filenames with the ‘-lNAME’ linker flag. d1380 2 a1381 2

      For detailed information please refer to the AIX ld d1385 15 a1399 15

      --with-aix-soname=aix
      --with-aix-soname=both

      A (traditional AIX) Shared Archive Library file is created:

      Optionaprofilermprofile
      ISAs-marm and -mthumb-mthumb
      default architecture
      -march=armv6s-m
      -march=armv7-m
      -march=armv7e-m
      -march=armv8-m.base
      -march=armv8-m.main
      -march=armv7
      none
      -mfpu=vfpv3-d16
      -mfpu=fpv4-sp-d16
      -mfpu=fpv5-sp-d16
      -mfpu=fpv5-d16
      floating-point ABIs

      -mfloat-abi=soft
      -mfloat-abi=softfp
      -mfloat-abi=hard
      -mfloat-abi=soft
      -mfloat-abi=softfp
      -mfloat-abi=hard
      d1782 1 d1786 6 a1791 6
      --with-catgets

      If NLS is enabled, and if the host lacks gettext but has the inferior catgets interface, the GCC build procedure normally ignores catgets and instead uses GCC’s copy of the GNU gettext library. The --with-catgets option causes the build procedure to use the host’s catgets in this situation. d1794 3 a1796 3

      --with-libiconv-prefix=dir

      Search for libiconv header files in dir/include and libiconv library files in dir/lib. d1799 1 a1799 1

      --enable-obsolete
      d1810 6 a1815 6
      --enable-decimal-float
      --enable-decimal-float=yes
      --enable-decimal-float=no
      --enable-decimal-float=bid
      --enable-decimal-float=dpd
      --disable-decimal-float
      d1821 1 a1821 1 format is used (either ‘bid’ or ‘dpd’). The ‘bid’ d1823 1 a1823 1 systems, and the ‘dpd’ (densely packed decimal) format is default d1827 2 a1828 2
      --enable-fixed-point
      --disable-fixed-point
      d1835 4 a1838 4
      --with-long-double-128

      Specify if long double type should be 128-bit by default on selected GNU/Linux architectures. If using --without-long-double-128, long double will be by default 64-bit, the same as double type. d1840 2 a1841 2 128-bit long double when built against GNU C Library 2.4 and later, 64-bit long double otherwise. d1844 3 a1846 3

      --with-long-double-format=ibm
      --with-long-double-format=ieee

      Specify whether long double uses the IBM extended double format d1850 2 a1851 2 is at least power7 (i.e. --with-cpu=power7, --with-cpu=power8, or --with-cpu=power9 is used). d1853 3 a1855 3

      If you use the --with-long-double-64 configuration option, the --with-long-double-format=ibm and --with-long-double-format=ieee options are ignored. d1857 1 a1857 1

      The default long double format is to use IBM extended double. d1860 1 a1860 1 --with-long-double-format=ieee. d1863 1 a1863 1

      --enable-fdpic
      d1867 9 a1875 9
      --with-gmp=pathname
      --with-gmp-include=pathname
      --with-gmp-lib=pathname
      --with-mpfr=pathname
      --with-mpfr-include=pathname
      --with-mpfr-lib=pathname
      --with-mpc=pathname
      --with-mpc-include=pathname
      --with-mpc-lib=pathname
      d1880 12 a1891 12 (‘--with-gmp=gmpinstalldir’, ‘--with-mpfr=mpfrinstalldir’, ‘--with-mpc=mpcinstalldir’). The --with-gmp=gmpinstalldir option is shorthand for --with-gmp-lib=gmpinstalldir/lib and --with-gmp-include=gmpinstalldir/include. Likewise the --with-mpfr=mpfrinstalldir option is shorthand for --with-mpfr-lib=mpfrinstalldir/lib and --with-mpfr-include=mpfrinstalldir/include, also the --with-mpc=mpcinstalldir option is shorthand for --with-mpc-lib=mpcinstalldir/lib and --with-mpc-include=mpcinstalldir/include. If these d1896 1 a1896 1 variable (LD_LIBRARY_PATH on GNU/Linux and Solaris systems). d1902 3 a1904 3
      --with-isl=pathname
      --with-isl-include=pathname
      --with-isl-lib=pathname
      d1907 4 a1910 4 installed (‘--with-isl=islinstalldir’). The --with-isl=islinstalldir option is shorthand for --with-isl-lib=islinstalldir/lib and --with-isl-include=islinstalldir/include. If this d1918 1 a1918 1
      --with-stage1-ldflags=flags
      d1921 2 a1922 2 --disable-bootstrap. If --with-stage1-libs is not set to a value, then the default is ‘-static-libstdc++ -static-libgcc’, if d1926 1 a1926 1
      --with-stage1-libs=libs
      d1929 1 a1929 1 --disable-bootstrap. d1932 1 a1932 1
      --with-boot-ldflags=flags
      d1936 1 a1936 1 ‘-static-libstdc++ -static-libgcc’. d1939 1 a1939 1
      --with-boot-libs=libs
      d1944 4 a1947 4
      --with-debug-prefix-map=map

      Convert source directory names using -fdebug-prefix-map when building runtime libraries. ‘map’ is a space-separated list of maps of the form ‘old=new’. d1950 3 a1952 3

      --enable-linker-build-id

      Tells GCC to pass --build-id option to the linker for all final links (links performed without the -r or --relocatable d1954 3 a1956 3 --enable-linker-build-id, but your linker does not support --build-id option, a warning is issued and the --enable-linker-build-id option is ignored. The default is off. d1959 4 a1962 4

      --with-linker-hash-style=choice

      Tells GCC to pass --hash-style=choice option to the linker for all final links. choice can be one of ‘sysv’, ‘gnu’, and ‘both’ where ‘sysv’ is the default. d1965 2 a1966 2

      --enable-gnu-unique-object
      --disable-gnu-unique-object
      d1973 6 a1978 6
      --with-diagnostics-color=choice

      Tells GCC to use choice as the default for -fdiagnostics-color= option (if not used explicitly on the command line). choice can be one of ‘never’, ‘auto’, ‘always’, and ‘auto-if-env’ where ‘auto’ is the default. ‘auto-if-env’ makes -fdiagnostics-color=auto the default if GCC_COLORS d1980 1 a1980 1 -fdiagnostics-color=never otherwise. d1983 8 a1990 8

      --with-diagnostics-urls=choice

      Tells GCC to use choice as the default for -fdiagnostics-urls= option (if not used explicitly on the command line). choice can be one of ‘never’, ‘auto’, ‘always’, and ‘auto-if-env’ where ‘auto’ is the default. ‘auto-if-env’ makes -fdiagnostics-urls=auto the default if GCC_URLS or TERM_URLS is present and non-empty in the environment of the compiler, and -fdiagnostics-urls=never otherwise. d1993 2 a1994 2

      --enable-lto
      --disable-lto
      d1996 1 a1996 1 default, and may be disabled using --disable-lto. d1999 2 a2000 2
      --enable-linker-plugin-configure-flags=FLAGS
      --enable-linker-plugin-flags=FLAGS
      d2006 2 a2007 2 (‘x86_64-pc-linux-gnu’) host system, but have a 32-bit x86 GNU/Linux (‘i686-pc-linux-gnu’) linker executable (which is d2011 2 a2012 2
      % srcdir/configure \
      d2019 1
      a2019 1
      
      --with-plugin-ld=pathname
      d2021 1 a2021 1 link time when -fuse-linker-plugin is enabled. d2024 1 a2024 1 See -fuse-linker-plugin for details. d2027 3 a2029 3
      --enable-canonical-system-headers
      --disable-canonical-system-headers

      Enable system header path canonicalization for libcpp. This can d2033 1 a2033 1 --disable-canonical-system-headers. d2036 1 a2036 1

      --with-glibc-version=major.minor
      d2038 1 a2038 1 will be version major.minor or later. Normally this can d2049 2 a2050 2
      --enable-as-accelerator-for=target

      Build as offload target compiler. Specify offload host triple by target. d2053 2 a2054 2

      --enable-offload-targets=target1[=path1],…,targetN[=pathN]

      Enable offloading to targets target1, …, targetN. d2056 2 a2057 2 path for them is exec-prefix, but it can be changed by specifying paths path1, …, pathN. d2059 2 a2060 2

      % srcdir/configure \
      d2065 1
      a2065 1
      
      --enable-offload-defaulted
      d2074 2 a2075 2
      --enable-cet
      --disable-cet
      d2077 3 a2079 3 instrumentation, see -fcf-protection option. When --enable-cet is specified target libraries are configured to add -fcf-protection and, if needed, other target d2082 2 a2083 2

      --enable-cet=auto is default. CET is enabled on Linux/x86 if target binutils supports Intel CET instructions and disabled d2085 1 a2085 1 additional -fcf-protection option. d2088 1 a2088 1

      --with-riscv-attribute=‘yes’, ‘no’ or ‘default’
      d2096 2 a2097 2
      --enable-s390-excess-float-precision
      --disable-s390-excess-float-precision
      d2099 2 a2100 2 when in standards-compliant mode (e.g., when --std=c99 or -fexcess-precision=standard are given). d2108 4 a2111 4
      --with-zstd=pathname
      --with-zstd-include=pathname
      --with-zstd-lib=pathname

      If you do not have the zstd library installed in a standard d2113 4 a2116 4 directory where it is installed (‘--with-zstd=zstdinstalldir’). The --with-zstd=zstdinstalldir option is shorthand for --with-zstd-lib=zstdinstalldir/lib and --with-zstd-include=zstdinstalldir/include. If this d2125 1 a2125 2

      Cross-Compiler-Specific Options

      d2128 2 a2129 2
      --with-toolexeclibdir=dir
      d2131 1 a2131 1 The default is ${gcc_tooldir}/lib. d2134 3 a2136 3
      --with-sysroot
      --with-sysroot=dir

      Tells GCC to consider dir as the root of a tree that contains d2140 1 a2140 1 --sysroot=dir was added to the default options of the built d2142 5 a2146 5 install tree, unlike the options --with-headers and --with-libs that this option obsoletes. The default value, in case --with-sysroot is not given an argument, is ${gcc_tooldir}/sys-root. If the specified directory is a subdirectory of ${exec_prefix}, then it will be found relative to d2151 1 a2151 1 installed with make install; it does not affect the compiler which is d2154 3 a2156 3

      If you specify the --with-native-system-header-dir=dirname option then the compiler will search that directory within dirname for native system headers rather than the default /usr/include. d2159 8 a2166 8

      --with-build-sysroot
      --with-build-sysroot=dir

      Tells GCC to consider dir as the system root (see --with-sysroot) while building target libraries, instead of the directory specified with --with-sysroot. This option is only useful when you are already using --with-sysroot. You can use --with-build-sysroot when you are configuring with --prefix set to a directory that is different from the one in d2173 3 a2175 3

      If you specify the --with-native-system-header-dir=dirname option then the compiler will search that directory within dirname for native system headers rather than the default /usr/include. d2178 3 a2180 3

      --with-headers
      --with-headers=dir

      Deprecated in favor of --with-sysroot. d2182 6 a2187 6 The dir argument specifies a directory which has the target include files. These include files will be copied into the gcc install directory. This option with the dir argument is required when building a cross compiler, if prefix/target/sys-include doesn’t pre-exist. If prefix/target/sys-include does pre-exist, the dir argument may be omitted. fixincludes d2191 1 a2191 1

      --without-headers
      d2197 3 a2199 3
      --with-libs
      --with-libs="dir1 dir2 … dirN"

      Deprecated in favor of --with-sysroot. d2201 1 a2201 1 libraries. These libraries will be copied into the gcc install d2206 5 a2210 5

      --with-newlib

      Specifies that ‘newlib’ is being used as the target C library. This causes __eprintf to be omitted from libgcc.a on the assumption that it will be provided by ‘newlib’. d2214 2 a2215 2

      --with-avrlibc

      Only supported for the AVR target. Specifies that ‘AVR-Libc’ is d2217 3 a2219 3 functions like __addsf3 to be omitted from libgcc.a on the assumption that it will be provided by libm.a. For more technical details, cf. PR54461. d2225 2 a2226 2

      --with-double={32|64|32,64|64,32}
      --with-long-double={32|64|32,64|64,32|double}
      d2228 8 a2235 8 Specify the default layout available for the C/C++ ‘double’ and ‘long double’ type, respectively. The following rules apply:

      • The first value after the ‘=’ specifies the default layout (in bits) of the type and also the default for the -mdouble= resp. -mlong-double= compiler option.
      • If more than one value is specified, respective multilib variants are available, and -mdouble= resp. -mlong-double= acts d2237 4 a2240 4
      • If --with-long-double=double is specified, ‘double’ and ‘long double’ will have the same layout.
      • The defaults are --with-long-double=64,32 and --with-double=32,64. The default ‘double’ layout imposed by d2242 1 a2242 1 ‘double’ as a 32-bit type, which does not comply to the language standard. d2244 3 a2246 3

        Not all combinations of --with-double= and --with-long-double= are valid. For example, the combination --with-double=32,64 --with-long-double=32 will be d2248 2 a2249 2 multilibs for ‘double’, whereas the second option implies that ‘long double’ — and hence also ‘double’ — is always d2253 1 a2253 1

        --with-double-comparison={tristate|bool|libf7}
        d2256 3 a2258 3 compare 64-bit floating point values (DFmode). The GCC default is ‘tristate’. If the floating point implementation returns a boolean instead, set it to ‘bool’. d2261 1 a2261 1
        --with-libf7={libgcc|math|math-symbols|no}
        d2265 1 a2265 1 written in C and (inline) assembly. ‘libgcc’ adds support d2267 8 a2274 8 double comparisons and double conversions. ‘math’ also adds routines that one would expect in libm.a, but with __ (two underscores) prepended to the symbol names as specified by math.h. ‘math-symbols’ also defines weak aliases for the functions declared in math.h. However, --with-libf7 won’t install no math.h header file whatsoever, this file must come from elsewhere. This option sets --with-double-comparison to ‘bool’. d2277 3 a2279 3
        --with-nds32-lib=library

        Specifies that library setting is used for building libgcc.a. Currently, the valid library is ‘newlib’ or ‘mculib’. d2283 1 a2283 1

        --with-build-time-tools=dir
        d2289 2 a2290 2

        For example, on an ‘ia64-hp-hpux’ system, you may have the GNU assembler and linker in /usr/bin, and the native tools in a d2292 1 a2292 1 native tools in /usr/bin. d2294 4 a2297 4

        When you use this option, you should ensure that dir includes ar, as, ld, nm, ranlib and strip if necessary, and possibly objdump. Otherwise, GCC may use an inconsistent set of d2302 1 a2302 2

        Overriding configure test results

        d2305 2 a2306 2 configure test, for example in order to ease porting to a new system or work around a bug in a test. The toplevel configure d2309 3 a2311 6
        build_configargs

        The contents of this variable is passed to all build configure a2313 1 d2315 2 a2316 2

        host_configargs

        The contents of this variable is passed to all host configure a2318 1 d2320 2 a2321 2

        target_configargs

        The contents of this variable is passed to all target configure d2327 2 a2328 2

        In order to avoid shell and make quoting issues for complex overrides, you can pass a setting for CONFIG_SITE and set d2331 1 a2331 2

        Objective-C-Specific Options

        d2335 2 a2336 2
        --enable-objc-gc
        d2339 1 a2339 1 collector (https://www.hboehm.info/gc/). This library needs to be d2341 1 a2341 1 --enable-objc-gc=‘auto’ in which case the build of the d2346 3 a2348 3
        --with-target-bdw-gc=list
        --with-target-bdw-gc-include=list
        --with-target-bdw-gc-lib=list
        d2350 4 a2353 4 libraries. list is a comma separated list of key value pairs of the form ‘multilibdir=path’, where the default multilib key is named as ‘.’ (dot), or is omitted (e.g. ‘--with-target-bdw-gc=/opt/bdw-gc,32=/opt-bdw-gc32’). d2355 2 a2356 2

        The options --with-target-bdw-gc-include and --with-target-bdw-gc-lib must always be specified together d2358 1 a2358 1 --with-target-bdw-gc. If --with-target-bdw-gc-include d2360 2 a2361 2 multilib is used (e.g. ‘--with-target-bdw-gc-include=/opt/bdw-gc/include’ ‘--with-target-bdw-gc-lib=/opt/bdw-gc/lib64,32=/opt-bdw-gc/lib32’). d2367 1 a2367 2

        D-Specific Options

        d2371 4 a2374 4
        --enable-libphobos-checking
        --disable-libphobos-checking
        --enable-libphobos-checking=list
        d2377 9 a2385 9 with ‘release’ checking. When the option is specified without a list, the result is the same as ‘--enable-libphobos-checking=yes’. Likewise, ‘--disable-libphobos-checking’ is equivalent to ‘--enable-libphobos-checking=no’.

        The categories of checks available in list are ‘yes’ (compiles libphobos with -fno-release), ‘no’ (compiles libphobos with -frelease), ‘all’ (same as ‘yes’), ‘none’ or ‘release’ (same as ‘no’). d2387 2 a2388 2

        Individual checks available in list are ‘assert’ (compiles libphobos with an extra option -fassert). d2391 2 a2392 2

        --with-libphobos-druntime-only
        --with-libphobos-druntime-only=choice
        d2396 2 a2397 2 in phobos. choice can be one of ‘auto’, ‘yes’, and ‘no’ where ‘auto’ is the default. d2399 1 a2399 1

        When the option is not specified, the default choice ‘auto’ means that it d2401 2 a2402 2 When the option is specified without a choice, the result is the same as ‘--with-libphobos-druntime-only=yes’. d2405 2 a2406 2

        --with-target-system-zlib

        Use installed ‘zlib’ rather than that included with GCC. This needs d2408 2 a2409 2 --with-target-system-zlib=‘auto’ in which case the GCC included ‘zlib’ is only used when the system installed library is not available. d2415 1 a2415 1

        Return to the GCC Installation page @ 1.18 log @merge GCC 12.5.0. XXX istream.cc may need more work. @ text @d3 1 a3 1 d22 3 a31 2 a33 1 a.copiable-anchor {visibility: hidden; text-decoration: none; line-height: 0em} d36 2 d40 4 d49 4 a55 1 span:hover a.copiable-anchor {visibility: visible} d84 2 a85 2 d131 2 a132 2

        % mkdir objdir
        d137 2
        a138 1
        

        Distributor options

        d145 1 a145 1
        --with-pkgversion=version
        d154 1 a154 1
        --with-bugurl=url
        d162 1 a162 1
        --with-documentation-root-url=url
        d169 1 a169 1
        --with-changes-root-url=url
        d179 2 a180 1

        Host, Build and Target specification

        d204 2 a205 2
        ./configure --host=x86_64-pc-linux-gnu
        d242 2
        a243 1
        

        Options specification

        d255 1 a255 1
        --prefix=dirname
        d270 1 a270 1
        --exec-prefix=dirname
        d275 1 a275 1
        --bindir=dirname
        d281 1 a281 1
        --libdir=dirname
        d286 1 a286 1
        --libexecdir=dirname
        d291 1 a291 1
        --with-slibdir=dirname
        d296 1 a296 1
        --datarootdir=dirname
        d301 1 a301 1
        --infodir=dirname
        d306 1 a306 1
        --datadir=dirname
        d311 1 a311 1
        --docdir=dirname
        d316 1 a316 1
        --htmldir=dirname
        d321 1 a321 1
        --pdfdir=dirname
        d326 1 a326 1
        --mandir=dirname
        d334 1 a334 1
        --with-gxx-include-dir=dirname
        d341 1 a341 1
        --with-specs=specs
        d352 1 a352 1
        --program-prefix=prefix
        d360 1 a360 1
        --program-suffix=suffix
        d367 1 a367 1
        --program-transform-name=pattern
        d400 1 a400 1
        --with-local-prefix=dirname
        d473 1 a473 1
        --with-gcc-major-version-only
        d478 1 a478 1
        --with-native-system-header-dir=dirname
        d487 1 a487 1
        --enable-shared[=package[,…]]
        d508 1 a508 1
        --enable-host-shared
        d519 1 a519 1
        --with-gnu-as
        d542 1 a542 1
        --with-as=pathname
        d575 1 a575 1
        --with-gnu-ld
        d580 1 a580 1
        --with-ld=pathname
        d585 1 a585 1
        --with-dsymutil=pathname
        d590 1 a590 1
        --with-tls=dialect
        d597 1 a597 1
        --enable-multiarch
        d607 1 a607 1
        --enable-sjlj-exceptions
        d613 1 a613 1
        --enable-vtable-verify
        d626 1 a626 1
        --disable-gcov
        d631 1 a631 1
        --disable-multilib
        d640 1 a640 1
        arm-*-*
        d644 1 a644 1
        m68*-*-*
        d648 1 a648 1
        mips*-*-*
        d652 1 a652 1
        msp430-*-*
        d656 1 a656 1
        powerpc*-*-*, rs6000*-*-*
        d664 2 a665 2
        --with-multilib-list=list
        --without-multilib-list
        d673 1 a673 1
        aarch64*-*-*
        d683 1 a683 1
        arm*-*-*
        d745 1 a745 1
        loongarch*-*-*
        d754 1 a754 1
        riscv*-*-*
        d762 1 a762 1
        sh*-*-*
        d783 2 a784 2

        --with-cpu=sh4a --with-endian=little,big --with-multilib-list=
        d789 2
        a790 2
        

        --with-cpu=sh4a --with-endian=little,big \
        d795 1
        a795 1
        
        x86-64-*-linux*
        d807 1 a807 1
        --with-multilib-generator=config
        d817 2 a818 2

        rv32i-ilp32--
        d822 2
        a823 2
        

        rv32i-ilp32--;rv32imafd-ilp32--
        d828 2
        a829 2
        

        rv32i-ilp32-rv32im-c
        d834 2
        a835 2
        

        rv64ima-lp64--f,c,fc
        d845 2
        a846 2
        

        rv64ima-lp64--;--cmodel=medlow
        d851 2
        a852 2
        

        rv64ima-lp64--;--cmodel=medlow,medany
        d856 1
        a856 1
        
        --with-endian=endians
        d862 1 a862 1
        big
        d865 1 a865 1
        little
        d868 1 a868 1
        big,little
        d871 1 a871 1
        little,big
        d877 1 a877 1
        --enable-threads
        d890 1 a890 1
        --disable-threads
        d895 1 a895 1
        --enable-threads=lib
        d902 1 a902 1
        aix
        d905 1 a905 1
        dce
        d908 1 a908 1
        lynx
        d911 1 a911 1
        mipssde
        d914 1 a914 1
        no
        d917 1 a917 1
        posix
        d920 1 a920 1
        rtems
        d923 1 a923 1
        single
        d926 1 a926 1
        tpf
        d929 1 a929 1
        vxworks
        d932 1 a932 1
        win32
        d938 1 a938 1
        --enable-tls
        d947 1 a947 1
        --disable-tls
        d952 1 a952 1
        --disable-tm-clone-registry
        d958 3 a960 3
        --with-cpu=cpu
        --with-cpu-32=cpu
        --with-cpu-64=cpu
        d970 10 a979 10
        --with-schedule=cpu
        --with-arch=cpu
        --with-arch-32=cpu
        --with-arch-64=cpu
        --with-tune=cpu
        --with-tune-32=cpu
        --with-tune-64=cpu
        --with-abi=abi
        --with-fpu=type
        --with-float=type
        d987 1 a987 1
        --with-mode=mode
        d992 1 a992 1
        --with-stack-offset=num
        d998 1 a998 1
        --with-fpmath=isa
        d1005 1 a1005 1
        --with-fp-32=mode
        d1009 1 a1009 1
        32
        d1013 1 a1013 1
        xx
        d1017 1 a1017 1
        64
        d1026 1 a1026 1
        --with-odd-spreg-32
        d1031 1 a1031 1
        --without-odd-spreg-32
        d1037 1 a1037 1
        --with-nan=encoding
        d1042 1 a1042 1
        legacy
        d1046 1 a1046 1
        2008
        d1058 1 a1058 1
        --with-divide=type
        d1063 1 a1063 1
        traps
        d1067 1 a1067 1
        breaks
        d1074 1 a1074 1
        --with-llsc
        d1081 1 a1081 1
        --without-llsc
        d1086 1 a1086 1
        --with-synci
        d1091 1 a1091 1
        --without-synci
        d1096 1 a1096 1
        --with-lxc1-sxc1
        d1101 1 a1101 1
        --without-lxc1-sxc1
        d1117 1 a1117 1
        --with-madd4
        d1122 1 a1122 1
        --without-madd4
        d1133 1 a1133 1
        --with-mips-plt
        d1140 1 a1140 1
        --with-stack-clash-protection-guard-size=size
        d1146 1 a1146 1
        --with-isa-spec=ISA-spec-string
        d1151 1 a1151 1
        2.2
        d1154 1 a1154 1
        20190608
        d1157 1 a1157 1
        20191213
        d1164 1 a1164 1
        --enable-__cxa_atexit
        d1173 1 a1173 1
        --enable-gnu-indirect-function
        d1178 1 a1178 1
        --enable-target-optspace
        d1184 1 a1184 1
        --with-cpp-install-dir=dirname
        d1189 1 a1189 1
        --enable-comdat
        d1194 1 a1194 1
        --enable-initfini-array
        d1203 1 a1203 1
        --enable-link-mutex
        d1209 1 a1209 1
        --enable-link-serialization
        d1218 1 a1218 1
        --enable-maintainer-mode
        d1228 1 a1228 1
        --disable-bootstrap
        d1235 1 a1235 1
        --enable-bootstrap
        d1244 1 a1244 1
        --enable-generated-files-in-srcdir
        d1259 1 a1259 1
        --enable-version-specific-runtime-libs
        d1271 1 a1271 1
        --with-aix-soname=‘aix’, ‘svr4’ or ‘both’
        d1282 1 a1282 1

        For detailed information please refer to the AIX d1288 2 a1289 2

        --with-aix-soname=aix
        --with-aix-soname=both
        d1306 2 a1307 2
        --with-aix-soname=both
        --with-aix-soname=svr4
        d1345 1 a1345 1
        --with-aix-soname=svr4
        d1377 1 a1377 1
        --enable-languages=lang1,lang2,…
        d1382 2 a1383 2

        grep ^language= */config-lang.in
        d1399 1
        a1399 1
        
        --enable-stage1-languages=lang1,lang2,…
        d1415 1 a1415 1
        --disable-libada
        d1422 1 a1422 1
        --disable-libsanitizer
        d1427 1 a1427 1
        --disable-libssp
        d1433 1 a1433 1
        --disable-libquadmath
        d1440 1 a1440 1
        --disable-libquadmath-support
        d1445 1 a1445 1
        --disable-libgomp
        d1450 1 a1450 1
        --disable-libvtv
        d1455 1 a1455 1
        --with-dwarf2
        d1460 1 a1460 1
        --with-advance-toolchain=at
        d1469 2 a1470 2
        --enable-targets=all
        --enable-targets=target_list
        d1484 1 a1484 1
        --enable-default-pie
        d1488 1 a1488 1
        --enable-secureplt
        d1493 1 a1493 1
        --enable-default-ssp
        d1497 1 a1497 1
        --enable-cld
        d1502 1 a1502 1
        --enable-large-address-aware
        d1511 3 a1513 3
        --enable-win32-registry
        --enable-win32-registry=key
        --disable-win32-registry
        d1517 2 a1518 2
        HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\key
        d1530 1
        a1530 1
        
        --nfp
        d1536 4 a1539 4
        --enable-werror
        --disable-werror
        --enable-werror=yes
        --enable-werror=no
        d1548 3 a1550 3
        --enable-checking
        --disable-checking
        --enable-checking=list
        d1588 3 a1590 3
        --disable-stage1-checking
        --enable-stage1-checking
        --enable-stage1-checking=list
        d1602 2 a1603 2
        --enable-coverage
        --enable-coverage=level
        d1614 1 a1614 1
        --enable-gather-detailed-mem-stats
        d1620 1 a1620 1
        --enable-valgrind-annotations
        d1625 2 a1626 2
        --enable-nls
        --disable-nls
        d1633 1 a1633 1
        --with-included-gettext
        d1638 1 a1638 1
        --with-catgets
        d1646 1 a1646 1
        --with-libiconv-prefix=dir
        d1651 1 a1651 1
        --enable-obsolete
        d1662 6 a1667 6
        --enable-decimal-float
        --enable-decimal-float=yes
        --enable-decimal-float=no
        --enable-decimal-float=bid
        --enable-decimal-float=dpd
        --disable-decimal-float
        d1678 2 a1679 2
        --enable-fixed-point
        --disable-fixed-point
        d1686 1 a1686 1
        --with-long-double-128
        d1695 2 a1696 2
        --with-long-double-format=ibm
        --with-long-double-format=ieee
        d1714 1 a1714 1
        --enable-fdpic
        d1718 9 a1726 9
        --with-gmp=pathname
        --with-gmp-include=pathname
        --with-gmp-lib=pathname
        --with-mpfr=pathname
        --with-mpfr-include=pathname
        --with-mpfr-lib=pathname
        --with-mpc=pathname
        --with-mpc-include=pathname
        --with-mpc-lib=pathname
        d1753 3 a1755 3
        --with-isl=pathname
        --with-isl-include=pathname
        --with-isl-lib=pathname
        d1769 1 a1769 1
        --with-stage1-ldflags=flags
        d1777 1 a1777 1
        --with-stage1-libs=libs
        d1783 1 a1783 1
        --with-boot-ldflags=flags
        d1790 1 a1790 1
        --with-boot-libs=libs
        d1795 1 a1795 1
        --with-debug-prefix-map=map
        d1801 1 a1801 1
        --enable-linker-build-id
        d1810 1 a1810 1
        --with-linker-hash-style=choice
        d1816 2 a1817 2
        --enable-gnu-unique-object
        --disable-gnu-unique-object
        d1824 1 a1824 1
        --with-diagnostics-color=choice
        d1834 1 a1834 1
        --with-diagnostics-urls=choice
        d1844 2 a1845 2
        --enable-lto
        --disable-lto
        d1850 2 a1851 2
        --enable-linker-plugin-configure-flags=FLAGS
        --enable-linker-plugin-flags=FLAGS
        d1862 2 a1863 2
        % srcdir/configure \
        d1870 1
        a1870 1
        
        --with-plugin-ld=pathname
        d1878 2 a1879 2
        --enable-canonical-system-headers
        --disable-canonical-system-headers
        d1887 1 a1887 1
        --with-glibc-version=major.minor
        d1900 1 a1900 1
        --enable-as-accelerator-for=target
        d1904 1 a1904 1
        --enable-offload-targets=target1[=path1],…,targetN[=pathN]
        d1910 2 a1911 2
        % srcdir/configure \
        d1916 1
        a1916 1
        
        --enable-offload-defaulted
        d1925 3 a1927 3
        --with-hsa-runtime=pathname
        --with-hsa-runtime-include=pathname
        --with-hsa-runtime-lib=pathname
        d1938 2 a1939 2
        --enable-cet
        --disable-cet
        d1952 1 a1952 1
        --with-riscv-attribute=‘yes’, ‘no’ or ‘default’
        d1960 2 a1961 2
        --enable-s390-excess-float-precision
        --disable-s390-excess-float-precision
        d1972 3 a1974 3
        --with-zstd=pathname
        --with-zstd-include=pathname
        --with-zstd-lib=pathname
        d1989 2 a1990 1

        Cross-Compiler-Specific Options

        d1994 1 a1994 1
        --with-toolexeclibdir=dir
        d1999 2 a2000 2
        --with-sysroot
        --with-sysroot=dir
        d2024 2 a2025 2
        --with-build-sysroot
        --with-build-sysroot=dir
        d2043 2 a2044 2
        --with-headers
        --with-headers=dir
        d2056 1 a2056 1
        --without-headers
        d2062 2 a2063 2
        --with-libs
        --with-libs="dir1 dir2 … dirN"
        d2071 1 a2071 1
        --with-newlib
        d2079 1 a2079 1
        --with-avrlibc
        d2090 2 a2091 2
        --with-double={32|64|32,64|64,32}
        --with-long-double={32|64|32,64|64,32|double}
        d2118 1 a2118 1
        --with-double-comparison={tristate|bool|libf7}
        d2126 1 a2126 1
        --with-libf7={libgcc|math|math-symbols|no}
        d2142 1 a2142 1
        --with-nds32-lib=library
        d2148 1 a2148 1
        --with-build-time-tools=dir
        d2167 2 a2168 1

        Overriding configure test results

        d2176 3 a2178 2
        build_configargs

        The contents of this variable is passed to all build configure d2182 3 a2184 2

        host_configargs

        The contents of this variable is passed to all host configure d2188 3 a2190 2

        target_configargs

        The contents of this variable is passed to all target configure d2200 2 a2201 1

        Objective-C-Specific Options

        d2206 1 a2206 1
        --enable-objc-gc
        d2216 3 a2218 3
        --with-target-bdw-gc=list
        --with-target-bdw-gc-include=list
        --with-target-bdw-gc-lib=list
        d2237 2 a2238 1

        D-Specific Options

        d2243 3 a2245 3
        --enable-libphobos-checking
        --disable-libphobos-checking
        --enable-libphobos-checking=list
        d2262 2 a2263 2
        --with-libphobos-druntime-only
        --with-libphobos-druntime-only=choice
        d2276 1 a2276 1
        --with-target-system-zlib
        @ 1.16 log @initial merge of GCC 12.3.0. this doesn't include any of the changes to the .c -> .cc files renamed, and reverts our local changes to the vax port and libsanitizer subdir. vax GCC was rewritten and our local fixes no longer are relevant, and the new libsanitizer is more updated than our old one, and merging via gcc10->gcc12 is not really possible. unfortunately, our local changes to libsanitizer that aren't related to the general update of those sources (ie, the netbsd code) will need to be re-checked and perhaps re-ported. @ text @d3 3 a24 3 d32 2 d36 1 a38 2 blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} blockquote.smallquotation {font-size: smaller} a40 4 div.lisp {margin-left: 3.2em} div.smalldisplay {margin-left: 3.2em} div.smallexample {margin-left: 3.2em} div.smalllisp {margin-left: 3.2em} a45 4 pre.smalldisplay {font-family: inherit; font-size: smaller} pre.smallexample {font-size: smaller} pre.smallformat {font-family: inherit; font-size: smaller} pre.smalllisp {font-size: smaller} d49 1 d78 2 a79 2 d125 2 a126 2
        % mkdir objdir
        d131 1
        a131 2
        
        

        Distributor options

        d138 1 a138 1
        --with-pkgversion=version
        d147 1 a147 1
        --with-bugurl=url
        d155 1 a155 1
        --with-documentation-root-url=url
        d162 1 a162 1
        --with-changes-root-url=url
        d172 1 a172 2

        Host, Build and Target specification

        d196 2 a197 2
        ./configure --host=x86_64-pc-linux-gnu
        d234 1
        a234 2
        
        

        Options specification

        d246 1 a246 1
        --prefix=dirname
        d261 1 a261 1
        --exec-prefix=dirname
        d266 1 a266 1
        --bindir=dirname
        d272 1 a272 1
        --libdir=dirname
        d277 1 a277 1
        --libexecdir=dirname
        d282 1 a282 1
        --with-slibdir=dirname
        d287 1 a287 1
        --datarootdir=dirname
        d292 1 a292 1
        --infodir=dirname
        d297 1 a297 1
        --datadir=dirname
        d302 1 a302 1
        --docdir=dirname
        d307 1 a307 1
        --htmldir=dirname
        d312 1 a312 1
        --pdfdir=dirname
        d317 1 a317 1
        --mandir=dirname
        d325 1 a325 1
        --with-gxx-include-dir=dirname
        d332 1 a332 1
        --with-specs=specs
        d343 1 a343 1
        --program-prefix=prefix
        d351 1 a351 1
        --program-suffix=suffix
        d358 1 a358 1
        --program-transform-name=pattern
        d391 1 a391 1
        --with-local-prefix=dirname
        d464 1 a464 1
        --with-gcc-major-version-only
        d469 1 a469 1
        --with-native-system-header-dir=dirname
        d478 1 a478 1
        --enable-shared[=package[,…]]
        d499 1 a499 1
        --enable-host-shared
        d510 1 a510 1
        --with-gnu-as
        d533 1 a533 1
        --with-as=pathname
        d566 1 a566 1
        --with-gnu-ld
        d571 1 a571 1
        --with-ld=pathname
        d576 1 a576 1
        --with-dsymutil=pathname
        d581 1 a581 1
        --with-tls=dialect
        d588 1 a588 1
        --enable-multiarch
        d598 1 a598 1
        --enable-sjlj-exceptions
        d604 1 a604 1
        --enable-vtable-verify
        d617 1 a617 1
        --disable-gcov
        d622 1 a622 1
        --disable-multilib
        d631 1 a631 1
        arm-*-*
        d635 1 a635 1
        m68*-*-*
        d639 1 a639 1
        mips*-*-*
        d643 1 a643 1
        msp430-*-*
        d647 1 a647 1
        powerpc*-*-*, rs6000*-*-*
        d655 2 a656 2
        --with-multilib-list=list
        --without-multilib-list
        d664 1 a664 1
        aarch64*-*-*
        d674 1 a674 1
        arm*-*-*
        d736 1 a736 1
        loongarch*-*-*
        d745 1 a745 1
        riscv*-*-*
        d753 1 a753 1
        sh*-*-*
        d774 2 a775 2

        --with-cpu=sh4a --with-endian=little,big --with-multilib-list=
        d780 2
        a781 2
        

        --with-cpu=sh4a --with-endian=little,big \
        d786 1
        a786 1
        
        x86-64-*-linux*
        d798 1 a798 1
        --with-multilib-generator=config
        d808 2 a809 2

        rv32i-ilp32--
        d813 2
        a814 2
        

        rv32i-ilp32--;rv32imafd-ilp32--
        d819 2
        a820 2
        

        rv32i-ilp32-rv32im-c
        d825 2
        a826 2
        

        rv64ima-lp64--f,c,fc
        d836 2
        a837 2
        

        rv64ima-lp64--;--cmodel=medlow
        d842 2
        a843 2
        

        rv64ima-lp64--;--cmodel=medlow,medany
        d847 1
        a847 1
        
        --with-endian=endians
        d853 1 a853 1
        big
        d856 1 a856 1
        little
        d859 1 a859 1
        big,little
        d862 1 a862 1
        little,big
        d868 1 a868 1
        --enable-threads
        d881 1 a881 1
        --disable-threads
        d886 1 a886 1
        --enable-threads=lib
        d893 1 a893 1
        aix
        d896 1 a896 1
        dce
        d899 1 a899 1
        lynx
        d902 1 a902 1
        mipssde
        d905 1 a905 1
        no
        d908 1 a908 1
        posix
        d911 1 a911 1
        rtems
        d914 1 a914 1
        single
        d917 1 a917 1
        tpf
        d920 1 a920 1
        vxworks
        d923 1 a923 1
        win32
        d929 1 a929 1
        --enable-tls
        d938 1 a938 1
        --disable-tls
        d943 1 a943 1
        --disable-tm-clone-registry
        d949 3 a951 3
        --with-cpu=cpu
        --with-cpu-32=cpu
        --with-cpu-64=cpu
        d961 10 a970 10
        --with-schedule=cpu
        --with-arch=cpu
        --with-arch-32=cpu
        --with-arch-64=cpu
        --with-tune=cpu
        --with-tune-32=cpu
        --with-tune-64=cpu
        --with-abi=abi
        --with-fpu=type
        --with-float=type
        d978 1 a978 1
        --with-mode=mode
        d983 1 a983 1
        --with-stack-offset=num
        d989 1 a989 1
        --with-fpmath=isa
        d996 1 a996 1
        --with-fp-32=mode
        d1000 1 a1000 1
        32
        d1004 1 a1004 1
        xx
        d1008 1 a1008 1
        64
        d1017 1 a1017 1
        --with-odd-spreg-32
        d1022 1 a1022 1
        --without-odd-spreg-32
        d1028 1 a1028 1
        --with-nan=encoding
        d1033 1 a1033 1
        legacy
        d1037 1 a1037 1
        2008
        d1049 1 a1049 1
        --with-divide=type
        d1054 1 a1054 1
        traps
        d1058 1 a1058 1
        breaks
        d1065 1 a1065 1
        --with-llsc
        d1072 1 a1072 1
        --without-llsc
        d1077 1 a1077 1
        --with-synci
        d1082 1 a1082 1
        --without-synci
        d1087 1 a1087 1
        --with-lxc1-sxc1
        d1092 1 a1092 1
        --without-lxc1-sxc1
        d1108 1 a1108 1
        --with-madd4
        d1113 1 a1113 1
        --without-madd4
        d1124 1 a1124 1
        --with-mips-plt
        d1131 1 a1131 1
        --with-stack-clash-protection-guard-size=size
        d1137 1 a1137 1
        --with-isa-spec=ISA-spec-string
        d1142 1 a1142 1
        2.2
        d1145 1 a1145 1
        20190608
        d1148 1 a1148 1
        20191213
        d1155 1 a1155 1
        --enable-__cxa_atexit
        d1164 1 a1164 1
        --enable-gnu-indirect-function
        d1169 1 a1169 1
        --enable-target-optspace
        d1175 1 a1175 1
        --with-cpp-install-dir=dirname
        d1180 1 a1180 1
        --enable-comdat
        d1185 1 a1185 1
        --enable-initfini-array
        d1194 1 a1194 1
        --enable-link-mutex
        d1200 1 a1200 1
        --enable-link-serialization
        d1209 1 a1209 1
        --enable-maintainer-mode
        d1219 1 a1219 1
        --disable-bootstrap
        d1226 1 a1226 1
        --enable-bootstrap
        d1235 1 a1235 1
        --enable-generated-files-in-srcdir
        d1250 1 a1250 1
        --enable-version-specific-runtime-libs
        d1262 1 a1262 1
        --with-aix-soname=‘aix’, ‘svr4’ or ‘both’
        d1273 1 a1273 1

        For detailed information please refer to the AIX d1279 2 a1280 2

        --with-aix-soname=aix
        --with-aix-soname=both
        d1297 2 a1298 2
        --with-aix-soname=both
        --with-aix-soname=svr4
        d1336 1 a1336 1
        --with-aix-soname=svr4
        d1368 1 a1368 1
        --enable-languages=lang1,lang2,…
        d1373 2 a1374 2

        grep ^language= */config-lang.in
        d1390 1
        a1390 1
        
        --enable-stage1-languages=lang1,lang2,…
        d1406 1 a1406 1
        --disable-libada
        d1413 1 a1413 1
        --disable-libsanitizer
        d1418 1 a1418 1
        --disable-libssp
        d1424 1 a1424 1
        --disable-libquadmath
        d1431 1 a1431 1
        --disable-libquadmath-support
        d1436 1 a1436 1
        --disable-libgomp
        d1441 1 a1441 1
        --disable-libvtv
        d1446 1 a1446 1
        --with-dwarf2
        d1451 1 a1451 1
        --with-advance-toolchain=at
        d1460 2 a1461 2
        --enable-targets=all
        --enable-targets=target_list
        d1475 1 a1475 1
        --enable-default-pie
        d1479 1 a1479 1
        --enable-secureplt
        d1484 1 a1484 1
        --enable-default-ssp
        d1488 1 a1488 1
        --enable-cld
        d1493 1 a1493 1
        --enable-large-address-aware
        d1502 3 a1504 3
        --enable-win32-registry
        --enable-win32-registry=key
        --disable-win32-registry
        d1508 2 a1509 2
        HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\key
        d1521 1
        a1521 1
        
        --nfp
        d1527 4 a1530 4
        --enable-werror
        --disable-werror
        --enable-werror=yes
        --enable-werror=no
        d1539 3 a1541 3
        --enable-checking
        --disable-checking
        --enable-checking=list
        d1579 3 a1581 3
        --disable-stage1-checking
        --enable-stage1-checking
        --enable-stage1-checking=list
        d1593 2 a1594 2
        --enable-coverage
        --enable-coverage=level
        d1605 1 a1605 1
        --enable-gather-detailed-mem-stats
        d1611 1 a1611 1
        --enable-valgrind-annotations
        d1616 2 a1617 2
        --enable-nls
        --disable-nls
        d1624 1 a1624 1
        --with-included-gettext
        d1629 1 a1629 1
        --with-catgets
        d1637 1 a1637 1
        --with-libiconv-prefix=dir
        d1642 1 a1642 1
        --enable-obsolete
        d1653 6 a1658 6
        --enable-decimal-float
        --enable-decimal-float=yes
        --enable-decimal-float=no
        --enable-decimal-float=bid
        --enable-decimal-float=dpd
        --disable-decimal-float
        d1669 2 a1670 2
        --enable-fixed-point
        --disable-fixed-point
        d1677 1 a1677 1
        --with-long-double-128
        d1686 2 a1687 2
        --with-long-double-format=ibm
        --with-long-double-format=ieee
        d1705 1 a1705 1
        --enable-fdpic
        d1709 9 a1717 9
        --with-gmp=pathname
        --with-gmp-include=pathname
        --with-gmp-lib=pathname
        --with-mpfr=pathname
        --with-mpfr-include=pathname
        --with-mpfr-lib=pathname
        --with-mpc=pathname
        --with-mpc-include=pathname
        --with-mpc-lib=pathname
        d1744 3 a1746 3
        --with-isl=pathname
        --with-isl-include=pathname
        --with-isl-lib=pathname
        d1760 1 a1760 1
        --with-stage1-ldflags=flags
        d1768 1 a1768 1
        --with-stage1-libs=libs
        d1774 1 a1774 1
        --with-boot-ldflags=flags
        d1781 1 a1781 1
        --with-boot-libs=libs
        d1786 1 a1786 1
        --with-debug-prefix-map=map
        d1792 1 a1792 1
        --enable-linker-build-id
        d1801 1 a1801 1
        --with-linker-hash-style=choice
        d1807 2 a1808 2
        --enable-gnu-unique-object
        --disable-gnu-unique-object
        d1815 1 a1815 1
        --with-diagnostics-color=choice
        d1825 1 a1825 1
        --with-diagnostics-urls=choice
        d1835 2 a1836 2
        --enable-lto
        --disable-lto
        d1841 2 a1842 2
        --enable-linker-plugin-configure-flags=FLAGS
        --enable-linker-plugin-flags=FLAGS
        d1853 2 a1854 2
        % srcdir/configure \
        d1861 1
        a1861 1
        
        --with-plugin-ld=pathname
        d1869 2 a1870 2
        --enable-canonical-system-headers
        --disable-canonical-system-headers
        d1878 1 a1878 1
        --with-glibc-version=major.minor
        d1891 1 a1891 1
        --enable-as-accelerator-for=target
        d1895 1 a1895 1
        --enable-offload-targets=target1[=path1],…,targetN[=pathN]
        d1901 2 a1902 2
        % srcdir/configure \
        d1907 1
        a1907 1
        
        --enable-offload-defaulted
        d1916 3 a1918 3
        --with-hsa-runtime=pathname
        --with-hsa-runtime-include=pathname
        --with-hsa-runtime-lib=pathname
        d1929 2 a1930 2
        --enable-cet
        --disable-cet
        d1943 1 a1943 1
        --with-riscv-attribute=‘yes’, ‘no’ or ‘default’
        d1951 2 a1952 2
        --enable-s390-excess-float-precision
        --disable-s390-excess-float-precision
        d1963 3 a1965 3
        --with-zstd=pathname
        --with-zstd-include=pathname
        --with-zstd-lib=pathname
        d1980 1 a1980 2

        Cross-Compiler-Specific Options

        d1984 1 a1984 1
        --with-toolexeclibdir=dir
        d1989 2 a1990 2
        --with-sysroot
        --with-sysroot=dir
        d2014 2 a2015 2
        --with-build-sysroot
        --with-build-sysroot=dir
        d2033 2 a2034 2
        --with-headers
        --with-headers=dir
        d2046 1 a2046 1
        --without-headers
        d2052 2 a2053 2
        --with-libs
        --with-libs="dir1 dir2 … dirN"
        d2061 1 a2061 1
        --with-newlib
        d2069 1 a2069 1
        --with-avrlibc
        d2080 2 a2081 2
        --with-double={32|64|32,64|64,32}
        --with-long-double={32|64|32,64|64,32|double}
        d2108 1 a2108 1
        --with-double-comparison={tristate|bool|libf7}
        d2116 1 a2116 1
        --with-libf7={libgcc|math|math-symbols|no}
        d2132 1 a2132 1
        --with-nds32-lib=library
        d2138 1 a2138 1
        --with-build-time-tools=dir
        d2157 1 a2157 2

        Overriding configure test results

        d2165 2 a2166 3
        build_configargs

        The contents of this variable is passed to all build configure d2170 2 a2171 3

        host_configargs

        The contents of this variable is passed to all host configure d2175 2 a2176 3

        target_configargs

        The contents of this variable is passed to all target configure d2186 1 a2186 2

        Objective-C-Specific Options

        d2191 1 a2191 1
        --enable-objc-gc
        d2201 3 a2203 3
        --with-target-bdw-gc=list
        --with-target-bdw-gc-include=list
        --with-target-bdw-gc-lib=list
        d2222 1 a2222 2

        D-Specific Options

        d2227 3 a2229 3
        --enable-libphobos-checking
        --disable-libphobos-checking
        --enable-libphobos-checking=list
        d2246 2 a2247 2
        --with-libphobos-druntime-only
        --with-libphobos-druntime-only=choice
        d2260 1 a2260 1
        --with-target-system-zlib
        @ 1.16.2.1 log @Sync with HEAD. @ text @a2 3 d22 3 a31 2 a33 1 a.copiable-anchor {visibility: hidden; text-decoration: none; line-height: 0em} d36 2 d40 4 d49 4 a55 1 span:hover a.copiable-anchor {visibility: visible} d84 2 a85 2 d131 2 a132 2
        % mkdir objdir
        d137 2
        a138 1
        

        Distributor options

        d145 1 a145 1
        --with-pkgversion=version
        d154 1 a154 1
        --with-bugurl=url
        d162 1 a162 1
        --with-documentation-root-url=url
        d169 1 a169 1
        --with-changes-root-url=url
        d179 2 a180 1

        Host, Build and Target specification

        d204 2 a205 2
        ./configure --host=x86_64-pc-linux-gnu
        d242 2
        a243 1
        

        Options specification

        d255 1 a255 1
        --prefix=dirname
        d270 1 a270 1
        --exec-prefix=dirname
        d275 1 a275 1
        --bindir=dirname
        d281 1 a281 1
        --libdir=dirname
        d286 1 a286 1
        --libexecdir=dirname
        d291 1 a291 1
        --with-slibdir=dirname
        d296 1 a296 1
        --datarootdir=dirname
        d301 1 a301 1
        --infodir=dirname
        d306 1 a306 1
        --datadir=dirname
        d311 1 a311 1
        --docdir=dirname
        d316 1 a316 1
        --htmldir=dirname
        d321 1 a321 1
        --pdfdir=dirname
        d326 1 a326 1
        --mandir=dirname
        d334 1 a334 1
        --with-gxx-include-dir=dirname
        d341 1 a341 1
        --with-specs=specs
        d352 1 a352 1
        --program-prefix=prefix
        d360 1 a360 1
        --program-suffix=suffix
        d367 1 a367 1
        --program-transform-name=pattern
        d400 1 a400 1
        --with-local-prefix=dirname
        d473 1 a473 1
        --with-gcc-major-version-only
        d478 1 a478 1
        --with-native-system-header-dir=dirname
        d487 1 a487 1
        --enable-shared[=package[,…]]
        d508 1 a508 1
        --enable-host-shared
        d519 1 a519 1
        --with-gnu-as
        d542 1 a542 1
        --with-as=pathname
        d575 1 a575 1
        --with-gnu-ld
        d580 1 a580 1
        --with-ld=pathname
        d585 1 a585 1
        --with-dsymutil=pathname
        d590 1 a590 1
        --with-tls=dialect
        d597 1 a597 1
        --enable-multiarch
        d607 1 a607 1
        --enable-sjlj-exceptions
        d613 1 a613 1
        --enable-vtable-verify
        d626 1 a626 1
        --disable-gcov
        d631 1 a631 1
        --disable-multilib
        d640 1 a640 1
        arm-*-*
        d644 1 a644 1
        m68*-*-*
        d648 1 a648 1
        mips*-*-*
        d652 1 a652 1
        msp430-*-*
        d656 1 a656 1
        powerpc*-*-*, rs6000*-*-*
        d664 2 a665 2
        --with-multilib-list=list
        --without-multilib-list
        d673 1 a673 1
        aarch64*-*-*
        d683 1 a683 1
        arm*-*-*
        d745 1 a745 1
        loongarch*-*-*
        d754 1 a754 1
        riscv*-*-*
        d762 1 a762 1
        sh*-*-*
        d783 2 a784 2

        --with-cpu=sh4a --with-endian=little,big --with-multilib-list=
        d789 2
        a790 2
        

        --with-cpu=sh4a --with-endian=little,big \
        d795 1
        a795 1
        
        x86-64-*-linux*
        d807 1 a807 1
        --with-multilib-generator=config
        d817 2 a818 2

        rv32i-ilp32--
        d822 2
        a823 2
        

        rv32i-ilp32--;rv32imafd-ilp32--
        d828 2
        a829 2
        

        rv32i-ilp32-rv32im-c
        d834 2
        a835 2
        

        rv64ima-lp64--f,c,fc
        d845 2
        a846 2
        

        rv64ima-lp64--;--cmodel=medlow
        d851 2
        a852 2
        

        rv64ima-lp64--;--cmodel=medlow,medany
        d856 1
        a856 1
        
        --with-endian=endians
        d862 1 a862 1
        big
        d865 1 a865 1
        little
        d868 1 a868 1
        big,little
        d871 1 a871 1
        little,big
        d877 1 a877 1
        --enable-threads
        d890 1 a890 1
        --disable-threads
        d895 1 a895 1
        --enable-threads=lib
        d902 1 a902 1
        aix
        d905 1 a905 1
        dce
        d908 1 a908 1
        lynx
        d911 1 a911 1
        mipssde
        d914 1 a914 1
        no
        d917 1 a917 1
        posix
        d920 1 a920 1
        rtems
        d923 1 a923 1
        single
        d926 1 a926 1
        tpf
        d929 1 a929 1
        vxworks
        d932 1 a932 1
        win32
        d938 1 a938 1
        --enable-tls
        d947 1 a947 1
        --disable-tls
        d952 1 a952 1
        --disable-tm-clone-registry
        d958 3 a960 3
        --with-cpu=cpu
        --with-cpu-32=cpu
        --with-cpu-64=cpu
        d970 10 a979 10
        --with-schedule=cpu
        --with-arch=cpu
        --with-arch-32=cpu
        --with-arch-64=cpu
        --with-tune=cpu
        --with-tune-32=cpu
        --with-tune-64=cpu
        --with-abi=abi
        --with-fpu=type
        --with-float=type
        d987 1 a987 1
        --with-mode=mode
        d992 1 a992 1
        --with-stack-offset=num
        d998 1 a998 1
        --with-fpmath=isa
        d1005 1 a1005 1
        --with-fp-32=mode
        d1009 1 a1009 1
        32
        d1013 1 a1013 1
        xx
        d1017 1 a1017 1
        64
        d1026 1 a1026 1
        --with-odd-spreg-32
        d1031 1 a1031 1
        --without-odd-spreg-32
        d1037 1 a1037 1
        --with-nan=encoding
        d1042 1 a1042 1
        legacy
        d1046 1 a1046 1
        2008
        d1058 1 a1058 1
        --with-divide=type
        d1063 1 a1063 1
        traps
        d1067 1 a1067 1
        breaks
        d1074 1 a1074 1
        --with-llsc
        d1081 1 a1081 1
        --without-llsc
        d1086 1 a1086 1
        --with-synci
        d1091 1 a1091 1
        --without-synci
        d1096 1 a1096 1
        --with-lxc1-sxc1
        d1101 1 a1101 1
        --without-lxc1-sxc1
        d1117 1 a1117 1
        --with-madd4
        d1122 1 a1122 1
        --without-madd4
        d1133 1 a1133 1
        --with-mips-plt
        d1140 1 a1140 1
        --with-stack-clash-protection-guard-size=size
        d1146 1 a1146 1
        --with-isa-spec=ISA-spec-string
        d1151 1 a1151 1
        2.2
        d1154 1 a1154 1
        20190608
        d1157 1 a1157 1
        20191213
        d1164 1 a1164 1
        --enable-__cxa_atexit
        d1173 1 a1173 1
        --enable-gnu-indirect-function
        d1178 1 a1178 1
        --enable-target-optspace
        d1184 1 a1184 1
        --with-cpp-install-dir=dirname
        d1189 1 a1189 1
        --enable-comdat
        d1194 1 a1194 1
        --enable-initfini-array
        d1203 1 a1203 1
        --enable-link-mutex
        d1209 1 a1209 1
        --enable-link-serialization
        d1218 1 a1218 1
        --enable-maintainer-mode
        d1228 1 a1228 1
        --disable-bootstrap
        d1235 1 a1235 1
        --enable-bootstrap
        d1244 1 a1244 1
        --enable-generated-files-in-srcdir
        d1259 1 a1259 1
        --enable-version-specific-runtime-libs
        d1271 1 a1271 1
        --with-aix-soname=‘aix’, ‘svr4’ or ‘both’
        d1282 1 a1282 1

        For detailed information please refer to the AIX d1288 2 a1289 2

        --with-aix-soname=aix
        --with-aix-soname=both
        d1306 2 a1307 2
        --with-aix-soname=both
        --with-aix-soname=svr4
        d1345 1 a1345 1
        --with-aix-soname=svr4
        d1377 1 a1377 1
        --enable-languages=lang1,lang2,…
        d1382 2 a1383 2

        grep ^language= */config-lang.in
        d1399 1
        a1399 1
        
        --enable-stage1-languages=lang1,lang2,…
        d1415 1 a1415 1
        --disable-libada
        d1422 1 a1422 1
        --disable-libsanitizer
        d1427 1 a1427 1
        --disable-libssp
        d1433 1 a1433 1
        --disable-libquadmath
        d1440 1 a1440 1
        --disable-libquadmath-support
        d1445 1 a1445 1
        --disable-libgomp
        d1450 1 a1450 1
        --disable-libvtv
        d1455 1 a1455 1
        --with-dwarf2
        d1460 1 a1460 1
        --with-advance-toolchain=at
        d1469 2 a1470 2
        --enable-targets=all
        --enable-targets=target_list
        d1484 1 a1484 1
        --enable-default-pie
        d1488 1 a1488 1
        --enable-secureplt
        d1493 1 a1493 1
        --enable-default-ssp
        d1497 1 a1497 1
        --enable-cld
        d1502 1 a1502 1
        --enable-large-address-aware
        d1511 3 a1513 3
        --enable-win32-registry
        --enable-win32-registry=key
        --disable-win32-registry
        d1517 2 a1518 2
        HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\key
        d1530 1
        a1530 1
        
        --nfp
        d1536 4 a1539 4
        --enable-werror
        --disable-werror
        --enable-werror=yes
        --enable-werror=no
        d1548 3 a1550 3
        --enable-checking
        --disable-checking
        --enable-checking=list
        d1588 3 a1590 3
        --disable-stage1-checking
        --enable-stage1-checking
        --enable-stage1-checking=list
        d1602 2 a1603 2
        --enable-coverage
        --enable-coverage=level
        d1614 1 a1614 1
        --enable-gather-detailed-mem-stats
        d1620 1 a1620 1
        --enable-valgrind-annotations
        d1625 2 a1626 2
        --enable-nls
        --disable-nls
        d1633 1 a1633 1
        --with-included-gettext
        d1638 1 a1638 1
        --with-catgets
        d1646 1 a1646 1
        --with-libiconv-prefix=dir
        d1651 1 a1651 1
        --enable-obsolete
        d1662 6 a1667 6
        --enable-decimal-float
        --enable-decimal-float=yes
        --enable-decimal-float=no
        --enable-decimal-float=bid
        --enable-decimal-float=dpd
        --disable-decimal-float
        d1678 2 a1679 2
        --enable-fixed-point
        --disable-fixed-point
        d1686 1 a1686 1
        --with-long-double-128
        d1695 2 a1696 2
        --with-long-double-format=ibm
        --with-long-double-format=ieee
        d1714 1 a1714 1
        --enable-fdpic
        d1718 9 a1726 9
        --with-gmp=pathname
        --with-gmp-include=pathname
        --with-gmp-lib=pathname
        --with-mpfr=pathname
        --with-mpfr-include=pathname
        --with-mpfr-lib=pathname
        --with-mpc=pathname
        --with-mpc-include=pathname
        --with-mpc-lib=pathname
        d1753 3 a1755 3
        --with-isl=pathname
        --with-isl-include=pathname
        --with-isl-lib=pathname
        d1769 1 a1769 1
        --with-stage1-ldflags=flags
        d1777 1 a1777 1
        --with-stage1-libs=libs
        d1783 1 a1783 1
        --with-boot-ldflags=flags
        d1790 1 a1790 1
        --with-boot-libs=libs
        d1795 1 a1795 1
        --with-debug-prefix-map=map
        d1801 1 a1801 1
        --enable-linker-build-id
        d1810 1 a1810 1
        --with-linker-hash-style=choice
        d1816 2 a1817 2
        --enable-gnu-unique-object
        --disable-gnu-unique-object
        d1824 1 a1824 1
        --with-diagnostics-color=choice
        d1834 1 a1834 1
        --with-diagnostics-urls=choice
        d1844 2 a1845 2
        --enable-lto
        --disable-lto
        d1850 2 a1851 2
        --enable-linker-plugin-configure-flags=FLAGS
        --enable-linker-plugin-flags=FLAGS
        d1862 2 a1863 2
        % srcdir/configure \
        d1870 1
        a1870 1
        
        --with-plugin-ld=pathname
        d1878 2 a1879 2
        --enable-canonical-system-headers
        --disable-canonical-system-headers
        d1887 1 a1887 1
        --with-glibc-version=major.minor
        d1900 1 a1900 1
        --enable-as-accelerator-for=target
        d1904 1 a1904 1
        --enable-offload-targets=target1[=path1],…,targetN[=pathN]
        d1910 2 a1911 2
        % srcdir/configure \
        d1916 1
        a1916 1
        
        --enable-offload-defaulted
        d1925 3 a1927 3
        --with-hsa-runtime=pathname
        --with-hsa-runtime-include=pathname
        --with-hsa-runtime-lib=pathname
        d1938 2 a1939 2
        --enable-cet
        --disable-cet
        d1952 1 a1952 1
        --with-riscv-attribute=‘yes’, ‘no’ or ‘default’
        d1960 2 a1961 2
        --enable-s390-excess-float-precision
        --disable-s390-excess-float-precision
        d1972 3 a1974 3
        --with-zstd=pathname
        --with-zstd-include=pathname
        --with-zstd-lib=pathname
        d1989 2 a1990 1

        Cross-Compiler-Specific Options

        d1994 1 a1994 1
        --with-toolexeclibdir=dir
        d1999 2 a2000 2
        --with-sysroot
        --with-sysroot=dir
        d2024 2 a2025 2
        --with-build-sysroot
        --with-build-sysroot=dir
        d2043 2 a2044 2
        --with-headers
        --with-headers=dir
        d2056 1 a2056 1
        --without-headers
        d2062 2 a2063 2
        --with-libs
        --with-libs="dir1 dir2 … dirN"
        d2071 1 a2071 1
        --with-newlib
        d2079 1 a2079 1
        --with-avrlibc
        d2090 2 a2091 2
        --with-double={32|64|32,64|64,32}
        --with-long-double={32|64|32,64|64,32|double}
        d2118 1 a2118 1
        --with-double-comparison={tristate|bool|libf7}
        d2126 1 a2126 1
        --with-libf7={libgcc|math|math-symbols|no}
        d2142 1 a2142 1
        --with-nds32-lib=library
        d2148 1 a2148 1
        --with-build-time-tools=dir
        d2167 2 a2168 1

        Overriding configure test results

        d2176 3 a2178 2
        build_configargs

        The contents of this variable is passed to all build configure d2182 3 a2184 2

        host_configargs

        The contents of this variable is passed to all host configure d2188 3 a2190 2

        target_configargs

        The contents of this variable is passed to all target configure d2200 2 a2201 1

        Objective-C-Specific Options

        d2206 1 a2206 1
        --enable-objc-gc
        d2216 3 a2218 3
        --with-target-bdw-gc=list
        --with-target-bdw-gc-include=list
        --with-target-bdw-gc-lib=list
        d2237 2 a2238 1

        D-Specific Options

        d2243 3 a2245 3
        --enable-libphobos-checking
        --disable-libphobos-checking
        --enable-libphobos-checking=list
        d2262 2 a2263 2
        --with-libphobos-druntime-only
        --with-libphobos-druntime-only=choice
        d2276 1 a2276 1
        --with-target-system-zlib
        @ 1.16.2.2 log @Sync with HEAD @ text @d3 3 a24 3 d32 2 d36 1 a38 2 blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} blockquote.smallquotation {font-size: smaller} a40 4 div.lisp {margin-left: 3.2em} div.smalldisplay {margin-left: 3.2em} div.smallexample {margin-left: 3.2em} div.smalllisp {margin-left: 3.2em} a45 4 pre.smalldisplay {font-family: inherit; font-size: smaller} pre.smallexample {font-size: smaller} pre.smallformat {font-family: inherit; font-size: smaller} pre.smalllisp {font-size: smaller} d49 1 d78 2 a79 2 d125 2 a126 2
        % mkdir objdir
        d131 1
        a131 2
        
        

        Distributor options

        d138 1 a138 1
        --with-pkgversion=version
        d147 1 a147 1
        --with-bugurl=url
        d155 1 a155 1
        --with-documentation-root-url=url
        d162 1 a162 1
        --with-changes-root-url=url
        d172 1 a172 2

        Host, Build and Target specification

        d196 2 a197 2
        ./configure --host=x86_64-pc-linux-gnu
        d234 1
        a234 2
        
        

        Options specification

        d246 1 a246 1
        --prefix=dirname
        d261 1 a261 1
        --exec-prefix=dirname
        d266 1 a266 1
        --bindir=dirname
        d272 1 a272 1
        --libdir=dirname
        d277 1 a277 1
        --libexecdir=dirname
        d282 1 a282 1
        --with-slibdir=dirname
        d287 1 a287 1
        --datarootdir=dirname
        d292 1 a292 1
        --infodir=dirname
        d297 1 a297 1
        --datadir=dirname
        d302 1 a302 1
        --docdir=dirname
        d307 1 a307 1
        --htmldir=dirname
        d312 1 a312 1
        --pdfdir=dirname
        d317 1 a317 1
        --mandir=dirname
        d325 1 a325 1
        --with-gxx-include-dir=dirname
        d332 1 a332 1
        --with-specs=specs
        d343 1 a343 1
        --program-prefix=prefix
        d351 1 a351 1
        --program-suffix=suffix
        d358 1 a358 1
        --program-transform-name=pattern
        d391 1 a391 1
        --with-local-prefix=dirname
        d464 1 a464 1
        --with-gcc-major-version-only
        d469 1 a469 1
        --with-native-system-header-dir=dirname
        d478 1 a478 1
        --enable-shared[=package[,…]]
        d499 1 a499 1
        --enable-host-shared
        d510 1 a510 1
        --with-gnu-as
        d533 1 a533 1
        --with-as=pathname
        d566 1 a566 1
        --with-gnu-ld
        d571 1 a571 1
        --with-ld=pathname
        d576 1 a576 1
        --with-dsymutil=pathname
        d581 1 a581 1
        --with-tls=dialect
        d588 1 a588 1
        --enable-multiarch
        d598 1 a598 1
        --enable-sjlj-exceptions
        d604 1 a604 1
        --enable-vtable-verify
        d617 1 a617 1
        --disable-gcov
        d622 1 a622 1
        --disable-multilib
        d631 1 a631 1
        arm-*-*
        d635 1 a635 1
        m68*-*-*
        d639 1 a639 1
        mips*-*-*
        d643 1 a643 1
        msp430-*-*
        d647 1 a647 1
        powerpc*-*-*, rs6000*-*-*
        d655 2 a656 2
        --with-multilib-list=list
        --without-multilib-list
        d664 1 a664 1
        aarch64*-*-*
        d674 1 a674 1
        arm*-*-*
        d736 1 a736 1
        loongarch*-*-*
        d745 1 a745 1
        riscv*-*-*
        d753 1 a753 1
        sh*-*-*
        d774 2 a775 2

        --with-cpu=sh4a --with-endian=little,big --with-multilib-list=
        d780 2
        a781 2
        

        --with-cpu=sh4a --with-endian=little,big \
        d786 1
        a786 1
        
        x86-64-*-linux*
        d798 1 a798 1
        --with-multilib-generator=config
        d808 2 a809 2

        rv32i-ilp32--
        d813 2
        a814 2
        

        rv32i-ilp32--;rv32imafd-ilp32--
        d819 2
        a820 2
        

        rv32i-ilp32-rv32im-c
        d825 2
        a826 2
        

        rv64ima-lp64--f,c,fc
        d836 2
        a837 2
        

        rv64ima-lp64--;--cmodel=medlow
        d842 2
        a843 2
        

        rv64ima-lp64--;--cmodel=medlow,medany
        d847 1
        a847 1
        
        --with-endian=endians
        d853 1 a853 1
        big
        d856 1 a856 1
        little
        d859 1 a859 1
        big,little
        d862 1 a862 1
        little,big
        d868 1 a868 1
        --enable-threads
        d881 1 a881 1
        --disable-threads
        d886 1 a886 1
        --enable-threads=lib
        d893 1 a893 1
        aix
        d896 1 a896 1
        dce
        d899 1 a899 1
        lynx
        d902 1 a902 1
        mipssde
        d905 1 a905 1
        no
        d908 1 a908 1
        posix
        d911 1 a911 1
        rtems
        d914 1 a914 1
        single
        d917 1 a917 1
        tpf
        d920 1 a920 1
        vxworks
        d923 1 a923 1
        win32
        d929 1 a929 1
        --enable-tls
        d938 1 a938 1
        --disable-tls
        d943 1 a943 1
        --disable-tm-clone-registry
        d949 3 a951 3
        --with-cpu=cpu
        --with-cpu-32=cpu
        --with-cpu-64=cpu
        d961 10 a970 10
        --with-schedule=cpu
        --with-arch=cpu
        --with-arch-32=cpu
        --with-arch-64=cpu
        --with-tune=cpu
        --with-tune-32=cpu
        --with-tune-64=cpu
        --with-abi=abi
        --with-fpu=type
        --with-float=type
        d978 1 a978 1
        --with-mode=mode
        d983 1 a983 1
        --with-stack-offset=num
        d989 1 a989 1
        --with-fpmath=isa
        d996 1 a996 1
        --with-fp-32=mode
        d1000 1 a1000 1
        32
        d1004 1 a1004 1
        xx
        d1008 1 a1008 1
        64
        d1017 1 a1017 1
        --with-odd-spreg-32
        d1022 1 a1022 1
        --without-odd-spreg-32
        d1028 1 a1028 1
        --with-nan=encoding
        d1033 1 a1033 1
        legacy
        d1037 1 a1037 1
        2008
        d1049 1 a1049 1
        --with-divide=type
        d1054 1 a1054 1
        traps
        d1058 1 a1058 1
        breaks
        d1065 1 a1065 1
        --with-llsc
        d1072 1 a1072 1
        --without-llsc
        d1077 1 a1077 1
        --with-synci
        d1082 1 a1082 1
        --without-synci
        d1087 1 a1087 1
        --with-lxc1-sxc1
        d1092 1 a1092 1
        --without-lxc1-sxc1
        d1108 1 a1108 1
        --with-madd4
        d1113 1 a1113 1
        --without-madd4
        d1124 1 a1124 1
        --with-mips-plt
        d1131 1 a1131 1
        --with-stack-clash-protection-guard-size=size
        d1137 1 a1137 1
        --with-isa-spec=ISA-spec-string
        d1142 1 a1142 1
        2.2
        d1145 1 a1145 1
        20190608
        d1148 1 a1148 1
        20191213
        d1155 1 a1155 1
        --enable-__cxa_atexit
        d1164 1 a1164 1
        --enable-gnu-indirect-function
        d1169 1 a1169 1
        --enable-target-optspace
        d1175 1 a1175 1
        --with-cpp-install-dir=dirname
        d1180 1 a1180 1
        --enable-comdat
        d1185 1 a1185 1
        --enable-initfini-array
        d1194 1 a1194 1
        --enable-link-mutex
        d1200 1 a1200 1
        --enable-link-serialization
        d1209 1 a1209 1
        --enable-maintainer-mode
        d1219 1 a1219 1
        --disable-bootstrap
        d1226 1 a1226 1
        --enable-bootstrap
        d1235 1 a1235 1
        --enable-generated-files-in-srcdir
        d1250 1 a1250 1
        --enable-version-specific-runtime-libs
        d1262 1 a1262 1
        --with-aix-soname=‘aix’, ‘svr4’ or ‘both’
        d1273 1 a1273 1

        For detailed information please refer to the AIX d1279 2 a1280 2

        --with-aix-soname=aix
        --with-aix-soname=both
        d1297 2 a1298 2
        --with-aix-soname=both
        --with-aix-soname=svr4
        d1336 1 a1336 1
        --with-aix-soname=svr4
        d1368 1 a1368 1
        --enable-languages=lang1,lang2,…
        d1373 2 a1374 2

        grep ^language= */config-lang.in
        d1390 1
        a1390 1
        
        --enable-stage1-languages=lang1,lang2,…
        d1406 1 a1406 1
        --disable-libada
        d1413 1 a1413 1
        --disable-libsanitizer
        d1418 1 a1418 1
        --disable-libssp
        d1424 1 a1424 1
        --disable-libquadmath
        d1431 1 a1431 1
        --disable-libquadmath-support
        d1436 1 a1436 1
        --disable-libgomp
        d1441 1 a1441 1
        --disable-libvtv
        d1446 1 a1446 1
        --with-dwarf2
        d1451 1 a1451 1
        --with-advance-toolchain=at
        d1460 2 a1461 2
        --enable-targets=all
        --enable-targets=target_list
        d1475 1 a1475 1
        --enable-default-pie
        d1479 1 a1479 1
        --enable-secureplt
        d1484 1 a1484 1
        --enable-default-ssp
        d1488 1 a1488 1
        --enable-cld
        d1493 1 a1493 1
        --enable-large-address-aware
        d1502 3 a1504 3
        --enable-win32-registry
        --enable-win32-registry=key
        --disable-win32-registry
        d1508 2 a1509 2
        HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\key
        d1521 1
        a1521 1
        
        --nfp
        d1527 4 a1530 4
        --enable-werror
        --disable-werror
        --enable-werror=yes
        --enable-werror=no
        d1539 3 a1541 3
        --enable-checking
        --disable-checking
        --enable-checking=list
        d1579 3 a1581 3
        --disable-stage1-checking
        --enable-stage1-checking
        --enable-stage1-checking=list
        d1593 2 a1594 2
        --enable-coverage
        --enable-coverage=level
        d1605 1 a1605 1
        --enable-gather-detailed-mem-stats
        d1611 1 a1611 1
        --enable-valgrind-annotations
        d1616 2 a1617 2
        --enable-nls
        --disable-nls
        d1624 1 a1624 1
        --with-included-gettext
        d1629 1 a1629 1
        --with-catgets
        d1637 1 a1637 1
        --with-libiconv-prefix=dir
        d1642 1 a1642 1
        --enable-obsolete
        d1653 6 a1658 6
        --enable-decimal-float
        --enable-decimal-float=yes
        --enable-decimal-float=no
        --enable-decimal-float=bid
        --enable-decimal-float=dpd
        --disable-decimal-float
        d1669 2 a1670 2
        --enable-fixed-point
        --disable-fixed-point
        d1677 1 a1677 1
        --with-long-double-128
        d1686 2 a1687 2
        --with-long-double-format=ibm
        --with-long-double-format=ieee
        d1705 1 a1705 1
        --enable-fdpic
        d1709 9 a1717 9
        --with-gmp=pathname
        --with-gmp-include=pathname
        --with-gmp-lib=pathname
        --with-mpfr=pathname
        --with-mpfr-include=pathname
        --with-mpfr-lib=pathname
        --with-mpc=pathname
        --with-mpc-include=pathname
        --with-mpc-lib=pathname
        d1744 3 a1746 3
        --with-isl=pathname
        --with-isl-include=pathname
        --with-isl-lib=pathname
        d1760 1 a1760 1
        --with-stage1-ldflags=flags
        d1768 1 a1768 1
        --with-stage1-libs=libs
        d1774 1 a1774 1
        --with-boot-ldflags=flags
        d1781 1 a1781 1
        --with-boot-libs=libs
        d1786 1 a1786 1
        --with-debug-prefix-map=map
        d1792 1 a1792 1
        --enable-linker-build-id
        d1801 1 a1801 1
        --with-linker-hash-style=choice
        d1807 2 a1808 2
        --enable-gnu-unique-object
        --disable-gnu-unique-object
        d1815 1 a1815 1
        --with-diagnostics-color=choice
        d1825 1 a1825 1
        --with-diagnostics-urls=choice
        d1835 2 a1836 2
        --enable-lto
        --disable-lto
        d1841 2 a1842 2
        --enable-linker-plugin-configure-flags=FLAGS
        --enable-linker-plugin-flags=FLAGS
        d1853 2 a1854 2
        % srcdir/configure \
        d1861 1
        a1861 1
        
        --with-plugin-ld=pathname
        d1869 2 a1870 2
        --enable-canonical-system-headers
        --disable-canonical-system-headers
        d1878 1 a1878 1
        --with-glibc-version=major.minor
        d1891 1 a1891 1
        --enable-as-accelerator-for=target
        d1895 1 a1895 1
        --enable-offload-targets=target1[=path1],…,targetN[=pathN]
        d1901 2 a1902 2
        % srcdir/configure \
        d1907 1
        a1907 1
        
        --enable-offload-defaulted
        d1916 3 a1918 3
        --with-hsa-runtime=pathname
        --with-hsa-runtime-include=pathname
        --with-hsa-runtime-lib=pathname
        d1929 2 a1930 2
        --enable-cet
        --disable-cet
        d1943 1 a1943 1
        --with-riscv-attribute=‘yes’, ‘no’ or ‘default’
        d1951 2 a1952 2
        --enable-s390-excess-float-precision
        --disable-s390-excess-float-precision
        d1963 3 a1965 3
        --with-zstd=pathname
        --with-zstd-include=pathname
        --with-zstd-lib=pathname
        d1980 1 a1980 2

        Cross-Compiler-Specific Options

        d1984 1 a1984 1
        --with-toolexeclibdir=dir
        d1989 2 a1990 2
        --with-sysroot
        --with-sysroot=dir
        d2014 2 a2015 2
        --with-build-sysroot
        --with-build-sysroot=dir
        d2033 2 a2034 2
        --with-headers
        --with-headers=dir
        d2046 1 a2046 1
        --without-headers
        d2052 2 a2053 2
        --with-libs
        --with-libs="dir1 dir2 … dirN"
        d2061 1 a2061 1
        --with-newlib
        d2069 1 a2069 1
        --with-avrlibc
        d2080 2 a2081 2
        --with-double={32|64|32,64|64,32}
        --with-long-double={32|64|32,64|64,32|double}
        d2108 1 a2108 1
        --with-double-comparison={tristate|bool|libf7}
        d2116 1 a2116 1
        --with-libf7={libgcc|math|math-symbols|no}
        d2132 1 a2132 1
        --with-nds32-lib=library
        d2138 1 a2138 1
        --with-build-time-tools=dir
        d2157 1 a2157 2

        Overriding configure test results

        d2165 2 a2166 3
        build_configargs

        The contents of this variable is passed to all build configure d2170 2 a2171 3

        host_configargs

        The contents of this variable is passed to all host configure d2175 2 a2176 3

        target_configargs

        The contents of this variable is passed to all target configure d2186 1 a2186 2

        Objective-C-Specific Options

        d2191 1 a2191 1
        --enable-objc-gc
        d2201 3 a2203 3
        --with-target-bdw-gc=list
        --with-target-bdw-gc-include=list
        --with-target-bdw-gc-lib=list
        d2222 1 a2222 2

        D-Specific Options

        d2227 3 a2229 3
        --enable-libphobos-checking
        --disable-libphobos-checking
        --enable-libphobos-checking=list
        d2246 2 a2247 2
        --with-libphobos-druntime-only
        --with-libphobos-druntime-only=choice
        d2260 1 a2260 1
        --with-target-system-zlib
        @ 1.16.2.3 log @Sync with HEAD @ text @d1 1 a1 1 d3 1 a3 4 d22 3 a31 2 a33 1 a.copiable-anchor {visibility: hidden; text-decoration: none; line-height: 0em} d36 2 d40 4 d49 4 a55 1 span:hover a.copiable-anchor {visibility: visible} d84 2 a85 2 d131 2 a132 2
        % mkdir objdir
        d137 2
        a138 1
        

        Distributor options

        d145 1 a145 1
        --with-pkgversion=version
        d154 1 a154 1
        --with-bugurl=url
        d162 1 a162 1
        --with-documentation-root-url=url
        d169 1 a169 1
        --with-changes-root-url=url
        d179 2 a180 1

        Target specification

        d195 2 a196 1

        Options specification

        d208 1 a208 1
        --prefix=dirname
        d223 1 a223 1
        --exec-prefix=dirname
        d228 1 a228 1
        --bindir=dirname
        d234 1 a234 1
        --libdir=dirname
        d239 1 a239 1
        --libexecdir=dirname
        d244 1 a244 1
        --with-slibdir=dirname
        d249 1 a249 1
        --datarootdir=dirname
        d254 1 a254 1
        --infodir=dirname
        d259 1 a259 1
        --datadir=dirname
        d264 1 a264 1
        --docdir=dirname
        d269 1 a269 1
        --htmldir=dirname
        d274 1 a274 1
        --pdfdir=dirname
        d279 1 a279 1
        --mandir=dirname
        d287 1 a287 1
        --with-gxx-include-dir=dirname
        d294 1 a294 1
        --with-specs=specs
        d305 1 a305 1
        --program-prefix=prefix
        d313 1 a313 1
        --program-suffix=suffix
        d320 1 a320 1
        --program-transform-name=pattern
        d353 1 a353 1
        --with-local-prefix=dirname
        d426 1 a426 1
        --with-gcc-major-version-only
        d431 1 a431 1
        --with-native-system-header-dir=dirname
        d440 1 a440 1
        --enable-shared[=package[,…]]
        d461 1 a461 1
        --enable-host-shared
        d472 1 a472 1
        --with-gnu-as
        d495 1 a495 1
        --with-as=pathname
        d528 1 a528 1
        --with-gnu-ld
        d533 1 a533 1
        --with-ld=pathname
        d538 1 a538 1
        --with-dsymutil=pathname
        d543 1 a543 1
        --with-stabs
        d549 1 a549 1
        --with-tls=dialect
        d556 1 a556 1
        --enable-multiarch
        d566 1 a566 1
        --enable-sjlj-exceptions
        d572 1 a572 1
        --enable-vtable-verify
        d585 1 a585 1
        --disable-gcov
        d590 1 a590 1
        --disable-multilib
        d599 1 a599 1
        arm-*-*
        d603 1 a603 1
        m68*-*-*
        d607 1 a607 1
        mips*-*-*
        d611 1 a611 1
        msp430-*-*
        d615 1 a615 1
        powerpc*-*-*, rs6000*-*-*
        d623 2 a624 2
        --with-multilib-list=list
        --without-multilib-list
        d631 1 a631 1
        aarch64*-*-*
        d641 1 a641 1
        arm*-*-*
        d703 1 a703 1
        riscv*-*-*
        d711 1 a711 1
        sh*-*-*
        d732 2 a733 2

        --with-cpu=sh4a --with-endian=little,big --with-multilib-list=
        d738 2
        a739 2
        

        --with-cpu=sh4a --with-endian=little,big \
        d744 1
        a744 1
        
        x86-64-*-linux*
        d756 1 a756 1
        --with-endian=endians
        d762 1 a762 1
        big
        d765 1 a765 1
        little
        d768 1 a768 1
        big,little
        d771 1 a771 1
        little,big
        d777 1 a777 1
        --enable-threads
        d790 1 a790 1
        --disable-threads
        d795 1 a795 1
        --enable-threads=lib
        d802 1 a802 1
        aix
        d805 1 a805 1
        dce
        d808 1 a808 1
        lynx
        d811 1 a811 1
        mipssde
        d814 1 a814 1
        no
        d817 1 a817 1
        posix
        d820 1 a820 1
        rtems
        d823 1 a823 1
        single
        d826 1 a826 1
        tpf
        d829 1 a829 1
        vxworks
        d832 1 a832 1
        win32
        d838 1 a838 1
        --enable-tls
        d847 1 a847 1
        --disable-tls
        d852 1 a852 1
        --disable-tm-clone-registry
        d858 3 a860 3
        --with-cpu=cpu
        --with-cpu-32=cpu
        --with-cpu-64=cpu
        d870 10 a879 10
        --with-schedule=cpu
        --with-arch=cpu
        --with-arch-32=cpu
        --with-arch-64=cpu
        --with-tune=cpu
        --with-tune-32=cpu
        --with-tune-64=cpu
        --with-abi=abi
        --with-fpu=type
        --with-float=type
        d887 1 a887 1
        --with-mode=mode
        d892 1 a892 1
        --with-stack-offset=num
        d898 1 a898 1
        --with-fpmath=isa
        d905 1 a905 1
        --with-fp-32=mode
        d909 1 a909 1
        32
        d913 1 a913 1
        xx
        d917 1 a917 1
        64
        d926 1 a926 1
        --with-odd-spreg-32
        d931 1 a931 1
        --without-odd-spreg-32
        d937 1 a937 1
        --with-nan=encoding
        d942 1 a942 1
        legacy
        d946 1 a946 1
        2008
        d958 1 a958 1
        --with-divide=type
        d963 1 a963 1
        traps
        d967 1 a967 1
        breaks
        d974 1 a974 1
        --with-llsc
        d981 1 a981 1
        --without-llsc
        d986 1 a986 1
        --with-synci
        d991 1 a991 1
        --without-synci
        d996 1 a996 1
        --with-lxc1-sxc1
        d1001 1 a1001 1
        --without-lxc1-sxc1
        d1017 1 a1017 1
        --with-madd4
        d1022 1 a1022 1
        --without-madd4
        d1033 1 a1033 1
        --with-mips-plt
        d1040 1 a1040 1
        --with-stack-clash-protection-guard-size=size
        d1046 1 a1046 1
        --enable-__cxa_atexit
        d1055 1 a1055 1
        --enable-gnu-indirect-function
        d1060 1 a1060 1
        --enable-target-optspace
        d1066 1 a1066 1
        --with-cpp-install-dir=dirname
        d1071 1 a1071 1
        --enable-comdat
        d1076 1 a1076 1
        --enable-initfini-array
        d1085 1 a1085 1
        --enable-link-mutex
        d1091 1 a1091 1
        --enable-maintainer-mode
        d1101 1 a1101 1
        --disable-bootstrap
        d1108 1 a1108 1
        --enable-bootstrap
        d1117 1 a1117 1
        --enable-generated-files-in-srcdir
        d1132 1 a1132 1
        --enable-version-specific-runtime-libs
        d1144 1 a1144 1
        --with-aix-soname=‘aix’, ‘svr4’ or ‘both’
        d1155 1 a1155 1

        For detailed information please refer to the AIX d1161 2 a1162 2

        --with-aix-soname=aix
        --with-aix-soname=both
        d1179 2 a1180 2
        --with-aix-soname=both
        --with-aix-soname=svr4
        d1218 1 a1218 1
        --with-aix-soname=svr4
        d1250 1 a1250 1
        --enable-languages=lang1,lang2,…
        d1255 2 a1256 2

        grep ^language= */config-lang.in
        d1272 1
        a1272 1
        
        --enable-stage1-languages=lang1,lang2,…
        d1288 1 a1288 1
        --disable-libada
        d1295 1 a1295 1
        --disable-libsanitizer
        d1300 1 a1300 1
        --disable-libssp
        d1306 1 a1306 1
        --disable-libquadmath
        d1313 1 a1313 1
        --disable-libquadmath-support
        d1318 1 a1318 1
        --disable-libgomp
        d1323 1 a1323 1
        --disable-libvtv
        d1328 1 a1328 1
        --with-dwarf2
        d1333 1 a1333 1
        --with-advance-toolchain=at
        d1342 2 a1343 2
        --enable-targets=all
        --enable-targets=target_list
        d1357 1 a1357 1
        --enable-default-pie
        d1361 1 a1361 1
        --enable-secureplt
        d1366 1 a1366 1
        --enable-default-ssp
        d1370 1 a1370 1
        --enable-cld
        d1375 1 a1375 1
        --enable-large-address-aware
        d1384 3 a1386 3
        --enable-win32-registry
        --enable-win32-registry=key
        --disable-win32-registry
        d1390 2 a1391 2
        HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\key
        d1403 1
        a1403 1
        
        --nfp
        d1409 4 a1412 4
        --enable-werror
        --disable-werror
        --enable-werror=yes
        --enable-werror=no
        d1421 3 a1423 3
        --enable-checking
        --disable-checking
        --enable-checking=list
        d1461 3 a1463 3
        --disable-stage1-checking
        --enable-stage1-checking
        --enable-stage1-checking=list
        d1475 2 a1476 2
        --enable-coverage
        --enable-coverage=level
        d1487 1 a1487 1
        --enable-gather-detailed-mem-stats
        d1493 1 a1493 1
        --enable-valgrind-annotations
        d1498 2 a1499 2
        --enable-nls
        --disable-nls
        d1506 1 a1506 1
        --with-included-gettext
        d1511 1 a1511 1
        --with-catgets
        d1519 1 a1519 1
        --with-libiconv-prefix=dir
        d1524 1 a1524 1
        --enable-obsolete
        d1535 6 a1540 6
        --enable-decimal-float
        --enable-decimal-float=yes
        --enable-decimal-float=no
        --enable-decimal-float=bid
        --enable-decimal-float=dpd
        --disable-decimal-float
        d1551 2 a1552 2
        --enable-fixed-point
        --disable-fixed-point
        d1559 1 a1559 1
        --with-long-double-128
        d1568 2 a1569 2
        --with-long-double-format=ibm
        --with-long-double-format=ieee
        d1598 1 a1598 1
        --enable-fdpic
        d1602 9 a1610 9
        --with-gmp=pathname
        --with-gmp-include=pathname
        --with-gmp-lib=pathname
        --with-mpfr=pathname
        --with-mpfr-include=pathname
        --with-mpfr-lib=pathname
        --with-mpc=pathname
        --with-mpc-include=pathname
        --with-mpc-lib=pathname
        d1637 3 a1639 3
        --with-isl=pathname
        --with-isl-include=pathname
        --with-isl-lib=pathname
        d1653 1 a1653 1
        --with-stage1-ldflags=flags
        d1661 1 a1661 1
        --with-stage1-libs=libs
        d1667 1 a1667 1
        --with-boot-ldflags=flags
        d1674 1 a1674 1
        --with-boot-libs=libs
        d1679 1 a1679 1
        --with-debug-prefix-map=map
        d1685 1 a1685 1
        --enable-linker-build-id
        d1694 1 a1694 1
        --with-linker-hash-style=choice
        d1700 2 a1701 2
        --enable-gnu-unique-object
        --disable-gnu-unique-object
        d1708 1 a1708 1
        --with-diagnostics-color=choice
        d1718 1 a1718 1
        --with-diagnostics-urls=choice
        d1728 2 a1729 2
        --enable-lto
        --disable-lto
        d1734 2 a1735 2
        --enable-linker-plugin-configure-flags=FLAGS
        --enable-linker-plugin-flags=FLAGS
        d1746 2 a1747 2
        % srcdir/configure \
        d1754 1
        a1754 1
        
        --with-plugin-ld=pathname
        d1762 2 a1763 2
        --enable-canonical-system-headers
        --disable-canonical-system-headers
        d1771 1 a1771 1
        --with-glibc-version=major.minor
        d1784 1 a1784 1
        --enable-as-accelerator-for=target
        d1788 1 a1788 1
        --enable-offload-targets=target1[=path1],…,targetN[=pathN]
        d1794 2 a1795 2
        % srcdir/configure \
        d1804 3
        a1806 3
        
        --with-hsa-runtime=pathname
        --with-hsa-runtime-include=pathname
        --with-hsa-runtime-lib=pathname
        d1817 2 a1818 2
        --enable-cet
        --disable-cet
        d1832 1 a1832 1
        --with-riscv-attribute=‘yes’, ‘no’ or ‘default’
        d1841 2 a1842 1

        Cross-Compiler-Specific Options

        d1846 1 a1846 1
        --with-toolexeclibdir=dir
        d1851 2 a1852 2
        --with-sysroot
        --with-sysroot=dir
        d1876 2 a1877 2
        --with-build-sysroot
        --with-build-sysroot=dir
        d1895 2 a1896 2
        --with-headers
        --with-headers=dir
        d1908 1 a1908 1
        --without-headers
        d1914 2 a1915 2
        --with-libs
        --with-libs="dir1 dir2 … dirN"
        d1923 1 a1923 1
        --with-newlib
        d1931 1 a1931 1
        --with-avrlibc
        d1942 2 a1943 2
        --with-double={32|64|32,64|64,32}
        --with-long-double={32|64|32,64|64,32|double}
        d1970 1 a1970 1
        --with-double-comparison={tristate|bool|libf7}
        d1978 1 a1978 1
        --with-libf7={libgcc|math|math-symbols|no}
        d1994 1 a1994 1
        --with-nds32-lib=library
        d2000 1 a2000 1
        --with-build-time-tools=dir
        d2019 2 a2020 1

        Overriding configure test results

        d2028 3 a2030 2
        build_configargs

        The contents of this variable is passed to all build configure d2034 3 a2036 2

        host_configargs

        The contents of this variable is passed to all host configure d2040 3 a2042 2

        target_configargs

        The contents of this variable is passed to all target configure d2052 2 a2053 1

        Objective-C-Specific Options

        d2058 1 a2058 1
        --enable-objc-gc
        d2068 3 a2070 3
        --with-target-bdw-gc=list
        --with-target-bdw-gc-include=list
        --with-target-bdw-gc-lib=list
        d2089 2 a2090 1

        D-Specific Options

        d2095 3 a2097 3
        --enable-libphobos-checking
        --disable-libphobos-checking
        --enable-libphobos-checking=list
        d2114 2 a2115 2
        --with-libphobos-druntime-only
        --with-libphobos-druntime-only=choice
        d2128 1 a2128 1
        --with-target-system-zlib
        @ 1.14.2.1 log @Sync to head external/gpl3/gcc/dist, pulling up the following revisions (requested by mrg in ticket #231): external/gpl3/gcc/dist/fixincludes/tests/base/objc/runtime.h up to 1.1.1.1 external/gpl3/gcc/dist/gcc/opts-jobserver.h up to 1.1.1.1 external/gpl3/gcc/dist/libgcc/config/t-darwin-min-1 up to 1.1.1.1 external/gpl3/gcc/dist/libgcc/config/t-darwin-min-5 up to 1.1.1.1 external/gpl3/gcc/dist/libgcc/config/t-darwin-min-8 up to 1.1.1.1 external/gpl3/gcc/dist/ChangeLog up to 1.1.1.21 external/gpl3/gcc/dist/LAST_UPDATED up to 1.18 external/gpl3/gcc/dist/MD5SUMS up to 1.18 external/gpl3/gcc/dist/NEWS up to 1.16 external/gpl3/gcc/dist/INSTALL/binaries.html up to 1.13 external/gpl3/gcc/dist/INSTALL/build.html up to 1.15 external/gpl3/gcc/dist/INSTALL/configure.html up to 1.15 external/gpl3/gcc/dist/INSTALL/download.html up to 1.14 external/gpl3/gcc/dist/INSTALL/finalinstall.html up to 1.13 external/gpl3/gcc/dist/INSTALL/gfdl.html up to 1.13 external/gpl3/gcc/dist/INSTALL/index.html up to 1.13 external/gpl3/gcc/dist/INSTALL/old.html up to 1.13 external/gpl3/gcc/dist/INSTALL/prerequisites.html up to 1.15 external/gpl3/gcc/dist/INSTALL/specific.html up to 1.14 external/gpl3/gcc/dist/INSTALL/test.html up to 1.13 external/gpl3/gcc/dist/config/ChangeLog up to 1.1.1.21 external/gpl3/gcc/dist/contrib/ChangeLog up to 1.1.1.21 external/gpl3/gcc/dist/contrib/header-tools/ChangeLog up to 1.1.1.11 external/gpl3/gcc/dist/contrib/reghunt/ChangeLog up to 1.1.1.20 external/gpl3/gcc/dist/contrib/regression/ChangeLog up to 1.1.1.20 external/gpl3/gcc/dist/fixincludes/ChangeLog up to 1.1.1.20 external/gpl3/gcc/dist/fixincludes/fixincl.x up to 1.1.1.16 external/gpl3/gcc/dist/fixincludes/inclhack.def up to 1.1.1.15 external/gpl3/gcc/dist/fixincludes/tests/base/stdio.h up to 1.1.1.6 external/gpl3/gcc/dist/gcc/BASE-VER up to 1.1.1.19 external/gpl3/gcc/dist/gcc/ChangeLog up to 1.24 external/gpl3/gcc/dist/gcc/DATESTAMP up to 1.1.1.22 external/gpl3/gcc/dist/gcc/asan.c up to 1.1.1.13 external/gpl3/gcc/dist/gcc/bb-reorder.c up to 1.1.1.15 external/gpl3/gcc/dist/gcc/builtins.c up to 1.20 external/gpl3/gcc/dist/gcc/cfgbuild.c up to 1.1.1.11 external/gpl3/gcc/dist/gcc/cgraphclones.c up to 1.1.1.13 external/gpl3/gcc/dist/gcc/cgraphunit.c up to 1.1.1.14 external/gpl3/gcc/dist/gcc/config.gcc up to 1.72 external/gpl3/gcc/dist/gcc/cse.c up to 1.1.1.13 external/gpl3/gcc/dist/gcc/expr.c up to 1.19 external/gpl3/gcc/dist/gcc/function.c up to 1.1.1.18 external/gpl3/gcc/dist/gcc/function.h up to 1.1.1.12 external/gpl3/gcc/dist/gcc/gcc.c up to 1.25 external/gpl3/gcc/dist/gcc/generic-match-head.c up to 1.1.1.9 external/gpl3/gcc/dist/gcc/gimple-ssa-store-merging.c up to 1.1.1.9 external/gpl3/gcc/dist/gcc/ifcvt.c up to 1.1.1.15 external/gpl3/gcc/dist/gcc/ira-color.c up to 1.10 external/gpl3/gcc/dist/gcc/loop-invariant.c up to 1.1.1.13 external/gpl3/gcc/dist/gcc/lto-streamer-in.c up to 1.1.1.13 external/gpl3/gcc/dist/gcc/lto-wrapper.c up to 1.1.1.12 external/gpl3/gcc/dist/gcc/match.pd up to 1.1.1.13 external/gpl3/gcc/dist/gcc/omp-expand.c up to 1.1.1.8 external/gpl3/gcc/dist/gcc/omp-low.c up to 1.1.1.19 external/gpl3/gcc/dist/gcc/optabs.c up to 1.1.1.15 external/gpl3/gcc/dist/gcc/optc-save-gen.awk up to 1.1.1.10 external/gpl3/gcc/dist/gcc/opts-common.c up to 1.1.1.13 external/gpl3/gcc/dist/gcc/predict.c up to 1.1.1.12 external/gpl3/gcc/dist/gcc/ree.c up to 1.1.1.12 external/gpl3/gcc/dist/gcc/reg-stack.c up to 1.1.1.11 external/gpl3/gcc/dist/gcc/regrename.c up to 1.1.1.11 external/gpl3/gcc/dist/gcc/sanopt.c up to 1.1.1.10 external/gpl3/gcc/dist/gcc/selftest-diagnostic.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/symbol-summary.h up to 1.1.1.9 external/gpl3/gcc/dist/gcc/tree-inline.c up to 1.1.1.18 external/gpl3/gcc/dist/gcc/tree-loop-distribution.c up to 1.1.1.13 external/gpl3/gcc/dist/gcc/tree-nested.c up to 1.1.1.13 external/gpl3/gcc/dist/gcc/tree-sra.c up to 1.1.1.17 external/gpl3/gcc/dist/gcc/tree-ssa-ccp.c up to 1.16 external/gpl3/gcc/dist/gcc/tree-ssa-dom.c up to 1.1.1.16 external/gpl3/gcc/dist/gcc/tree-ssa-loop-ivopts.c up to 1.1.1.14 external/gpl3/gcc/dist/gcc/tree-ssa-reassoc.c up to 1.1.1.18 external/gpl3/gcc/dist/gcc/tree-ssa-sccvn.c up to 1.1.1.18 external/gpl3/gcc/dist/gcc/tree-ssa-strlen.c up to 1.1.1.13 external/gpl3/gcc/dist/gcc/tree-ssa.c up to 1.1.1.13 external/gpl3/gcc/dist/gcc/tree.c up to 1.5 external/gpl3/gcc/dist/gcc/tree.h up to 1.5 external/gpl3/gcc/dist/gcc/varasm.c up to 1.14 external/gpl3/gcc/dist/gcc/wide-int.cc up to 1.1.1.10 external/gpl3/gcc/dist/gcc/wide-int.h up to 1.1.1.10 external/gpl3/gcc/dist/gcc/analyzer/ChangeLog up to 1.1.1.3 external/gpl3/gcc/dist/gcc/brig/ChangeLog up to 1.1.1.9 external/gpl3/gcc/dist/gcc/c/ChangeLog up to 1.1.1.19 external/gpl3/gcc/dist/gcc/c/c-parser.c up to 1.1.1.16 external/gpl3/gcc/dist/gcc/c/c-typeck.c up to 1.1.1.17 external/gpl3/gcc/dist/gcc/c-family/ChangeLog up to 1.1.1.18 external/gpl3/gcc/dist/gcc/c-family/c-common.c up to 1.1.1.17 external/gpl3/gcc/dist/gcc/c-family/c-ubsan.c up to 1.1.1.10 external/gpl3/gcc/dist/gcc/c-family/c-warn.c up to 1.1.1.8 external/gpl3/gcc/dist/gcc/common/config/i386/i386-cpuinfo.h up to 1.1.1.2 external/gpl3/gcc/dist/gcc/config/darwin.c up to 1.1.1.15 external/gpl3/gcc/dist/gcc/config/darwin.h up to 1.1.1.14 external/gpl3/gcc/dist/gcc/config/aarch64/aarch64-c.c up to 1.1.1.9 external/gpl3/gcc/dist/gcc/config/aarch64/aarch64-cores.def up to 1.1.1.12 external/gpl3/gcc/dist/gcc/config/aarch64/aarch64-cost-tables.h up to 1.1.1.9 external/gpl3/gcc/dist/gcc/config/aarch64/aarch64-fusion-pairs.def up to 1.1.1.8 external/gpl3/gcc/dist/gcc/config/aarch64/aarch64-netbsd.h up to 1.7 external/gpl3/gcc/dist/gcc/config/aarch64/aarch64-protos.h up to 1.1.1.13 external/gpl3/gcc/dist/gcc/config/aarch64/aarch64-simd.md up to 1.1.1.13 external/gpl3/gcc/dist/gcc/config/aarch64/aarch64-sve-builtins.cc up to 1.1.1.3 external/gpl3/gcc/dist/gcc/config/aarch64/aarch64-sve.md up to 1.1.1.5 external/gpl3/gcc/dist/gcc/config/aarch64/aarch64-tune.md up to 1.1.1.12 external/gpl3/gcc/dist/gcc/config/aarch64/aarch64-tuning-flags.def up to 1.1.1.8 external/gpl3/gcc/dist/gcc/config/aarch64/aarch64.c up to 1.1.1.19 external/gpl3/gcc/dist/gcc/config/aarch64/aarch64.h up to 1.4 external/gpl3/gcc/dist/gcc/config/aarch64/aarch64.md up to 1.1.1.17 external/gpl3/gcc/dist/gcc/config/aarch64/driver-aarch64.c up to 1.14 external/gpl3/gcc/dist/gcc/config/aarch64/iterators.md up to 1.1.1.14 external/gpl3/gcc/dist/gcc/config/i386/i386-builtin.def up to 1.1.1.8 external/gpl3/gcc/dist/gcc/config/i386/i386-expand.c up to 1.1.1.3 external/gpl3/gcc/dist/gcc/config/i386/i386-features.c up to 1.1.1.2 external/gpl3/gcc/dist/gcc/config/i386/i386-options.c up to 1.1.1.2 external/gpl3/gcc/dist/gcc/config/i386/smmintrin.h up to 1.1.1.11 external/gpl3/gcc/dist/gcc/config/i386/t-i386 up to 1.1.1.11 external/gpl3/gcc/dist/gcc/config/nvptx/nvptx.c up to 1.1.1.12 external/gpl3/gcc/dist/gcc/config/nvptx/nvptx.h up to 1.1.1.9 external/gpl3/gcc/dist/gcc/config/nvptx/nvptx.md up to 1.1.1.9 external/gpl3/gcc/dist/gcc/config/pa/pa.md up to 1.1.1.17 external/gpl3/gcc/dist/gcc/config/riscv/t-rtems up to 1.1.1.2 external/gpl3/gcc/dist/gcc/config/rs6000/altivec.md up to 1.1.1.19 external/gpl3/gcc/dist/gcc/config/rs6000/mma.md up to 1.1.1.3 external/gpl3/gcc/dist/gcc/config/rs6000/rs6000-builtin.def up to 1.1.1.19 external/gpl3/gcc/dist/gcc/config/rs6000/rs6000-call.c up to 1.1.1.3 external/gpl3/gcc/dist/gcc/config/rs6000/rs6000-logue.c up to 1.4 external/gpl3/gcc/dist/gcc/config/rs6000/rs6000-p8swap.c up to 1.1.1.6 external/gpl3/gcc/dist/gcc/config/rs6000/rs6000-protos.h up to 1.1.1.15 external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c up to 1.32 external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.h up to 1.1.1.17 external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.md up to 1.1.1.20 external/gpl3/gcc/dist/gcc/config/rs6000/rtems.h up to 1.1.1.11 external/gpl3/gcc/dist/gcc/config/rs6000/t-rtems up to 1.1.1.11 external/gpl3/gcc/dist/gcc/config/rs6000/vector.md up to 1.1.1.15 external/gpl3/gcc/dist/gcc/config/rs6000/vsx.md up to 1.1.1.20 external/gpl3/gcc/dist/gcc/config/s390/s390.c up to 1.1.1.18 external/gpl3/gcc/dist/gcc/config/sparc/sparc.c up to 1.1.1.19 external/gpl3/gcc/dist/gcc/cp/ChangeLog up to 1.1.1.22 external/gpl3/gcc/dist/gcc/cp/constexpr.c up to 1.1.1.14 external/gpl3/gcc/dist/gcc/cp/cp-gimplify.c up to 1.1.1.15 external/gpl3/gcc/dist/gcc/cp/cp-tree.h up to 1.1.1.15 external/gpl3/gcc/dist/gcc/cp/cvt.c up to 1.1.1.15 external/gpl3/gcc/dist/gcc/cp/decl.c up to 1.10 external/gpl3/gcc/dist/gcc/cp/decl2.c up to 1.1.1.18 external/gpl3/gcc/dist/gcc/cp/expr.c up to 1.1.1.12 external/gpl3/gcc/dist/gcc/cp/friend.c up to 1.1.1.12 external/gpl3/gcc/dist/gcc/cp/lambda.c up to 1.1.1.12 external/gpl3/gcc/dist/gcc/cp/parser.c up to 1.1.1.21 external/gpl3/gcc/dist/gcc/cp/pt.c up to 1.1.1.19 external/gpl3/gcc/dist/gcc/cp/semantics.c up to 1.1.1.20 external/gpl3/gcc/dist/gcc/cp/tree.c up to 1.1.1.18 external/gpl3/gcc/dist/gcc/cp/typeck.c up to 1.1.1.19 external/gpl3/gcc/dist/gcc/d/ChangeLog up to 1.1.1.4 external/gpl3/gcc/dist/gcc/d/d-convert.cc up to 1.1.1.4 external/gpl3/gcc/dist/gcc/d/decl.cc up to 1.1.1.4 external/gpl3/gcc/dist/gcc/d/expr.cc up to 1.1.1.4 external/gpl3/gcc/dist/gcc/d/gdc.texi up to 1.1.1.3 external/gpl3/gcc/dist/gcc/d/imports.cc up to 1.1.1.3 external/gpl3/gcc/dist/gcc/d/toir.cc up to 1.1.1.3 external/gpl3/gcc/dist/gcc/d/dmd/dinterpret.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/d/dmd/expressionsem.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/doc/cpp.1 up to 1.17 external/gpl3/gcc/dist/gcc/doc/cpp.info up to 1.16 external/gpl3/gcc/dist/gcc/doc/cppinternals.info up to 1.18 external/gpl3/gcc/dist/gcc/doc/cppopts.texi up to 1.10 external/gpl3/gcc/dist/gcc/doc/extend.texi up to 1.10 external/gpl3/gcc/dist/gcc/doc/fsf-funding.7 up to 1.15 external/gpl3/gcc/dist/gcc/doc/g++.1 up to 1.18 external/gpl3/gcc/dist/gcc/doc/gcc.1 up to 1.18 external/gpl3/gcc/dist/gcc/doc/gcc.info up to 1.16 external/gpl3/gcc/dist/gcc/doc/gccinstall.info up to 1.18 external/gpl3/gcc/dist/gcc/doc/gccint.info up to 1.17 external/gpl3/gcc/dist/gcc/doc/gcov-dump.1 up to 1.1.1.12 external/gpl3/gcc/dist/gcc/doc/gcov-tool.1 up to 1.11 external/gpl3/gcc/dist/gcc/doc/gcov.1 up to 1.17 external/gpl3/gcc/dist/gcc/doc/gfdl.7 up to 1.15 external/gpl3/gcc/dist/gcc/doc/gfortran.1 up to 1.14 external/gpl3/gcc/dist/gcc/doc/gpl.7 up to 1.15 external/gpl3/gcc/dist/gcc/doc/invoke.texi up to 1.23 external/gpl3/gcc/dist/gcc/doc/lto-dump.1 up to 1.1.1.3 external/gpl3/gcc/dist/gcc/fortran/ChangeLog up to 1.1.1.4 external/gpl3/gcc/dist/gcc/fortran/array.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/fortran/check.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/fortran/decl.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/fortran/dependency.c up to 1.1.1.3 external/gpl3/gcc/dist/gcc/fortran/expr.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/fortran/f95-lang.c up to 1.1.1.3 external/gpl3/gcc/dist/gcc/fortran/gfortran.info up to 1.1.1.4 external/gpl3/gcc/dist/gcc/fortran/interface.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/fortran/iresolve.c up to 1.1.1.3 external/gpl3/gcc/dist/gcc/fortran/match.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/fortran/parse.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/fortran/primary.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/fortran/resolve.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/fortran/simplify.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/fortran/symbol.c up to 1.1.1.3 external/gpl3/gcc/dist/gcc/fortran/trans-decl.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/fortran/trans-expr.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/fortran/trans-intrinsic.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/fortran/trans-types.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/fortran/trans.h up to 1.1.1.3 external/gpl3/gcc/dist/gcc/jit/ChangeLog up to 1.1.1.14 external/gpl3/gcc/dist/gcc/lto/ChangeLog up to 1.1.1.20 external/gpl3/gcc/dist/gcc/objc/ChangeLog up to 1.1.1.20 external/gpl3/gcc/dist/gcc/objcp/ChangeLog up to 1.1.1.20 external/gpl3/gcc/dist/include/ChangeLog up to 1.1.1.20 external/gpl3/gcc/dist/intl/ChangeLog up to 1.1.1.20 external/gpl3/gcc/dist/libbacktrace/ChangeLog up to 1.1.1.19 external/gpl3/gcc/dist/libcc1/ChangeLog up to 1.1.1.14 external/gpl3/gcc/dist/libcpp/ChangeLog up to 1.1.1.20 external/gpl3/gcc/dist/libcpp/directives.c up to 1.1.1.13 external/gpl3/gcc/dist/libdecnumber/ChangeLog up to 1.1.1.20 external/gpl3/gcc/dist/libgcc/ChangeLog up to 1.1.1.22 external/gpl3/gcc/dist/libgcc/config.host up to 1.33 external/gpl3/gcc/dist/libgcc/config/darwin10-unwind-find-enc-func.c up to 1.1.1.2 external/gpl3/gcc/dist/libgcc/config/t-darwin up to 1.1.1.6 external/gpl3/gcc/dist/libgcc/config/t-slibgcc-darwin up to 1.1.1.4 external/gpl3/gcc/dist/libgcc/config/avr/libf7/ChangeLog up to 1.1.1.3 external/gpl3/gcc/dist/libgcc/config/avr/libf7/libf7-asm.sx up to 1.1.1.2 external/gpl3/gcc/dist/libgcc/config/i386/cpuinfo.c up to 1.1.1.11 external/gpl3/gcc/dist/libgcc/config/libbid/ChangeLog up to 1.1.1.20 external/gpl3/gcc/dist/libgcc/config/riscv/div.S up to 1.1.1.7 external/gpl3/gcc/dist/libgcc/config/riscv/riscv-asm.h up to 1.1.1.4 external/gpl3/gcc/dist/libgfortran/ChangeLog up to 1.1.1.4 external/gpl3/gcc/dist/libgomp/ChangeLog up to 1.1.1.20 external/gpl3/gcc/dist/libgomp/libgomp.info up to 1.15 external/gpl3/gcc/dist/libgomp/libgomp.texi up to 1.1.1.11 external/gpl3/gcc/dist/libgomp/target.c up to 1.1.1.9 external/gpl3/gcc/dist/libgomp/task.c up to 1.1.1.12 external/gpl3/gcc/dist/libhsail-rt/ChangeLog up to 1.1.1.9 external/gpl3/gcc/dist/libiberty/ChangeLog up to 1.1.1.20 external/gpl3/gcc/dist/libiberty/strstr.c up to 1.1.1.2 external/gpl3/gcc/dist/libobjc/ChangeLog up to 1.1.1.21 external/gpl3/gcc/dist/libphobos/ChangeLog up to 1.1.1.4 external/gpl3/gcc/dist/libphobos/src/std/path.d up to 1.1.1.2 external/gpl3/gcc/dist/libquadmath/ChangeLog up to 1.1.1.4 external/gpl3/gcc/dist/libquadmath/libquadmath.info up to 1.1.1.4 external/gpl3/gcc/dist/libquadmath/strtod/strtod_l.c up to 1.1.1.2 external/gpl3/gcc/dist/libsanitizer/ChangeLog up to 1.4 external/gpl3/gcc/dist/libsanitizer/configure.tgt up to 1.10 external/gpl3/gcc/dist/libssp/ChangeLog up to 1.1.1.20 external/gpl3/gcc/dist/libstdc++-v3/ChangeLog up to 1.1.1.22 external/gpl3/gcc/dist/libstdc++-v3/config/os/gnu-linux/os_defines.h up to 1.1.1.11 external/gpl3/gcc/dist/libstdc++-v3/doc/doxygen/user.cfg.in up to 1.1.1.7 external/gpl3/gcc/dist/libstdc++-v3/doc/html/bk02.html up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/doc/html/manual/api.html up to 1.1.1.11 external/gpl3/gcc/dist/libstdc++-v3/doc/html/manual/ext_demangling.html up to 1.1.1.7 external/gpl3/gcc/dist/libstdc++-v3/doc/html/manual/extensions.html up to 1.1.1.6 external/gpl3/gcc/dist/libstdc++-v3/doc/html/manual/index.html up to 1.1.1.14 external/gpl3/gcc/dist/libstdc++-v3/doc/xml/authors.xml up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/doc/xml/manual/evolution.xml up to 1.1.1.10 external/gpl3/gcc/dist/libstdc++-v3/doc/xml/manual/extensions.xml up to 1.1.1.13 external/gpl3/gcc/dist/libstdc++-v3/doc/xml/manual/spine.xml up to 1.1.1.11 external/gpl3/gcc/dist/libstdc++-v3/include/Makefile.am up to 1.1.1.16 external/gpl3/gcc/dist/libstdc++-v3/include/Makefile.in up to 1.1.1.16 external/gpl3/gcc/dist/libstdc++-v3/include/bits/fs_path.h up to 1.1.1.6 external/gpl3/gcc/dist/libstdc++-v3/include/bits/gslice_array.h up to 1.1.1.12 external/gpl3/gcc/dist/libstdc++-v3/include/bits/indirect_array.h up to 1.1.1.12 external/gpl3/gcc/dist/libstdc++-v3/include/bits/list.tcc up to 1.1.1.12 external/gpl3/gcc/dist/libstdc++-v3/include/bits/mask_array.h up to 1.1.1.13 external/gpl3/gcc/dist/libstdc++-v3/include/bits/range_access.h up to 1.1.1.11 external/gpl3/gcc/dist/libstdc++-v3/include/bits/regex.h up to 1.1.1.13 external/gpl3/gcc/dist/libstdc++-v3/include/bits/regex.tcc up to 1.1.1.10 external/gpl3/gcc/dist/libstdc++-v3/include/bits/regex_automaton.h up to 1.1.1.11 external/gpl3/gcc/dist/libstdc++-v3/include/bits/regex_compiler.h up to 1.1.1.12 external/gpl3/gcc/dist/libstdc++-v3/include/bits/regex_compiler.tcc up to 1.1.1.10 external/gpl3/gcc/dist/libstdc++-v3/include/bits/regex_error.h up to 1.1.1.11 external/gpl3/gcc/dist/libstdc++-v3/include/bits/regex_executor.tcc up to 1.1.1.10 external/gpl3/gcc/dist/libstdc++-v3/include/bits/regex_scanner.h up to 1.1.1.11 external/gpl3/gcc/dist/libstdc++-v3/include/bits/regex_scanner.tcc up to 1.1.1.10 external/gpl3/gcc/dist/libstdc++-v3/include/bits/shared_ptr_base.h up to 1.1.1.16 external/gpl3/gcc/dist/libstdc++-v3/include/bits/slice_array.h up to 1.1.1.13 external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_iterator.h up to 1.1.1.14 external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_uninitialized.h up to 1.1.1.13 external/gpl3/gcc/dist/libstdc++-v3/include/experimental/numeric up to 1.1.1.8 external/gpl3/gcc/dist/libstdc++-v3/include/experimental/optional up to 1.1.1.12 external/gpl3/gcc/dist/libstdc++-v3/include/std/any up to 1.1.1.9 external/gpl3/gcc/dist/libstdc++-v3/include/std/memory up to 1.1.1.12 external/gpl3/gcc/dist/libstdc++-v3/include/std/numeric up to 1.1.1.12 external/gpl3/gcc/dist/libstdc++-v3/include/std/ranges up to 1.1.1.3 external/gpl3/gcc/dist/libstdc++-v3/include/std/span up to 1.1.1.3 external/gpl3/gcc/dist/libstdc++-v3/include/std/valarray up to 1.1.1.12 external/gpl3/gcc/dist/libstdc++-v3/python/libstdcxx/v6/xmethods.py up to 1.1.1.12 external/gpl3/gcc/dist/libstdc++-v3/src/c++11/thread.cc up to 1.1.1.12 external/gpl3/gcc/dist/libstdc++-v3/src/c++17/fs_path.cc up to 1.1.1.4 external/gpl3/gcc/dist/lto-plugin/ChangeLog up to 1.1.1.20 external/gpl3/gcc/dist/maintainer-scripts/ChangeLog up to 1.1.1.21 Import gcc 10.5. @ text @d3 3 a24 3 d32 2 d36 1 a38 2 blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} blockquote.smallquotation {font-size: smaller} a40 4 div.lisp {margin-left: 3.2em} div.smalldisplay {margin-left: 3.2em} div.smallexample {margin-left: 3.2em} div.smalllisp {margin-left: 3.2em} a45 4 pre.smalldisplay {font-family: inherit; font-size: smaller} pre.smallexample {font-size: smaller} pre.smallformat {font-family: inherit; font-size: smaller} pre.smalllisp {font-size: smaller} d49 1 d78 2 a79 2 d125 2 a126 2
        % mkdir objdir
        d131 1
        a131 2
        
        

        Distributor options

        d138 1 a138 1
        --with-pkgversion=version
        d147 1 a147 1
        --with-bugurl=url
        d155 1 a155 1
        --with-documentation-root-url=url
        d162 1 a162 1
        --with-changes-root-url=url
        d172 1 a172 2

        Target specification

        d187 1 a187 2

        Options specification

        d199 1 a199 1
        --prefix=dirname
        d214 1 a214 1
        --exec-prefix=dirname
        d219 1 a219 1
        --bindir=dirname
        d225 1 a225 1
        --libdir=dirname
        d230 1 a230 1
        --libexecdir=dirname
        d235 1 a235 1
        --with-slibdir=dirname
        d240 1 a240 1
        --datarootdir=dirname
        d245 1 a245 1
        --infodir=dirname
        d250 1 a250 1
        --datadir=dirname
        d255 1 a255 1
        --docdir=dirname
        d260 1 a260 1
        --htmldir=dirname
        d265 1 a265 1
        --pdfdir=dirname
        d270 1 a270 1
        --mandir=dirname
        d278 1 a278 1
        --with-gxx-include-dir=dirname
        d285 1 a285 1
        --with-specs=specs
        d296 1 a296 1
        --program-prefix=prefix
        d304 1 a304 1
        --program-suffix=suffix
        d311 1 a311 1
        --program-transform-name=pattern
        d344 1 a344 1
        --with-local-prefix=dirname
        d417 1 a417 1
        --with-gcc-major-version-only
        d422 1 a422 1
        --with-native-system-header-dir=dirname
        d431 1 a431 1
        --enable-shared[=package[,…]]
        d452 1 a452 1
        --enable-host-shared
        d463 1 a463 1
        --with-gnu-as
        d486 1 a486 1
        --with-as=pathname
        d519 1 a519 1
        --with-gnu-ld
        d524 1 a524 1
        --with-ld=pathname
        d529 1 a529 1
        --with-dsymutil=pathname
        d534 1 a534 1
        --with-stabs
        d540 1 a540 1
        --with-tls=dialect
        d547 1 a547 1
        --enable-multiarch
        d557 1 a557 1
        --enable-sjlj-exceptions
        d563 1 a563 1
        --enable-vtable-verify
        d576 1 a576 1
        --disable-gcov
        d581 1 a581 1
        --disable-multilib
        d590 1 a590 1
        arm-*-*
        d594 1 a594 1
        m68*-*-*
        d598 1 a598 1
        mips*-*-*
        d602 1 a602 1
        msp430-*-*
        d606 1 a606 1
        powerpc*-*-*, rs6000*-*-*
        d614 2 a615 2
        --with-multilib-list=list
        --without-multilib-list
        d622 1 a622 1
        aarch64*-*-*
        d632 1 a632 1
        arm*-*-*
        d694 1 a694 1
        riscv*-*-*
        d702 1 a702 1
        sh*-*-*
        d723 2 a724 2

        --with-cpu=sh4a --with-endian=little,big --with-multilib-list=
        d729 2
        a730 2
        

        --with-cpu=sh4a --with-endian=little,big \
        d735 1
        a735 1
        
        x86-64-*-linux*
        d747 1 a747 1
        --with-endian=endians
        d753 1 a753 1
        big
        d756 1 a756 1
        little
        d759 1 a759 1
        big,little
        d762 1 a762 1
        little,big
        d768 1 a768 1
        --enable-threads
        d781 1 a781 1
        --disable-threads
        d786 1 a786 1
        --enable-threads=lib
        d793 1 a793 1
        aix
        d796 1 a796 1
        dce
        d799 1 a799 1
        lynx
        d802 1 a802 1
        mipssde
        d805 1 a805 1
        no
        d808 1 a808 1
        posix
        d811 1 a811 1
        rtems
        d814 1 a814 1
        single
        d817 1 a817 1
        tpf
        d820 1 a820 1
        vxworks
        d823 1 a823 1
        win32
        d829 1 a829 1
        --enable-tls
        d838 1 a838 1
        --disable-tls
        d843 1 a843 1
        --disable-tm-clone-registry
        d849 3 a851 3
        --with-cpu=cpu
        --with-cpu-32=cpu
        --with-cpu-64=cpu
        d861 10 a870 10
        --with-schedule=cpu
        --with-arch=cpu
        --with-arch-32=cpu
        --with-arch-64=cpu
        --with-tune=cpu
        --with-tune-32=cpu
        --with-tune-64=cpu
        --with-abi=abi
        --with-fpu=type
        --with-float=type
        d878 1 a878 1
        --with-mode=mode
        d883 1 a883 1
        --with-stack-offset=num
        d889 1 a889 1
        --with-fpmath=isa
        d896 1 a896 1
        --with-fp-32=mode
        d900 1 a900 1
        32
        d904 1 a904 1
        xx
        d908 1 a908 1
        64
        d917 1 a917 1
        --with-odd-spreg-32
        d922 1 a922 1
        --without-odd-spreg-32
        d928 1 a928 1
        --with-nan=encoding
        d933 1 a933 1
        legacy
        d937 1 a937 1
        2008
        d949 1 a949 1
        --with-divide=type
        d954 1 a954 1
        traps
        d958 1 a958 1
        breaks
        d965 1 a965 1
        --with-llsc
        d972 1 a972 1
        --without-llsc
        d977 1 a977 1
        --with-synci
        d982 1 a982 1
        --without-synci
        d987 1 a987 1
        --with-lxc1-sxc1
        d992 1 a992 1
        --without-lxc1-sxc1
        d1008 1 a1008 1
        --with-madd4
        d1013 1 a1013 1
        --without-madd4
        d1024 1 a1024 1
        --with-mips-plt
        d1031 1 a1031 1
        --with-stack-clash-protection-guard-size=size
        d1037 1 a1037 1
        --enable-__cxa_atexit
        d1046 1 a1046 1
        --enable-gnu-indirect-function
        d1051 1 a1051 1
        --enable-target-optspace
        d1057 1 a1057 1
        --with-cpp-install-dir=dirname
        d1062 1 a1062 1
        --enable-comdat
        d1067 1 a1067 1
        --enable-initfini-array
        d1076 1 a1076 1
        --enable-link-mutex
        d1082 1 a1082 1
        --enable-maintainer-mode
        d1092 1 a1092 1
        --disable-bootstrap
        d1099 1 a1099 1
        --enable-bootstrap
        d1108 1 a1108 1
        --enable-generated-files-in-srcdir
        d1123 1 a1123 1
        --enable-version-specific-runtime-libs
        d1135 1 a1135 1
        --with-aix-soname=‘aix’, ‘svr4’ or ‘both’
        d1146 1 a1146 1

        For detailed information please refer to the AIX d1152 2 a1153 2

        --with-aix-soname=aix
        --with-aix-soname=both
        d1170 2 a1171 2
        --with-aix-soname=both
        --with-aix-soname=svr4
        d1209 1 a1209 1
        --with-aix-soname=svr4
        d1241 1 a1241 1
        --enable-languages=lang1,lang2,…
        d1246 2 a1247 2

        grep ^language= */config-lang.in
        d1263 1
        a1263 1
        
        --enable-stage1-languages=lang1,lang2,…
        d1279 1 a1279 1
        --disable-libada
        d1286 1 a1286 1
        --disable-libsanitizer
        d1291 1 a1291 1
        --disable-libssp
        d1297 1 a1297 1
        --disable-libquadmath
        d1304 1 a1304 1
        --disable-libquadmath-support
        d1309 1 a1309 1
        --disable-libgomp
        d1314 1 a1314 1
        --disable-libvtv
        d1319 1 a1319 1
        --with-dwarf2
        d1324 1 a1324 1
        --with-advance-toolchain=at
        d1333 2 a1334 2
        --enable-targets=all
        --enable-targets=target_list
        d1348 1 a1348 1
        --enable-default-pie
        d1352 1 a1352 1
        --enable-secureplt
        d1357 1 a1357 1
        --enable-default-ssp
        d1361 1 a1361 1
        --enable-cld
        d1366 1 a1366 1
        --enable-large-address-aware
        d1375 3 a1377 3
        --enable-win32-registry
        --enable-win32-registry=key
        --disable-win32-registry
        d1381 2 a1382 2
        HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\key
        d1394 1
        a1394 1
        
        --nfp
        d1400 4 a1403 4
        --enable-werror
        --disable-werror
        --enable-werror=yes
        --enable-werror=no
        d1412 3 a1414 3
        --enable-checking
        --disable-checking
        --enable-checking=list
        d1452 3 a1454 3
        --disable-stage1-checking
        --enable-stage1-checking
        --enable-stage1-checking=list
        d1466 2 a1467 2
        --enable-coverage
        --enable-coverage=level
        d1478 1 a1478 1
        --enable-gather-detailed-mem-stats
        d1484 1 a1484 1
        --enable-valgrind-annotations
        d1489 2 a1490 2
        --enable-nls
        --disable-nls
        d1497 1 a1497 1
        --with-included-gettext
        d1502 1 a1502 1
        --with-catgets
        d1510 1 a1510 1
        --with-libiconv-prefix=dir
        d1515 1 a1515 1
        --enable-obsolete
        d1526 6 a1531 6
        --enable-decimal-float
        --enable-decimal-float=yes
        --enable-decimal-float=no
        --enable-decimal-float=bid
        --enable-decimal-float=dpd
        --disable-decimal-float
        d1542 2 a1543 2
        --enable-fixed-point
        --disable-fixed-point
        d1550 1 a1550 1
        --with-long-double-128
        d1559 2 a1560 2
        --with-long-double-format=ibm
        --with-long-double-format=ieee
        d1589 1 a1589 1
        --enable-fdpic
        d1593 9 a1601 9
        --with-gmp=pathname
        --with-gmp-include=pathname
        --with-gmp-lib=pathname
        --with-mpfr=pathname
        --with-mpfr-include=pathname
        --with-mpfr-lib=pathname
        --with-mpc=pathname
        --with-mpc-include=pathname
        --with-mpc-lib=pathname
        d1628 3 a1630 3
        --with-isl=pathname
        --with-isl-include=pathname
        --with-isl-lib=pathname
        d1644 1 a1644 1
        --with-stage1-ldflags=flags
        d1652 1 a1652 1
        --with-stage1-libs=libs
        d1658 1 a1658 1
        --with-boot-ldflags=flags
        d1665 1 a1665 1
        --with-boot-libs=libs
        d1670 1 a1670 1
        --with-debug-prefix-map=map
        d1676 1 a1676 1
        --enable-linker-build-id
        d1685 1 a1685 1
        --with-linker-hash-style=choice
        d1691 2 a1692 2
        --enable-gnu-unique-object
        --disable-gnu-unique-object
        d1699 1 a1699 1
        --with-diagnostics-color=choice
        d1709 1 a1709 1
        --with-diagnostics-urls=choice
        d1719 2 a1720 2
        --enable-lto
        --disable-lto
        d1725 2 a1726 2
        --enable-linker-plugin-configure-flags=FLAGS
        --enable-linker-plugin-flags=FLAGS
        d1737 2 a1738 2
        % srcdir/configure \
        d1745 1
        a1745 1
        
        --with-plugin-ld=pathname
        d1753 2 a1754 2
        --enable-canonical-system-headers
        --disable-canonical-system-headers
        d1762 1 a1762 1
        --with-glibc-version=major.minor
        d1775 1 a1775 1
        --enable-as-accelerator-for=target
        d1779 1 a1779 1
        --enable-offload-targets=target1[=path1],…,targetN[=pathN]
        d1785 2 a1786 2
        % srcdir/configure \
        d1795 3
        a1797 3
        
        --with-hsa-runtime=pathname
        --with-hsa-runtime-include=pathname
        --with-hsa-runtime-lib=pathname
        d1808 2 a1809 2
        --enable-cet
        --disable-cet
        d1823 1 a1823 1
        --with-riscv-attribute=‘yes’, ‘no’ or ‘default’
        d1832 1 a1832 2

        Cross-Compiler-Specific Options

        d1836 1 a1836 1
        --with-toolexeclibdir=dir
        d1841 2 a1842 2
        --with-sysroot
        --with-sysroot=dir
        d1866 2 a1867 2
        --with-build-sysroot
        --with-build-sysroot=dir
        d1885 2 a1886 2
        --with-headers
        --with-headers=dir
        d1898 1 a1898 1
        --without-headers
        d1904 2 a1905 2
        --with-libs
        --with-libs="dir1 dir2 … dirN"
        d1913 1 a1913 1
        --with-newlib
        d1921 1 a1921 1
        --with-avrlibc
        d1932 2 a1933 2
        --with-double={32|64|32,64|64,32}
        --with-long-double={32|64|32,64|64,32|double}
        d1960 1 a1960 1
        --with-double-comparison={tristate|bool|libf7}
        d1968 1 a1968 1
        --with-libf7={libgcc|math|math-symbols|no}
        d1984 1 a1984 1
        --with-nds32-lib=library
        d1990 1 a1990 1
        --with-build-time-tools=dir
        d2009 1 a2009 2

        Overriding configure test results

        d2017 2 a2018 3
        build_configargs

        The contents of this variable is passed to all build configure d2022 2 a2023 3

        host_configargs

        The contents of this variable is passed to all host configure d2027 2 a2028 3

        target_configargs

        The contents of this variable is passed to all target configure d2038 1 a2038 2

        Objective-C-Specific Options

        d2043 1 a2043 1
        --enable-objc-gc
        d2053 3 a2055 3
        --with-target-bdw-gc=list
        --with-target-bdw-gc-include=list
        --with-target-bdw-gc-lib=list
        d2074 1 a2074 2

        D-Specific Options

        d2079 3 a2081 3
        --enable-libphobos-checking
        --disable-libphobos-checking
        --enable-libphobos-checking=list
        d2098 2 a2099 2
        --with-libphobos-druntime-only
        --with-libphobos-druntime-only=choice
        d2112 1 a2112 1
        --with-target-system-zlib
        @ 1.13 log @initial merge of GCC 10.3.0. these three files are not yet finished merging: gcc/config/rs6000/rs6000.c libsanitizer/lsan/lsan_allocator.h libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h our current GCC 9 sanitizers are newer than GCC 10's still, so that may take a little to untease, so it's probable that more than these 2 will need more changes. rs6000.c has some changes related to ABI and supported functionality that need to be merged forward. @ text @d3 3 a24 3 d32 2 d36 1 a38 2 blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} blockquote.smallquotation {font-size: smaller} a40 4 div.lisp {margin-left: 3.2em} div.smalldisplay {margin-left: 3.2em} div.smallexample {margin-left: 3.2em} div.smalllisp {margin-left: 3.2em} a45 4 pre.smalldisplay {font-family: inherit; font-size: smaller} pre.smallexample {font-size: smaller} pre.smallformat {font-family: inherit; font-size: smaller} pre.smalllisp {font-size: smaller} d49 1 d78 2 a79 2 d125 2 a126 2
        % mkdir objdir
        d131 1
        a131 2
        
        

        Distributor options

        d138 1 a138 1
        --with-pkgversion=version
        d147 1 a147 1
        --with-bugurl=url
        d155 1 a155 1
        --with-documentation-root-url=url
        d162 1 a162 1
        --with-changes-root-url=url
        d172 1 a172 2

        Target specification

        d187 1 a187 2

        Options specification

        d199 1 a199 1
        --prefix=dirname
        d214 1 a214 1
        --exec-prefix=dirname
        d219 1 a219 1
        --bindir=dirname
        d225 1 a225 1
        --libdir=dirname
        d230 1 a230 1
        --libexecdir=dirname
        d235 1 a235 1
        --with-slibdir=dirname
        d240 1 a240 1
        --datarootdir=dirname
        d245 1 a245 1
        --infodir=dirname
        d250 1 a250 1
        --datadir=dirname
        d255 1 a255 1
        --docdir=dirname
        d260 1 a260 1
        --htmldir=dirname
        d265 1 a265 1
        --pdfdir=dirname
        d270 1 a270 1
        --mandir=dirname
        d278 1 a278 1
        --with-gxx-include-dir=dirname
        d285 1 a285 1
        --with-specs=specs
        d296 1 a296 1
        --program-prefix=prefix
        d304 1 a304 1
        --program-suffix=suffix
        d311 1 a311 1
        --program-transform-name=pattern
        d344 1 a344 1
        --with-local-prefix=dirname
        d417 1 a417 1
        --with-gcc-major-version-only
        d422 1 a422 1
        --with-native-system-header-dir=dirname
        d431 1 a431 1
        --enable-shared[=package[,…]]
        d452 1 a452 1
        --enable-host-shared
        d463 1 a463 1
        --with-gnu-as
        d486 1 a486 1
        --with-as=pathname
        d519 1 a519 1
        --with-gnu-ld
        d524 1 a524 1
        --with-ld=pathname
        d529 6 a534 1
        --with-stabs
        d540 1 a540 1
        --with-tls=dialect
        d547 1 a547 1
        --enable-multiarch
        d557 1 a557 1
        --enable-sjlj-exceptions
        d563 1 a563 1
        --enable-vtable-verify
        d576 1 a576 1
        --disable-gcov
        d581 1 a581 1
        --disable-multilib
        d590 1 a590 1
        arm-*-*
        d594 1 a594 1
        m68*-*-*
        d598 1 a598 1
        mips*-*-*
        d602 1 a602 1
        msp430-*-*
        d606 1 a606 1
        powerpc*-*-*, rs6000*-*-*
        d614 2 a615 2
        --with-multilib-list=list
        --without-multilib-list
        d622 1 a622 1
        aarch64*-*-*
        d632 1 a632 1
        arm*-*-*
        d694 1 a694 1
        riscv*-*-*
        d702 1 a702 1
        sh*-*-*
        d723 2 a724 2

        --with-cpu=sh4a --with-endian=little,big --with-multilib-list=
        d729 2
        a730 2
        

        --with-cpu=sh4a --with-endian=little,big \
        d735 1
        a735 1
        
        x86-64-*-linux*
        d747 1 a747 1
        --with-endian=endians
        d753 1 a753 1
        big
        d756 1 a756 1
        little
        d759 1 a759 1
        big,little
        d762 1 a762 1
        little,big
        d768 1 a768 1
        --enable-threads
        d781 1 a781 1
        --disable-threads
        d786 1 a786 1
        --enable-threads=lib
        d793 1 a793 1
        aix
        d796 1 a796 1
        dce
        d799 1 a799 1
        lynx
        d802 1 a802 1
        mipssde
        d805 1 a805 1
        no
        d808 1 a808 1
        posix
        d811 1 a811 1
        rtems
        d814 1 a814 1
        single
        d817 1 a817 1
        tpf
        d820 1 a820 1
        vxworks
        d823 1 a823 1
        win32
        d829 1 a829 1
        --enable-tls
        d838 1 a838 1
        --disable-tls
        d843 1 a843 1
        --disable-tm-clone-registry
        d849 3 a851 3
        --with-cpu=cpu
        --with-cpu-32=cpu
        --with-cpu-64=cpu
        d861 10 a870 10
        --with-schedule=cpu
        --with-arch=cpu
        --with-arch-32=cpu
        --with-arch-64=cpu
        --with-tune=cpu
        --with-tune-32=cpu
        --with-tune-64=cpu
        --with-abi=abi
        --with-fpu=type
        --with-float=type
        d878 1 a878 1
        --with-mode=mode
        d883 1 a883 1
        --with-stack-offset=num
        d889 1 a889 1
        --with-fpmath=isa
        d896 1 a896 1
        --with-fp-32=mode
        d900 1 a900 1
        32
        d904 1 a904 1
        xx
        d908 1 a908 1
        64
        d917 1 a917 1
        --with-odd-spreg-32
        d922 1 a922 1
        --without-odd-spreg-32
        d928 1 a928 1
        --with-nan=encoding
        d933 1 a933 1
        legacy
        d937 1 a937 1
        2008
        d949 1 a949 1
        --with-divide=type
        d954 1 a954 1
        traps
        d958 1 a958 1
        breaks
        d965 1 a965 1
        --with-llsc
        d972 1 a972 1
        --without-llsc
        d977 1 a977 1
        --with-synci
        d982 1 a982 1
        --without-synci
        d987 1 a987 1
        --with-lxc1-sxc1
        d992 1 a992 1
        --without-lxc1-sxc1
        d1008 1 a1008 1
        --with-madd4
        d1013 1 a1013 1
        --without-madd4
        d1024 1 a1024 1
        --with-mips-plt
        d1031 1 a1031 1
        --with-stack-clash-protection-guard-size=size
        d1037 1 a1037 1
        --enable-__cxa_atexit
        d1046 1 a1046 1
        --enable-gnu-indirect-function
        d1051 1 a1051 1
        --enable-target-optspace
        d1057 1 a1057 1
        --with-cpp-install-dir=dirname
        d1062 1 a1062 1
        --enable-comdat
        d1067 1 a1067 1
        --enable-initfini-array
        d1076 1 a1076 1
        --enable-link-mutex
        d1082 1 a1082 1
        --enable-maintainer-mode
        d1092 1 a1092 1
        --disable-bootstrap
        d1099 1 a1099 1
        --enable-bootstrap
        d1108 1 a1108 1
        --enable-generated-files-in-srcdir
        d1123 1 a1123 1
        --enable-version-specific-runtime-libs
        d1135 1 a1135 1
        --with-aix-soname=‘aix’, ‘svr4’ or ‘both’
        d1146 1 a1146 1

        For detailed information please refer to the AIX d1152 2 a1153 2

        --with-aix-soname=aix
        --with-aix-soname=both
        d1170 2 a1171 2
        --with-aix-soname=both
        --with-aix-soname=svr4
        d1209 1 a1209 1
        --with-aix-soname=svr4
        d1241 1 a1241 1
        --enable-languages=lang1,lang2,…
        d1246 2 a1247 2

        grep ^language= */config-lang.in
        d1263 1
        a1263 1
        
        --enable-stage1-languages=lang1,lang2,…
        d1279 1 a1279 1
        --disable-libada
        d1286 1 a1286 1
        --disable-libsanitizer
        d1291 1 a1291 1
        --disable-libssp
        d1297 1 a1297 1
        --disable-libquadmath
        d1304 1 a1304 1
        --disable-libquadmath-support
        d1309 1 a1309 1
        --disable-libgomp
        d1314 1 a1314 1
        --disable-libvtv
        d1319 1 a1319 1
        --with-dwarf2
        d1324 1 a1324 1
        --with-advance-toolchain=at
        d1333 2 a1334 2
        --enable-targets=all
        --enable-targets=target_list
        d1348 1 a1348 1
        --enable-default-pie
        d1352 1 a1352 1
        --enable-secureplt
        d1357 1 a1357 1
        --enable-default-ssp
        d1361 1 a1361 1
        --enable-cld
        d1366 1 a1366 1
        --enable-large-address-aware
        d1375 3 a1377 3
        --enable-win32-registry
        --enable-win32-registry=key
        --disable-win32-registry
        d1381 2 a1382 2
        HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\key
        d1394 1
        a1394 1
        
        --nfp
        d1400 4 a1403 4
        --enable-werror
        --disable-werror
        --enable-werror=yes
        --enable-werror=no
        d1412 3 a1414 3
        --enable-checking
        --disable-checking
        --enable-checking=list
        d1452 3 a1454 3
        --disable-stage1-checking
        --enable-stage1-checking
        --enable-stage1-checking=list
        d1466 2 a1467 2
        --enable-coverage
        --enable-coverage=level
        d1478 1 a1478 1
        --enable-gather-detailed-mem-stats
        d1484 1 a1484 1
        --enable-valgrind-annotations
        d1489 2 a1490 2
        --enable-nls
        --disable-nls
        d1497 1 a1497 1
        --with-included-gettext
        d1502 1 a1502 1
        --with-catgets
        d1510 1 a1510 1
        --with-libiconv-prefix=dir
        d1515 1 a1515 1
        --enable-obsolete
        d1526 6 a1531 6
        --enable-decimal-float
        --enable-decimal-float=yes
        --enable-decimal-float=no
        --enable-decimal-float=bid
        --enable-decimal-float=dpd
        --disable-decimal-float
        d1542 2 a1543 2
        --enable-fixed-point
        --disable-fixed-point
        d1550 1 a1550 1
        --with-long-double-128
        d1559 2 a1560 2
        --with-long-double-format=ibm
        --with-long-double-format=ieee
        d1589 1 a1589 1
        --enable-fdpic
        d1593 9 a1601 9
        --with-gmp=pathname
        --with-gmp-include=pathname
        --with-gmp-lib=pathname
        --with-mpfr=pathname
        --with-mpfr-include=pathname
        --with-mpfr-lib=pathname
        --with-mpc=pathname
        --with-mpc-include=pathname
        --with-mpc-lib=pathname
        d1628 3 a1630 3
        --with-isl=pathname
        --with-isl-include=pathname
        --with-isl-lib=pathname
        d1644 1 a1644 1
        --with-stage1-ldflags=flags
        d1652 1 a1652 1
        --with-stage1-libs=libs
        d1658 1 a1658 1
        --with-boot-ldflags=flags
        d1665 1 a1665 1
        --with-boot-libs=libs
        d1670 1 a1670 1
        --with-debug-prefix-map=map
        d1676 1 a1676 1
        --enable-linker-build-id
        d1685 1 a1685 1
        --with-linker-hash-style=choice
        d1691 2 a1692 2
        --enable-gnu-unique-object
        --disable-gnu-unique-object
        d1699 1 a1699 1
        --with-diagnostics-color=choice
        d1709 1 a1709 1
        --with-diagnostics-urls=choice
        d1719 2 a1720 2
        --enable-lto
        --disable-lto
        d1725 2 a1726 2
        --enable-linker-plugin-configure-flags=FLAGS
        --enable-linker-plugin-flags=FLAGS
        d1737 2 a1738 2
        % srcdir/configure \
        d1745 1
        a1745 1
        
        --with-plugin-ld=pathname
        d1753 2 a1754 2
        --enable-canonical-system-headers
        --disable-canonical-system-headers
        d1762 1 a1762 1
        --with-glibc-version=major.minor
        d1775 1 a1775 1
        --enable-as-accelerator-for=target
        d1779 1 a1779 1
        --enable-offload-targets=target1[=path1],…,targetN[=pathN]
        d1785 2 a1786 2
        % srcdir/configure \
        d1795 3
        a1797 3
        
        --with-hsa-runtime=pathname
        --with-hsa-runtime-include=pathname
        --with-hsa-runtime-lib=pathname
        d1808 2 a1809 2
        --enable-cet
        --disable-cet
        d1823 1 a1823 1
        --with-riscv-attribute=‘yes’, ‘no’ or ‘default’
        d1832 1 a1832 2

        Cross-Compiler-Specific Options

        d1836 1 a1836 1
        --with-toolexeclibdir=dir
        d1841 2 a1842 2
        --with-sysroot
        --with-sysroot=dir
        d1866 2 a1867 2
        --with-build-sysroot
        --with-build-sysroot=dir
        d1885 2 a1886 2
        --with-headers
        --with-headers=dir
        d1898 1 a1898 1
        --without-headers
        d1904 2 a1905 2
        --with-libs
        --with-libs="dir1 dir2 … dirN"
        d1913 1 a1913 1
        --with-newlib
        d1921 1 a1921 1
        --with-avrlibc
        d1932 2 a1933 2
        --with-double={32|64|32,64|64,32}
        --with-long-double={32|64|32,64|64,32|double}
        d1960 1 a1960 1
        --with-double-comparison={tristate|bool|libf7}
        d1968 1 a1968 1
        --with-libf7={libgcc|math|math-symbols|no}
        d1984 1 a1984 1
        --with-nds32-lib=library
        d1990 1 a1990 1
        --with-build-time-tools=dir
        d2009 1 a2009 2

        Overriding configure test results

        d2017 2 a2018 3
        build_configargs

        The contents of this variable is passed to all build configure d2022 2 a2023 3

        host_configargs

        The contents of this variable is passed to all host configure d2027 2 a2028 3

        target_configargs

        The contents of this variable is passed to all target configure d2038 1 a2038 2

        Objective-C-Specific Options

        d2043 1 a2043 1
        --enable-objc-gc
        d2053 3 a2055 3
        --with-target-bdw-gc=list
        --with-target-bdw-gc-include=list
        --with-target-bdw-gc-lib=list
        d2074 1 a2074 2

        D-Specific Options

        d2079 3 a2081 3
        --enable-libphobos-checking
        --disable-libphobos-checking
        --enable-libphobos-checking=list
        d2098 2 a2099 2
        --with-libphobos-druntime-only
        --with-libphobos-druntime-only=choice
        d2112 1 a2112 1
        --with-target-system-zlib
        @ 1.12 log @merge GCC 9.3.0. @ text @d3 1 a3 1 d62 26 a87 4

        Installing GCC: Configuration

        Like most GNU software, GCC must be configured before it can be built. d90 2 a91 2

        We use srcdir to refer to the toplevel source directory for d93 7 a99 7

        If you obtained the sources via SVN, srcdir must refer to the top gcc directory, the one where the MAINTAINERS file can be found, and not its gcc subdirectory, otherwise the build will fail.

        If either srcdir or objdir is located on an automounted NFS file system, the shell's built-in pwd command will return d101 3 a103 3 problems. To avoid this issue, set the PWDCMD environment variable to an automounter-aware pwd command, e.g., pawd or ‘amq -w’, during the configuration and build d105 2 a106 2

        First, we highly recommend that GCC be built into a d109 1 a109 1 where srcdir == objdir should still work, but doesn't d112 6 a117 6

        If you have previously built GCC in the same directory for a different target machine, do ‘make distclean’ to delete all files that might be invalid. One of the files this deletes is Makefile; if ‘make distclean’ complains that Makefile does not exist or issues a message like “don't know how to make distclean” it probably d121 3 a123 3

        Second, when configuring a native system, either cc or gcc must be in your path or you must set CC in d126 1 d128 7 a134 1

        To configure GCC: d136 2 a137 5

             % mkdir objdir
             % cd objdir
             % srcdir/configure [options] [target]
        

        Distributor options

        d142 4 a145 3
        --with-pkgversion=version
        Specify a string that identifies your package. You may wish d147 8 a154 6 included in the output of gcc --version. This suffix does not replace the default version string, only the ‘GCC’ part.

        The default value is ‘GCC’.

        --with-bugurl=url
        Specify the URL that users should visit if they wish to report a bug. d157 5 d163 4 a166 8

        The default value refers to the FSF's GCC bug tracker.

        Target specification

        • GCC has code to correctly determine the correct value for target d170 1 a170 1
        • target must be specified as --target=target d174 4 a177 3
        • Specifying just target instead of --target=target implies that the host defaults to target.
        d179 2 a180 1

        Options specification

        d183 2 a184 2 GCC. A list of supported options follows; ‘configure --help’ may list other options, but those not listed below may not d186 8 a193 7

        Note that each --enable option has a corresponding --disable option and that each --with option has a corresponding --without option.

        --prefix=dirname
        Specify the toplevel installation d196 3 a198 3 /usr/local.

        We highly recommend against dirname being the same or a d200 5 a204 5 beneath a user's home directory tree, some shells will not expand dirname correctly if it contains the ‘~’ metacharacter; use $HOME instead.

        The following standard autoconf options are supported. Normally you d206 3 a208 2

        --exec-prefix=dirname
        Specify the toplevel installation directory for architecture-dependent d210 20 a229 12
        --bindir=dirname
        Specify the installation directory for the executables called by users (such as gcc and g++). The default is exec-prefix/bin.
        --libdir=dirname
        Specify the installation directory for object code libraries and internal data files of GCC. The default is exec-prefix/lib.
        --libexecdir=dirname
        Specify the installation directory for internal executables of GCC. The default is exec-prefix/libexec.
        --with-slibdir=dirname
        Specify the installation directory for the shared libgcc library. The d231 14 a244 8
        --datarootdir=dirname
        Specify the root of the directory tree for read-only architecture-independent data files referenced by GCC. The default is prefix/share.
        --infodir=dirname
        Specify the installation directory for documentation in info format. The default is datarootdir/info.
        --datadir=dirname
        Specify the installation directory for some architecture-independent d246 9 a254 5
        --docdir=dirname
        Specify the installation directory for documentation files (other than Info) for GCC. The default is datarootdir/doc.
        --htmldir=dirname
        Specify the installation directory for HTML documentation files. d256 4 a259 2
        --pdfdir=dirname
        Specify the installation directory for PDF documentation files. d261 5 a265 3
        --mandir=dirname
        Specify the installation directory for manual pages. The default is datarootdir/man. (Note that the manual pages are only extracts d269 4 a272 2
        --with-gxx-include-dir=dirname
        Specify d276 4 a279 2
        --with-specs=specs
        Specify additional command line driver SPECS. d281 2 a282 2 default without modifying the compiler's source code, for instance --with-specs=%{!fcommon:%{!fno-common:-fno-common}}. d284 3 d288 3 a290 3

        --program-prefix=prefix
        GCC supports some transformations of the names of its programs when d293 13 a305 9 --program-prefix=foo- would result in ‘gcc’ being installed as /usr/local/bin/foo-gcc.
        --program-suffix=suffix
        Appends suffix to the names of programs to install in bindir (see above). For example, specifying --program-suffix=-3.1 would result in ‘gcc’ being installed as /usr/local/bin/gcc-3.1.
        --program-transform-name=pattern
        Applies the ‘sed’ script pattern to be applied to the names d307 5 a311 5 consist of one or more basic ‘sed’ editing commands, separated by semicolons. For example, if you want the ‘gcc’ program name to be transformed to the installed program /usr/local/bin/myowngcc and the ‘g++’ program name to be transformed to /usr/local/bin/gspecial++ without changing other program names, d313 1 a313 1 --program-transform-name='s/^gcc$/myowngcc/; s/^g++$/gspecial++/' d315 2 a316 2

        All three options can be combined and used together, resulting in more d320 3 a322 3

        As currently implemented, this option only takes effect for native builds; cross compiler binaries' names are not transformed even when a d324 2 a325 2

        For native builds, some of the installed programs are also installed d327 1 a327 1 ‘i686-pc-linux-gnu-gcc’. All of the above transformations happen d329 1 a329 1 --program-prefix=foo- and program-suffix=-3.1, the d331 3 a333 3 /usr/local/bin/i686-pc-linux-gnu-foo-gcc-3.1.

        As a last shortcoming, none of the installed Ada programs are d335 4 a338 2

        --with-local-prefix=dirname
        Specify the d340 6 a345 6 /usr/local. Specify this option if you want the compiler to search directory dirname/include for locally installed header files instead of /usr/local/include.

        You should specify --with-local-prefix only if your site has a different convention (not /usr/local) for where to put d347 4 a350 4

        The default value for --with-local-prefix is /usr/local regardless of the value of --prefix. Specifying --prefix has no effect on which directory GCC searches for d353 3 a355 3

        The purpose of --prefix is to specify where to install GCC. The local header files in /usr/local/include—if you put d358 4 a361 4 another directory which is based on the --prefix value.)

        Both the local-prefix include directory and the GCC-prefix include directory are part of GCC's “system include” directories. Although these d367 2 a368 2

        Some autoconf macros add -I directory options to the d370 1 a370 1 packages' headers are searched. When directory is one of GCC's d375 3 a377 3

        GCC automatically searches for ordinary libraries using GCC_EXEC_PREFIX. Thus, when the same installation prefix is d381 3 a383 3 installed as a system compiler in /usr.

        Sites that need to install multiple versions of GCC may not want to d385 2 a386 2 --program-prefix, --program-suffix and --program-transform-name options to install multiple versions d388 1 a388 1 and the --with-local-prefix option to specify the location of the d391 9 a399 9 (e.g., with LIBRARY_PATH).

        The same value can be used for both --with-local-prefix and --prefix provided it is not /usr. This can be used to avoid the default search of /usr/local/include.

        Do not specify /usr as the --with-local-prefix! The directory you use for --with-local-prefix must not contain any of the system's standard header files. If it did contain d402 3 a404 3 file corrections made by the fixincludes script.

        Indications are that people who use this option use it based on mistaken d408 4 a411 2

        --with-gcc-major-version-only
        Specifies that GCC should use only the major number rather than d413 5 a417 3
        --with-native-system-header-dir=dirname
        Specifies that dirname is the directory that contains native system header files, rather than /usr/include. This option is most useful d420 1 a420 1 --with-sysroot option and will cause GCC to search d422 4 a425 2
        --enable-shared[=package[,...]]
        Build shared versions of libraries, if shared libraries are supported on d428 2 a429 2

        If a list of packages is given as an argument, build shared libraries d432 10 a441 10 ‘libgcc’ (also known as ‘gcc’), ‘libstdc++’ (not ‘libstdc++-v3’), ‘libffi’, ‘zlib’, ‘boehm-gc’, ‘ada’, ‘libada’, ‘libgo’, and ‘libobjc’. Note ‘libiberty’ does not support shared libraries at all.

        Use --disable-shared to build only static libraries. Note that --disable-shared does not accept a list of package names as argument, only --enable-shared does.

        Contrast with --enable-host-shared, which affects host d443 4 a446 2

        --enable-host-shared
        Specify that the host code should be built into position-independent d449 4 a452 4

        This option is required when building the libgccjit.so library.

        Contrast with --enable-shared, which affects target d454 4 a457 2

        --with-gnu-as
        Specify that the compiler should assume that the d462 1 a462 1 configured with --with-gnu-as.) If you have more than one d464 4 a467 4 connection with --with-as=pathname or --with-build-time-tools=pathname.

        The following systems are the only ones where it makes a difference d469 12 a480 10 --with-gnu-as has no effect.

        • ‘hppa1.0-any-any’
        • ‘hppa1.1-any-any’
        • ‘sparc-sun-solaris2.any’
        • ‘sparc64-any-solaris2.any’

        --with-as=pathname
        Specify that the compiler should use the assembler pointed to by d483 4 a486 4
        • Unless GCC is being built with a cross compiler, check the libexec/gcc/target/version directory. libexec defaults to exec-prefix/libexec; d488 3 a490 3 defaults to /usr/local unless overridden by the --prefix=pathname switch described above. target is the target system triple, such as ‘sparc-sun-solaris2.7’, and d493 2 a494 2
        • If the target system is the same that you are building on, check operating system specific directories (e.g. /usr/ccs/bin on d497 1 a497 1
        • Check in the PATH for a tool whose name is prefixed by the d500 1 a500 1
        • Check in the PATH for a tool whose name is not prefixed by the d503 2 a504 2 the target as well).
        d506 1 a506 1

        You may want to use --with-as if no assembler d510 4 a513 2

        --with-gnu-ld
        Same as --with-gnu-as d515 4 a518 2
        --with-ld=pathname
        Same as --with-as d520 4 a523 2
        --with-stabs
        Specify that stabs debugging d526 4 a529 27

        On MIPS based systems and on Alphas, you must specify whether you want GCC to create the normal ECOFF debugging format, or to use BSD-style stabs passed through the ECOFF symbol table. The normal ECOFF debug format cannot fully handle languages other than C. BSD stabs format can handle other languages, but it only works with the GNU debugger GDB.

        Normally, GCC uses the ECOFF debugging format by default; if you prefer BSD stabs, specify --with-stabs when you configure GCC.

        No matter which default you choose when you configure GCC, the user can use the -gcoff and -gstabs+ options to specify explicitly the debug format for a particular compilation.

        --with-stabs is meaningful on the ISC system on the 386, also, if --with-gas is used. It selects use of stabs debugging information embedded in COFF output. This kind of debugging information supports C++ well; ordinary COFF debugging information does not.

        --with-stabs is also meaningful on 386 systems running SVR4. It selects use of stabs debugging information embedded in ELF output. The C++ compiler currently (2.6.0) does not support the DWARF debugging information normally used on 386 SVR4 platforms; stabs provide a workable alternative. This requires gas and gdb, as the normal SVR4 tools can not generate or interpret stabs.

        --with-tls=dialect
        Specify the default TLS dialect, for systems were there is a choice. d533 4 a536 2
        --enable-multiarch
        Specify whether to enable or disable multiarch support. The default is d539 2 a540 2 and for cross builds configured with --with-sysroot, and without --with-native-system-header-dir. d543 5 a547 3
        --enable-sjlj-exceptions
        Force use of the setjmp/longjmp-based scheme for exceptions. ‘configure’ ordinarily picks the correct value based on the platform. d549 4 a552 2
        --enable-vtable-verify
        Specify whether to enable or disable the vtable verification feature. d557 1 a557 1 the verifier will call stub functions (in libstdc++ itself) and do nothing. d560 6 a565 4 still be built (see --disable-libvtv to turn off building libvtv). --disable-vtable-verify is the default.
        --disable-multilib
        Specify that multiple target d569 18 a586 11

        Some targets provide finer-grained control over which multilibs are built (e.g., --disable-softfloat):

        arm-*-*
        fpu, 26bit, underscore, interwork, biendian, nofmult.
        m68*-*-*
        softfloat, m68881, m68000, m68020.
        mips*-*-*
        single-float, biendian, softfloat.
        powerpc*-*-*, rs6000*-*-*
        aix64, pthread, softfloat, powercpu, powerpccpu, powerpcos, biendian, d588 3 d592 4 a595 3

        --with-multilib-list=list
        --without-multilib-list
        Specify what multilibs to build. list is a comma separated list of d597 24 a620 11 for arm*-*-*, sh*-*-* and x86-64-*-linux*. The accepted values and meaning for each target is given below.
        arm*-*-*
        list is one ofdefault, aprofile or rmprofile. Specifying default is equivalent to omitting this option, ie. only the default runtime library will be enabled. Specifying aprofile or rmprofile builds multilibs for a combination of ISA, architecture, FPU available and floating-point ABI.

        The table below gives the combination of ISAs, architectures, FPUs and d622 7 a628 7

      GNU gettext present in sourceslibintl installed on the systemgettext present in libc--with-included-gettextEffects on localization
      NoNoNo(ignored)No localization
      Option aprofile rmprofile
      ISAs -marm and -mthumb -mthumb
      Architectures





      default architecture
      d631 1 a631 2 -march=armv8-a


      default architecture
      d637 2 a638 3 -march=armv7
      FPUs




      none
      d643 1 a643 2 -mfpu=neon-fp-armv8
      none
      d647 2 a648 3 -mfpu=fpv5-d16

      floating-point ABIs

      -mfloat-abi=soft
      d650 1 a650 2 -mfloat-abi=hard
      -mfloat-abi=soft
      d652 2 a653 2 -mfloat-abi=hard
      d655 3 a657 1

      sh*-*-*
      list is a comma separated list of CPU names. These must be of the d660 3 a662 3 these are handled by --with-endian.

      If list is empty, then there will be no multilibs for extra d664 4 a667 4

      As a special case, if an entry in the list starts with a ! (exclamation point), then it is added to the list of excluded multilibs. Entries of this sort should be compatible with ‘MULTILIB_EXCLUDES’ d669 3 a671 3

      If --with-multilib-list is not given, then a default set of multilibs is selected based on the value of --target. This is d674 6 d681 1 a681 5

      Example 1: to configure a compiler for SH4A only, but supporting both endians, with little endian being the default:

                     --with-cpu=sh4a --with-endian=little,big --with-multilib-list=
      

      Example 2: to configure a compiler for both SH4A and SH4AL-DSP, but with d683 8 a690 4

                     --with-cpu=sh4a --with-endian=little,big \
                     --with-multilib-list=sh4al,!mb/m4al
      

      x86-64-*-linux*
      list is a comma separated list of m32, m64 and d694 4 a697 3

      If --with-multilib-list is not given, then only 32-bit and 64-bit run-time libraries will be enabled. d700 3 a702 1

      --with-endian=endians
      Specify what endians to use. d704 15 a718 7

      endians may be one of the following:

      big
      Use big endian exclusively.
      little
      Use little endian exclusively.
      big,little
      Use big endian by default. Provide a multilib for little endian.
      little,big
      Use little endian by default. Provide a multilib for big endian. d721 3 a723 1
      --enable-threads
      Specify that the target d725 1 a725 1 library, and exception handling for other languages like C++. d727 2 a728 2

      In general, the best (and, in many cases, the only known) threading d731 11 a741 7 available for the system. In this case, --enable-threads is an alias for --enable-threads=single.

      --disable-threads
      Specify that threading support should be disabled for the system. This is an alias for --enable-threads=single.
      --enable-threads=lib
      Specify that d745 35 a779 13
      aix
      AIX thread support.
      dce
      DCE thread support.
      lynx
      LynxOS thread support.
      mipssde
      MIPS SDE thread support.
      no
      This is an alias for ‘single’.
      posix
      Generic POSIX/Unix98 thread support.
      rtems
      RTEMS thread support.
      single
      Disable thread support, should work for all platforms.
      tpf
      TPF thread support.
      vxworks
      VxWorks thread support.
      win32
      Microsoft Win32 API thread support. d782 3 a784 1
      --enable-tls
      Specify that the target supports TLS (Thread Local Storage). Usually d787 1 a787 1 --enable-tls or --disable-tls. This can happen if d790 12 a801 6
      --disable-tls
      Specify that the target does not support TLS. This is an alias for --enable-tls=no.
      --with-cpu=cpu
      --with-cpu-32=cpu
      --with-cpu-64=cpu
      Specify which cpu variant the compiler should generate code for by default. cpu will be used as the default value of the -mcpu= switch. d803 2 a804 2 PowerPC, and SPARC. It is mandatory for ARC. The --with-cpu-32 and --with-cpu-64 options specify separate default CPUs for d807 16 a822 5
      --with-schedule=cpu
      --with-arch=cpu
      --with-arch-32=cpu
      --with-arch-64=cpu
      --with-tune=cpu
      --with-tune-32=cpu
      --with-tune-64=cpu
      --with-abi=abi
      --with-fpu=type
      --with-float=type
      These configure options provide default values for the -mschedule=, -march=, -mtune=, -mabi=, and -mfpu= options and for -mhard-float or -msoft-float. As with --with-cpu, which switches will be accepted and acceptable values d824 4 a827 2
      --with-mode=mode
      Specify if the compiler should default to -marm or -mthumb. d829 4 a832 2
      --with-stack-offset=num
      This option sets the default for the -mstack-offset=num option, d835 6 a840 4
      --with-fpmath=isa
      This options sets -mfpmath=sse by default and specifies the default ISA for floating-point arithmetics. You can select either ‘sse’ which enables -msse2 or ‘avx’ which enables -mavx by default. d842 4 a845 2
      --with-fp-32=mode
      On MIPS targets, set the default value for the -mfp option when using d847 13 a859 7
      32
      Use the o32 FP32 ABI extension, as with the -mfp32 command-line option.
      xx
      Use the o32 FPXX ABI extension, as with the -mfpxx command-line option.
      64
      Use the o32 FP64 ABI extension, as with the -mfp64 command-line option. d861 1 a861 1 In the absence of this configuration option the default is to use the o32 d863 4 a866 2
      --with-odd-spreg-32
      On MIPS targets, set the -modd-spreg option by default when using d868 4 a871 2
      --without-odd-spreg-32
      On MIPS targets, set the -mno-odd-spreg option by default when using d873 5 a877 3 --with-fp-32=64 in order to target the o32 FP64A ABI extension.
      --with-nan=encoding
      On MIPS targets, set the default encoding convention to use for the d880 9 a888 5
      legacy
      Use the legacy encoding, as with the -mnan=legacy command-line option.
      2008
      Use the 754-2008 encoding, as with the -mnan=2008 command-line option. d890 2 a891 2 To use this configuration option you must have an assembler version installed that supports the -mnan= command-line option too. d893 7 a899 5 the legacy encoding, as when neither of the -mnan=2008 and -mnan=legacy command-line options has been used.
      --with-divide=type
      Specify how the compiler should generate code for checking for division by zero. This option is only supported on the MIPS target. d901 8 a908 4
      traps
      Division by zero checks use conditional traps (this is the default on systems that support conditional traps).
      breaks
      Division by zero checks use the break instruction. d911 5 a915 4
      --with-llsc
      On MIPS targets, make -mllsc the default when no -mno-llsc option is passed. This is the default for d918 25 a942 15
      --without-llsc
      On MIPS targets, make -mno-llsc the default when no -mllsc option is passed.
      --with-synci
      On MIPS targets, make -msynci the default when no -mno-synci option is passed.
      --without-synci
      On MIPS targets, make -mno-synci the default when no -msynci option is passed. This is the default.
      --with-lxc1-sxc1
      On MIPS targets, make -mlxc1-sxc1 the default when no -mno-lxc1-sxc1 option is passed. This is the default.
      --without-lxc1-sxc1
      On MIPS targets, make -mno-lxc1-sxc1 the default when no -mlxc1-sxc1 option is passed. The indexed load/store d954 10 a963 6
      --with-madd4
      On MIPS targets, make -mmadd4 the default when no -mno-madd4 option is passed. This is the default.
      --without-madd4
      On MIPS targets, make -mno-madd4 the default when no -mmadd4 option is passed. The madd4 instruction d970 4 a973 2
      --with-mips-plt
      On MIPS targets, make use of copy relocations and PLTs. d977 5 a981 3
      --enable-__cxa_atexit
      Define if you want to use __cxa_atexit, rather than atexit, to register C++ destructors for local statics and global objects. d985 5 a989 3 -fuse-cxa-atexit to be passed by default.
      --enable-gnu-indirect-function
      Define if you want to enable the ifunc attribute. This option is d991 5 a995 3
      --enable-target-optspace
      Specify that target libraries should be optimized for code space instead of code speed. d997 9 a1005 5
      --with-cpp-install-dir=dirname
      Specify that the user visible cpp program should be installed in prefix/dirname/cpp, in addition to bindir.
      --enable-comdat
      Enable COMDAT group support. This is primarily used to override the d1007 4 a1010 2
      --enable-initfini-array
      Force the use of sections .init_array and .fini_array d1012 1 a1012 1 destructors. Option --disable-initfini-array has the d1016 4 a1019 2
      --enable-link-mutex
      When building GCC, use a mutex to avoid linking the compilers for d1022 5 a1026 3
      --enable-maintainer-mode
      The build rules that regenerate the Autoconf and Automake output files as well as the GCC master message catalog gcc.pot are normally d1029 1 a1029 1 catalog, configuring with --enable-maintainer-mode will enable d1032 5 a1036 3
      --disable-bootstrap
      For a native build, the default configuration is to perform a 3-stage bootstrap of the compiler when ‘make’ is invoked, d1038 6 a1043 4 this process, you can configure with --disable-bootstrap.
      --enable-bootstrap
      In special cases, you may want to perform a 3-stage build even if the target and host triplets are different. d1045 1 a1045 1 the target (e.g. host is i686-linux, target is i486-linux). d1047 5 a1051 3 with --enable-bootstrap.
      --enable-generated-files-in-srcdir
      Neither the .c and .h files that are generated from Bison and flex nor the d1057 2 a1058 2

      If you configure with --enable-generated-files-in-srcdir then those d1063 4 a1066 2

      --enable-version-specific-runtime-libs
      Specify d1068 2 a1069 2 subdirectory (libdir/gcc) rather than the usual places. In addition, ‘libstdc++’'s include files will be installed into d1071 1 a1071 1 --with-gxx-include-dir=dirname. Using this option is d1073 6 a1078 4 parallel. This is currently supported by ‘libgfortran’, ‘libstdc++’, and ‘libobjc’.
      --with-aix-soname=‘aix’, ‘svr4’ or ‘both’
      Traditional AIX shared library versioning (versioned Shared Object d1080 1 a1080 1 ‘lib.a’) causes numerous headaches for package managers. However, d1083 1 a1083 1 where this is called the "SONAME". But as they prevent static linking, d1085 23 a1107 20 linker does search for ‘libNAME.so’ before ‘libNAME.a’ library filenames with the ‘-lNAME’ linker flag.

      For detailed information please refer to the AIX ld Command reference.

      As long as shared library creation is enabled, upon:

      --with-aix-soname=aix
      --with-aix-soname=both
      A (traditional AIX) Shared Archive Library file is created:
      • using the ‘libNAME.a’ filename scheme
      • with the Shared Object file as archive member named ‘libNAME.so.V’ (except for ‘libgcc_s’, where the Shared Object file is named ‘shr.o’ for backwards compatibility), which
        • is used for runtime loading from inside the ‘libNAME.a’ file
        • is used for dynamic loading via dlopen("libNAME.a(libNAME.so.V)", RTLD_MEMBER)
        • is used for shared linking
        • is used for static linking, so no separate Static Archive d1109 15 a1123 12

      --with-aix-soname=both
      --with-aix-soname=svr4
      A (second) Shared Archive Library file is created:
      • using the ‘libNAME.so.V’ filename scheme
      • with the Shared Object file as archive member named ‘shr.o’, which
        • is created with the -G linker flag
        • has the F_LOADONLY flag set
        • is used for runtime loading from inside the ‘libNAME.so.V’ file
        • is used for dynamic loading via dlopen("libNAME.so.V(shr.o)", d1125 2 a1126 2
      • with the Import File as archive member named ‘shr.imp’, d1128 2 a1129 2
        • refers to ‘libNAME.so.V(shr.o)’ as the "SONAME", to be recorded d1131 13 a1143 13
        • indicates whether ‘libNAME.so.V(shr.o)’ is 32 or 64 bit
        • lists all the public symbols exported by ‘lib.so.V(shr.o)’, eventually decorated with the ‘weak’ Keyword
        • is necessary for shared linking against ‘lib.so.V(shr.o)’
      A symbolic link using the ‘libNAME.so’ filename scheme is created:
      • pointing to the ‘libNAME.so.V’ Shared Archive Library file
      • to permit the ld Command to find ‘lib.so.V(shr.imp)’ via the ‘-lNAME’ argument (requires Runtime Linking to be enabled)
      • to permit dynamic loading of ‘lib.so.V(shr.o)’ without the need to specify the version number via dlopen("libNAME.so(shr.o)", d1145 3 a1147 2
      d1149 13 a1161 11

      As long as static library creation is enabled, upon:

      --with-aix-soname=svr4
      A Static Archive Library is created:
      • using the ‘libNAME.a’ filename scheme
      • with all the Static Object files as archive members, which
        • are used for static linking
      d1163 1 a1163 1

      While the aix-soname=‘svr4’ option does not create Shared Object d1170 2 a1171 2

      WARNING: Creating Shared Object files with Runtime Linking d1173 1 a1173 1 requiring the use of either the -Wl,-bbigtoc linker flag (seen to d1176 2 a1177 2

      --with-aix-soname is currently supported by ‘libgcc_s’ only, so d1179 6 a1184 4

      Default is the traditional behavior --with-aix-soname=‘aix’.

      --enable-languages=lang1,lang2,...
      Specify that only a particular subset of compilers and d1187 10 a1196 9 gcc directory of your GCC source tree:
                grep ^language= */config-lang.in
      

      Currently, you can use any of the following: all, ada, c, c++, fortran, go, jit, lto, objc, obj-c++. Building the Ada compiler has special requirements, see below. If you do not pass this flag, or specify the option all, then all default languages available in the gcc sub-tree will be configured. d1198 9 a1206 4 default language, but is built by default because --enable-lto is enabled by default. The other languages are default languages.

      --enable-stage1-languages=lang1,lang2,...
      Specify that a particular subset of compilers and their runtime d1210 2 a1211 2 --enable-languages, and the option all will select all of the languages enabled by --enable-languages. This option is d1216 7 a1222 5 specified languages with the stage-1 compiler by using make stage1-bubble all-target, or run the testsuite on the stage-1 compiler for the specified languages using make stage1-start check-gcc.
      --disable-libada
      Specify that the run-time libraries and tools used by GNAT should not d1225 5 a1229 3 do a ‘make -C gcc gnatlib_and_tools’.
      --disable-libsanitizer
      Specify that the run-time libraries for the various sanitizers should d1231 10 a1240 5
      --disable-libssp
      Specify that the run-time libraries for stack smashing protection should not be built.
      --disable-libquadmath
      Specify that the GCC quad-precision math library should not be built. d1242 1 a1242 1 the Fortran front end, unless --disable-libquadmath-support d1244 4 a1247 2
      --disable-libquadmath-support
      Specify that the Fortran front end and libgfortran do not add d1249 4 a1252 2
      --disable-libgomp
      Specify that the GNU Offloading and Multi Processing Runtime Library d1254 4 a1257 2
      --disable-libvtv
      Specify that the run-time libraries used by vtable verification d1259 4 a1262 2
      --with-dwarf2
      Specify that the compiler should d1264 4 a1267 2
      --with-advance-toolchain=at
      On 64-bit PowerPC Linux systems, configure the compiler to use the d1273 5 a1277 2
      --enable-targets=all
      --enable-targets=target_list
      Some GCC targets, e.g. powerpc64-linux, build bi-arch compilers. d1279 1 a1279 1 code. Typically, the corresponding 32-bit target, e.g. d1283 1 a1283 1 you are building a bi-arch or multi-arch binutils in a combined tree. d1285 1 a1285 1 defaulted to o32. d1288 8 a1295 4
      --enable-default-pie
      Turn on -fPIE and -pie by default.
      --enable-secureplt
      This option enables -msecure-plt by default for powerpc-linux. d1297 8 a1304 4
      --enable-default-ssp
      Turn on -fstack-protector-strong by default.
      --enable-cld
      This option enables -mcld by default for 32-bit x86 targets. d1306 6 a1311 2
      --enable-win32-registry
      --enable-win32-registry=key
      --disable-win32-registry
      The --enable-win32-registry option enables Microsoft Windows-hosted GCC d1313 4 d1318 2 a1319 4
                HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\key
      

      key defaults to GCC version number, and can be overridden by the --enable-win32-registry=key option. Vendors and distributors d1323 1 a1323 1 by default, and can be disabled by --disable-win32-registry d1325 15 a1339 8

      --nfp
      Specify that the machine does not have a floating point unit. This option only applies to ‘m68k-sun-sunosn’. On any other system, --nfp has no effect.
      --enable-werror
      --disable-werror
      --enable-werror=yes
      --enable-werror=no
      When you specify this option, it controls whether certain files in the compiler are built with -Werror in bootstrap stage2 and later. If you don't specify it, -Werror is turned on for the main d1341 1 a1341 1 final releases. The specific files which get -Werror are d1343 5 a1347 2
      --enable-checking
      --enable-checking=list
      When you specify this option, the compiler is built to perform internal d1351 3 a1353 3 the compiler with GCC. This is ‘yes,extra’ by default when building from SVN or snapshots, but ‘release’ for releases. The default for building the stage1 compiler is ‘yes’. More control d1355 8 a1362 8 checks available are ‘yes’ (most common checks ‘assert,misc,tree,gc,rtlflag,runtime’), ‘no’ (no checks at all), ‘all’ (all but ‘valgrind’), ‘release’ (cheapest checks ‘assert,runtime’) or ‘none’ (same as ‘no’). Individual checks can be enabled with these flags ‘assert’, ‘df’, ‘fold’, ‘gc’, ‘gcac’, ‘misc’, ‘rtl’, ‘rtlflag’, ‘runtime’, ‘tree’, ‘extra’ and ‘valgrind’. ‘extra’ adds for ‘misc’ checking extra checks that might affect d1365 2 a1366 2

      The ‘valgrind’ check requires the external valgrind d1368 3 a1370 3 ‘df’, ‘rtl’, ‘gcac’ and ‘valgrind’ checks are very expensive. To disable all checking, ‘--disable-checking’ or ‘--enable-checking=none’ must be explicitly requested. Disabling d1374 7 a1380 3

      --disable-stage1-checking
      --enable-stage1-checking
      --enable-stage1-checking=list
      If no --enable-checking option is specified the stage1 compiler will be built with ‘yes’ checking enabled, otherwise d1382 3 a1384 3 --enable-checking. To build the stage1 compiler with different checking options use --enable-stage1-checking. The list of checking options is the same as for --enable-checking. d1386 1 a1386 1 with checking for stage1 enabled, you can use ‘--disable-stage1-checking’ d1388 5 a1392 2
      --enable-coverage
      --enable-coverage=level
      With this option, the compiler is built to collect self coverage d1396 1 a1396 1 not, values are ‘opt’ and ‘noopt’. For coverage analysis you d1400 4 a1403 2
      --enable-gather-detailed-mem-stats
      When this option is specified more detailed information on memory d1405 5 a1409 3 -fmem-report.
      --enable-valgrind-annotations
      Mark selected memory related operations in the compiler when run under d1411 5 a1415 2
      --enable-nls
      --disable-nls
      The --enable-nls option enables Native Language Support (NLS), d1418 10 a1427 6 canadian cross build. The --disable-nls option disables NLS.
      --with-included-gettext
      If NLS is enabled, the --with-included-gettext option causes the build procedure to prefer its copy of GNU gettext.
      --with-catgets
      If NLS is enabled, and if the host lacks gettext but has the d1429 12 a1440 8 ignores catgets and instead uses GCC's copy of the GNU gettext library. The --with-catgets option causes the build procedure to use the host's catgets in this situation.
      --with-libiconv-prefix=dir
      Search for libiconv header files in dir/include and libiconv library files in dir/lib.
      --enable-obsolete
      Enable configuration for an obsoleted system. If you attempt to d1444 2 a1445 2

      All support for systems which have been obsoleted in one release of GCC d1448 9 a1456 2

      --enable-decimal-float
      --enable-decimal-float=yes
      --enable-decimal-float=no
      --enable-decimal-float=bid
      --enable-decimal-float=dpd
      --disable-decimal-float
      Enable (or disable) support for the C decimal floating point extension d1461 2 a1462 2 ‘bid’ or ‘dpd’). The ‘bid’ (binary integer decimal) format is default on i386 and x86_64 systems, and the ‘dpd’ d1464 5 a1468 2
      --enable-fixed-point
      --disable-fixed-point
      Enable (or disable) support for C fixed-point arithmetic. d1472 4 a1475 2
      --with-long-double-128
      Specify if long double type should be 128-bit by default on selected d1477 1 a1477 1 long double will be by default 64-bit, the same as double type. d1481 46 a1526 4
      --enable-fdpic
      On SH Linux systems, generate ELF FDPIC code.
      --with-gmp=pathname
      --with-gmp-include=pathname
      --with-gmp-lib=pathname
      --with-mpfr=pathname
      --with-mpfr-include=pathname
      --with-mpfr-lib=pathname
      --with-mpc=pathname
      --with-mpc-include=pathname
      --with-mpc-lib=pathname
      If you want to build GCC but do not have the GMP library, the MPFR d1530 12 a1541 12 (‘--with-gmp=gmpinstalldir’, ‘--with-mpfr=mpfrinstalldir’, ‘--with-mpc=mpcinstalldir’). The --with-gmp=gmpinstalldir option is shorthand for --with-gmp-lib=gmpinstalldir/lib and --with-gmp-include=gmpinstalldir/include. Likewise the --with-mpfr=mpfrinstalldir option is shorthand for --with-mpfr-lib=mpfrinstalldir/lib and --with-mpfr-include=mpfrinstalldir/include, also the --with-mpc=mpcinstalldir option is shorthand for --with-mpc-lib=mpcinstalldir/lib and --with-mpc-include=mpcinstalldir/include. If these d1546 3 a1548 3 variable (LD_LIBRARY_PATH on GNU/Linux and Solaris systems).

      These flags are applicable to the host platform only. When building d1550 6 a1555 2

      --with-isl=pathname
      --with-isl-include=pathname
      --with-isl-lib=pathname
      If you do not have the isl library installed in a standard location and you d1557 4 a1560 4 installed (‘--with-isl=islinstalldir’). The --with-isl=islinstalldir option is shorthand for --with-isl-lib=islinstalldir/lib and --with-isl-include=islinstalldir/include. If this d1563 2 a1564 2

      These flags are applicable to the host platform only. When building d1566 4 a1569 2

      --with-stage1-ldflags=flags
      This option may be used to set linker flags to be used when linking d1571 2 a1572 2 --disable-bootstrap. If --with-stage1-libs is not set to a value, then the default is ‘-static-libstdc++ -static-libgcc’, if d1574 4 a1577 2
      --with-stage1-libs=libs
      This option may be used to set libraries to be used when linking stage 1 d1579 5 a1583 3 --disable-bootstrap.
      --with-boot-ldflags=flags
      This option may be used to set linker flags to be used when linking d1586 5 a1590 3 ‘-static-libstdc++ -static-libgcc’.
      --with-boot-libs=libs
      This option may be used to set libraries to be used when linking stage 2 d1592 4 a1595 2
      --with-debug-prefix-map=map
      Convert source directory names using -fdebug-prefix-map when d1597 6 a1602 4 list of maps of the form ‘old=new’.
      --enable-linker-build-id
      Tells GCC to pass --build-id option to the linker for all final links (links performed without the -r or --relocatable d1604 7 a1610 5 --enable-linker-build-id, but your linker does not support --build-id option, a warning is issued and the --enable-linker-build-id option is ignored. The default is off.
      --with-linker-hash-style=choice
      Tells GCC to pass --hash-style=choice option to the d1612 6 a1617 3 ‘sysv’, ‘gnu’, and ‘both’ where ‘sysv’ is the default.
      --enable-gnu-unique-object
      --disable-gnu-unique-object
      Tells GCC to use the gnu_unique_object relocation for C++ template d1621 4 a1624 2
      --with-diagnostics-color=choice
      Tells GCC to use choice as the default for -fdiagnostics-color= d1626 3 a1628 3 can be one of ‘never’, ‘auto’, ‘always’, and ‘auto-if-env’ where ‘auto’ is the default. ‘auto-if-env’ means that -fdiagnostics-color=auto will be the default if GCC_COLORS d1630 12 a1641 6 -fdiagnostics-color=never otherwise.
      --enable-lto
      --disable-lto
      Enable support for link-time optimization (LTO). This is enabled by default, and may be disabled using --disable-lto.
      --enable-linker-plugin-configure-flags=FLAGS
      --enable-linker-plugin-flags=FLAGS
      By default, linker plugins (such as the LTO plugin) are built for the d1646 2 a1647 2 (‘x86_64-unknown-linux-gnu’) host system, but have a 32-bit x86 GNU/Linux (‘i686-pc-linux-gnu’) linker executable (which is d1650 12 a1661 8
                % srcdir/configure \
                    --host=x86_64-unknown-linux-gnu \
                    --enable-linker-plugin-configure-flags=--host=i686-pc-linux-gnu \
                    --enable-linker-plugin-flags='CC=gcc\ -m32\ -Wl,-rpath,[...]/i686-pc-linux-gnu/lib'
      

      --with-plugin-ld=pathname
      Enable an alternate linker to be used at link-time optimization (LTO) link time when -fuse-linker-plugin is enabled. d1663 7 a1669 4 version 2.20 or GNU ld starting with version 2.21. See -fuse-linker-plugin for details.
      --enable-canonical-system-headers
      --disable-canonical-system-headers
      Enable system header path canonicalization for libcpp. This can d1673 5 a1677 3 --disable-canonical-system-headers.
      --with-glibc-version=major.minor
      Tell GCC that when the GNU C Library (glibc) is used on the target it d1679 1 a1679 1 be detected from the C library's header files, but this option may be d1682 3 a1684 3

      If GCC is configured with some multilibs that use glibc and some that do not, this option applies only to the multilibs that use glibc. d1687 8 a1694 4

      --enable-as-accelerator-for=target
      Build as offload target compiler. Specify offload host triple by target.
      --enable-offload-targets=target1[=path1],...,targetN[=pathN]
      Enable offloading to targets target1, ..., targetN. d1697 6 a1702 1 specifying paths path1, ..., pathN. d1704 1 a1704 4
                % srcdir/configure \
                    --enable-offload-target=i686-unknown-linux-gnu=/path/to/i686/compiler,x86_64-pc-linux-gnu
      

      If ‘hsa’ is specified as one of the targets, the compiler will be d1707 7 a1713 3

      --with-hsa-runtime=pathname
      --with-hsa-runtime-include=pathname
      --with-hsa-runtime-lib=pathname
      If you configure GCC with HSA offloading but do not have the HSA d1716 1 a1716 1 --with-hsa-runtime=hsainstalldir option is a d1718 18 a1735 2 --with-hsa-runtime-lib=hsainstalldir/lib and --with-hsa-runtime-include=hsainstalldir/include. d1738 2 a1739 2

      Cross-Compiler-Specific Options

      d1741 6 a1746 4
      --with-sysroot
      --with-sysroot=dir
      Tells GCC to consider dir as the root of a tree that contains (a subset of) the root filesystem of the target operating system. d1749 1 a1749 1 --sysroot=dir was added to the default options of the built d1751 5 a1755 5 install tree, unlike the options --with-headers and --with-libs that this option obsoletes. The default value, in case --with-sysroot is not given an argument, is ${gcc_tooldir}/sys-root. If the specified directory is a subdirectory of ${exec_prefix}, then it will be found relative to d1757 2 a1758 2

      This option affects the system root for the compiler used to build d1762 2 a1763 2

      If you specify the --with-native-system-header-dir=dirname d1765 11 a1775 8 native system headers rather than the default /usr/include.

      --with-build-sysroot
      --with-build-sysroot=dir
      Tells GCC to consider dir as the system root (see --with-sysroot) while building target libraries, instead of the directory specified with --with-sysroot. This option is only useful when you are already using --with-sysroot. You can use --with-build-sysroot when you are configuring with --prefix set to a directory that is different from the one in d1777 2 a1778 2

      This option affects the system root for the compiler used to build d1781 2 a1782 2

      If you specify the --with-native-system-header-dir=dirname d1784 7 a1790 4 native system headers rather than the default /usr/include.

      --with-headers
      --with-headers=dir
      Deprecated in favor of --with-sysroot. Specifies that target headers are available when building a cross compiler. d1792 5 a1796 5 files. These include files will be copied into the gcc install directory. This option with the dir argument is required when building a cross compiler, if prefix/target/sys-include doesn't pre-exist. If prefix/target/sys-include does pre-exist, the dir argument may be omitted. fixincludes d1798 4 a1801 2
      --without-headers
      Tells GCC not use any target headers from a libc when building a cross d1804 5 a1808 2
      --with-libs
      --with-libs="dir1 dir2 ... dirN"
      Deprecated in favor of --with-sysroot. d1810 1 a1810 1 libraries. These libraries will be copied into the gcc install d1813 4 a1816 2
      --with-newlib
      Specifies that ‘newlib’ is d1818 6 a1823 4 omitted from libgcc.a on the assumption that it will be provided by ‘newlib’.
      --with-avrlibc
      Specifies that ‘AVR-Libc’ is d1825 3 a1827 3 functions like __addsf3 to be omitted from libgcc.a on the assumption that it will be provided by libm.a. For more technical details, cf. PR54461. d1831 5 a1835 3
      --with-nds32-lib=library
      Specifies that library setting is used for building libgcc.a. Currently, the valid library is ‘newlib’ or ‘mculib’. d1837 4 a1840 2
      --with-build-time-tools=dir
      Specifies where to find the set of target tools (assembler, linker, etc.) d1844 3 a1846 3

      For example, on an ‘ia64-hp-hpux’ system, you may have the GNU assembler and linker in /usr/bin, and the native tools in a d1848 8 a1855 7 native tools in /usr/bin.

      When you use this option, you should ensure that dir includes ar, as, ld, nm, ranlib and strip if necessary, and possibly objdump. Otherwise, GCC may use an inconsistent set of tools. d1858 2 a1859 1

      Overriding configure test results
      d1862 2 a1863 2 configure test, for example in order to ease porting to a new system or work around a bug in a test. The toplevel configure d1865 5 a1869 3
      build_configargs
      The contents of this variable is passed to all build configure d1871 5 a1875 2
      host_configargs
      The contents of this variable is passed to all host configure d1877 5 a1881 2
      target_configargs
      The contents of this variable is passed to all target configure d1883 3 d1887 2 a1888 4

      In order to avoid shell and make quoting issues for complex overrides, you can pass a setting for CONFIG_SITE and set d1890 3 a1892 2

      Objective-C-Specific Options

      d1895 4 a1898 3
      --enable-objc-gc
      Specify that an additional variant of the GNU Objective-C runtime library d1902 1 a1902 1 --enable-objc-gc=‘auto’ in which case the build of the d1905 6 a1910 2
      --with-target-bdw-gc=list
      --with-target-bdw-gc-include=list
      --with-target-bdw-gc-lib=list
      Specify search directories for the garbage collector header files and d1912 6 a1917 6 form ‘multilibdir=path’, where the default multilib key is named as ‘.’ (dot), or is omitted (e.g. ‘--with-target-bdw-gc=/opt/bdw-gc,32=/opt-bdw-gc32’).

      The options --with-target-bdw-gc-include and --with-target-bdw-gc-lib must always be specified together d1919 1 a1919 1 --with-target-bdw-gc. If --with-target-bdw-gc-include d1921 2 a1922 2 multilib is used (e.g. ‘--with-target-bdw-gc-include=/opt/bdw-gc/include’ ‘--with-target-bdw-gc-lib=/opt/bdw-gc/lib64,32=/opt-bdw-gc/lib32’). d1924 2 a1925 1 default locations. d1928 2 a1929 1


      d1931 10 a1941 10 d1943 2 @ 1.8 log @merge GCC 6.5. needs mknative as some new files appeared. @ text @d1 10 a10 3 Installing GCC d41 6 d48 2 a49 8

      Installing GCC

      d51 3 d55 2 a56 27

      Like most GNU software, GCC must be configured before it can be built. This document describes the recommended configuration procedure for both native and cross targets.

      We use srcdir to refer to the toplevel source directory for GCC; we use objdir to refer to the toplevel build/object directory.

      If you obtained the sources via SVN, srcdir must refer to the top gcc directory, the one where the MAINTAINERS file can be found, and not its gcc subdirectory, otherwise the build will fail.

      If either srcdir or objdir is located on an automounted NFS file system, the shell’s built-in pwd command will return d58 3 a60 3 problems. To avoid this issue, set the PWDCMD environment variable to an automounter-aware pwd command, e.g., pawd or ‘amq -w’, during the configuration and build d62 2 a63 2

      First, we highly recommend that GCC be built into a d66 1 a66 1 where srcdir == objdir should still work, but doesn’t d69 6 a74 6

      If you have previously built GCC in the same directory for a different target machine, do ‘make distclean’ to delete all files that might be invalid. One of the files this deletes is Makefile; if ‘make distclean’ complains that Makefile does not exist or issues a message like “don’t know how to make distclean” it probably d78 3 a80 3

      Second, when configuring a native system, either cc or gcc must be in your path or you must set CC in a82 1

      d84 1 a84 7

      To configure GCC:

      % mkdir objdir
      % cd objdir
      % srcdir/configure [options] [target]
      
      d86 5 a90 2

      Distributor options

      d95 3 a97 4

      --with-pkgversion=version

      Specify a string that identifies your package. You may wish d99 6 a104 8 included in the output of gcc --version. This suffix does not replace the default version string, only the ‘GCC’ part.

      The default value is ‘GCC’.

      --with-bugurl=url

      Specify the URL that users should visit if they wish to report a bug. a106 5

      The default value refers to the FSF’s GCC bug tracker.

      d108 8 a115 4

      Target specification

      • GCC has code to correctly determine the correct value for target d119 1 a119 1
      • target must be specified as --target=target d123 3 a125 4
      • Specifying just target instead of --target=target implies that the host defaults to target.
      d127 1 a127 2

      Options specification

      d130 2 a131 2 GCC. A list of supported options follows; ‘configure --help’ may list other options, but those not listed below may not d133 7 a139 8

      Note that each --enable option has a corresponding --disable option and that each --with option has a corresponding --without option.

      --prefix=dirname

      Specify the toplevel installation d142 3 a144 3 /usr/local.

      We highly recommend against dirname being the same or a d146 5 a150 5 beneath a user’s home directory tree, some shells will not expand dirname correctly if it contains the ‘~’ metacharacter; use $HOME instead.

      The following standard autoconf options are supported. Normally you d152 2 a153 3

      --exec-prefix=dirname

      Specify the toplevel installation directory for architecture-dependent d155 12 a166 20

      --bindir=dirname

      Specify the installation directory for the executables called by users (such as gcc and g++). The default is exec-prefix/bin.

      --libdir=dirname

      Specify the installation directory for object code libraries and internal data files of GCC. The default is exec-prefix/lib.

      --libexecdir=dirname

      Specify the installation directory for internal executables of GCC. The default is exec-prefix/libexec.

      --with-slibdir=dirname

      Specify the installation directory for the shared libgcc library. The d168 8 a175 14

      --datarootdir=dirname

      Specify the root of the directory tree for read-only architecture-independent data files referenced by GCC. The default is prefix/share.

      --infodir=dirname

      Specify the installation directory for documentation in info format. The default is datarootdir/info.

      --datadir=dirname

      Specify the installation directory for some architecture-independent d177 5 a181 9

      --docdir=dirname

      Specify the installation directory for documentation files (other than Info) for GCC. The default is datarootdir/doc.

      --htmldir=dirname

      Specify the installation directory for HTML documentation files. d183 2 a184 4

      --pdfdir=dirname

      Specify the installation directory for PDF documentation files. d186 3 a188 5

      --mandir=dirname

      Specify the installation directory for manual pages. The default is datarootdir/man. (Note that the manual pages are only extracts d192 2 a193 4

      --with-gxx-include-dir=dirname

      Specify d197 2 a198 4

      --with-specs=specs

      Specify additional command line driver SPECS. d200 2 a201 2 default without modifying the compiler’s source code, for instance --with-specs=%{!fcommon:%{!fno-common:-fno-common}}. a202 3

      d204 3 a206 3
      --program-prefix=prefix

      GCC supports some transformations of the names of its programs when d209 9 a217 13 --program-prefix=foo- would result in ‘gcc’ being installed as /usr/local/bin/foo-gcc.

      --program-suffix=suffix

      Appends suffix to the names of programs to install in bindir (see above). For example, specifying --program-suffix=-3.1 would result in ‘gcc’ being installed as /usr/local/bin/gcc-3.1.

      --program-transform-name=pattern

      Applies the ‘sed’ script pattern to be applied to the names d219 5 a223 5 consist of one or more basic ‘sed’ editing commands, separated by semicolons. For example, if you want the ‘gcc’ program name to be transformed to the installed program /usr/local/bin/myowngcc and the ‘g++’ program name to be transformed to /usr/local/bin/gspecial++ without changing other program names, d225 1 a225 1 --program-transform-name='s/^gcc$/myowngcc/; s/^g++$/gspecial++/' d227 2 a228 2

      All three options can be combined and used together, resulting in more d232 3 a234 3

      As currently implemented, this option only takes effect for native builds; cross compiler binaries’ names are not transformed even when a d236 2 a237 2

      For native builds, some of the installed programs are also installed d239 1 a239 1 ‘i686-pc-linux-gnu-gcc’. All of the above transformations happen d241 1 a241 1 --program-prefix=foo- and program-suffix=-3.1, the d243 3 a245 3 /usr/local/bin/i686-pc-linux-gnu-foo-gcc-3.1.

      As a last shortcoming, none of the installed Ada programs are d247 2 a248 4

      --with-local-prefix=dirname

      Specify the d250 6 a255 6 /usr/local. Specify this option if you want the compiler to search directory dirname/include for locally installed header files instead of /usr/local/include.

      You should specify --with-local-prefix only if your site has a different convention (not /usr/local) for where to put d257 4 a260 4

      The default value for --with-local-prefix is /usr/local regardless of the value of --prefix. Specifying --prefix has no effect on which directory GCC searches for d263 3 a265 3

      The purpose of --prefix is to specify where to install GCC. The local header files in /usr/local/include—if you put d268 4 a271 4 another directory which is based on the --prefix value.)

      Both the local-prefix include directory and the GCC-prefix include directory are part of GCC’s “system include” directories. Although these d277 2 a278 2

      Some autoconf macros add -I directory options to the d280 1 a280 1 packages’ headers are searched. When directory is one of GCC’s d285 3 a287 3

      GCC automatically searches for ordinary libraries using GCC_EXEC_PREFIX. Thus, when the same installation prefix is d291 3 a293 3 installed as a system compiler in /usr.

      Sites that need to install multiple versions of GCC may not want to d295 2 a296 2 --program-prefix, --program-suffix and --program-transform-name options to install multiple versions d298 1 a298 1 and the --with-local-prefix option to specify the location of the d301 9 a309 9 (e.g., with LIBRARY_PATH).

      The same value can be used for both --with-local-prefix and --prefix provided it is not /usr. This can be used to avoid the default search of /usr/local/include.

      Do not specify /usr as the --with-local-prefix! The directory you use for --with-local-prefix must not contain any of the system’s standard header files. If it did contain d312 3 a314 3 file corrections made by the fixincludes script.

      Indications are that people who use this option use it based on mistaken d318 6 a323 5

      --with-native-system-header-dir=dirname

      Specifies that dirname is the directory that contains native system header files, rather than /usr/include. This option is most useful d326 1 a326 1 --with-sysroot option and will cause GCC to search d328 2 a329 4

      --enable-shared[=package[,…]]

      Build shared versions of libraries, if shared libraries are supported on d332 2 a333 2

      If a list of packages is given as an argument, build shared libraries d336 10 a345 10 ‘libgcc’ (also known as ‘gcc’), ‘libstdc++’ (not ‘libstdc++-v3’), ‘libffi’, ‘zlib’, ‘boehm-gc’, ‘ada’, ‘libada’, ‘libjava’, ‘libgo’, and ‘libobjc’. Note ‘libiberty’ does not support shared libraries at all.

      Use --disable-shared to build only static libraries. Note that --disable-shared does not accept a list of package names as argument, only --enable-shared does.

      Contrast with --enable-host-shared, which affects host d347 2 a348 4

      --enable-host-shared

      Specify that the host code should be built into position-independent d351 4 a354 4

      This option is required when building the libgccjit.so library.

      Contrast with --enable-shared, which affects target d356 2 a357 4

      --with-gnu-as

      Specify that the compiler should assume that the d362 1 a362 1 configured with --with-gnu-as.) If you have more than one d364 4 a367 4 connection with --with-as=pathname or --with-build-time-tools=pathname.

      The following systems are the only ones where it makes a difference d369 10 a378 12 --with-gnu-as has no effect.

      • ‘hppa1.0-any-any’
      • ‘hppa1.1-any-any’
      • ‘sparc-sun-solaris2.any’
      • ‘sparc64-any-solaris2.any’
      --with-as=pathname

      Specify that the compiler should use the assembler pointed to by d381 4 a384 4

      • Unless GCC is being built with a cross compiler, check the libexec/gcc/target/version directory. libexec defaults to exec-prefix/libexec; d386 3 a388 3 defaults to /usr/local unless overridden by the --prefix=pathname switch described above. target is the target system triple, such as ‘sparc-sun-solaris2.7’, and d391 2 a392 2
      • If the target system is the same that you are building on, check operating system specific directories (e.g. /usr/ccs/bin on d395 1 a395 1
      • Check in the PATH for a tool whose name is prefixed by the d398 1 a398 1
      • Check in the PATH for a tool whose name is not prefixed by the d401 2 a402 2 the target as well).
      d404 1 a404 1

      You may want to use --with-as if no assembler d408 2 a409 4

      --with-gnu-ld

      Same as --with-gnu-as d411 2 a412 4

      --with-ld=pathname

      Same as --with-as d414 2 a415 4

      --with-stabs

      Specify that stabs debugging d418 2 a419 2

      On MIPS based systems and on Alphas, you must specify whether you want d424 6 a429 6

      Normally, GCC uses the ECOFF debugging format by default; if you prefer BSD stabs, specify --with-stabs when you configure GCC.

      No matter which default you choose when you configure GCC, the user can use the -gcoff and -gstabs+ options to specify explicitly d431 3 a433 3

      --with-stabs is meaningful on the ISC system on the 386, also, if --with-gas is used. It selects use of stabs debugging d436 2 a437 2

      --with-stabs is also meaningful on 386 systems running SVR4. It d443 2 a444 4

      --with-tls=dialect

      Specify the default TLS dialect, for systems were there is a choice. d448 2 a449 4

      --enable-multiarch

      Specify whether to enable or disable multiarch support. The default is d452 2 a453 2 and for cross builds configured with --with-sysroot, and without --with-native-system-header-dir. d456 3 a458 5

      --enable-sjlj-exceptions

      Force use of the setjmp/longjmp-based scheme for exceptions. ‘configure’ ordinarily picks the correct value based on the platform. d460 2 a461 4

      --enable-vtable-verify

      Specify whether to enable or disable the vtable verification feature. d466 1 a466 1 the verifier will call stub functions (in libstdc++ itself) and do nothing. d469 4 a472 6 still be built (see --disable-libvtv to turn off building libvtv). --disable-vtable-verify is the default.

      --disable-multilib

      Specify that multiple target d476 11 a486 18

      Some targets provide finer-grained control over which multilibs are built (e.g., --disable-softfloat):

      arm-*-*

      fpu, 26bit, underscore, interwork, biendian, nofmult.

      m68*-*-*

      softfloat, m68881, m68000, m68020.

      mips*-*-*

      single-float, biendian, softfloat.

      powerpc*-*-*, rs6000*-*-*

      aix64, pthread, softfloat, powercpu, powerpccpu, powerpcos, biendian, a487 3

      d489 55 a543 20
      --with-multilib-list=list
      --without-multilib-list

      Specify what multilibs to build. Currently only implemented for arm*-*-*, sh*-*-* and x86-64-*-linux*.

      arm*-*-*

      list is either default or aprofile. Specifying default is equivalent to omitting this option while specifying aprofile builds multilibs for each combination of ISA (-marm or -mthumb), architecture (-march=armv7-a, -march=armv7ve, or -march=armv8-a), FPU available (none, -mfpu=vfpv3-d16, -mfpu=neon, -mfpu=vfpv4-d16, -mfpu=neon-vfpv4 or -mfpu=neon-fp-armv8 depending on architecture) and floating-point ABI (-mfloat-abi=softfp or -mfloat-abi=hard).

      sh*-*-*

      list is a comma separated list of CPU names. These must be of the d546 3 a548 3 these are handled by --with-endian.

      If list is empty, then there will be no multilibs for extra d550 4 a553 4

      As a special case, if an entry in the list starts with a ! (exclamation point), then it is added to the list of excluded multilibs. Entries of this sort should be compatible with ‘MULTILIB_EXCLUDES’ d555 3 a557 3

      If --with-multilib-list is not given, then a default set of multilibs is selected based on the value of --target. This is d560 2 a561 2

      Example 1: to configure a compiler for SH4A only, but supporting both d563 3 a565 5

      --with-cpu=sh4a --with-endian=little,big --with-multilib-list=
      

      Example 2: to configure a compiler for both SH4A and SH4AL-DSP, but with d567 4 a570 8

      --with-cpu=sh4a --with-endian=little,big \
      --with-multilib-list=sh4al,!mb/m4al
      
      x86-64-*-linux*

      list is a comma separated list of m32, m64 and d574 3 a576 4

      If --with-multilib-list is not given, then only 32-bit and 64-bit run-time libraries will be enabled.

      d579 1 a579 3
      --with-endian=endians

      Specify what endians to use. d581 7 a587 15

      endians may be one of the following:

      big

      Use big endian exclusively.

      little

      Use little endian exclusively.

      big,little

      Use big endian by default. Provide a multilib for little endian.

      little,big

      Use little endian by default. Provide a multilib for big endian.

      d590 1 a590 3
      --enable-threads

      Specify that the target d592 1 a592 1 library, and exception handling for other languages like C++ and Java. d594 2 a595 2

      In general, the best (and, in many cases, the only known) threading d598 7 a604 11 available for the system. In this case, --enable-threads is an alias for --enable-threads=single.

      --disable-threads

      Specify that threading support should be disabled for the system. This is an alias for --enable-threads=single.

      --enable-threads=lib

      Specify that d607 14 a620 36 like C++ and Java. The possibilities for lib are:

      aix

      AIX thread support.

      dce

      DCE thread support.

      lynx

      LynxOS thread support.

      mipssde

      MIPS SDE thread support.

      no

      This is an alias for ‘single’.

      posix

      Generic POSIX/Unix98 thread support.

      rtems

      RTEMS thread support.

      single

      Disable thread support, should work for all platforms.

      tpf

      TPF thread support.

      vxworks

      VxWorks thread support.

      win32

      Microsoft Win32 API thread support.

      d623 1 a623 3
      --enable-tls

      Specify that the target supports TLS (Thread Local Storage). Usually d626 1 a626 1 --enable-tls or --disable-tls. This can happen if d629 6 a634 12

      --disable-tls

      Specify that the target does not support TLS. This is an alias for --enable-tls=no.

      --with-cpu=cpu
      --with-cpu-32=cpu
      --with-cpu-64=cpu

      Specify which cpu variant the compiler should generate code for by default. cpu will be used as the default value of the -mcpu= switch. d636 2 a637 2 PowerPC, and SPARC. It is mandatory for ARC. The --with-cpu-32 and --with-cpu-64 options specify separate default CPUs for d640 5 a644 16

      --with-schedule=cpu
      --with-arch=cpu
      --with-arch-32=cpu
      --with-arch-64=cpu
      --with-tune=cpu
      --with-tune-32=cpu
      --with-tune-64=cpu
      --with-abi=abi
      --with-fpu=type
      --with-float=type

      These configure options provide default values for the -mschedule=, -march=, -mtune=, -mabi=, and -mfpu= options and for -mhard-float or -msoft-float. As with --with-cpu, which switches will be accepted and acceptable values d646 2 a647 4

      --with-mode=mode

      Specify if the compiler should default to -marm or -mthumb. d649 2 a650 4

      --with-stack-offset=num

      This option sets the default for the -mstack-offset=num option, d653 4 a656 6

      --with-fpmath=isa

      This options sets -mfpmath=sse by default and specifies the default ISA for floating-point arithmetics. You can select either ‘sse’ which enables -msse2 or ‘avx’ which enables -mavx by default. d658 2 a659 4

      --with-fp-32=mode

      On MIPS targets, set the default value for the -mfp option when using d661 7 a667 13

      32

      Use the o32 FP32 ABI extension, as with the -mfp32 command-line option.

      xx

      Use the o32 FPXX ABI extension, as with the -mfpxx command-line option.

      64

      Use the o32 FP64 ABI extension, as with the -mfp64 command-line option.

      d669 1 a669 1

      In the absence of this configuration option the default is to use the o32 d671 2 a672 4

      --with-odd-spreg-32

      On MIPS targets, set the -modd-spreg option by default when using d674 2 a675 4

      --without-odd-spreg-32

      On MIPS targets, set the -mno-odd-spreg option by default when using d677 3 a679 5 --with-fp-32=64 in order to target the o32 FP64A ABI extension.

      --with-nan=encoding

      On MIPS targets, set the default encoding convention to use for the d682 5 a686 9

      legacy

      Use the legacy encoding, as with the -mnan=legacy command-line option.

      2008

      Use the 754-2008 encoding, as with the -mnan=2008 command-line option.

      d688 2 a689 2

      To use this configuration option you must have an assembler version installed that supports the -mnan= command-line option too. d691 5 a695 7 the legacy encoding, as when neither of the -mnan=2008 and -mnan=legacy command-line options has been used.

      --with-divide=type

      Specify how the compiler should generate code for checking for division by zero. This option is only supported on the MIPS target. d697 4 a700 8

      traps

      Division by zero checks use conditional traps (this is the default on systems that support conditional traps).

      breaks

      Division by zero checks use the break instruction.

      d703 4 a706 5
      --with-llsc

      On MIPS targets, make -mllsc the default when no -mno-llsc option is passed. This is the default for d709 40 a748 19

      --without-llsc

      On MIPS targets, make -mno-llsc the default when no -mllsc option is passed.

      --with-synci

      On MIPS targets, make -msynci the default when no -mno-synci option is passed.

      --without-synci

      On MIPS targets, make -mno-synci the default when no -msynci option is passed. This is the default.

      --with-mips-plt

      On MIPS targets, make use of copy relocations and PLTs. d752 3 a754 5

      --enable-__cxa_atexit

      Define if you want to use __cxa_atexit, rather than atexit, to register C++ destructors for local statics and global objects. d758 3 a760 5 -fuse-cxa-atexit to be passed by default.

      --enable-gnu-indirect-function

      Define if you want to enable the ifunc attribute. This option is d762 3 a764 5

      --enable-target-optspace

      Specify that target libraries should be optimized for code space instead of code speed. d766 5 a770 9

      --with-cpp-install-dir=dirname

      Specify that the user visible cpp program should be installed in prefix/dirname/cpp, in addition to bindir.

      --enable-comdat

      Enable COMDAT group support. This is primarily used to override the d772 2 a773 4

      --enable-initfini-array

      Force the use of sections .init_array and .fini_array d775 1 a775 1 destructors. Option --disable-initfini-array has the d779 2 a780 4

      --enable-link-mutex

      When building GCC, use a mutex to avoid linking the compilers for d783 3 a785 5

      --enable-maintainer-mode

      The build rules that regenerate the Autoconf and Automake output files as well as the GCC master message catalog gcc.pot are normally d788 1 a788 1 catalog, configuring with --enable-maintainer-mode will enable d791 3 a793 5

      --disable-bootstrap

      For a native build, the default configuration is to perform a 3-stage bootstrap of the compiler when ‘make’ is invoked, d795 4 a798 6 this process, you can configure with --disable-bootstrap.

      --enable-bootstrap

      In special cases, you may want to perform a 3-stage build even if the target and host triplets are different. d800 1 a800 1 the target (e.g. host is i686-linux, target is i486-linux). d802 3 a804 5 with --enable-bootstrap.

      --enable-generated-files-in-srcdir

      Neither the .c and .h files that are generated from Bison and flex nor the d810 2 a811 2

      If you configure with --enable-generated-files-in-srcdir then those d816 2 a817 4

      --enable-version-specific-runtime-libs

      Specify d819 2 a820 2 subdirectory (libdir/gcc) rather than the usual places. In addition, ‘libstdc++’’s include files will be installed into d822 1 a822 1 --with-gxx-include-dir=dirname. Using this option is d824 4 a827 6 parallel. This is currently supported by ‘libgfortran’, ‘libjava’, ‘libstdc++’, and ‘libobjc’.

      --with-aix-soname=‘aix’, ‘svr4’ or ‘both’

      Traditional AIX shared library versioning (versioned Shared Object d829 1 a829 1 ‘lib.a’) causes numerous headaches for package managers. However, d832 1 a832 1 where this is called the "SONAME". But as they prevent static linking, d834 20 a853 23 linker does search for ‘libNAME.so’ before ‘libNAME.a’ library filenames with the ‘-lNAME’ linker flag.

      For detailed information please refer to the AIX ld Command reference.

      As long as shared library creation is enabled, upon:

      --with-aix-soname=aix
      --with-aix-soname=both

      A (traditional AIX) Shared Archive Library file is created:

      • using the ‘libNAME.a’ filename scheme
      • with the Shared Object file as archive member named ‘libNAME.so.V’ (except for ‘libgcc_s’, where the Shared Object file is named ‘shr.o’ for backwards compatibility), which
        • - is used for runtime loading from inside the ‘libNAME.a’ file
        • - is used for dynamic loading via dlopen("libNAME.a(libNAME.so.V)", RTLD_MEMBER)
        • - is used for shared linking
        • - is used for static linking, so no separate Static Archive d855 12 a866 15
      --with-aix-soname=both
      --with-aix-soname=svr4

      A (second) Shared Archive Library file is created:

      • using the ‘libNAME.so.V’ filename scheme
      • with the Shared Object file as archive member named ‘shr.o’, which
        • - is created with the -G linker flag
        • - has the F_LOADONLY flag set
        • - is used for runtime loading from inside the ‘libNAME.so.V’ file
        • - is used for dynamic loading via dlopen("libNAME.so.V(shr.o)", d868 2 a869 2
      • with the Import File as archive member named ‘shr.imp’, d871 2 a872 2
        • - refers to ‘libNAME.so.V(shr.o)’ as the "SONAME", to be recorded d874 13 a886 13
        • - indicates whether ‘libNAME.so.V(shr.o)’ is 32 or 64 bit
        • - lists all the public symbols exported by ‘lib.so.V(shr.o)’, eventually decorated with the ‘weak’ Keyword
        • - is necessary for shared linking against ‘lib.so.V(shr.o)’

      A symbolic link using the ‘libNAME.so’ filename scheme is created:

      • pointing to the ‘libNAME.so.V’ Shared Archive Library file
      • to permit the ld Command to find ‘lib.so.V(shr.imp)’ via the ‘-lNAME’ argument (requires Runtime Linking to be enabled)
      • to permit dynamic loading of ‘lib.so.V(shr.o)’ without the need to specify the version number via dlopen("libNAME.so(shr.o)", d888 2 a889 3
      d891 11 a901 13

      As long as static library creation is enabled, upon:

      --with-aix-soname=svr4

      A Static Archive Library is created:

      • using the ‘libNAME.a’ filename scheme
      • with all the Static Object files as archive members, which
        • - are used for static linking
      d903 1 a903 1

      While the aix-soname=‘svr4’ option does not create Shared Object d910 2 a911 2

      WARNING: Creating Shared Object files with Runtime Linking d913 1 a913 1 requiring the use of either the -Wl,-bbigtoc linker flag (seen to d916 2 a917 2

      --with-aix-soname is currently supported by ‘libgcc_s’ only, so d919 4 a922 6

      Default is the traditional behavior --with-aix-soname=‘aix’.

      --enable-languages=lang1,lang2,…

      Specify that only a particular subset of compilers and d925 4 a928 5 gcc directory of your GCC source tree:

      grep ^language= */config-lang.in
      

      Currently, you can use any of the following: d930 2 a931 2 go, java, jit, lto, objc, obj-c++. Building the Ada compiler has special requirements, see below. d933 1 a933 1 default languages available in the gcc sub-tree will be configured. d935 1 a935 1 default language, but is built by default because --enable-lto is d937 2 a938 4

      --enable-stage1-languages=lang1,lang2,…

      Specify that a particular subset of compilers and their runtime d942 2 a943 2 --enable-languages, and the option all will select all of the languages enabled by --enable-languages. This option is d948 5 a952 7 specified languages with the stage-1 compiler by using make stage1-bubble all-target, or run the testsuite on the stage-1 compiler for the specified languages using make stage1-start check-gcc.

      --disable-libada

      Specify that the run-time libraries and tools used by GNAT should not d955 3 a957 5 do a ‘make -C gcc gnatlib_and_tools’.

      --disable-libsanitizer

      Specify that the run-time libraries for the various sanitizers should d959 2 a960 4

      --disable-libssp

      Specify that the run-time libraries for stack smashing protection d962 2 a963 4

      --disable-libquadmath

      Specify that the GCC quad-precision math library should not be built. d965 1 a965 1 the Fortran front end, unless --disable-libquadmath-support d967 2 a968 4

      --disable-libquadmath-support

      Specify that the Fortran front end and libgfortran do not add d970 2 a971 4

      --disable-libgomp

      Specify that the GNU Offloading and Multi Processing Runtime Library d973 2 a974 4

      --disable-libvtv

      Specify that the run-time libraries used by vtable verification d976 2 a977 4

      --with-dwarf2

      Specify that the compiler should d979 2 a980 4

      --with-advance-toolchain=at

      On 64-bit PowerPC Linux systems, configure the compiler to use the d986 2 a987 5

      --enable-targets=all
      --enable-targets=target_list

      Some GCC targets, e.g. powerpc64-linux, build bi-arch compilers. d989 1 a989 1 code. Typically, the corresponding 32-bit target, e.g. d993 1 a993 1 you are building a bi-arch or multi-arch binutils in a combined tree. d995 1 a995 1 defaulted to o32. d998 4 a1001 8

      --enable-default-pie

      Turn on -fPIE and -pie by default.

      --enable-secureplt

      This option enables -msecure-plt by default for powerpc-linux. d1003 4 a1006 8

      --enable-default-ssp

      Turn on -fstack-protector-strong by default.

      --enable-cld

      This option enables -mcld by default for 32-bit x86 targets. d1008 2 a1009 6

      --enable-win32-registry
      --enable-win32-registry=key
      --disable-win32-registry

      The --enable-win32-registry option enables Microsoft Windows-hosted GCC a1010 4

      HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\key
      
      d1012 4 a1015 2

      key defaults to GCC version number, and can be overridden by the --enable-win32-registry=key option. Vendors and distributors d1019 1 a1019 1 by default, and can be disabled by --disable-win32-registry d1021 8 a1028 15

      --nfp

      Specify that the machine does not have a floating point unit. This option only applies to ‘m68k-sun-sunosn’. On any other system, --nfp has no effect.

      --enable-werror
      --disable-werror
      --enable-werror=yes
      --enable-werror=no

      When you specify this option, it controls whether certain files in the compiler are built with -Werror in bootstrap stage2 and later. If you don’t specify it, -Werror is turned on for the main d1030 1 a1030 1 final releases. The specific files which get -Werror are d1032 2 a1033 5

      --enable-checking
      --enable-checking=list

      When you specify this option, the compiler is built to perform internal d1037 3 a1039 3 the compiler with GCC. This is ‘yes’ by default when building from SVN or snapshots, but ‘release’ for releases. The default for building the stage1 compiler is ‘yes’. More control d1041 12 a1052 9 checks available are ‘yes’ (most common checks ‘assert,misc,tree,gc,rtlflag,runtime’), ‘no’ (no checks at all), ‘all’ (all but ‘valgrind’), ‘release’ (cheapest checks ‘assert,runtime’) or ‘none’ (same as ‘no’). Individual checks can be enabled with these flags ‘assert’, ‘df’, ‘fold’, ‘gc’, ‘gcac’ ‘misc’, ‘rtl’, ‘rtlflag’, ‘runtime’, ‘tree’, and ‘valgrind’.

      The ‘valgrind’ check requires the external valgrind d1054 3 a1056 3 ‘df’, ‘rtl’, ‘gcac’ and ‘valgrind’ checks are very expensive. To disable all checking, ‘--disable-checking’ or ‘--enable-checking=none’ must be explicitly requested. Disabling d1060 3 a1062 7

      --disable-stage1-checking
      --enable-stage1-checking
      --enable-stage1-checking=list

      If no --enable-checking option is specified the stage1 compiler will be built with ‘yes’ checking enabled, otherwise d1064 3 a1066 3 --enable-checking. To build the stage1 compiler with different checking options use --enable-stage1-checking. The list of checking options is the same as for --enable-checking. d1068 1 a1068 1 with checking for stage1 enabled, you can use ‘--disable-stage1-checking’ d1070 2 a1071 5

      --enable-coverage
      --enable-coverage=level

      With this option, the compiler is built to collect self coverage d1075 1 a1075 1 not, values are ‘opt’ and ‘noopt’. For coverage analysis you d1079 2 a1080 4

      --enable-gather-detailed-mem-stats

      When this option is specified more detailed information on memory d1082 3 a1084 5 -fmem-report.

      --enable-valgrind-annotations

      Mark selected memory related operations in the compiler when run under d1086 2 a1087 5

      --enable-nls
      --disable-nls

      The --enable-nls option enables Native Language Support (NLS), d1090 6 a1095 10 canadian cross build. The --disable-nls option disables NLS.

      --with-included-gettext

      If NLS is enabled, the --with-included-gettext option causes the build procedure to prefer its copy of GNU gettext.

      --with-catgets

      If NLS is enabled, and if the host lacks gettext but has the d1097 8 a1104 12 ignores catgets and instead uses GCC’s copy of the GNU gettext library. The --with-catgets option causes the build procedure to use the host’s catgets in this situation.

      --with-libiconv-prefix=dir

      Search for libiconv header files in dir/include and libiconv library files in dir/lib.

      --enable-obsolete

      Enable configuration for an obsoleted system. If you attempt to d1108 2 a1109 2

      All support for systems which have been obsoleted in one release of GCC d1112 2 a1113 9

      --enable-decimal-float
      --enable-decimal-float=yes
      --enable-decimal-float=no
      --enable-decimal-float=bid
      --enable-decimal-float=dpd
      --disable-decimal-float

      Enable (or disable) support for the C decimal floating point extension d1118 2 a1119 2 ‘bid’ or ‘dpd’). The ‘bid’ (binary integer decimal) format is default on i386 and x86_64 systems, and the ‘dpd’ d1121 2 a1122 5

      --enable-fixed-point
      --disable-fixed-point

      Enable (or disable) support for C fixed-point arithmetic. d1126 2 a1127 4

      --with-long-double-128

      Specify if long double type should be 128-bit by default on selected d1129 1 a1129 1 long double will be by default 64-bit, the same as double type. d1133 4 a1136 16

      --enable-fdpic

      On SH Linux systems, generate ELF FDPIC code.

      --with-gmp=pathname
      --with-gmp-include=pathname
      --with-gmp-lib=pathname
      --with-mpfr=pathname
      --with-mpfr-include=pathname
      --with-mpfr-lib=pathname
      --with-mpc=pathname
      --with-mpc-include=pathname
      --with-mpc-lib=pathname

      If you want to build GCC but do not have the GMP library, the MPFR d1140 12 a1151 12 (‘--with-gmp=gmpinstalldir’, ‘--with-mpfr=mpfrinstalldir’, ‘--with-mpc=mpcinstalldir’). The --with-gmp=gmpinstalldir option is shorthand for --with-gmp-lib=gmpinstalldir/lib and --with-gmp-include=gmpinstalldir/include. Likewise the --with-mpfr=mpfrinstalldir option is shorthand for --with-mpfr-lib=mpfrinstalldir/lib and --with-mpfr-include=mpfrinstalldir/include, also the --with-mpc=mpcinstalldir option is shorthand for --with-mpc-lib=mpcinstalldir/lib and --with-mpc-include=mpcinstalldir/include. If these d1156 3 a1158 3 variable (LD_LIBRARY_PATH on GNU/Linux and Solaris systems).

      These flags are applicable to the host platform only. When building d1160 2 a1161 6

      --with-isl=pathname
      --with-isl-include=pathname
      --with-isl-lib=pathname

      If you do not have the isl library installed in a standard location and you d1163 4 a1166 4 installed (‘--with-isl=islinstalldir’). The --with-isl=islinstalldir option is shorthand for --with-isl-lib=islinstalldir/lib and --with-isl-include=islinstalldir/include. If this d1169 2 a1170 2

      These flags are applicable to the host platform only. When building d1172 2 a1173 4

      --with-stage1-ldflags=flags

      This option may be used to set linker flags to be used when linking d1175 2 a1176 2 --disable-bootstrap. If --with-stage1-libs is not set to a value, then the default is ‘-static-libstdc++ -static-libgcc’, if d1178 2 a1179 4

      --with-stage1-libs=libs

      This option may be used to set libraries to be used when linking stage 1 d1181 3 a1183 5 --disable-bootstrap.

      --with-boot-ldflags=flags

      This option may be used to set linker flags to be used when linking d1186 3 a1188 5 ‘-static-libstdc++ -static-libgcc’.

      --with-boot-libs=libs

      This option may be used to set libraries to be used when linking stage 2 d1190 2 a1191 4

      --with-debug-prefix-map=map

      Convert source directory names using -fdebug-prefix-map when d1193 4 a1196 6 list of maps of the form ‘old=new’.

      --enable-linker-build-id

      Tells GCC to pass --build-id option to the linker for all final links (links performed without the -r or --relocatable d1198 5 a1202 7 --enable-linker-build-id, but your linker does not support --build-id option, a warning is issued and the --enable-linker-build-id option is ignored. The default is off.

      --with-linker-hash-style=choice

      Tells GCC to pass --hash-style=choice option to the d1204 3 a1206 6 ‘sysv’, ‘gnu’, and ‘both’ where ‘sysv’ is the default.

      --enable-gnu-unique-object
      --disable-gnu-unique-object

      Tells GCC to use the gnu_unique_object relocation for C++ template d1210 2 a1211 4

      --with-diagnostics-color=choice

      Tells GCC to use choice as the default for -fdiagnostics-color= d1213 3 a1215 3 can be one of ‘never’, ‘auto’, ‘always’, and ‘auto-if-env’ where ‘auto’ is the default. ‘auto-if-env’ means that -fdiagnostics-color=auto will be the default if GCC_COLORS d1217 6 a1222 12 -fdiagnostics-color=never otherwise.

      --enable-lto
      --disable-lto

      Enable support for link-time optimization (LTO). This is enabled by default, and may be disabled using --disable-lto.

      --enable-linker-plugin-configure-flags=FLAGS
      --enable-linker-plugin-flags=FLAGS

      By default, linker plugins (such as the LTO plugin) are built for the d1227 2 a1228 2 (‘x86_64-unknown-linux-gnu’) host system, but have a 32-bit x86 GNU/Linux (‘i686-pc-linux-gnu’) linker executable (which is d1231 8 a1238 12

      % srcdir/configure \
          --host=x86_64-unknown-linux-gnu \
          --enable-linker-plugin-configure-flags=--host=i686-pc-linux-gnu \
          --enable-linker-plugin-flags='CC=gcc\ -m32\ -Wl,-rpath,[...]/i686-pc-linux-gnu/lib'
      
      --with-plugin-ld=pathname

      Enable an alternate linker to be used at link-time optimization (LTO) link time when -fuse-linker-plugin is enabled. d1240 4 a1243 7 version 2.20 or GNU ld starting with version 2.21. See -fuse-linker-plugin for details.

      --enable-canonical-system-headers
      --disable-canonical-system-headers

      Enable system header path canonicalization for libcpp. This can d1247 3 a1249 5 --disable-canonical-system-headers.

      --with-glibc-version=major.minor

      Tell GCC that when the GNU C Library (glibc) is used on the target it d1251 1 a1251 1 be detected from the C library’s header files, but this option may be d1254 3 a1256 3

      If GCC is configured with some multilibs that use glibc and some that do not, this option applies only to the multilibs that use glibc. d1259 4 a1262 8

      --enable-as-accelerator-for=target

      Build as offload target compiler. Specify offload host triple by target.

      --enable-offload-targets=target1[=path1],…,targetN[=pathN]

      Enable offloading to targets target1, …, targetN. d1265 1 a1265 6 specifying paths path1, …, pathN.

      % srcdir/configure \
          --enable-offload-target=i686-unknown-linux-gnu=/path/to/i686/compiler,x86_64-pc-linux-gnu
      
      d1267 4 a1270 1

      If ‘hsa’ is specified as one of the targets, the compiler will be d1273 3 a1275 7

      --with-hsa-runtime=pathname
      --with-hsa-runtime-include=pathname
      --with-hsa-runtime-lib=pathname

      If you configure GCC with HSA offloading but do not have the HSA d1278 1 a1278 1 --with-hsa-runtime=hsainstalldir option is a d1280 2 a1281 10 --with-hsa-runtime-lib=hsainstalldir/lib and --with-hsa-runtime-include=hsainstalldir/include.

      --with-hsa-kmt-lib=pathname

      If you configure GCC with HSA offloading but do not have the HSA KMT library installed in a standard location then you can explicitly specify the directory where it resides.

      d1284 2 a1285 2

      Cross-Compiler-Specific Options

      d1287 4 a1290 6

      --with-sysroot
      --with-sysroot=dir

      Tells GCC to consider dir as the root of a tree that contains (a subset of) the root filesystem of the target operating system. d1293 1 a1293 1 --sysroot=dir was added to the default options of the built d1295 5 a1299 5 install tree, unlike the options --with-headers and --with-libs that this option obsoletes. The default value, in case --with-sysroot is not given an argument, is ${gcc_tooldir}/sys-root. If the specified directory is a subdirectory of ${exec_prefix}, then it will be found relative to d1301 2 a1302 2

      This option affects the system root for the compiler used to build d1306 2 a1307 2

      If you specify the --with-native-system-header-dir=dirname d1309 8 a1316 11 native system headers rather than the default /usr/include.

      --with-build-sysroot
      --with-build-sysroot=dir

      Tells GCC to consider dir as the system root (see --with-sysroot) while building target libraries, instead of the directory specified with --with-sysroot. This option is only useful when you are already using --with-sysroot. You can use --with-build-sysroot when you are configuring with --prefix set to a directory that is different from the one in d1318 2 a1319 2

      This option affects the system root for the compiler used to build d1322 2 a1323 2

      If you specify the --with-native-system-header-dir=dirname d1325 4 a1328 7 native system headers rather than the default /usr/include.

      --with-headers
      --with-headers=dir

      Deprecated in favor of --with-sysroot. Specifies that target headers are available when building a cross compiler. d1330 5 a1334 5 files. These include files will be copied into the gcc install directory. This option with the dir argument is required when building a cross compiler, if prefix/target/sys-include doesn’t pre-exist. If prefix/target/sys-include does pre-exist, the dir argument may be omitted. fixincludes d1336 2 a1337 4

      --without-headers

      Tells GCC not use any target headers from a libc when building a cross d1340 2 a1341 5

      --with-libs
      --with-libs="dir1 dir2 … dirN"

      Deprecated in favor of --with-sysroot. d1343 1 a1343 1 libraries. These libraries will be copied into the gcc install d1346 2 a1347 4

      --with-newlib

      Specifies that ‘newlib’ is d1349 4 a1352 6 omitted from libgcc.a on the assumption that it will be provided by ‘newlib’.

      --with-avrlibc

      Specifies that ‘AVR-Libc’ is d1354 3 a1356 3 functions like __addsf3 to be omitted from libgcc.a on the assumption that it will be provided by libm.a. For more technical details, cf. PR54461. d1360 3 a1362 5

      --with-nds32-lib=library

      Specifies that library setting is used for building libgcc.a. Currently, the valid library is ‘newlib’ or ‘mculib’. d1364 2 a1365 4

      --with-build-time-tools=dir

      Specifies where to find the set of target tools (assembler, linker, etc.) d1369 3 a1371 3

      For example, on an ‘ia64-hp-hpux’ system, you may have the GNU assembler and linker in /usr/bin, and the native tools in a d1373 7 a1379 8 native tools in /usr/bin.

      When you use this option, you should ensure that dir includes ar, as, ld, nm, ranlib and strip if necessary, and possibly objdump. Otherwise, GCC may use an inconsistent set of tools.

      d1382 1 a1382 2

      Overriding configure test results

      d1385 2 a1386 2 configure test, for example in order to ease porting to a new system or work around a bug in a test. The toplevel configure d1388 3 a1390 5

      build_configargs

      The contents of this variable is passed to all build configure d1392 2 a1393 5

      host_configargs

      The contents of this variable is passed to all host configure d1395 2 a1396 5

      target_configargs

      The contents of this variable is passed to all target configure a1397 3

      d1399 4 a1402 2

      In order to avoid shell and make quoting issues for complex overrides, you can pass a setting for CONFIG_SITE and set a1403 21

      Java-Specific Options

      The following option applies to the build of the Java front end.

      --disable-libgcj

      Specify that the run-time libraries used by GCJ should not be built. This is useful in case you intend to use GCJ with some other run-time, or you’re going to install it separately, or it just happens not to build on your particular machine. In general, if the Java front end is enabled, the GCJ libraries will be enabled too, unless they’re known to not work on the target platform. If GCJ is enabled but ‘libgcj’ isn’t built, you may need to port it; in this case, before modifying the top-level configure.ac so that ‘libgcj’ is enabled by default on this platform, you may use --enable-libgcj to override the default.

      d1405 1 a1405 205

      The following options apply to building ‘libgcj’.

      General Options

      --enable-java-maintainer-mode

      By default the ‘libjava’ build will not attempt to compile the .java source files to .class. Instead, it will use the .class files from the source tree. If you use this option you must have executables named ecj1 and gjavah in your path for use by the build. You must use this option if you intend to modify any .java files in libjava.

      --with-java-home=dirname

      This ‘libjava’ option overrides the default value of the ‘java.home’ system property. It is also used to set ‘sun.boot.class.path’ to dirname/lib/rt.jar. By default ‘java.home’ is set to prefix and ‘sun.boot.class.path’ to datadir/java/libgcj-version.jar.

      --with-ecj-jar=filename

      This option can be used to specify the location of an external jar file containing the Eclipse Java compiler. A specially modified version of this compiler is used by gcj to parse .java source files. If this option is given, the ‘libjava’ build will create and install an ecj1 executable which uses this jar file at runtime.

      If this option is not given, but an ecj.jar file is found in the topmost source tree at configure time, then the ‘libgcj’ build will create and install ecj1, and will also install the discovered ecj.jar into a suitable place in the install tree.

      If ecj1 is not installed, then the user will have to supply one on his path in order for gcj to properly parse .java source files. A suitable jar is available from ftp://sourceware.org/pub/java/.

      --disable-getenv-properties

      Don’t set system properties from GCJ_PROPERTIES.

      --enable-hash-synchronization

      Use a global hash table for monitor locks. Ordinarily, ‘libgcj’’s ‘configure’ script automatically makes the correct choice for this option for your platform. Only use this if you know you need the library to be configured differently.

      --enable-interpreter

      Enable the Java interpreter. The interpreter is automatically enabled by default on all platforms that support it. This option is really only useful if you want to disable the interpreter (using --disable-interpreter).

      --disable-java-net

      Disable java.net. This disables the native part of java.net only, using non-functional stubs for native method implementations.

      --disable-jvmpi

      Disable JVMPI support.

      --disable-libgcj-bc

      Disable BC ABI compilation of certain parts of libgcj. By default, some portions of libgcj are compiled with -findirect-dispatch and -fno-indirect-classes, allowing them to be overridden at run-time.

      If --disable-libgcj-bc is specified, libgcj is built without these options. This allows the compile-time linker to resolve dependencies when statically linking to libgcj. However it makes it impossible to override the affected portions of libgcj at run-time.

      --enable-reduced-reflection

      Build most of libgcj with -freduced-reflection. This reduces the size of libgcj at the expense of not being able to do accurate reflection on the classes it contains. This option is safe if you know that code using libgcj will never use reflection on the standard runtime classes in libgcj (including using serialization, RMI or CORBA).

      --with-ecos

      Enable runtime eCos target support.

      --without-libffi

      Don’t use ‘libffi’. This will disable the interpreter and JNI support as well, as these require ‘libffi’ to work.

      --enable-libgcj-debug

      Enable runtime debugging code.

      --enable-libgcj-multifile

      If specified, causes all .java source files to be compiled into .class files in one invocation of ‘gcj’. This can speed up build time, but is more resource-intensive. If this option is unspecified or disabled, ‘gcj’ is invoked once for each .java file to compile into a .class file.

      --with-libiconv-prefix=DIR

      Search for libiconv in DIR/include and DIR/lib.

      --with-system-zlib

      Use installed ‘zlib’ rather than that included with GCC.

      --with-win32-nlsapi=ansi, unicows or unicode

      Indicates how MinGW ‘libgcj’ translates between UNICODE characters and the Win32 API.

      --enable-java-home

      If enabled, this creates a JPackage compatible SDK environment during install. Note that if –enable-java-home is used, –with-arch-directory=ARCH must also be specified.

      --with-arch-directory=ARCH

      Specifies the name to use for the jre/lib/ARCH directory in the SDK environment created when –enable-java-home is passed. Typical names for this directory include i386, amd64, ia64, etc.

      --with-os-directory=DIR

      Specifies the OS directory for the SDK include directory. This is set to auto detect, and is typically ’linux’.

      --with-origin-name=NAME

      Specifies the JPackage origin name. This defaults to the ’gcj’ in java-1.5.0-gcj.

      --with-arch-suffix=SUFFIX

      Specifies the suffix for the sdk directory. Defaults to the empty string. Examples include ’.x86_64’ in ’java-1.5.0-gcj-1.5.0.0.x86_64’.

      --with-jvm-root-dir=DIR

      Specifies where to install the SDK. Default is $(prefix)/lib/jvm.

      --with-jvm-jar-dir=DIR

      Specifies where to install jars. Default is $(prefix)/lib/jvm-exports.

      --with-python-dir=DIR

      Specifies where to install the Python modules used for aot-compile. DIR should not include the prefix used in installation. For example, if the Python modules are to be installed in /usr/lib/python2.5/site-packages, then –with-python-dir=/lib/python2.5/site-packages should be passed. If this is not specified, then the Python modules are installed in $(prefix)/share/python.

      --enable-aot-compile-rpm

      Adds aot-compile-rpm to the list of installed scripts.

      --enable-browser-plugin

      Build the gcjwebplugin web browser plugin.

      --enable-static-libjava

      Build static libraries in libjava. The default is to only build shared libraries.

      ansi

      Use the single-byte char and the Win32 A functions natively, translating to and from UNICODE when using these functions. If unspecified, this is the default.

      unicows

      Use the WCHAR and Win32 W functions natively. Adds -lunicows to libgcj.spec to link with ‘libunicows’. unicows.dll needs to be deployed on Microsoft Windows 9X machines running built executables. libunicows.a, an open-source import library around Microsoft’s unicows.dll, is obtained from http://libunicows.sourceforge.net/, which also gives details on getting unicows.dll from Microsoft.

      unicode

      Use the WCHAR and Win32 W functions natively. Does not add -lunicows to libgcj.spec. The built executables will only run on Microsoft Windows NT and above.

      d1407 1 a1407 2

      AWT-Specific Options

      d1409 24 a1432 41
      --with-x

      Use the X Window System.

      --enable-java-awt=PEER(S)

      Specifies the AWT peer library or libraries to build alongside ‘libgcj’. If this option is unspecified or disabled, AWT will be non-functional. Current valid values are gtk and xlib. Multiple libraries should be separated by a comma (i.e. --enable-java-awt=gtk,xlib).

      --enable-gtk-cairo

      Build the cairo Graphics2D implementation on GTK.

      --enable-java-gc=TYPE

      Choose garbage collector. Defaults to boehm if unspecified.

      --disable-gtktest

      Do not try to compile and run a test GTK+ program.

      --disable-glibtest

      Do not try to compile and run a test GLIB program.

      --with-libart-prefix=PFX

      Prefix where libart is installed (optional).

      --with-libart-exec-prefix=PFX

      Exec prefix where libart is installed (optional).

      --disable-libarttest

      Do not try to compile and run a test libart program.

      d1435 1 a1435 3

      a1436 10

      d1438 10 a1448 2 @ 1.7 log @merge GCC 6.4.0. sanitizer stuff is probably busted, but most other changes merged easily. docs need to be regenerated with modern versions still. @ text @d1 3 a3 10 Installing GCC: Configuration d62 26 a87 4

      Installing GCC: Configuration

      Like most GNU software, GCC must be configured before it can be built. d90 2 a91 2

      We use srcdir to refer to the toplevel source directory for d93 7 a99 7

      If you obtained the sources via SVN, srcdir must refer to the top gcc directory, the one where the MAINTAINERS file can be found, and not its gcc subdirectory, otherwise the build will fail.

      If either srcdir or objdir is located on an automounted NFS file system, the shell's built-in pwd command will return d101 3 a103 3 problems. To avoid this issue, set the PWDCMD environment variable to an automounter-aware pwd command, e.g., pawd or ‘amq -w’, during the configuration and build d105 2 a106 2

      First, we highly recommend that GCC be built into a d109 1 a109 1 where srcdir == objdir should still work, but doesn't d112 6 a117 6

      If you have previously built GCC in the same directory for a different target machine, do ‘make distclean’ to delete all files that might be invalid. One of the files this deletes is Makefile; if ‘make distclean’ complains that Makefile does not exist or issues a message like “don't know how to make distclean” it probably d121 3 a123 3

      Second, when configuring a native system, either cc or gcc must be in your path or you must set CC in d126 1 d128 7 a134 1

      To configure GCC: d136 2 a137 5

           % mkdir objdir
           % cd objdir
           % srcdir/configure [options] [target]
      

      Distributor options

      d142 4 a145 3
      --with-pkgversion=version
      Specify a string that identifies your package. You may wish d147 8 a154 6 included in the output of gcc --version. This suffix does not replace the default version string, only the ‘GCC’ part.

      The default value is ‘GCC’.

      --with-bugurl=url
      Specify the URL that users should visit if they wish to report a bug. d157 5 d163 4 a166 8

      The default value refers to the FSF's GCC bug tracker.

      Target specification

      • GCC has code to correctly determine the correct value for target d170 1 a170 1
      • target must be specified as --target=target d174 4 a177 3
      • Specifying just target instead of --target=target implies that the host defaults to target.
      d179 2 a180 1

      Options specification

      d183 2 a184 2 GCC. A list of supported options follows; ‘configure --help’ may list other options, but those not listed below may not d186 8 a193 7

      Note that each --enable option has a corresponding --disable option and that each --with option has a corresponding --without option.

      --prefix=dirname
      Specify the toplevel installation d196 3 a198 3 /usr/local.

      We highly recommend against dirname being the same or a d200 5 a204 5 beneath a user's home directory tree, some shells will not expand dirname correctly if it contains the ‘~’ metacharacter; use $HOME instead.

      The following standard autoconf options are supported. Normally you d206 3 a208 2

      --exec-prefix=dirname
      Specify the toplevel installation directory for architecture-dependent d210 20 a229 12
      --bindir=dirname
      Specify the installation directory for the executables called by users (such as gcc and g++). The default is exec-prefix/bin.
      --libdir=dirname
      Specify the installation directory for object code libraries and internal data files of GCC. The default is exec-prefix/lib.
      --libexecdir=dirname
      Specify the installation directory for internal executables of GCC. The default is exec-prefix/libexec.
      --with-slibdir=dirname
      Specify the installation directory for the shared libgcc library. The d231 14 a244 8
      --datarootdir=dirname
      Specify the root of the directory tree for read-only architecture-independent data files referenced by GCC. The default is prefix/share.
      --infodir=dirname
      Specify the installation directory for documentation in info format. The default is datarootdir/info.
      --datadir=dirname
      Specify the installation directory for some architecture-independent d246 9 a254 5
      --docdir=dirname
      Specify the installation directory for documentation files (other than Info) for GCC. The default is datarootdir/doc.
      --htmldir=dirname
      Specify the installation directory for HTML documentation files. d256 4 a259 2
      --pdfdir=dirname
      Specify the installation directory for PDF documentation files. d261 5 a265 3
      --mandir=dirname
      Specify the installation directory for manual pages. The default is datarootdir/man. (Note that the manual pages are only extracts d269 4 a272 2
      --with-gxx-include-dir=dirname
      Specify d276 4 a279 2
      --with-specs=specs
      Specify additional command line driver SPECS. d281 2 a282 2 default without modifying the compiler's source code, for instance --with-specs=%{!fcommon:%{!fno-common:-fno-common}}. d284 3 d288 3 a290 3

      --program-prefix=prefix
      GCC supports some transformations of the names of its programs when d293 13 a305 9 --program-prefix=foo- would result in ‘gcc’ being installed as /usr/local/bin/foo-gcc.
      --program-suffix=suffix
      Appends suffix to the names of programs to install in bindir (see above). For example, specifying --program-suffix=-3.1 would result in ‘gcc’ being installed as /usr/local/bin/gcc-3.1.
      --program-transform-name=pattern
      Applies the ‘sed’ script pattern to be applied to the names d307 5 a311 5 consist of one or more basic ‘sed’ editing commands, separated by semicolons. For example, if you want the ‘gcc’ program name to be transformed to the installed program /usr/local/bin/myowngcc and the ‘g++’ program name to be transformed to /usr/local/bin/gspecial++ without changing other program names, d313 1 a313 1 --program-transform-name='s/^gcc$/myowngcc/; s/^g++$/gspecial++/' d315 2 a316 2

      All three options can be combined and used together, resulting in more d320 3 a322 3

      As currently implemented, this option only takes effect for native builds; cross compiler binaries' names are not transformed even when a d324 2 a325 2

      For native builds, some of the installed programs are also installed d327 1 a327 1 ‘i686-pc-linux-gnu-gcc’. All of the above transformations happen d329 1 a329 1 --program-prefix=foo- and program-suffix=-3.1, the d331 3 a333 3 /usr/local/bin/i686-pc-linux-gnu-foo-gcc-3.1.

      As a last shortcoming, none of the installed Ada programs are d335 4 a338 2

      --with-local-prefix=dirname
      Specify the d340 6 a345 6 /usr/local. Specify this option if you want the compiler to search directory dirname/include for locally installed header files instead of /usr/local/include.

      You should specify --with-local-prefix only if your site has a different convention (not /usr/local) for where to put d347 4 a350 4

      The default value for --with-local-prefix is /usr/local regardless of the value of --prefix. Specifying --prefix has no effect on which directory GCC searches for d353 3 a355 3

      The purpose of --prefix is to specify where to install GCC. The local header files in /usr/local/include—if you put d358 4 a361 4 another directory which is based on the --prefix value.)

      Both the local-prefix include directory and the GCC-prefix include directory are part of GCC's “system include” directories. Although these d367 2 a368 2

      Some autoconf macros add -I directory options to the d370 1 a370 1 packages' headers are searched. When directory is one of GCC's d375 3 a377 3

      GCC automatically searches for ordinary libraries using GCC_EXEC_PREFIX. Thus, when the same installation prefix is d381 3 a383 3 installed as a system compiler in /usr.

      Sites that need to install multiple versions of GCC may not want to d385 2 a386 2 --program-prefix, --program-suffix and --program-transform-name options to install multiple versions d388 1 a388 1 and the --with-local-prefix option to specify the location of the d391 9 a399 9 (e.g., with LIBRARY_PATH).

      The same value can be used for both --with-local-prefix and --prefix provided it is not /usr. This can be used to avoid the default search of /usr/local/include.

      Do not specify /usr as the --with-local-prefix! The directory you use for --with-local-prefix must not contain any of the system's standard header files. If it did contain d402 3 a404 3 file corrections made by the fixincludes script.

      Indications are that people who use this option use it based on mistaken d408 5 a412 3

      --with-native-system-header-dir=dirname
      Specifies that dirname is the directory that contains native system header files, rather than /usr/include. This option is most useful d415 1 a415 1 --with-sysroot option and will cause GCC to search d417 4 a420 2
      --enable-shared[=package[,...]]
      Build shared versions of libraries, if shared libraries are supported on d423 2 a424 2

      If a list of packages is given as an argument, build shared libraries d427 10 a436 10 ‘libgcc’ (also known as ‘gcc’), ‘libstdc++’ (not ‘libstdc++-v3’), ‘libffi’, ‘zlib’, ‘boehm-gc’, ‘ada’, ‘libada’, ‘libjava’, ‘libgo’, and ‘libobjc’. Note ‘libiberty’ does not support shared libraries at all.

      Use --disable-shared to build only static libraries. Note that --disable-shared does not accept a list of package names as argument, only --enable-shared does.

      Contrast with --enable-host-shared, which affects host d438 4 a441 2

      --enable-host-shared
      Specify that the host code should be built into position-independent d444 4 a447 4

      This option is required when building the libgccjit.so library.

      Contrast with --enable-shared, which affects target d449 4 a452 2

      --with-gnu-as
      Specify that the compiler should assume that the d457 1 a457 1 configured with --with-gnu-as.) If you have more than one d459 4 a462 4 connection with --with-as=pathname or --with-build-time-tools=pathname.

      The following systems are the only ones where it makes a difference d464 12 a475 10 --with-gnu-as has no effect.

      • ‘hppa1.0-any-any’
      • ‘hppa1.1-any-any’
      • ‘sparc-sun-solaris2.any’
      • ‘sparc64-any-solaris2.any’

      --with-as=pathname
      Specify that the compiler should use the assembler pointed to by d478 4 a481 4
      • Unless GCC is being built with a cross compiler, check the libexec/gcc/target/version directory. libexec defaults to exec-prefix/libexec; d483 3 a485 3 defaults to /usr/local unless overridden by the --prefix=pathname switch described above. target is the target system triple, such as ‘sparc-sun-solaris2.7’, and d488 2 a489 2
      • If the target system is the same that you are building on, check operating system specific directories (e.g. /usr/ccs/bin on d492 1 a492 1
      • Check in the PATH for a tool whose name is prefixed by the d495 1 a495 1
      • Check in the PATH for a tool whose name is not prefixed by the d498 2 a499 2 the target as well).
      d501 1 a501 1

      You may want to use --with-as if no assembler d505 4 a508 2

      --with-gnu-ld
      Same as --with-gnu-as d510 4 a513 2
      --with-ld=pathname
      Same as --with-as d515 4 a518 2
      --with-stabs
      Specify that stabs debugging d521 2 a522 2

      On MIPS based systems and on Alphas, you must specify whether you want d527 6 a532 6

      Normally, GCC uses the ECOFF debugging format by default; if you prefer BSD stabs, specify --with-stabs when you configure GCC.

      No matter which default you choose when you configure GCC, the user can use the -gcoff and -gstabs+ options to specify explicitly d534 3 a536 3

      --with-stabs is meaningful on the ISC system on the 386, also, if --with-gas is used. It selects use of stabs debugging d539 2 a540 2

      --with-stabs is also meaningful on 386 systems running SVR4. It d546 4 a549 2

      --with-tls=dialect
      Specify the default TLS dialect, for systems were there is a choice. d553 4 a556 2
      --enable-multiarch
      Specify whether to enable or disable multiarch support. The default is d559 2 a560 2 and for cross builds configured with --with-sysroot, and without --with-native-system-header-dir. d563 5 a567 3
      --enable-sjlj-exceptions
      Force use of the setjmp/longjmp-based scheme for exceptions. ‘configure’ ordinarily picks the correct value based on the platform. d569 4 a572 2
      --enable-vtable-verify
      Specify whether to enable or disable the vtable verification feature. d577 1 a577 1 the verifier will call stub functions (in libstdc++ itself) and do nothing. d580 6 a585 4 still be built (see --disable-libvtv to turn off building libvtv). --disable-vtable-verify is the default.
      --disable-multilib
      Specify that multiple target d589 18 a606 11

      Some targets provide finer-grained control over which multilibs are built (e.g., --disable-softfloat):

      arm-*-*
      fpu, 26bit, underscore, interwork, biendian, nofmult.
      m68*-*-*
      softfloat, m68881, m68000, m68020.
      mips*-*-*
      single-float, biendian, softfloat.
      powerpc*-*-*, rs6000*-*-*
      aix64, pthread, softfloat, powercpu, powerpccpu, powerpcos, biendian, d608 3 d612 4 a615 3

      --with-multilib-list=list
      --without-multilib-list
      Specify what multilibs to build. d617 4 a620 3
      arm*-*-*
      list is either default or aprofile. Specifying d628 4 a631 2
      sh*-*-*
      list is a comma separated list of CPU names. These must be of the d634 3 a636 3 these are handled by --with-endian.

      If list is empty, then there will be no multilibs for extra d638 4 a641 4

      As a special case, if an entry in the list starts with a ! (exclamation point), then it is added to the list of excluded multilibs. Entries of this sort should be compatible with ‘MULTILIB_EXCLUDES’ d643 3 a645 3

      If --with-multilib-list is not given, then a default set of multilibs is selected based on the value of --target. This is d648 6 d655 1 a655 5

      Example 1: to configure a compiler for SH4A only, but supporting both endians, with little endian being the default:

                     --with-cpu=sh4a --with-endian=little,big --with-multilib-list=
      

      Example 2: to configure a compiler for both SH4A and SH4AL-DSP, but with d657 8 a664 4

                     --with-cpu=sh4a --with-endian=little,big \
                     --with-multilib-list=sh4al,!mb/m4al
      

      x86-64-*-linux*
      list is a comma separated list of m32, m64 and d668 4 a671 3

      If --with-multilib-list is not given, then only 32-bit and 64-bit run-time libraries will be enabled. d674 3 a676 1

      --with-endian=endians
      Specify what endians to use. d678 15 a692 7

      endians may be one of the following:

      big
      Use big endian exclusively.
      little
      Use little endian exclusively.
      big,little
      Use big endian by default. Provide a multilib for little endian.
      little,big
      Use little endian by default. Provide a multilib for big endian. d695 3 a697 1
      --enable-threads
      Specify that the target d699 1 a699 1 library, and exception handling for other languages like C++ and Java. d701 2 a702 2

      In general, the best (and, in many cases, the only known) threading d705 11 a715 7 available for the system. In this case, --enable-threads is an alias for --enable-threads=single.

      --disable-threads
      Specify that threading support should be disabled for the system. This is an alias for --enable-threads=single.
      --enable-threads=lib
      Specify that d719 35 a753 13
      aix
      AIX thread support.
      dce
      DCE thread support.
      lynx
      LynxOS thread support.
      mipssde
      MIPS SDE thread support.
      no
      This is an alias for ‘single’.
      posix
      Generic POSIX/Unix98 thread support.
      rtems
      RTEMS thread support.
      single
      Disable thread support, should work for all platforms.
      tpf
      TPF thread support.
      vxworks
      VxWorks thread support.
      win32
      Microsoft Win32 API thread support. d756 3 a758 1
      --enable-tls
      Specify that the target supports TLS (Thread Local Storage). Usually d761 1 a761 1 --enable-tls or --disable-tls. This can happen if d764 12 a775 6
      --disable-tls
      Specify that the target does not support TLS. This is an alias for --enable-tls=no.
      --with-cpu=cpu
      --with-cpu-32=cpu
      --with-cpu-64=cpu
      Specify which cpu variant the compiler should generate code for by default. cpu will be used as the default value of the -mcpu= switch. d777 2 a778 2 PowerPC, and SPARC. It is mandatory for ARC. The --with-cpu-32 and --with-cpu-64 options specify separate default CPUs for d781 16 a796 5
      --with-schedule=cpu
      --with-arch=cpu
      --with-arch-32=cpu
      --with-arch-64=cpu
      --with-tune=cpu
      --with-tune-32=cpu
      --with-tune-64=cpu
      --with-abi=abi
      --with-fpu=type
      --with-float=type
      These configure options provide default values for the -mschedule=, -march=, -mtune=, -mabi=, and -mfpu= options and for -mhard-float or -msoft-float. As with --with-cpu, which switches will be accepted and acceptable values d798 4 a801 2
      --with-mode=mode
      Specify if the compiler should default to -marm or -mthumb. d803 4 a806 2
      --with-stack-offset=num
      This option sets the default for the -mstack-offset=num option, d809 6 a814 4
      --with-fpmath=isa
      This options sets -mfpmath=sse by default and specifies the default ISA for floating-point arithmetics. You can select either ‘sse’ which enables -msse2 or ‘avx’ which enables -mavx by default. d816 4 a819 2
      --with-fp-32=mode
      On MIPS targets, set the default value for the -mfp option when using d821 13 a833 7
      32
      Use the o32 FP32 ABI extension, as with the -mfp32 command-line option.
      xx
      Use the o32 FPXX ABI extension, as with the -mfpxx command-line option.
      64
      Use the o32 FP64 ABI extension, as with the -mfp64 command-line option. d835 1 a835 1 In the absence of this configuration option the default is to use the o32 d837 4 a840 2
      --with-odd-spreg-32
      On MIPS targets, set the -modd-spreg option by default when using d842 4 a845 2
      --without-odd-spreg-32
      On MIPS targets, set the -mno-odd-spreg option by default when using d847 5 a851 3 --with-fp-32=64 in order to target the o32 FP64A ABI extension.
      --with-nan=encoding
      On MIPS targets, set the default encoding convention to use for the d854 9 a862 5
      legacy
      Use the legacy encoding, as with the -mnan=legacy command-line option.
      2008
      Use the 754-2008 encoding, as with the -mnan=2008 command-line option. d864 2 a865 2 To use this configuration option you must have an assembler version installed that supports the -mnan= command-line option too. d867 7 a873 5 the legacy encoding, as when neither of the -mnan=2008 and -mnan=legacy command-line options has been used.
      --with-divide=type
      Specify how the compiler should generate code for checking for division by zero. This option is only supported on the MIPS target. d875 8 a882 4
      traps
      Division by zero checks use conditional traps (this is the default on systems that support conditional traps).
      breaks
      Division by zero checks use the break instruction. d885 5 a889 4
      --with-llsc
      On MIPS targets, make -mllsc the default when no -mno-llsc option is passed. This is the default for d892 19 a910 11
      --without-llsc
      On MIPS targets, make -mno-llsc the default when no -mllsc option is passed.
      --with-synci
      On MIPS targets, make -msynci the default when no -mno-synci option is passed.
      --without-synci
      On MIPS targets, make -mno-synci the default when no -msynci option is passed. This is the default.
      --with-mips-plt
      On MIPS targets, make use of copy relocations and PLTs. d914 5 a918 3
      --enable-__cxa_atexit
      Define if you want to use __cxa_atexit, rather than atexit, to register C++ destructors for local statics and global objects. d922 5 a926 3 -fuse-cxa-atexit to be passed by default.
      --enable-gnu-indirect-function
      Define if you want to enable the ifunc attribute. This option is d928 5 a932 3
      --enable-target-optspace
      Specify that target libraries should be optimized for code space instead of code speed. d934 9 a942 5
      --with-cpp-install-dir=dirname
      Specify that the user visible cpp program should be installed in prefix/dirname/cpp, in addition to bindir.
      --enable-comdat
      Enable COMDAT group support. This is primarily used to override the d944 4 a947 2
      --enable-initfini-array
      Force the use of sections .init_array and .fini_array d949 1 a949 1 destructors. Option --disable-initfini-array has the d953 4 a956 2
      --enable-link-mutex
      When building GCC, use a mutex to avoid linking the compilers for d959 5 a963 3
      --enable-maintainer-mode
      The build rules that regenerate the Autoconf and Automake output files as well as the GCC master message catalog gcc.pot are normally d966 1 a966 1 catalog, configuring with --enable-maintainer-mode will enable d969 5 a973 3
      --disable-bootstrap
      For a native build, the default configuration is to perform a 3-stage bootstrap of the compiler when ‘make’ is invoked, d975 6 a980 4 this process, you can configure with --disable-bootstrap.
      --enable-bootstrap
      In special cases, you may want to perform a 3-stage build even if the target and host triplets are different. d982 1 a982 1 the target (e.g. host is i686-linux, target is i486-linux). d984 5 a988 3 with --enable-bootstrap.
      --enable-generated-files-in-srcdir
      Neither the .c and .h files that are generated from Bison and flex nor the d994 2 a995 2

      If you configure with --enable-generated-files-in-srcdir then those d1000 4 a1003 2

      --enable-version-specific-runtime-libs
      Specify d1005 2 a1006 2 subdirectory (libdir/gcc) rather than the usual places. In addition, ‘libstdc++’'s include files will be installed into d1008 1 a1008 1 --with-gxx-include-dir=dirname. Using this option is d1010 6 a1015 4 parallel. This is currently supported by ‘libgfortran’, ‘libjava’, ‘libstdc++’, and ‘libobjc’.
      --with-aix-soname=‘aix’, ‘svr4’ or ‘both’
      Traditional AIX shared library versioning (versioned Shared Object d1017 1 a1017 1 ‘lib.a’) causes numerous headaches for package managers. However, d1020 1 a1020 1 where this is called the "SONAME". But as they prevent static linking, d1022 23 a1044 20 linker does search for ‘libNAME.so’ before ‘libNAME.a’ library filenames with the ‘-lNAME’ linker flag.

      For detailed information please refer to the AIX ld Command reference.

      As long as shared library creation is enabled, upon:

      --with-aix-soname=aix
      --with-aix-soname=both
      A (traditional AIX) Shared Archive Library file is created:
      • using the ‘libNAME.a’ filename scheme
      • with the Shared Object file as archive member named ‘libNAME.so.V’ (except for ‘libgcc_s’, where the Shared Object file is named ‘shr.o’ for backwards compatibility), which
        • is used for runtime loading from inside the ‘libNAME.a’ file
        • is used for dynamic loading via dlopen("libNAME.a(libNAME.so.V)", RTLD_MEMBER)
        • is used for shared linking
        • is used for static linking, so no separate Static Archive d1046 15 a1060 12

      --with-aix-soname=both
      --with-aix-soname=svr4
      A (second) Shared Archive Library file is created:
      • using the ‘libNAME.so.V’ filename scheme
      • with the Shared Object file as archive member named ‘shr.o’, which
        • is created with the -G linker flag
        • has the F_LOADONLY flag set
        • is used for runtime loading from inside the ‘libNAME.so.V’ file
        • is used for dynamic loading via dlopen("libNAME.so.V(shr.o)", d1062 2 a1063 2
      • with the Import File as archive member named ‘shr.imp’, d1065 2 a1066 2
        • refers to ‘libNAME.so.V(shr.o)’ as the "SONAME", to be recorded d1068 13 a1080 13
        • indicates whether ‘libNAME.so.V(shr.o)’ is 32 or 64 bit
        • lists all the public symbols exported by ‘lib.so.V(shr.o)’, eventually decorated with the ‘weak’ Keyword
        • is necessary for shared linking against ‘lib.so.V(shr.o)’
      A symbolic link using the ‘libNAME.so’ filename scheme is created:
      • pointing to the ‘libNAME.so.V’ Shared Archive Library file
      • to permit the ld Command to find ‘lib.so.V(shr.imp)’ via the ‘-lNAME’ argument (requires Runtime Linking to be enabled)
      • to permit dynamic loading of ‘lib.so.V(shr.o)’ without the need to specify the version number via dlopen("libNAME.so(shr.o)", d1082 3 a1084 2
      d1086 13 a1098 11

      As long as static library creation is enabled, upon:

      --with-aix-soname=svr4
      A Static Archive Library is created:
      • using the ‘libNAME.a’ filename scheme
      • with all the Static Object files as archive members, which
        • are used for static linking
      d1100 1 a1100 1

      While the aix-soname=‘svr4’ option does not create Shared Object d1107 2 a1108 2

      WARNING: Creating Shared Object files with Runtime Linking d1110 1 a1110 1 requiring the use of either the -Wl,-bbigtoc linker flag (seen to d1113 2 a1114 2

      --with-aix-soname is currently supported by ‘libgcc_s’ only, so d1116 6 a1121 4

      Default is the traditional behavior --with-aix-soname=‘aix’.

      --enable-languages=lang1,lang2,...
      Specify that only a particular subset of compilers and d1124 5 a1128 4 gcc directory of your GCC source tree:
                grep ^language= */config-lang.in
      

      Currently, you can use any of the following: d1130 2 a1131 2 go, java, jit, lto, objc, obj-c++. Building the Ada compiler has special requirements, see below. d1133 1 a1133 1 default languages available in the gcc sub-tree will be configured. d1135 1 a1135 1 default language, but is built by default because --enable-lto is d1137 4 a1140 2

      --enable-stage1-languages=lang1,lang2,...
      Specify that a particular subset of compilers and their runtime d1144 2 a1145 2 --enable-languages, and the option all will select all of the languages enabled by --enable-languages. This option is d1150 7 a1156 5 specified languages with the stage-1 compiler by using make stage1-bubble all-target, or run the testsuite on the stage-1 compiler for the specified languages using make stage1-start check-gcc.
      --disable-libada
      Specify that the run-time libraries and tools used by GNAT should not d1159 5 a1163 3 do a ‘make -C gcc gnatlib_and_tools’.
      --disable-libsanitizer
      Specify that the run-time libraries for the various sanitizers should d1165 4 a1168 2
      --disable-libssp
      Specify that the run-time libraries for stack smashing protection d1170 4 a1173 2
      --disable-libquadmath
      Specify that the GCC quad-precision math library should not be built. d1175 1 a1175 1 the Fortran front end, unless --disable-libquadmath-support d1177 4 a1180 2
      --disable-libquadmath-support
      Specify that the Fortran front end and libgfortran do not add d1182 4 a1185 2
      --disable-libgomp
      Specify that the GNU Offloading and Multi Processing Runtime Library d1187 4 a1190 2
      --disable-libvtv
      Specify that the run-time libraries used by vtable verification d1192 4 a1195 2
      --with-dwarf2
      Specify that the compiler should d1197 4 a1200 2
      --with-advance-toolchain=at
      On 64-bit PowerPC Linux systems, configure the compiler to use the d1206 5 a1210 2
      --enable-targets=all
      --enable-targets=target_list
      Some GCC targets, e.g. powerpc64-linux, build bi-arch compilers. d1212 1 a1212 1 code. Typically, the corresponding 32-bit target, e.g. d1216 1 a1216 1 you are building a bi-arch or multi-arch binutils in a combined tree. d1218 1 a1218 1 defaulted to o32. d1221 8 a1228 4
      --enable-default-pie
      Turn on -fPIE and -pie by default.
      --enable-secureplt
      This option enables -msecure-plt by default for powerpc-linux. d1230 8 a1237 4
      --enable-default-ssp
      Turn on -fstack-protector-strong by default.
      --enable-cld
      This option enables -mcld by default for 32-bit x86 targets. d1239 6 a1244 2
      --enable-win32-registry
      --enable-win32-registry=key
      --disable-win32-registry
      The --enable-win32-registry option enables Microsoft Windows-hosted GCC d1246 4 d1251 2 a1252 4
                HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\key
      

      key defaults to GCC version number, and can be overridden by the --enable-win32-registry=key option. Vendors and distributors d1256 1 a1256 1 by default, and can be disabled by --disable-win32-registry d1258 15 a1272 8

      --nfp
      Specify that the machine does not have a floating point unit. This option only applies to ‘m68k-sun-sunosn’. On any other system, --nfp has no effect.
      --enable-werror
      --disable-werror
      --enable-werror=yes
      --enable-werror=no
      When you specify this option, it controls whether certain files in the compiler are built with -Werror in bootstrap stage2 and later. If you don't specify it, -Werror is turned on for the main d1274 1 a1274 1 final releases. The specific files which get -Werror are d1276 5 a1280 2
      --enable-checking
      --enable-checking=list
      When you specify this option, the compiler is built to perform internal d1284 3 a1286 3 the compiler with GCC. This is ‘yes’ by default when building from SVN or snapshots, but ‘release’ for releases. The default for building the stage1 compiler is ‘yes’. More control d1288 9 a1296 9 checks available are ‘yes’ (most common checks ‘assert,misc,tree,gc,rtlflag,runtime’), ‘no’ (no checks at all), ‘all’ (all but ‘valgrind’), ‘release’ (cheapest checks ‘assert,runtime’) or ‘none’ (same as ‘no’). Individual checks can be enabled with these flags ‘assert’, ‘df’, ‘fold’, ‘gc’, ‘gcac’ ‘misc’, ‘rtl’, ‘rtlflag’, ‘runtime’, ‘tree’, and ‘valgrind’.

      The ‘valgrind’ check requires the external valgrind d1298 3 a1300 3 ‘df’, ‘rtl’, ‘gcac’ and ‘valgrind’ checks are very expensive. To disable all checking, ‘--disable-checking’ or ‘--enable-checking=none’ must be explicitly requested. Disabling d1304 7 a1310 3

      --disable-stage1-checking
      --enable-stage1-checking
      --enable-stage1-checking=list
      If no --enable-checking option is specified the stage1 compiler will be built with ‘yes’ checking enabled, otherwise d1312 3 a1314 3 --enable-checking. To build the stage1 compiler with different checking options use --enable-stage1-checking. The list of checking options is the same as for --enable-checking. d1316 1 a1316 1 with checking for stage1 enabled, you can use ‘--disable-stage1-checking’ d1318 5 a1322 2
      --enable-coverage
      --enable-coverage=level
      With this option, the compiler is built to collect self coverage d1326 1 a1326 1 not, values are ‘opt’ and ‘noopt’. For coverage analysis you d1330 4 a1333 2
      --enable-gather-detailed-mem-stats
      When this option is specified more detailed information on memory d1335 5 a1339 3 -fmem-report.
      --enable-valgrind-annotations
      Mark selected memory related operations in the compiler when run under d1341 5 a1345 2
      --enable-nls
      --disable-nls
      The --enable-nls option enables Native Language Support (NLS), d1348 10 a1357 6 canadian cross build. The --disable-nls option disables NLS.
      --with-included-gettext
      If NLS is enabled, the --with-included-gettext option causes the build procedure to prefer its copy of GNU gettext.
      --with-catgets
      If NLS is enabled, and if the host lacks gettext but has the d1359 12 a1370 8 ignores catgets and instead uses GCC's copy of the GNU gettext library. The --with-catgets option causes the build procedure to use the host's catgets in this situation.
      --with-libiconv-prefix=dir
      Search for libiconv header files in dir/include and libiconv library files in dir/lib.
      --enable-obsolete
      Enable configuration for an obsoleted system. If you attempt to d1374 2 a1375 2

      All support for systems which have been obsoleted in one release of GCC d1378 9 a1386 2

      --enable-decimal-float
      --enable-decimal-float=yes
      --enable-decimal-float=no
      --enable-decimal-float=bid
      --enable-decimal-float=dpd
      --disable-decimal-float
      Enable (or disable) support for the C decimal floating point extension d1391 2 a1392 2 ‘bid’ or ‘dpd’). The ‘bid’ (binary integer decimal) format is default on i386 and x86_64 systems, and the ‘dpd’ d1394 5 a1398 2
      --enable-fixed-point
      --disable-fixed-point
      Enable (or disable) support for C fixed-point arithmetic. d1402 4 a1405 2
      --with-long-double-128
      Specify if long double type should be 128-bit by default on selected d1407 1 a1407 1 long double will be by default 64-bit, the same as double type. d1411 16 a1426 4
      --enable-fdpic
      On SH Linux systems, generate ELF FDPIC code.
      --with-gmp=pathname
      --with-gmp-include=pathname
      --with-gmp-lib=pathname
      --with-mpfr=pathname
      --with-mpfr-include=pathname
      --with-mpfr-lib=pathname
      --with-mpc=pathname
      --with-mpc-include=pathname
      --with-mpc-lib=pathname
      If you want to build GCC but do not have the GMP library, the MPFR d1430 12 a1441 12 (‘--with-gmp=gmpinstalldir’, ‘--with-mpfr=mpfrinstalldir’, ‘--with-mpc=mpcinstalldir’). The --with-gmp=gmpinstalldir option is shorthand for --with-gmp-lib=gmpinstalldir/lib and --with-gmp-include=gmpinstalldir/include. Likewise the --with-mpfr=mpfrinstalldir option is shorthand for --with-mpfr-lib=mpfrinstalldir/lib and --with-mpfr-include=mpfrinstalldir/include, also the --with-mpc=mpcinstalldir option is shorthand for --with-mpc-lib=mpcinstalldir/lib and --with-mpc-include=mpcinstalldir/include. If these d1446 3 a1448 3 variable (LD_LIBRARY_PATH on GNU/Linux and Solaris systems).

      These flags are applicable to the host platform only. When building d1450 6 a1455 2

      --with-isl=pathname
      --with-isl-include=pathname
      --with-isl-lib=pathname
      If you do not have the isl library installed in a standard location and you d1457 4 a1460 4 installed (‘--with-isl=islinstalldir’). The --with-isl=islinstalldir option is shorthand for --with-isl-lib=islinstalldir/lib and --with-isl-include=islinstalldir/include. If this d1463 2 a1464 2

      These flags are applicable to the host platform only. When building d1466 4 a1469 2

      --with-stage1-ldflags=flags
      This option may be used to set linker flags to be used when linking d1471 2 a1472 2 --disable-bootstrap. If --with-stage1-libs is not set to a value, then the default is ‘-static-libstdc++ -static-libgcc’, if d1474 4 a1477 2
      --with-stage1-libs=libs
      This option may be used to set libraries to be used when linking stage 1 d1479 5 a1483 3 --disable-bootstrap.
      --with-boot-ldflags=flags
      This option may be used to set linker flags to be used when linking d1486 5 a1490 3 ‘-static-libstdc++ -static-libgcc’.
      --with-boot-libs=libs
      This option may be used to set libraries to be used when linking stage 2 d1492 4 a1495 2
      --with-debug-prefix-map=map
      Convert source directory names using -fdebug-prefix-map when d1497 6 a1502 4 list of maps of the form ‘old=new’.
      --enable-linker-build-id
      Tells GCC to pass --build-id option to the linker for all final links (links performed without the -r or --relocatable d1504 7 a1510 5 --enable-linker-build-id, but your linker does not support --build-id option, a warning is issued and the --enable-linker-build-id option is ignored. The default is off.
      --with-linker-hash-style=choice
      Tells GCC to pass --hash-style=choice option to the d1512 6 a1517 3 ‘sysv’, ‘gnu’, and ‘both’ where ‘sysv’ is the default.
      --enable-gnu-unique-object
      --disable-gnu-unique-object
      Tells GCC to use the gnu_unique_object relocation for C++ template d1521 4 a1524 2
      --with-diagnostics-color=choice
      Tells GCC to use choice as the default for -fdiagnostics-color= d1526 3 a1528 3 can be one of ‘never’, ‘auto’, ‘always’, and ‘auto-if-env’ where ‘auto’ is the default. ‘auto-if-env’ means that -fdiagnostics-color=auto will be the default if GCC_COLORS d1530 12 a1541 6 -fdiagnostics-color=never otherwise.
      --enable-lto
      --disable-lto
      Enable support for link-time optimization (LTO). This is enabled by default, and may be disabled using --disable-lto.
      --enable-linker-plugin-configure-flags=FLAGS
      --enable-linker-plugin-flags=FLAGS
      By default, linker plugins (such as the LTO plugin) are built for the d1546 2 a1547 2 (‘x86_64-unknown-linux-gnu’) host system, but have a 32-bit x86 GNU/Linux (‘i686-pc-linux-gnu’) linker executable (which is d1550 12 a1561 8
                % srcdir/configure \
                    --host=x86_64-unknown-linux-gnu \
                    --enable-linker-plugin-configure-flags=--host=i686-pc-linux-gnu \
                    --enable-linker-plugin-flags='CC=gcc\ -m32\ -Wl,-rpath,[...]/i686-pc-linux-gnu/lib'
      

      --with-plugin-ld=pathname
      Enable an alternate linker to be used at link-time optimization (LTO) link time when -fuse-linker-plugin is enabled. d1563 7 a1569 4 version 2.20 or GNU ld starting with version 2.21. See -fuse-linker-plugin for details.
      --enable-canonical-system-headers
      --disable-canonical-system-headers
      Enable system header path canonicalization for libcpp. This can d1573 5 a1577 3 --disable-canonical-system-headers.
      --with-glibc-version=major.minor
      Tell GCC that when the GNU C Library (glibc) is used on the target it d1579 1 a1579 1 be detected from the C library's header files, but this option may be d1582 3 a1584 3

      If GCC is configured with some multilibs that use glibc and some that do not, this option applies only to the multilibs that use glibc. d1587 8 a1594 4

      --enable-as-accelerator-for=target
      Build as offload target compiler. Specify offload host triple by target.
      --enable-offload-targets=target1[=path1],...,targetN[=pathN]
      Enable offloading to targets target1, ..., targetN. d1597 6 a1602 1 specifying paths path1, ..., pathN. d1604 1 a1604 4
                % srcdir/configure \
                    --enable-offload-target=i686-unknown-linux-gnu=/path/to/i686/compiler,x86_64-pc-linux-gnu
      

      If ‘hsa’ is specified as one of the targets, the compiler will be d1607 7 a1613 3

      --with-hsa-runtime=pathname
      --with-hsa-runtime-include=pathname
      --with-hsa-runtime-lib=pathname
      If you configure GCC with HSA offloading but do not have the HSA d1616 1 a1616 1 --with-hsa-runtime=hsainstalldir option is a d1618 7 a1624 5 --with-hsa-runtime-lib=hsainstalldir/lib and --with-hsa-runtime-include=hsainstalldir/include.
      --with-hsa-kmt-lib=pathname
      If you configure GCC with HSA offloading but do not have the HSA d1626 2 a1627 1 explicitly specify the directory where it resides. d1630 2 a1631 2

      Cross-Compiler-Specific Options

      d1633 6 a1638 4
      --with-sysroot
      --with-sysroot=dir
      Tells GCC to consider dir as the root of a tree that contains (a subset of) the root filesystem of the target operating system. d1641 1 a1641 1 --sysroot=dir was added to the default options of the built d1643 5 a1647 5 install tree, unlike the options --with-headers and --with-libs that this option obsoletes. The default value, in case --with-sysroot is not given an argument, is ${gcc_tooldir}/sys-root. If the specified directory is a subdirectory of ${exec_prefix}, then it will be found relative to d1649 2 a1650 2

      This option affects the system root for the compiler used to build d1654 2 a1655 2

      If you specify the --with-native-system-header-dir=dirname d1657 11 a1667 8 native system headers rather than the default /usr/include.

      --with-build-sysroot
      --with-build-sysroot=dir
      Tells GCC to consider dir as the system root (see --with-sysroot) while building target libraries, instead of the directory specified with --with-sysroot. This option is only useful when you are already using --with-sysroot. You can use --with-build-sysroot when you are configuring with --prefix set to a directory that is different from the one in d1669 2 a1670 2

      This option affects the system root for the compiler used to build d1673 2 a1674 2

      If you specify the --with-native-system-header-dir=dirname d1676 7 a1682 4 native system headers rather than the default /usr/include.

      --with-headers
      --with-headers=dir
      Deprecated in favor of --with-sysroot. Specifies that target headers are available when building a cross compiler. d1684 5 a1688 5 files. These include files will be copied into the gcc install directory. This option with the dir argument is required when building a cross compiler, if prefix/target/sys-include doesn't pre-exist. If prefix/target/sys-include does pre-exist, the dir argument may be omitted. fixincludes d1690 4 a1693 2
      --without-headers
      Tells GCC not use any target headers from a libc when building a cross d1696 5 a1700 2
      --with-libs
      --with-libs="dir1 dir2 ... dirN"
      Deprecated in favor of --with-sysroot. d1702 1 a1702 1 libraries. These libraries will be copied into the gcc install d1705 4 a1708 2
      --with-newlib
      Specifies that ‘newlib’ is d1710 6 a1715 4 omitted from libgcc.a on the assumption that it will be provided by ‘newlib’.
      --with-avrlibc
      Specifies that ‘AVR-Libc’ is d1717 3 a1719 3 functions like __addsf3 to be omitted from libgcc.a on the assumption that it will be provided by libm.a. For more technical details, cf. PR54461. d1723 5 a1727 3
      --with-nds32-lib=library
      Specifies that library setting is used for building libgcc.a. Currently, the valid library is ‘newlib’ or ‘mculib’. d1729 4 a1732 2
      --with-build-time-tools=dir
      Specifies where to find the set of target tools (assembler, linker, etc.) d1736 3 a1738 3

      For example, on an ‘ia64-hp-hpux’ system, you may have the GNU assembler and linker in /usr/bin, and the native tools in a d1740 8 a1747 7 native tools in /usr/bin.

      When you use this option, you should ensure that dir includes ar, as, ld, nm, ranlib and strip if necessary, and possibly objdump. Otherwise, GCC may use an inconsistent set of tools. d1750 2 a1751 1

      Overriding configure test results
      d1754 2 a1755 2 configure test, for example in order to ease porting to a new system or work around a bug in a test. The toplevel configure d1757 5 a1761 3
      build_configargs
      The contents of this variable is passed to all build configure d1763 5 a1767 2
      host_configargs
      The contents of this variable is passed to all host configure d1769 5 a1773 2
      target_configargs
      The contents of this variable is passed to all target configure d1775 3 d1779 2 a1780 4

      In order to avoid shell and make quoting issues for complex overrides, you can pass a setting for CONFIG_SITE and set d1782 3 a1784 2

      Java-Specific Options

      d1787 4 a1790 3
      --disable-libgcj
      Specify that the run-time libraries d1792 1 a1792 1 to use GCJ with some other run-time, or you're going to install it d1795 2 a1796 2 libraries will be enabled too, unless they're known to not work on the target platform. If GCJ is enabled but ‘libgcj’ isn't built, you d1798 5 a1802 8 configure.ac so that ‘libgcj’ is enabled by default on this platform, you may use --enable-libgcj to override the default.

      The following options apply to building ‘libgcj’.

      General Options
      d1804 11 a1814 5
      --enable-java-maintainer-mode
      By default the ‘libjava’ build will not attempt to compile the .java source files to .class. Instead, it will use the .class files from the source tree. If you use this option you must have executables named ecj1 and gjavah in your path d1816 14 a1829 10 modify any .java files in libjava.
      --with-java-home=dirname
      This ‘libjava’ option overrides the default value of the ‘java.home’ system property. It is also used to set ‘sun.boot.class.path’ to dirname/lib/rt.jar. By default ‘java.home’ is set to prefix and ‘sun.boot.class.path’ to datadir/java/libgcj-version.jar.
      --with-ecj-jar=filename
      This option can be used to specify the location of an external jar d1831 3 a1833 3 version of this compiler is used by gcj to parse .java source files. If this option is given, the ‘libjava’ build will create and install an ecj1 executable d1835 8 a1842 8

      If this option is not given, but an ecj.jar file is found in the topmost source tree at configure time, then the ‘libgcj’ build will create and install ecj1, and will also install the discovered ecj.jar into a suitable place in the install tree.

      If ecj1 is not installed, then the user will have to supply one on his path in order for gcj to properly parse .java d1845 9 a1853 5

      --disable-getenv-properties
      Don't set system properties from GCJ_PROPERTIES.
      --enable-hash-synchronization
      Use a global hash table for monitor locks. Ordinarily, ‘libgcj’'s ‘configure’ script automatically makes d1856 4 a1859 2
      --enable-interpreter
      Enable the Java interpreter. The interpreter is automatically d1862 5 a1866 3 (using --disable-interpreter).
      --disable-java-net
      Disable java.net. This disables the native part of java.net only, d1868 10 a1877 6
      --disable-jvmpi
      Disable JVMPI support.
      --disable-libgcj-bc
      Disable BC ABI compilation of certain parts of libgcj. By default, some portions of libgcj are compiled with -findirect-dispatch and -fno-indirect-classes, allowing them to be overridden at d1879 2 a1880 2

      If --disable-libgcj-bc is specified, libgcj is built without d1884 4 a1887 2

      --enable-reduced-reflection
      Build most of libgcj with -freduced-reflection. This reduces d1892 19 a1910 11
      --with-ecos
      Enable runtime eCos target support.
      --without-libffi
      Don't use ‘libffi’. This will disable the interpreter and JNI support as well, as these require ‘libffi’ to work.
      --enable-libgcj-debug
      Enable runtime debugging code.
      --enable-libgcj-multifile
      If specified, causes all .java source files to be compiled into .class files in one invocation of ‘gcj’. This can speed up build time, but is more d1912 14 a1925 8 disabled, ‘gcj’ is invoked once for each .java file to compile into a .class file.
      --with-libiconv-prefix=DIR
      Search for libiconv in DIR/include and DIR/lib.
      --with-system-zlib
      Use installed ‘zlib’ rather than that included with GCC.
      --with-win32-nlsapi=ansi, unicows or unicode
      Indicates how MinGW ‘libgcj’ translates between UNICODE d1927 4 a1930 2
      --enable-java-home
      If enabled, this creates a JPackage compatible SDK environment during install. d1933 4 a1936 2
      --with-arch-directory=ARCH
      Specifies the name to use for the jre/lib/ARCH directory in the SDK d1939 9 a1947 5
      --with-os-directory=DIR
      Specifies the OS directory for the SDK include directory. This is set to auto detect, and is typically 'linux'.
      --with-origin-name=NAME
      Specifies the JPackage origin name. This defaults to the 'gcj' in d1949 17 a1965 9
      --with-arch-suffix=SUFFIX
      Specifies the suffix for the sdk directory. Defaults to the empty string. Examples include '.x86_64' in 'java-1.5.0-gcj-1.5.0.0.x86_64'.
      --with-jvm-root-dir=DIR
      Specifies where to install the SDK. Default is $(prefix)/lib/jvm.
      --with-jvm-jar-dir=DIR
      Specifies where to install jars. Default is $(prefix)/lib/jvm-exports.
      --with-python-dir=DIR
      Specifies where to install the Python modules used for aot-compile. DIR should d1970 12 a1981 6
      --enable-aot-compile-rpm
      Adds aot-compile-rpm to the list of installed scripts.
      --enable-browser-plugin
      Build the gcjwebplugin web browser plugin.
      --enable-static-libjava
      Build static libraries in libjava. The default is to only build shared d1983 4 a1986 3
      ansi
      Use the single-byte char and the Win32 A functions natively, d1989 20 d2010 2 a2011 7
      unicows
      Use the WCHAR and Win32 W functions natively. Adds -lunicows to libgcj.spec to link with ‘libunicows’. unicows.dll needs to be deployed on Microsoft Windows 9X machines running built executables. libunicows.a, an open-source import library around Microsoft's unicows.dll, is obtained from http://libunicows.sourceforge.net/, which also gives details on getting unicows.dll from Microsoft. d2013 41 a2053 3
      unicode
      Use the WCHAR and Win32 W functions natively. Does not add -lunicows to libgcj.spec. The built executables will only run on Microsoft Windows NT and above. a2054 1
      a2055 1
      AWT-Specific Options
      d2057 4 a2060 8
      --with-x
      Use the X Window System.
      --enable-java-awt=PEER(S)
      Specifies the AWT peer library or libraries to build alongside ‘libgcj’. If this option is unspecified or disabled, AWT will be non-functional. Current valid values are gtk and xlib. Multiple libraries should be separated by a comma (i.e. --enable-java-awt=gtk,xlib). a2061 1
      --enable-gtk-cairo
      Build the cairo Graphics2D implementation on GTK. a2062 1
      --enable-java-gc=TYPE
      Choose garbage collector. Defaults to boehm if unspecified. a2063 1
      --disable-gtktest
      Do not try to compile and run a test GTK+ program. a2064 1
      --disable-glibtest
      Do not try to compile and run a test GLIB program. a2065 1
      --with-libart-prefix=PFX
      Prefix where libart is installed (optional). a2066 1
      --with-libart-exec-prefix=PFX
      Exec prefix where libart is installed (optional). a2067 1
      --disable-libarttest
      Do not try to compile and run a test libart program. a2068 1
      a2069 2


      Return to the GCC Installation page a2070 10 d2072 2 @ 1.7.4.1 log @Sync with HEAD @ text @a318 3

      --with-gcc-major-version-only
      Specifies that GCC should use only the major number rather than major.minor.patchlevel in filesystem paths. d335 1 a335 1 ‘ada’, ‘libada’, ‘libgo’, and ‘libobjc’. d354 1 a354 1
      --with-gnu-as
      Specify that the compiler should assume that the d375 1 a375 1
      --with-as=pathname
      Specify that the compiler should use the assembler pointed to by d406 1 a406 1
      --with-gnu-ld
      Same as --with-gnu-as d488 2 a489 4
      --with-multilib-list=list
      --without-multilib-list
      Specify what multilibs to build. list is a comma separated list of values, possibly consisting of a single value. Currently only implemented for arm*-*-*, sh*-*-* and x86-64-*-linux*. The accepted values and meaning for each target is given below. d492 8 a499 45
      arm*-*-*
      list is one ofdefault, aprofile or rmprofile. Specifying default is equivalent to omitting this option, ie. only the default runtime library will be enabled. Specifying aprofile or rmprofile builds multilibs for a combination of ISA, architecture, FPU available and floating-point ABI.

      The table below gives the combination of ISAs, architectures, FPUs and floating-point ABIs for which multilibs are built for each accepted value.

      Option aprofile rmprofile
      ISAs -marm and -mthumb -mthumb
      Architectures





      default architecture
      -march=armv7-a
      -march=armv7ve
      -march=armv8-a


      default architecture
      -march=armv6s-m
      -march=armv7-m
      -march=armv7e-m
      -march=armv8-m.base
      -march=armv8-m.main
      -march=armv7
      FPUs




      none
      -mfpu=vfpv3-d16
      -mfpu=neon
      -mfpu=vfpv4-d16
      -mfpu=neon-vfpv4
      -mfpu=neon-fp-armv8
      none
      -mfpu=vfpv3-d16
      -mfpu=fpv4-sp-d16
      -mfpu=fpv5-sp-d16
      -mfpu=fpv5-d16

      floating-point ABIs

      -mfloat-abi=soft
      -mfloat-abi=softfp
      -mfloat-abi=hard
      -mfloat-abi=soft
      -mfloat-abi=softfp
      -mfloat-abi=hard
      d550 1 a550 1 library, and exception handling for other languages like C++. d565 1 a565 1 like C++. The possibilities for lib are: a676 29

      --with-lxc1-sxc1
      On MIPS targets, make -mlxc1-sxc1 the default when no -mno-lxc1-sxc1 option is passed. This is the default.
      --without-lxc1-sxc1
      On MIPS targets, make -mno-lxc1-sxc1 the default when no -mlxc1-sxc1 option is passed. The indexed load/store instructions are not directly a problem but can lead to unexpected behaviour when deployed in an application intended for a 32-bit address space but run on a 64-bit processor. The issue is seen because all known MIPS 64-bit Linux kernels execute o32 and n32 applications with 64-bit addressing enabled which affects the overflow behaviour of the indexed addressing mode. GCC will assume that ordinary 32-bit arithmetic overflow behaviour is the same whether performed as an addu instruction or as part of the address calculation in lwxc1 type instructions. This assumption holds true in a pure 32-bit environment and can hold true in a 64-bit environment if the address space is accurately set to be 32-bit for o32 and n32.
      --with-madd4
      On MIPS targets, make -mmadd4 the default when no -mno-madd4 option is passed. This is the default.
      --without-madd4
      On MIPS targets, make -mno-madd4 the default when no -mmadd4 option is passed. The madd4 instruction family can be problematic when targeting a combination of cores that implement these instructions differently. There are two known cores that implement these as fused operations instead of unfused (where unfused is normally expected). Disabling these instructions is the only way to ensure compatible code is generated; this will incur a performance penalty. d754 1 a754 1 ‘libstdc++’, and ‘libobjc’. d767 1 a767 1 ld Command reference. d859 1 a859 1 go, jit, lto, objc, obj-c++. d966 1 a966 1 the compiler with GCC. This is ‘yes,extra’ by default when building d975 2 a976 5 ‘df’, ‘fold’, ‘gc’, ‘gcac’, ‘misc’, ‘rtl’, ‘rtlflag’, ‘runtime’, ‘tree’, ‘extra’ and ‘valgrind’. ‘extra’ adds for ‘misc’ checking extra checks that might affect code generation and should therefore not differ between stage1 and later stages. d1207 6 a1212 1 --with-hsa-runtime-include=hsainstalldir/include. d1336 93 a1428 1

      Objective-C-Specific Options

      d1430 68 a1497 1

      The following options apply to the build of the Objective-C runtime library. d1500 22 a1521 23

      --enable-objc-gc
      Specify that an additional variant of the GNU Objective-C runtime library is built, using an external build of the Boehm-Demers-Weiser garbage collector (http://www.hboehm.info/gc/). This library needs to be available for each multilib variant, unless configured with --enable-objc-gc=‘auto’ in which case the build of the additional runtime library is skipped when not available and the build continues.
      --with-target-bdw-gc=list
      --with-target-bdw-gc-include=list
      --with-target-bdw-gc-lib=list
      Specify search directories for the garbage collector header files and libraries. list is a comma separated list of key value pairs of the form ‘multilibdir=path’, where the default multilib key is named as ‘.’ (dot), or is omitted (e.g. ‘--with-target-bdw-gc=/opt/bdw-gc,32=/opt-bdw-gc32’).

      The options --with-target-bdw-gc-include and --with-target-bdw-gc-lib must always be specified together for each multilib variant and they take precedence over --with-target-bdw-gc. If --with-target-bdw-gc-include is missing values for a multilib, then the value for the default multilib is used (e.g. ‘--with-target-bdw-gc-include=/opt/bdw-gc/include’ ‘--with-target-bdw-gc-lib=/opt/bdw-gc/lib64,32=/opt-bdw-gc/lib32’). If none of these options are specified, the library is assumed in default locations. @ 1.7.4.2 log @Mostly merge changes from HEAD upto 20200411 @ text @d1 10 a10 3 Installing GCC d41 6 d48 2 a49 8

      Installing GCC

      d51 3 d55 2 a56 28

      Like most GNU software, GCC must be configured before it can be built. This document describes the recommended configuration procedure for both native and cross targets.

      We use srcdir to refer to the toplevel source directory for GCC; we use objdir to refer to the toplevel build/object directory.

      If you obtained the sources by cloning the repository, srcdir must refer to the top gcc directory, the one where the MAINTAINERS file can be found, and not its gcc subdirectory, otherwise the build will fail.

      If either srcdir or objdir is located on an automounted NFS file system, the shell’s built-in pwd command will return d58 3 a60 3 problems. To avoid this issue, set the PWDCMD environment variable to an automounter-aware pwd command, e.g., pawd or ‘amq -w’, during the configuration and build d62 2 a63 2

      First, we highly recommend that GCC be built into a d66 1 a66 1 where srcdir == objdir should still work, but doesn’t d69 6 a74 6

      If you have previously built GCC in the same directory for a different target machine, do ‘make distclean’ to delete all files that might be invalid. One of the files this deletes is Makefile; if ‘make distclean’ complains that Makefile does not exist or issues a message like “don’t know how to make distclean” it probably d78 3 a80 3

      Second, when configuring a native system, either cc or gcc must be in your path or you must set CC in a82 1

      d84 1 a84 7

      To configure GCC:

      % mkdir objdir
      % cd objdir
      % srcdir/configure [options] [target]
      
      d86 5 a90 2

      Distributor options

      d95 3 a97 4

      --with-pkgversion=version

      Specify a string that identifies your package. You may wish d99 6 a104 8 included in the output of gcc --version. This suffix does not replace the default version string, only the ‘GCC’ part.

      The default value is ‘GCC’.

      --with-bugurl=url

      Specify the URL that users should visit if they wish to report a bug. a106 5

      The default value refers to the FSF’s GCC bug tracker.

      d108 8 a115 4

      Target specification

      • GCC has code to correctly determine the correct value for target d119 1 a119 1
      • target must be specified as --target=target d123 3 a125 3
      • Specifying just target instead of --target=target implies that the host defaults to target.
      d127 1 a127 3

      Options specification

      d130 2 a131 2 GCC. A list of supported options follows; ‘configure --help’ may list other options, but those not listed below may not d133 7 a139 8

      Note that each --enable option has a corresponding --disable option and that each --with option has a corresponding --without option.

      --prefix=dirname

      Specify the toplevel installation d142 3 a144 3 /usr/local.

      We highly recommend against dirname being the same or a d146 5 a150 5 beneath a user’s home directory tree, some shells will not expand dirname correctly if it contains the ‘~’ metacharacter; use $HOME instead.

      The following standard autoconf options are supported. Normally you d152 2 a153 3

      --exec-prefix=dirname

      Specify the toplevel installation directory for architecture-dependent d155 12 a166 20

      --bindir=dirname

      Specify the installation directory for the executables called by users (such as gcc and g++). The default is exec-prefix/bin.

      --libdir=dirname

      Specify the installation directory for object code libraries and internal data files of GCC. The default is exec-prefix/lib.

      --libexecdir=dirname

      Specify the installation directory for internal executables of GCC. The default is exec-prefix/libexec.

      --with-slibdir=dirname

      Specify the installation directory for the shared libgcc library. The d168 8 a175 14

      --datarootdir=dirname

      Specify the root of the directory tree for read-only architecture-independent data files referenced by GCC. The default is prefix/share.

      --infodir=dirname

      Specify the installation directory for documentation in info format. The default is datarootdir/info.

      --datadir=dirname

      Specify the installation directory for some architecture-independent d177 5 a181 9

      --docdir=dirname

      Specify the installation directory for documentation files (other than Info) for GCC. The default is datarootdir/doc.

      --htmldir=dirname

      Specify the installation directory for HTML documentation files. d183 2 a184 4

      --pdfdir=dirname

      Specify the installation directory for PDF documentation files. d186 3 a188 5

      --mandir=dirname

      Specify the installation directory for manual pages. The default is datarootdir/man. (Note that the manual pages are only extracts d192 2 a193 4

      --with-gxx-include-dir=dirname

      Specify d197 2 a198 4

      --with-specs=specs

      Specify additional command line driver SPECS. d200 2 a201 2 default without modifying the compiler’s source code, for instance --with-specs=%{!fcommon:%{!fno-common:-fno-common}}. a202 3

      d204 3 a206 3
      --program-prefix=prefix

      GCC supports some transformations of the names of its programs when d209 9 a217 13 --program-prefix=foo- would result in ‘gcc’ being installed as /usr/local/bin/foo-gcc.

      --program-suffix=suffix

      Appends suffix to the names of programs to install in bindir (see above). For example, specifying --program-suffix=-3.1 would result in ‘gcc’ being installed as /usr/local/bin/gcc-3.1.

      --program-transform-name=pattern

      Applies the ‘sed’ script pattern to be applied to the names d219 5 a223 5 consist of one or more basic ‘sed’ editing commands, separated by semicolons. For example, if you want the ‘gcc’ program name to be transformed to the installed program /usr/local/bin/myowngcc and the ‘g++’ program name to be transformed to /usr/local/bin/gspecial++ without changing other program names, d225 1 a225 1 --program-transform-name='s/^gcc$/myowngcc/; s/^g++$/gspecial++/' d227 2 a228 2

      All three options can be combined and used together, resulting in more d232 3 a234 3

      As currently implemented, this option only takes effect for native builds; cross compiler binaries’ names are not transformed even when a d236 2 a237 2

      For native builds, some of the installed programs are also installed d239 1 a239 1 ‘i686-pc-linux-gnu-gcc’. All of the above transformations happen d241 1 a241 1 --program-prefix=foo- and program-suffix=-3.1, the d243 3 a245 3 /usr/local/bin/i686-pc-linux-gnu-foo-gcc-3.1.

      As a last shortcoming, none of the installed Ada programs are d247 2 a248 4

      --with-local-prefix=dirname

      Specify the d250 6 a255 6 /usr/local. Specify this option if you want the compiler to search directory dirname/include for locally installed header files instead of /usr/local/include.

      You should specify --with-local-prefix only if your site has a different convention (not /usr/local) for where to put d257 4 a260 4

      The default value for --with-local-prefix is /usr/local regardless of the value of --prefix. Specifying --prefix has no effect on which directory GCC searches for d263 3 a265 3

      The purpose of --prefix is to specify where to install GCC. The local header files in /usr/local/include—if you put d268 4 a271 4 another directory which is based on the --prefix value.)

      Both the local-prefix include directory and the GCC-prefix include directory are part of GCC’s “system include” directories. Although these d277 2 a278 2

      Some autoconf macros add -I directory options to the d280 1 a280 1 packages’ headers are searched. When directory is one of GCC’s d285 3 a287 3

      GCC automatically searches for ordinary libraries using GCC_EXEC_PREFIX. Thus, when the same installation prefix is d291 3 a293 3 installed as a system compiler in /usr.

      Sites that need to install multiple versions of GCC may not want to d295 2 a296 2 --program-prefix, --program-suffix and --program-transform-name options to install multiple versions d298 1 a298 1 and the --with-local-prefix option to specify the location of the d301 9 a309 9 (e.g., with LIBRARY_PATH).

      The same value can be used for both --with-local-prefix and --prefix provided it is not /usr. This can be used to avoid the default search of /usr/local/include.

      Do not specify /usr as the --with-local-prefix! The directory you use for --with-local-prefix must not contain any of the system’s standard header files. If it did contain d312 3 a314 3 file corrections made by the fixincludes script.

      Indications are that people who use this option use it based on mistaken d318 2 a319 4

      --with-gcc-major-version-only

      Specifies that GCC should use only the major number rather than d321 3 a323 5

      --with-native-system-header-dir=dirname

      Specifies that dirname is the directory that contains native system header files, rather than /usr/include. This option is most useful d326 1 a326 1 --with-sysroot option and will cause GCC to search d328 2 a329 4

      --enable-shared[=package[,…]]

      Build shared versions of libraries, if shared libraries are supported on d332 2 a333 2

      If a list of packages is given as an argument, build shared libraries d336 10 a345 10 ‘libgcc’ (also known as ‘gcc’), ‘libstdc++’ (not ‘libstdc++-v3’), ‘libffi’, ‘zlib’, ‘boehm-gc’, ‘ada’, ‘libada’, ‘libgo’, and ‘libobjc’. Note ‘libiberty’ does not support shared libraries at all.

      Use --disable-shared to build only static libraries. Note that --disable-shared does not accept a list of package names as argument, only --enable-shared does.

      Contrast with --enable-host-shared, which affects host d347 2 a348 4

      --enable-host-shared

      Specify that the host code should be built into position-independent d351 4 a354 4

      This option is required when building the libgccjit.so library.

      Contrast with --enable-shared, which affects target d356 2 a357 4

      --with-gnu-as

      Specify that the compiler should assume that the d362 1 a362 1 configured with --with-gnu-as.) If you have more than one d364 4 a367 4 connection with --with-as=pathname or --with-build-time-tools=pathname.

      The following systems are the only ones where it makes a difference d369 10 a378 12 --with-gnu-as has no effect.

      • ‘hppa1.0-any-any’
      • ‘hppa1.1-any-any’
      • ‘sparc-sun-solaris2.any’
      • ‘sparc64-any-solaris2.any’
      --with-as=pathname

      Specify that the compiler should use the assembler pointed to by d381 4 a384 4

      • Unless GCC is being built with a cross compiler, check the libexec/gcc/target/version directory. libexec defaults to exec-prefix/libexec; d386 3 a388 3 defaults to /usr/local unless overridden by the --prefix=pathname switch described above. target is the target system triple, such as ‘sparc-sun-solaris2.7’, and d391 2 a392 2
      • If the target system is the same that you are building on, check operating system specific directories (e.g. /usr/ccs/bin on d395 1 a395 1
      • Check in the PATH for a tool whose name is prefixed by the d398 1 a398 1
      • Check in the PATH for a tool whose name is not prefixed by the d401 2 a402 2 the target as well).
      d404 1 a404 1

      You may want to use --with-as if no assembler d408 2 a409 4

      --with-gnu-ld

      Same as --with-gnu-as d411 2 a412 4

      --with-ld=pathname

      Same as --with-as d414 2 a415 4

      --with-stabs

      Specify that stabs debugging d418 27 a444 4

      --with-tls=dialect

      Specify the default TLS dialect, for systems were there is a choice. d448 2 a449 4

      --enable-multiarch

      Specify whether to enable or disable multiarch support. The default is d452 2 a453 2 and for cross builds configured with --with-sysroot, and without --with-native-system-header-dir. d456 3 a458 5

      --enable-sjlj-exceptions

      Force use of the setjmp/longjmp-based scheme for exceptions. ‘configure’ ordinarily picks the correct value based on the platform. d460 2 a461 4

      --enable-vtable-verify

      Specify whether to enable or disable the vtable verification feature. d466 1 a466 1 the verifier will call stub functions (in libstdc++ itself) and do nothing. d469 4 a472 6 still be built (see --disable-libvtv to turn off building libvtv). --disable-vtable-verify is the default.

      --disable-multilib

      Specify that multiple target d476 11 a486 18

      Some targets provide finer-grained control over which multilibs are built (e.g., --disable-softfloat):

      arm-*-*

      fpu, 26bit, underscore, interwork, biendian, nofmult.

      m68*-*-*

      softfloat, m68881, m68000, m68020.

      mips*-*-*

      single-float, biendian, softfloat.

      powerpc*-*-*, rs6000*-*-*

      aix64, pthread, softfloat, powercpu, powerpccpu, powerpcos, biendian, a487 3

      d489 3 a491 4
      --with-multilib-list=list
      --without-multilib-list

      Specify what multilibs to build. list is a comma separated list of d493 11 a503 24 for aarch64*-*-*, arm*-*-*, sh*-*-* and x86-64-*-linux*. The accepted alues and meaning for each target is given below.

      aarch64*-*-*

      list is a comma separated list of ilp32, and lp64 to enable ILP32 and LP64 run-time libraries, respectively. If list is empty, then there will be no multilibs and only the default run-time library will be built. If list is default or –with-multilib-list= is not specified, then the default set of libraries is selected based on the value of --target.

      arm*-*-*

      list is a comma separated list of aprofile and rmprofile to build multilibs for A or R and M architecture profiles respectively. Note that, due to some limitation of the current multilib framework, using the combined aprofile,rmprofile multilibs selects in some cases a less optimal multilib than when using the multilib profile for the architecture targetted. The special value default is also accepted and is equivalent to omitting the option, ie. only the default run-time library will be enabled.

      The table below gives the combination of ISAs, architectures, FPUs and d505 7 a511 7 The union of these options is considered when specifying both aprofile and rmprofile.

      Optionaprofilermprofile
      ISAs-marm and -mthumb-mthumb
      Architectures





      default architecture
      d514 2 a515 1 -march=armv8-a


      default architecture
      d521 3 a523 2 -march=armv7
      FPUs




      none
      d528 2 a529 1 -mfpu=neon-fp-armv8
      none
      d533 3 a535 2 -mfpu=fpv5-d16
      floating-point ABIs

      -mfloat-abi=soft
      d537 2 a538 1 -mfloat-abi=hard
      -mfloat-abi=soft
      d540 2 a541 2 -mfloat-abi=hard
      d543 1 a543 3
      sh*-*-*

      list is a comma separated list of CPU names. These must be of the d546 3 a548 3 these are handled by --with-endian.

      If list is empty, then there will be no multilibs for extra d550 4 a553 4

      As a special case, if an entry in the list starts with a ! (exclamation point), then it is added to the list of excluded multilibs. Entries of this sort should be compatible with ‘MULTILIB_EXCLUDES’ d555 3 a557 3

      If --with-multilib-list is not given, then a default set of multilibs is selected based on the value of --target. This is d560 2 a561 2

      Example 1: to configure a compiler for SH4A only, but supporting both d563 3 a565 5

      --with-cpu=sh4a --with-endian=little,big --with-multilib-list=
      

      Example 2: to configure a compiler for both SH4A and SH4AL-DSP, but with d567 4 a570 8

      --with-cpu=sh4a --with-endian=little,big \
      --with-multilib-list=sh4al,!mb/m4al
      
      x86-64-*-linux*

      list is a comma separated list of m32, m64 and d574 3 a576 4

      If --with-multilib-list is not given, then only 32-bit and 64-bit run-time libraries will be enabled.

      d579 1 a579 3
      --with-endian=endians

      Specify what endians to use. d581 7 a587 15

      endians may be one of the following:

      big

      Use big endian exclusively.

      little

      Use little endian exclusively.

      big,little

      Use big endian by default. Provide a multilib for little endian.

      little,big

      Use little endian by default. Provide a multilib for big endian.

      d590 1 a590 3
      --enable-threads

      Specify that the target d592 1 a592 1 library, and exception handling for other languages like C++. d594 2 a595 2

      In general, the best (and, in many cases, the only known) threading d598 7 a604 11 available for the system. In this case, --enable-threads is an alias for --enable-threads=single.

      --disable-threads

      Specify that threading support should be disabled for the system. This is an alias for --enable-threads=single.

      --enable-threads=lib

      Specify that d608 13 a620 35

      aix

      AIX thread support.

      dce

      DCE thread support.

      lynx

      LynxOS thread support.

      mipssde

      MIPS SDE thread support.

      no

      This is an alias for ‘single’.

      posix

      Generic POSIX/Unix98 thread support.

      rtems

      RTEMS thread support.

      single

      Disable thread support, should work for all platforms.

      tpf

      TPF thread support.

      vxworks

      VxWorks thread support.

      win32

      Microsoft Win32 API thread support.

      d623 1 a623 3
      --enable-tls

      Specify that the target supports TLS (Thread Local Storage). Usually d626 1 a626 1 --enable-tls or --disable-tls. This can happen if d629 6 a634 12

      --disable-tls

      Specify that the target does not support TLS. This is an alias for --enable-tls=no.

      --with-cpu=cpu
      --with-cpu-32=cpu
      --with-cpu-64=cpu

      Specify which cpu variant the compiler should generate code for by default. cpu will be used as the default value of the -mcpu= switch. d636 2 a637 2 PowerPC, and SPARC. It is mandatory for ARC. The --with-cpu-32 and --with-cpu-64 options specify separate default CPUs for d640 5 a644 16

      --with-schedule=cpu
      --with-arch=cpu
      --with-arch-32=cpu
      --with-arch-64=cpu
      --with-tune=cpu
      --with-tune-32=cpu
      --with-tune-64=cpu
      --with-abi=abi
      --with-fpu=type
      --with-float=type

      These configure options provide default values for the -mschedule=, -march=, -mtune=, -mabi=, and -mfpu= options and for -mhard-float or -msoft-float. As with --with-cpu, which switches will be accepted and acceptable values d646 2 a647 4

      --with-mode=mode

      Specify if the compiler should default to -marm or -mthumb. d649 2 a650 4

      --with-stack-offset=num

      This option sets the default for the -mstack-offset=num option, d653 4 a656 6

      --with-fpmath=isa

      This options sets -mfpmath=sse by default and specifies the default ISA for floating-point arithmetics. You can select either ‘sse’ which enables -msse2 or ‘avx’ which enables -mavx by default. d658 2 a659 4

      --with-fp-32=mode

      On MIPS targets, set the default value for the -mfp option when using d661 7 a667 13

      32

      Use the o32 FP32 ABI extension, as with the -mfp32 command-line option.

      xx

      Use the o32 FPXX ABI extension, as with the -mfpxx command-line option.

      64

      Use the o32 FP64 ABI extension, as with the -mfp64 command-line option.

      d669 1 a669 1

      In the absence of this configuration option the default is to use the o32 d671 2 a672 4

      --with-odd-spreg-32

      On MIPS targets, set the -modd-spreg option by default when using d674 2 a675 4

      --without-odd-spreg-32

      On MIPS targets, set the -mno-odd-spreg option by default when using d677 3 a679 5 --with-fp-32=64 in order to target the o32 FP64A ABI extension.

      --with-nan=encoding

      On MIPS targets, set the default encoding convention to use for the d682 5 a686 9

      legacy

      Use the legacy encoding, as with the -mnan=legacy command-line option.

      2008

      Use the 754-2008 encoding, as with the -mnan=2008 command-line option.

      d688 2 a689 2

      To use this configuration option you must have an assembler version installed that supports the -mnan= command-line option too. d691 5 a695 7 the legacy encoding, as when neither of the -mnan=2008 and -mnan=legacy command-line options has been used.

      --with-divide=type

      Specify how the compiler should generate code for checking for division by zero. This option is only supported on the MIPS target. d697 4 a700 8

      traps

      Division by zero checks use conditional traps (this is the default on systems that support conditional traps).

      breaks

      Division by zero checks use the break instruction.

      d703 4 a706 5
      --with-llsc

      On MIPS targets, make -mllsc the default when no -mno-llsc option is passed. This is the default for d709 15 a723 25

      --without-llsc

      On MIPS targets, make -mno-llsc the default when no -mllsc option is passed.

      --with-synci

      On MIPS targets, make -msynci the default when no -mno-synci option is passed.

      --without-synci

      On MIPS targets, make -mno-synci the default when no -msynci option is passed. This is the default.

      --with-lxc1-sxc1

      On MIPS targets, make -mlxc1-sxc1 the default when no -mno-lxc1-sxc1 option is passed. This is the default.

      --without-lxc1-sxc1

      On MIPS targets, make -mno-lxc1-sxc1 the default when no -mlxc1-sxc1 option is passed. The indexed load/store d735 6 a740 10

      --with-madd4

      On MIPS targets, make -mmadd4 the default when no -mno-madd4 option is passed. This is the default.

      --without-madd4

      On MIPS targets, make -mno-madd4 the default when no -mmadd4 option is passed. The madd4 instruction d747 2 a748 4

      --with-mips-plt

      On MIPS targets, make use of copy relocations and PLTs. d752 3 a754 5

      --enable-__cxa_atexit

      Define if you want to use __cxa_atexit, rather than atexit, to register C++ destructors for local statics and global objects. d758 3 a760 5 -fuse-cxa-atexit to be passed by default.

      --enable-gnu-indirect-function

      Define if you want to enable the ifunc attribute. This option is d762 3 a764 5

      --enable-target-optspace

      Specify that target libraries should be optimized for code space instead of code speed. d766 5 a770 9

      --with-cpp-install-dir=dirname

      Specify that the user visible cpp program should be installed in prefix/dirname/cpp, in addition to bindir.

      --enable-comdat

      Enable COMDAT group support. This is primarily used to override the d772 2 a773 4

      --enable-initfini-array

      Force the use of sections .init_array and .fini_array d775 1 a775 1 destructors. Option --disable-initfini-array has the d779 2 a780 4

      --enable-link-mutex

      When building GCC, use a mutex to avoid linking the compilers for d783 3 a785 5

      --enable-maintainer-mode

      The build rules that regenerate the Autoconf and Automake output files as well as the GCC master message catalog gcc.pot are normally d788 1 a788 1 catalog, configuring with --enable-maintainer-mode will enable d791 3 a793 5

      --disable-bootstrap

      For a native build, the default configuration is to perform a 3-stage bootstrap of the compiler when ‘make’ is invoked, d795 4 a798 6 this process, you can configure with --disable-bootstrap.

      --enable-bootstrap

      In special cases, you may want to perform a 3-stage build even if the target and host triplets are different. d800 1 a800 1 the target (e.g. host is i686-linux, target is i486-linux). d802 3 a804 5 with --enable-bootstrap.

      --enable-generated-files-in-srcdir

      Neither the .c and .h files that are generated from Bison and flex nor the d806 1 a806 1 in the repository development tree. When building GCC from that development tree, d810 2 a811 2

      If you configure with --enable-generated-files-in-srcdir then those d816 2 a817 4

      --enable-version-specific-runtime-libs

      Specify d819 2 a820 2 subdirectory (libdir/gcc) rather than the usual places. In addition, ‘libstdc++’’s include files will be installed into d822 1 a822 1 --with-gxx-include-dir=dirname. Using this option is d824 4 a827 6 parallel. This is currently supported by ‘libgfortran’, ‘libstdc++’, and ‘libobjc’.

      --with-aix-soname=‘aix’, ‘svr4’ or ‘both’

      Traditional AIX shared library versioning (versioned Shared Object d829 1 a829 1 ‘lib.a’) causes numerous headaches for package managers. However, d832 1 a832 1 where this is called the "SONAME". But as they prevent static linking, d834 20 a853 23 linker does search for ‘libNAME.so’ before ‘libNAME.a’ library filenames with the ‘-lNAME’ linker flag.

      For detailed information please refer to the AIX ld Command reference.

      As long as shared library creation is enabled, upon:

      --with-aix-soname=aix
      --with-aix-soname=both

      A (traditional AIX) Shared Archive Library file is created:

      • using the ‘libNAME.a’ filename scheme
      • with the Shared Object file as archive member named ‘libNAME.so.V’ (except for ‘libgcc_s’, where the Shared Object file is named ‘shr.o’ for backwards compatibility), which
        • - is used for runtime loading from inside the ‘libNAME.a’ file
        • - is used for dynamic loading via dlopen("libNAME.a(libNAME.so.V)", RTLD_MEMBER)
        • - is used for shared linking
        • - is used for static linking, so no separate Static Archive d855 12 a866 15
      --with-aix-soname=both
      --with-aix-soname=svr4

      A (second) Shared Archive Library file is created:

      • using the ‘libNAME.so.V’ filename scheme
      • with the Shared Object file as archive member named ‘shr.o’, which
        • - is created with the -G linker flag
        • - has the F_LOADONLY flag set
        • - is used for runtime loading from inside the ‘libNAME.so.V’ file
        • - is used for dynamic loading via dlopen("libNAME.so.V(shr.o)", d868 2 a869 2
      • with the Import File as archive member named ‘shr.imp’, d871 2 a872 2
        • - refers to ‘libNAME.so.V(shr.o)’ as the "SONAME", to be recorded d874 13 a886 13
        • - indicates whether ‘libNAME.so.V(shr.o)’ is 32 or 64 bit
        • - lists all the public symbols exported by ‘lib.so.V(shr.o)’, eventually decorated with the ‘weak’ Keyword
        • - is necessary for shared linking against ‘lib.so.V(shr.o)’

      A symbolic link using the ‘libNAME.so’ filename scheme is created:

      • pointing to the ‘libNAME.so.V’ Shared Archive Library file
      • to permit the ld Command to find ‘lib.so.V(shr.imp)’ via the ‘-lNAME’ argument (requires Runtime Linking to be enabled)
      • to permit dynamic loading of ‘lib.so.V(shr.o)’ without the need to specify the version number via dlopen("libNAME.so(shr.o)", d888 2 a889 3
      d891 11 a901 13

      As long as static library creation is enabled, upon:

      --with-aix-soname=svr4

      A Static Archive Library is created:

      • using the ‘libNAME.a’ filename scheme
      • with all the Static Object files as archive members, which
        • - are used for static linking
      d903 1 a903 1

      While the aix-soname=‘svr4’ option does not create Shared Object d910 2 a911 2

      WARNING: Creating Shared Object files with Runtime Linking d913 1 a913 1 requiring the use of either the -Wl,-bbigtoc linker flag (seen to d916 2 a917 2

      --with-aix-soname is currently supported by ‘libgcc_s’ only, so d919 4 a922 6

      Default is the traditional behavior --with-aix-soname=‘aix’.

      --enable-languages=lang1,lang2,…

      Specify that only a particular subset of compilers and d925 9 a933 10 gcc directory of your GCC source tree:

      grep ^language= */config-lang.in
      

      Currently, you can use any of the following: all, default, ada, c, c++, fortran, go, jit, lto, objc, obj-c++. Building the Ada compiler has special requirements, see below. If you do not pass this flag, or specify the option default, then the default languages available in the gcc sub-tree will be configured. d935 4 a938 9 default language, but is built by default because --enable-lto is enabled by default. The other languages are default languages. If all is specified, then all available languages are built. An exception is jit language, which requires --enable-host-shared to be included with all.

      --enable-stage1-languages=lang1,lang2,…

      Specify that a particular subset of compilers and their runtime d942 2 a943 2 --enable-languages, and the option all will select all of the languages enabled by --enable-languages. This option is d948 5 a952 7 specified languages with the stage-1 compiler by using make stage1-bubble all-target, or run the testsuite on the stage-1 compiler for the specified languages using make stage1-start check-gcc.

      --disable-libada

      Specify that the run-time libraries and tools used by GNAT should not d955 3 a957 5 do a ‘make -C gcc gnatlib_and_tools’.

      --disable-libsanitizer

      Specify that the run-time libraries for the various sanitizers should d959 5 a963 10

      --disable-libssp

      Specify that the run-time libraries for stack smashing protection should not be built or linked against. On many targets library support is provided by the C library instead.

      --disable-libquadmath

      Specify that the GCC quad-precision math library should not be built. d965 1 a965 1 the Fortran front end, unless --disable-libquadmath-support d967 2 a968 4

      --disable-libquadmath-support

      Specify that the Fortran front end and libgfortran do not add d970 2 a971 4

      --disable-libgomp

      Specify that the GNU Offloading and Multi Processing Runtime Library d973 2 a974 4

      --disable-libvtv

      Specify that the run-time libraries used by vtable verification d976 2 a977 4

      --with-dwarf2

      Specify that the compiler should d979 2 a980 4

      --with-advance-toolchain=at

      On 64-bit PowerPC Linux systems, configure the compiler to use the d986 2 a987 5

      --enable-targets=all
      --enable-targets=target_list

      Some GCC targets, e.g. powerpc64-linux, build bi-arch compilers. d989 1 a989 1 code. Typically, the corresponding 32-bit target, e.g. d993 1 a993 1 you are building a bi-arch or multi-arch binutils in a combined tree. d995 1 a995 1 defaulted to o32. d998 4 a1001 8

      --enable-default-pie

      Turn on -fPIE and -pie by default.

      --enable-secureplt

      This option enables -msecure-plt by default for powerpc-linux. d1003 4 a1006 8

      --enable-default-ssp

      Turn on -fstack-protector-strong by default.

      --enable-cld

      This option enables -mcld by default for 32-bit x86 targets. d1008 2 a1009 6

      --enable-win32-registry
      --enable-win32-registry=key
      --disable-win32-registry

      The --enable-win32-registry option enables Microsoft Windows-hosted GCC a1010 4

      HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\key
      
      d1012 4 a1015 2

      key defaults to GCC version number, and can be overridden by the --enable-win32-registry=key option. Vendors and distributors d1019 1 a1019 1 by default, and can be disabled by --disable-win32-registry d1021 8 a1028 15

      --nfp

      Specify that the machine does not have a floating point unit. This option only applies to ‘m68k-sun-sunosn’. On any other system, --nfp has no effect.

      --enable-werror
      --disable-werror
      --enable-werror=yes
      --enable-werror=no

      When you specify this option, it controls whether certain files in the compiler are built with -Werror in bootstrap stage2 and later. If you don’t specify it, -Werror is turned on for the main d1030 1 a1030 1 final releases. The specific files which get -Werror are d1032 35 a1066 51

      --enable-checking
      --disable-checking
      --enable-checking=list

      This option controls performing internal consistency checks in the compiler. It does not change the generated code, but adds error checking of the requested complexity. This slows down the compiler and may only work properly if you are building the compiler with GCC.

      When the option is not specified, the active set of checks depends on context. Namely, bootstrap stage 1 defaults to ‘--enable-checking=yes’, builds from release branches or release archives default to ‘--enable-checking=release’, and otherwise ‘--enable-checking=yes,extra’ is used. When the option is specified without a list, the result is the same as ‘--enable-checking=yes’. Likewise, ‘--disable-checking’ is equivalent to ‘--enable-checking=no’.

      The categories of checks available in list are ‘yes’ (most common checks ‘assert,misc,gc,gimple,rtlflag,runtime,tree,types’), ‘no’ (no checks at all), ‘all’ (all but ‘valgrind’), ‘release’ (cheapest checks ‘assert,runtime’) or ‘none’ (same as ‘no’). ‘release’ checks are always on and to disable them ‘--disable-checking’ or ‘--enable-checking=no[,<other checks>]’ must be explicitly requested. Disabling assertions makes the compiler and runtime slightly faster but increases the risk of undetected internal errors causing wrong code to be generated.

      Individual checks can be enabled with these flags: ‘assert’, ‘df’, ‘extra’, ‘fold’, ‘gc’, ‘gcac’, ‘gimple’, ‘misc’, ‘rtl’, ‘rtlflag’, ‘runtime’, ‘tree’, ‘types’ and ‘valgrind’. ‘extra’ extends ‘misc’ checking with extra checks that might affect code generation and should therefore not differ between stage1 and later stages in bootstrap.

      The ‘valgrind’ check requires the external valgrind simulator, available from http://valgrind.org/. The ‘rtl’ checks are expensive and the ‘df’, ‘gcac’ and ‘valgrind’ checks are very expensive.

      --disable-stage1-checking
      --enable-stage1-checking
      --enable-stage1-checking=list

      This option affects only bootstrap build. If no --enable-checking option is specified the stage1 compiler is built with ‘yes’ checking enabled, otherwise the stage1 checking flags are the same as specified by --enable-checking. To build the stage1 compiler with different checking options use --enable-stage1-checking. The list of checking options is the same as for --enable-checking. d1068 1 a1068 1 with checking for stage1 enabled, you can use ‘--disable-stage1-checking’ d1070 2 a1071 5

      --enable-coverage
      --enable-coverage=level

      With this option, the compiler is built to collect self coverage d1075 1 a1075 1 not, values are ‘opt’ and ‘noopt’. For coverage analysis you d1079 2 a1080 4

      --enable-gather-detailed-mem-stats

      When this option is specified more detailed information on memory d1082 3 a1084 5 -fmem-report.

      --enable-valgrind-annotations

      Mark selected memory related operations in the compiler when run under d1086 2 a1087 5

      --enable-nls
      --disable-nls

      The --enable-nls option enables Native Language Support (NLS), d1090 6 a1095 10 canadian cross build. The --disable-nls option disables NLS.

      --with-included-gettext

      If NLS is enabled, the --with-included-gettext option causes the build procedure to prefer its copy of GNU gettext.

      --with-catgets

      If NLS is enabled, and if the host lacks gettext but has the d1097 8 a1104 12 ignores catgets and instead uses GCC’s copy of the GNU gettext library. The --with-catgets option causes the build procedure to use the host’s catgets in this situation.

      --with-libiconv-prefix=dir

      Search for libiconv header files in dir/include and libiconv library files in dir/lib.

      --enable-obsolete

      Enable configuration for an obsoleted system. If you attempt to d1108 2 a1109 2

      All support for systems which have been obsoleted in one release of GCC d1112 2 a1113 9

      --enable-decimal-float
      --enable-decimal-float=yes
      --enable-decimal-float=no
      --enable-decimal-float=bid
      --enable-decimal-float=dpd
      --disable-decimal-float

      Enable (or disable) support for the C decimal floating point extension d1118 2 a1119 2 ‘bid’ or ‘dpd’). The ‘bid’ (binary integer decimal) format is default on i386 and x86_64 systems, and the ‘dpd’ d1121 2 a1122 5

      --enable-fixed-point
      --disable-fixed-point

      Enable (or disable) support for C fixed-point arithmetic. d1126 2 a1127 4

      --with-long-double-128

      Specify if long double type should be 128-bit by default on selected d1129 1 a1129 1 long double will be by default 64-bit, the same as double type. d1133 4 a1136 46

      --with-long-double-format=ibm
      --with-long-double-format=ieee

      Specify whether long double uses the IBM extended double format or the IEEE 128-bit floating point format on PowerPC Linux systems. This configuration switch will only work on little endian PowerPC Linux systems and on big endian 64-bit systems where the default cpu is at least power7 (i.e. --with-cpu=power7, --with-cpu=power8, or --with-cpu=power9 is used).

      If you use the --with-long-double-64 configuration option, the --with-long-double-format=ibm and --with-long-double-format=ieee options are ignored.

      The default long double format is to use IBM extended double. Until all of the libraries are converted to use IEEE 128-bit floating point, it is not recommended to use --with-long-double-format=ieee.

      On little endian PowerPC Linux systems, if you explicitly set the long double type, it will build multilibs to allow you to select either long double format, unless you disable multilibs with the --disable-multilib option. At present, long double multilibs are not built on big endian PowerPC Linux systems. If you are building multilibs, you will need to configure the compiler using the --with-system-zlib option.

      If you do not set the long double type explicitly, no multilibs will be generated.

      --enable-fdpic

      On SH Linux systems, generate ELF FDPIC code.

      --with-gmp=pathname
      --with-gmp-include=pathname
      --with-gmp-lib=pathname
      --with-mpfr=pathname
      --with-mpfr-include=pathname
      --with-mpfr-lib=pathname
      --with-mpc=pathname
      --with-mpc-include=pathname
      --with-mpc-lib=pathname

      If you want to build GCC but do not have the GMP library, the MPFR d1140 12 a1151 12 (‘--with-gmp=gmpinstalldir’, ‘--with-mpfr=mpfrinstalldir’, ‘--with-mpc=mpcinstalldir’). The --with-gmp=gmpinstalldir option is shorthand for --with-gmp-lib=gmpinstalldir/lib and --with-gmp-include=gmpinstalldir/include. Likewise the --with-mpfr=mpfrinstalldir option is shorthand for --with-mpfr-lib=mpfrinstalldir/lib and --with-mpfr-include=mpfrinstalldir/include, also the --with-mpc=mpcinstalldir option is shorthand for --with-mpc-lib=mpcinstalldir/lib and --with-mpc-include=mpcinstalldir/include. If these d1156 3 a1158 3 variable (LD_LIBRARY_PATH on GNU/Linux and Solaris systems).

      These flags are applicable to the host platform only. When building d1160 2 a1161 6

      --with-isl=pathname
      --with-isl-include=pathname
      --with-isl-lib=pathname

      If you do not have the isl library installed in a standard location and you d1163 4 a1166 4 installed (‘--with-isl=islinstalldir’). The --with-isl=islinstalldir option is shorthand for --with-isl-lib=islinstalldir/lib and --with-isl-include=islinstalldir/include. If this d1169 2 a1170 2

      These flags are applicable to the host platform only. When building d1172 2 a1173 4

      --with-stage1-ldflags=flags

      This option may be used to set linker flags to be used when linking d1175 2 a1176 2 --disable-bootstrap. If --with-stage1-libs is not set to a value, then the default is ‘-static-libstdc++ -static-libgcc’, if d1178 2 a1179 4

      --with-stage1-libs=libs

      This option may be used to set libraries to be used when linking stage 1 d1181 3 a1183 5 --disable-bootstrap.

      --with-boot-ldflags=flags

      This option may be used to set linker flags to be used when linking d1186 3 a1188 5 ‘-static-libstdc++ -static-libgcc’.

      --with-boot-libs=libs

      This option may be used to set libraries to be used when linking stage 2 d1190 2 a1191 4

      --with-debug-prefix-map=map

      Convert source directory names using -fdebug-prefix-map when d1193 4 a1196 6 list of maps of the form ‘old=new’.

      --enable-linker-build-id

      Tells GCC to pass --build-id option to the linker for all final links (links performed without the -r or --relocatable d1198 5 a1202 7 --enable-linker-build-id, but your linker does not support --build-id option, a warning is issued and the --enable-linker-build-id option is ignored. The default is off.

      --with-linker-hash-style=choice

      Tells GCC to pass --hash-style=choice option to the d1204 3 a1206 6 ‘sysv’, ‘gnu’, and ‘both’ where ‘sysv’ is the default.

      --enable-gnu-unique-object
      --disable-gnu-unique-object

      Tells GCC to use the gnu_unique_object relocation for C++ template d1210 2 a1211 4

      --with-diagnostics-color=choice

      Tells GCC to use choice as the default for -fdiagnostics-color= d1213 3 a1215 3 can be one of ‘never’, ‘auto’, ‘always’, and ‘auto-if-env’ where ‘auto’ is the default. ‘auto-if-env’ means that -fdiagnostics-color=auto will be the default if GCC_COLORS d1217 6 a1222 12 -fdiagnostics-color=never otherwise.

      --enable-lto
      --disable-lto

      Enable support for link-time optimization (LTO). This is enabled by default, and may be disabled using --disable-lto.

      --enable-linker-plugin-configure-flags=FLAGS
      --enable-linker-plugin-flags=FLAGS

      By default, linker plugins (such as the LTO plugin) are built for the d1227 2 a1228 2 (‘x86_64-unknown-linux-gnu’) host system, but have a 32-bit x86 GNU/Linux (‘i686-pc-linux-gnu’) linker executable (which is d1231 8 a1238 12

      % srcdir/configure \
          --host=x86_64-unknown-linux-gnu \
          --enable-linker-plugin-configure-flags=--host=i686-pc-linux-gnu \
          --enable-linker-plugin-flags='CC=gcc\ -m32\ -Wl,-rpath,[...]/i686-pc-linux-gnu/lib'
      
      --with-plugin-ld=pathname

      Enable an alternate linker to be used at link-time optimization (LTO) link time when -fuse-linker-plugin is enabled. d1240 4 a1243 7 version 2.20 or GNU ld starting with version 2.21. See -fuse-linker-plugin for details.

      --enable-canonical-system-headers
      --disable-canonical-system-headers

      Enable system header path canonicalization for libcpp. This can d1247 3 a1249 5 --disable-canonical-system-headers.

      --with-glibc-version=major.minor

      Tell GCC that when the GNU C Library (glibc) is used on the target it d1251 1 a1251 1 be detected from the C library’s header files, but this option may be d1254 3 a1256 3

      If GCC is configured with some multilibs that use glibc and some that do not, this option applies only to the multilibs that use glibc. d1259 4 a1262 8

      --enable-as-accelerator-for=target

      Build as offload target compiler. Specify offload host triple by target.

      --enable-offload-targets=target1[=path1],…,targetN[=pathN]

      Enable offloading to targets target1, …, targetN. d1265 1 a1265 6 specifying paths path1, …, pathN.

      % srcdir/configure \
          --enable-offload-target=i686-unknown-linux-gnu=/path/to/i686/compiler,x86_64-pc-linux-gnu
      
      d1267 4 a1270 1

      If ‘hsa’ is specified as one of the targets, the compiler will be d1273 3 a1275 7

      --with-hsa-runtime=pathname
      --with-hsa-runtime-include=pathname
      --with-hsa-runtime-lib=pathname

      If you configure GCC with HSA offloading but do not have the HSA d1278 1 a1278 1 --with-hsa-runtime=hsainstalldir option is a d1280 2 a1281 18 --with-hsa-runtime-lib=hsainstalldir/lib and --with-hsa-runtime-include=hsainstalldir/include.

      --enable-cet
      --disable-cet

      Enable building target run-time libraries with control-flow instrumentation, see -fcf-protection option. When --enable-cet is specified target libraries are configured to add -fcf-protection and, if needed, other target specific options to a set of building options.

      The option is disabled by default. When --enable-cet=auto is used, it is enabled on Linux/x86 if target binutils supports Intel CET instructions and disabled otherwise. In this case the target libraries are configured to get additional -fcf-protection option.

      d1284 2 a1285 2

      Cross-Compiler-Specific Options

      d1287 4 a1290 6

      --with-sysroot
      --with-sysroot=dir

      Tells GCC to consider dir as the root of a tree that contains (a subset of) the root filesystem of the target operating system. d1293 1 a1293 1 --sysroot=dir was added to the default options of the built d1295 5 a1299 5 install tree, unlike the options --with-headers and --with-libs that this option obsoletes. The default value, in case --with-sysroot is not given an argument, is ${gcc_tooldir}/sys-root. If the specified directory is a subdirectory of ${exec_prefix}, then it will be found relative to d1301 2 a1302 2

      This option affects the system root for the compiler used to build d1306 2 a1307 2

      If you specify the --with-native-system-header-dir=dirname d1309 8 a1316 11 native system headers rather than the default /usr/include.

      --with-build-sysroot
      --with-build-sysroot=dir

      Tells GCC to consider dir as the system root (see --with-sysroot) while building target libraries, instead of the directory specified with --with-sysroot. This option is only useful when you are already using --with-sysroot. You can use --with-build-sysroot when you are configuring with --prefix set to a directory that is different from the one in d1318 2 a1319 2

      This option affects the system root for the compiler used to build d1322 2 a1323 2

      If you specify the --with-native-system-header-dir=dirname d1325 4 a1328 7 native system headers rather than the default /usr/include.

      --with-headers
      --with-headers=dir

      Deprecated in favor of --with-sysroot. Specifies that target headers are available when building a cross compiler. d1330 5 a1334 5 files. These include files will be copied into the gcc install directory. This option with the dir argument is required when building a cross compiler, if prefix/target/sys-include doesn’t pre-exist. If prefix/target/sys-include does pre-exist, the dir argument may be omitted. fixincludes d1336 2 a1337 4

      --without-headers

      Tells GCC not use any target headers from a libc when building a cross d1340 2 a1341 5

      --with-libs
      --with-libs="dir1 dir2 … dirN"

      Deprecated in favor of --with-sysroot. d1343 1 a1343 1 libraries. These libraries will be copied into the gcc install d1346 2 a1347 4

      --with-newlib

      Specifies that ‘newlib’ is d1349 4 a1352 6 omitted from libgcc.a on the assumption that it will be provided by ‘newlib’.

      --with-avrlibc

      Specifies that ‘AVR-Libc’ is d1354 3 a1356 3 functions like __addsf3 to be omitted from libgcc.a on the assumption that it will be provided by libm.a. For more technical details, cf. PR54461. d1360 3 a1362 5

      --with-nds32-lib=library

      Specifies that library setting is used for building libgcc.a. Currently, the valid library is ‘newlib’ or ‘mculib’. d1364 2 a1365 4

      --with-build-time-tools=dir

      Specifies where to find the set of target tools (assembler, linker, etc.) d1369 3 a1371 3

      For example, on an ‘ia64-hp-hpux’ system, you may have the GNU assembler and linker in /usr/bin, and the native tools in a d1373 7 a1379 8 native tools in /usr/bin.

      When you use this option, you should ensure that dir includes ar, as, ld, nm, ranlib and strip if necessary, and possibly objdump. Otherwise, GCC may use an inconsistent set of tools.

      d1382 1 a1382 2

      Overriding configure test results

      d1385 2 a1386 2 configure test, for example in order to ease porting to a new system or work around a bug in a test. The toplevel configure d1388 3 a1390 5

      build_configargs

      The contents of this variable is passed to all build configure d1392 2 a1393 5

      host_configargs

      The contents of this variable is passed to all host configure d1395 2 a1396 5

      target_configargs

      The contents of this variable is passed to all target configure a1397 3

      d1399 4 a1402 2

      In order to avoid shell and make quoting issues for complex overrides, you can pass a setting for CONFIG_SITE and set d1404 2 a1405 3

      Objective-C-Specific Options

      d1408 3 a1410 4

      --enable-objc-gc

      Specify that an additional variant of the GNU Objective-C runtime library d1414 1 a1414 1 --enable-objc-gc=‘auto’ in which case the build of the d1417 2 a1418 6

      --with-target-bdw-gc=list
      --with-target-bdw-gc-include=list
      --with-target-bdw-gc-lib=list

      Specify search directories for the garbage collector header files and d1420 6 a1425 6 form ‘multilibdir=path’, where the default multilib key is named as ‘.’ (dot), or is omitted (e.g. ‘--with-target-bdw-gc=/opt/bdw-gc,32=/opt-bdw-gc32’).

      The options --with-target-bdw-gc-include and --with-target-bdw-gc-lib must always be specified together d1427 1 a1427 1 --with-target-bdw-gc. If --with-target-bdw-gc-include d1429 2 a1430 2 multilib is used (e.g. ‘--with-target-bdw-gc-include=/opt/bdw-gc/include’ ‘--with-target-bdw-gc-lib=/opt/bdw-gc/lib64,32=/opt-bdw-gc/lib32’). d1432 1 a1432 2 default locations.

      d1435 1 a1435 2

      a1436 10

      d1438 10 a1448 2 @ 1.7.2.1 log @Sync with HEAD, resolve a couple of conflicts @ text @d1 10 a10 3 Installing GCC d41 6 d48 2 a49 10

      Installing GCC

      d51 3 d55 2 a56 25

      Like most GNU software, GCC must be configured before it can be built. This document describes the recommended configuration procedure for both native and cross targets.

      We use srcdir to refer to the toplevel source directory for GCC; we use objdir to refer to the toplevel build/object directory.

      If you obtained the sources via SVN, srcdir must refer to the top gcc directory, the one where the MAINTAINERS file can be found, and not its gcc subdirectory, otherwise the build will fail.

      If either srcdir or objdir is located on an automounted NFS file system, the shell’s built-in pwd command will return d58 3 a60 3 problems. To avoid this issue, set the PWDCMD environment variable to an automounter-aware pwd command, e.g., pawd or ‘amq -w’, during the configuration and build d62 2 a63 2

      First, we highly recommend that GCC be built into a d66 1 a66 1 where srcdir == objdir should still work, but doesn’t d69 6 a74 6

      If you have previously built GCC in the same directory for a different target machine, do ‘make distclean’ to delete all files that might be invalid. One of the files this deletes is Makefile; if ‘make distclean’ complains that Makefile does not exist or issues a message like “don’t know how to make distclean” it probably d78 3 a80 3

      Second, when configuring a native system, either cc or gcc must be in your path or you must set CC in a82 1

      d84 1 a84 7

      To configure GCC:

      % mkdir objdir
      % cd objdir
      % srcdir/configure [options] [target]
      
      d86 5 a90 2

      Distributor options

      d95 3 a97 4

      --with-pkgversion=version

      Specify a string that identifies your package. You may wish d99 6 a104 8 included in the output of gcc --version. This suffix does not replace the default version string, only the ‘GCC’ part.

      The default value is ‘GCC’.

      --with-bugurl=url

      Specify the URL that users should visit if they wish to report a bug. a106 5

      The default value refers to the FSF’s GCC bug tracker.

      d108 8 a115 4

      Target specification

      • GCC has code to correctly determine the correct value for target d119 1 a119 1
      • target must be specified as --target=target d123 3 a125 4
      • Specifying just target instead of --target=target implies that the host defaults to target.
      d127 1 a127 2

      Options specification

      d130 2 a131 2 GCC. A list of supported options follows; ‘configure --help’ may list other options, but those not listed below may not d133 7 a139 8

      Note that each --enable option has a corresponding --disable option and that each --with option has a corresponding --without option.

      --prefix=dirname

      Specify the toplevel installation d142 3 a144 3 /usr/local.

      We highly recommend against dirname being the same or a d146 5 a150 5 beneath a user’s home directory tree, some shells will not expand dirname correctly if it contains the ‘~’ metacharacter; use $HOME instead.

      The following standard autoconf options are supported. Normally you d152 2 a153 3

      --exec-prefix=dirname

      Specify the toplevel installation directory for architecture-dependent d155 12 a166 20

      --bindir=dirname

      Specify the installation directory for the executables called by users (such as gcc and g++). The default is exec-prefix/bin.

      --libdir=dirname

      Specify the installation directory for object code libraries and internal data files of GCC. The default is exec-prefix/lib.

      --libexecdir=dirname

      Specify the installation directory for internal executables of GCC. The default is exec-prefix/libexec.

      --with-slibdir=dirname

      Specify the installation directory for the shared libgcc library. The d168 8 a175 14

      --datarootdir=dirname

      Specify the root of the directory tree for read-only architecture-independent data files referenced by GCC. The default is prefix/share.

      --infodir=dirname

      Specify the installation directory for documentation in info format. The default is datarootdir/info.

      --datadir=dirname

      Specify the installation directory for some architecture-independent d177 5 a181 9

      --docdir=dirname

      Specify the installation directory for documentation files (other than Info) for GCC. The default is datarootdir/doc.

      --htmldir=dirname

      Specify the installation directory for HTML documentation files. d183 2 a184 4

      --pdfdir=dirname

      Specify the installation directory for PDF documentation files. d186 3 a188 5

      --mandir=dirname

      Specify the installation directory for manual pages. The default is datarootdir/man. (Note that the manual pages are only extracts d192 2 a193 4

      --with-gxx-include-dir=dirname

      Specify d197 2 a198 4

      --with-specs=specs

      Specify additional command line driver SPECS. d200 2 a201 2 default without modifying the compiler’s source code, for instance --with-specs=%{!fcommon:%{!fno-common:-fno-common}}. a202 3

      d204 3 a206 3
      --program-prefix=prefix

      GCC supports some transformations of the names of its programs when d209 9 a217 13 --program-prefix=foo- would result in ‘gcc’ being installed as /usr/local/bin/foo-gcc.

      --program-suffix=suffix

      Appends suffix to the names of programs to install in bindir (see above). For example, specifying --program-suffix=-3.1 would result in ‘gcc’ being installed as /usr/local/bin/gcc-3.1.

      --program-transform-name=pattern

      Applies the ‘sed’ script pattern to be applied to the names d219 5 a223 5 consist of one or more basic ‘sed’ editing commands, separated by semicolons. For example, if you want the ‘gcc’ program name to be transformed to the installed program /usr/local/bin/myowngcc and the ‘g++’ program name to be transformed to /usr/local/bin/gspecial++ without changing other program names, d225 1 a225 1 --program-transform-name='s/^gcc$/myowngcc/; s/^g++$/gspecial++/' d227 2 a228 2

      All three options can be combined and used together, resulting in more d232 3 a234 3

      As currently implemented, this option only takes effect for native builds; cross compiler binaries’ names are not transformed even when a d236 2 a237 2

      For native builds, some of the installed programs are also installed d239 1 a239 1 ‘i686-pc-linux-gnu-gcc’. All of the above transformations happen d241 1 a241 1 --program-prefix=foo- and program-suffix=-3.1, the d243 3 a245 3 /usr/local/bin/i686-pc-linux-gnu-foo-gcc-3.1.

      As a last shortcoming, none of the installed Ada programs are d247 2 a248 4

      --with-local-prefix=dirname

      Specify the d250 6 a255 6 /usr/local. Specify this option if you want the compiler to search directory dirname/include for locally installed header files instead of /usr/local/include.

      You should specify --with-local-prefix only if your site has a different convention (not /usr/local) for where to put d257 4 a260 4

      The default value for --with-local-prefix is /usr/local regardless of the value of --prefix. Specifying --prefix has no effect on which directory GCC searches for d263 3 a265 3

      The purpose of --prefix is to specify where to install GCC. The local header files in /usr/local/include—if you put d268 4 a271 4 another directory which is based on the --prefix value.)

      Both the local-prefix include directory and the GCC-prefix include directory are part of GCC’s “system include” directories. Although these d277 2 a278 2

      Some autoconf macros add -I directory options to the d280 1 a280 1 packages’ headers are searched. When directory is one of GCC’s d285 3 a287 3

      GCC automatically searches for ordinary libraries using GCC_EXEC_PREFIX. Thus, when the same installation prefix is d291 3 a293 3 installed as a system compiler in /usr.

      Sites that need to install multiple versions of GCC may not want to d295 2 a296 2 --program-prefix, --program-suffix and --program-transform-name options to install multiple versions d298 1 a298 1 and the --with-local-prefix option to specify the location of the d301 9 a309 9 (e.g., with LIBRARY_PATH).

      The same value can be used for both --with-local-prefix and --prefix provided it is not /usr. This can be used to avoid the default search of /usr/local/include.

      Do not specify /usr as the --with-local-prefix! The directory you use for --with-local-prefix must not contain any of the system’s standard header files. If it did contain d312 3 a314 3 file corrections made by the fixincludes script.

      Indications are that people who use this option use it based on mistaken d318 3 a320 5

      --with-native-system-header-dir=dirname

      Specifies that dirname is the directory that contains native system header files, rather than /usr/include. This option is most useful d323 1 a323 1 --with-sysroot option and will cause GCC to search d325 2 a326 4

      --enable-shared[=package[,…]]

      Build shared versions of libraries, if shared libraries are supported on d329 2 a330 2

      If a list of packages is given as an argument, build shared libraries d333 10 a342 10 ‘libgcc’ (also known as ‘gcc’), ‘libstdc++’ (not ‘libstdc++-v3’), ‘libffi’, ‘zlib’, ‘boehm-gc’, ‘ada’, ‘libada’, ‘libjava’, ‘libgo’, and ‘libobjc’. Note ‘libiberty’ does not support shared libraries at all.

      Use --disable-shared to build only static libraries. Note that --disable-shared does not accept a list of package names as argument, only --enable-shared does.

      Contrast with --enable-host-shared, which affects host d344 2 a345 4

      --enable-host-shared

      Specify that the host code should be built into position-independent d348 4 a351 4

      This option is required when building the libgccjit.so library.

      Contrast with --enable-shared, which affects target d353 2 a354 4

      --with-gnu-as

      Specify that the compiler should assume that the d359 1 a359 1 configured with --with-gnu-as.) If you have more than one d361 4 a364 4 connection with --with-as=pathname or --with-build-time-tools=pathname.

      The following systems are the only ones where it makes a difference d366 10 a375 12 --with-gnu-as has no effect.

      • ‘hppa1.0-any-any’
      • ‘hppa1.1-any-any’
      • ‘sparc-sun-solaris2.any’
      • ‘sparc64-any-solaris2.any’
      --with-as=pathname

      Specify that the compiler should use the assembler pointed to by d378 4 a381 4

      • Unless GCC is being built with a cross compiler, check the libexec/gcc/target/version directory. libexec defaults to exec-prefix/libexec; d383 3 a385 3 defaults to /usr/local unless overridden by the --prefix=pathname switch described above. target is the target system triple, such as ‘sparc-sun-solaris2.7’, and d388 2 a389 2
      • If the target system is the same that you are building on, check operating system specific directories (e.g. /usr/ccs/bin on d392 1 a392 1
      • Check in the PATH for a tool whose name is prefixed by the d395 1 a395 1
      • Check in the PATH for a tool whose name is not prefixed by the d398 2 a399 2 the target as well).
      d401 1 a401 1

      You may want to use --with-as if no assembler d405 2 a406 4

      --with-gnu-ld

      Same as --with-gnu-as d408 2 a409 4

      --with-ld=pathname

      Same as --with-as d411 2 a412 4

      --with-stabs

      Specify that stabs debugging d415 2 a416 2

      On MIPS based systems and on Alphas, you must specify whether you want d421 6 a426 6

      Normally, GCC uses the ECOFF debugging format by default; if you prefer BSD stabs, specify --with-stabs when you configure GCC.

      No matter which default you choose when you configure GCC, the user can use the -gcoff and -gstabs+ options to specify explicitly d428 3 a430 3

      --with-stabs is meaningful on the ISC system on the 386, also, if --with-gas is used. It selects use of stabs debugging d433 2 a434 2

      --with-stabs is also meaningful on 386 systems running SVR4. It d440 2 a441 4

      --with-tls=dialect

      Specify the default TLS dialect, for systems were there is a choice. d445 2 a446 4

      --enable-multiarch

      Specify whether to enable or disable multiarch support. The default is d449 2 a450 2 and for cross builds configured with --with-sysroot, and without --with-native-system-header-dir. d453 3 a455 5

      --enable-sjlj-exceptions

      Force use of the setjmp/longjmp-based scheme for exceptions. ‘configure’ ordinarily picks the correct value based on the platform. d457 2 a458 4

      --enable-vtable-verify

      Specify whether to enable or disable the vtable verification feature. d463 1 a463 1 the verifier will call stub functions (in libstdc++ itself) and do nothing. d466 4 a469 6 still be built (see --disable-libvtv to turn off building libvtv). --disable-vtable-verify is the default.

      --disable-multilib

      Specify that multiple target d473 11 a483 18

      Some targets provide finer-grained control over which multilibs are built (e.g., --disable-softfloat):

      arm-*-*

      fpu, 26bit, underscore, interwork, biendian, nofmult.

      m68*-*-*

      softfloat, m68881, m68000, m68020.

      mips*-*-*

      single-float, biendian, softfloat.

      powerpc*-*-*, rs6000*-*-*

      aix64, pthread, softfloat, powercpu, powerpccpu, powerpcos, biendian, a484 3

      d486 3 a488 4
      --with-multilib-list=list
      --without-multilib-list

      Specify what multilibs to build. d490 3 a492 4

      arm*-*-*

      list is either default or aprofile. Specifying d500 2 a501 4

      sh*-*-*

      list is a comma separated list of CPU names. These must be of the d504 3 a506 3 these are handled by --with-endian.

      If list is empty, then there will be no multilibs for extra d508 4 a511 4

      As a special case, if an entry in the list starts with a ! (exclamation point), then it is added to the list of excluded multilibs. Entries of this sort should be compatible with ‘MULTILIB_EXCLUDES’ d513 3 a515 3

      If --with-multilib-list is not given, then a default set of multilibs is selected based on the value of --target. This is d518 2 a519 2

      Example 1: to configure a compiler for SH4A only, but supporting both d521 3 a523 5

      --with-cpu=sh4a --with-endian=little,big --with-multilib-list=
      

      Example 2: to configure a compiler for both SH4A and SH4AL-DSP, but with d525 4 a528 8

      --with-cpu=sh4a --with-endian=little,big \
      --with-multilib-list=sh4al,!mb/m4al
      
      x86-64-*-linux*

      list is a comma separated list of m32, m64 and d532 3 a534 4

      If --with-multilib-list is not given, then only 32-bit and 64-bit run-time libraries will be enabled.

      d537 1 a537 3
      --with-endian=endians

      Specify what endians to use. d539 7 a545 15

      endians may be one of the following:

      big

      Use big endian exclusively.

      little

      Use little endian exclusively.

      big,little

      Use big endian by default. Provide a multilib for little endian.

      little,big

      Use little endian by default. Provide a multilib for big endian.

      d548 1 a548 3
      --enable-threads

      Specify that the target d550 1 a550 1 library, and exception handling for other languages like C++ and Java. d552 2 a553 2

      In general, the best (and, in many cases, the only known) threading d556 7 a562 11 available for the system. In this case, --enable-threads is an alias for --enable-threads=single.

      --disable-threads

      Specify that threading support should be disabled for the system. This is an alias for --enable-threads=single.

      --enable-threads=lib

      Specify that d566 13 a578 35

      aix

      AIX thread support.

      dce

      DCE thread support.

      lynx

      LynxOS thread support.

      mipssde

      MIPS SDE thread support.

      no

      This is an alias for ‘single’.

      posix

      Generic POSIX/Unix98 thread support.

      rtems

      RTEMS thread support.

      single

      Disable thread support, should work for all platforms.

      tpf

      TPF thread support.

      vxworks

      VxWorks thread support.

      win32

      Microsoft Win32 API thread support.

      d581 1 a581 3
      --enable-tls

      Specify that the target supports TLS (Thread Local Storage). Usually d584 1 a584 1 --enable-tls or --disable-tls. This can happen if d587 6 a592 12

      --disable-tls

      Specify that the target does not support TLS. This is an alias for --enable-tls=no.

      --with-cpu=cpu
      --with-cpu-32=cpu
      --with-cpu-64=cpu

      Specify which cpu variant the compiler should generate code for by default. cpu will be used as the default value of the -mcpu= switch. d594 2 a595 2 PowerPC, and SPARC. It is mandatory for ARC. The --with-cpu-32 and --with-cpu-64 options specify separate default CPUs for d598 5 a602 16

      --with-schedule=cpu
      --with-arch=cpu
      --with-arch-32=cpu
      --with-arch-64=cpu
      --with-tune=cpu
      --with-tune-32=cpu
      --with-tune-64=cpu
      --with-abi=abi
      --with-fpu=type
      --with-float=type

      These configure options provide default values for the -mschedule=, -march=, -mtune=, -mabi=, and -mfpu= options and for -mhard-float or -msoft-float. As with --with-cpu, which switches will be accepted and acceptable values d604 2 a605 4

      --with-mode=mode

      Specify if the compiler should default to -marm or -mthumb. d607 2 a608 4

      --with-stack-offset=num

      This option sets the default for the -mstack-offset=num option, d611 4 a614 6

      --with-fpmath=isa

      This options sets -mfpmath=sse by default and specifies the default ISA for floating-point arithmetics. You can select either ‘sse’ which enables -msse2 or ‘avx’ which enables -mavx by default. d616 2 a617 4

      --with-fp-32=mode

      On MIPS targets, set the default value for the -mfp option when using d619 7 a625 13

      32

      Use the o32 FP32 ABI extension, as with the -mfp32 command-line option.

      xx

      Use the o32 FPXX ABI extension, as with the -mfpxx command-line option.

      64

      Use the o32 FP64 ABI extension, as with the -mfp64 command-line option.

      d627 1 a627 1

      In the absence of this configuration option the default is to use the o32 d629 2 a630 4

      --with-odd-spreg-32

      On MIPS targets, set the -modd-spreg option by default when using d632 2 a633 4

      --without-odd-spreg-32

      On MIPS targets, set the -mno-odd-spreg option by default when using d635 3 a637 5 --with-fp-32=64 in order to target the o32 FP64A ABI extension.

      --with-nan=encoding

      On MIPS targets, set the default encoding convention to use for the d640 5 a644 9

      legacy

      Use the legacy encoding, as with the -mnan=legacy command-line option.

      2008

      Use the 754-2008 encoding, as with the -mnan=2008 command-line option.

      d646 2 a647 2

      To use this configuration option you must have an assembler version installed that supports the -mnan= command-line option too. d649 5 a653 7 the legacy encoding, as when neither of the -mnan=2008 and -mnan=legacy command-line options has been used.

      --with-divide=type

      Specify how the compiler should generate code for checking for division by zero. This option is only supported on the MIPS target. d655 4 a658 8

      traps

      Division by zero checks use conditional traps (this is the default on systems that support conditional traps).

      breaks

      Division by zero checks use the break instruction.

      d661 4 a664 5
      --with-llsc

      On MIPS targets, make -mllsc the default when no -mno-llsc option is passed. This is the default for d667 11 a677 19

      --without-llsc

      On MIPS targets, make -mno-llsc the default when no -mllsc option is passed.

      --with-synci

      On MIPS targets, make -msynci the default when no -mno-synci option is passed.

      --without-synci

      On MIPS targets, make -mno-synci the default when no -msynci option is passed. This is the default.

      --with-mips-plt

      On MIPS targets, make use of copy relocations and PLTs. d681 3 a683 5

      --enable-__cxa_atexit

      Define if you want to use __cxa_atexit, rather than atexit, to register C++ destructors for local statics and global objects. d687 3 a689 5 -fuse-cxa-atexit to be passed by default.

      --enable-gnu-indirect-function

      Define if you want to enable the ifunc attribute. This option is d691 3 a693 5

      --enable-target-optspace

      Specify that target libraries should be optimized for code space instead of code speed. d695 5 a699 9

      --with-cpp-install-dir=dirname

      Specify that the user visible cpp program should be installed in prefix/dirname/cpp, in addition to bindir.

      --enable-comdat

      Enable COMDAT group support. This is primarily used to override the d701 2 a702 4

      --enable-initfini-array

      Force the use of sections .init_array and .fini_array d704 1 a704 1 destructors. Option --disable-initfini-array has the d708 2 a709 4

      --enable-link-mutex

      When building GCC, use a mutex to avoid linking the compilers for d712 3 a714 5

      --enable-maintainer-mode

      The build rules that regenerate the Autoconf and Automake output files as well as the GCC master message catalog gcc.pot are normally d717 1 a717 1 catalog, configuring with --enable-maintainer-mode will enable d720 3 a722 5

      --disable-bootstrap

      For a native build, the default configuration is to perform a 3-stage bootstrap of the compiler when ‘make’ is invoked, d724 4 a727 6 this process, you can configure with --disable-bootstrap.

      --enable-bootstrap

      In special cases, you may want to perform a 3-stage build even if the target and host triplets are different. d729 1 a729 1 the target (e.g. host is i686-linux, target is i486-linux). d731 3 a733 5 with --enable-bootstrap.

      --enable-generated-files-in-srcdir

      Neither the .c and .h files that are generated from Bison and flex nor the d739 2 a740 2

      If you configure with --enable-generated-files-in-srcdir then those d745 2 a746 4

      --enable-version-specific-runtime-libs

      Specify d748 2 a749 2 subdirectory (libdir/gcc) rather than the usual places. In addition, ‘libstdc++’’s include files will be installed into d751 1 a751 1 --with-gxx-include-dir=dirname. Using this option is d753 4 a756 6 parallel. This is currently supported by ‘libgfortran’, ‘libjava’, ‘libstdc++’, and ‘libobjc’.

      --with-aix-soname=‘aix’, ‘svr4’ or ‘both’

      Traditional AIX shared library versioning (versioned Shared Object d758 1 a758 1 ‘lib.a’) causes numerous headaches for package managers. However, d761 1 a761 1 where this is called the "SONAME". But as they prevent static linking, d763 20 a782 23 linker does search for ‘libNAME.so’ before ‘libNAME.a’ library filenames with the ‘-lNAME’ linker flag.

      For detailed information please refer to the AIX ld Command reference.

      As long as shared library creation is enabled, upon:

      --with-aix-soname=aix
      --with-aix-soname=both

      A (traditional AIX) Shared Archive Library file is created:

      • using the ‘libNAME.a’ filename scheme
      • with the Shared Object file as archive member named ‘libNAME.so.V’ (except for ‘libgcc_s’, where the Shared Object file is named ‘shr.o’ for backwards compatibility), which
        • - is used for runtime loading from inside the ‘libNAME.a’ file
        • - is used for dynamic loading via dlopen("libNAME.a(libNAME.so.V)", RTLD_MEMBER)
        • - is used for shared linking
        • - is used for static linking, so no separate Static Archive d784 12 a795 15
      --with-aix-soname=both
      --with-aix-soname=svr4

      A (second) Shared Archive Library file is created:

      • using the ‘libNAME.so.V’ filename scheme
      • with the Shared Object file as archive member named ‘shr.o’, which
        • - is created with the -G linker flag
        • - has the F_LOADONLY flag set
        • - is used for runtime loading from inside the ‘libNAME.so.V’ file
        • - is used for dynamic loading via dlopen("libNAME.so.V(shr.o)", d797 2 a798 2
      • with the Import File as archive member named ‘shr.imp’, d800 2 a801 2
        • - refers to ‘libNAME.so.V(shr.o)’ as the "SONAME", to be recorded d803 13 a815 13
        • - indicates whether ‘libNAME.so.V(shr.o)’ is 32 or 64 bit
        • - lists all the public symbols exported by ‘lib.so.V(shr.o)’, eventually decorated with the ‘weak’ Keyword
        • - is necessary for shared linking against ‘lib.so.V(shr.o)’

      A symbolic link using the ‘libNAME.so’ filename scheme is created:

      • pointing to the ‘libNAME.so.V’ Shared Archive Library file
      • to permit the ld Command to find ‘lib.so.V(shr.imp)’ via the ‘-lNAME’ argument (requires Runtime Linking to be enabled)
      • to permit dynamic loading of ‘lib.so.V(shr.o)’ without the need to specify the version number via dlopen("libNAME.so(shr.o)", d817 2 a818 3
      d820 11 a830 13

      As long as static library creation is enabled, upon:

      --with-aix-soname=svr4

      A Static Archive Library is created:

      • using the ‘libNAME.a’ filename scheme
      • with all the Static Object files as archive members, which
        • - are used for static linking
      d832 1 a832 1

      While the aix-soname=‘svr4’ option does not create Shared Object d839 2 a840 2

      WARNING: Creating Shared Object files with Runtime Linking d842 1 a842 1 requiring the use of either the -Wl,-bbigtoc linker flag (seen to d845 2 a846 2

      --with-aix-soname is currently supported by ‘libgcc_s’ only, so d848 4 a851 6

      Default is the traditional behavior --with-aix-soname=‘aix’.

      --enable-languages=lang1,lang2,…

      Specify that only a particular subset of compilers and d854 4 a857 5 gcc directory of your GCC source tree:

      grep ^language= */config-lang.in
      

      Currently, you can use any of the following: d859 2 a860 2 go, java, jit, lto, objc, obj-c++. Building the Ada compiler has special requirements, see below. d862 1 a862 1 default languages available in the gcc sub-tree will be configured. d864 1 a864 1 default language, but is built by default because --enable-lto is d866 2 a867 4

      --enable-stage1-languages=lang1,lang2,…

      Specify that a particular subset of compilers and their runtime d871 2 a872 2 --enable-languages, and the option all will select all of the languages enabled by --enable-languages. This option is d877 5 a881 7 specified languages with the stage-1 compiler by using make stage1-bubble all-target, or run the testsuite on the stage-1 compiler for the specified languages using make stage1-start check-gcc.

      --disable-libada

      Specify that the run-time libraries and tools used by GNAT should not d884 3 a886 5 do a ‘make -C gcc gnatlib_and_tools’.

      --disable-libsanitizer

      Specify that the run-time libraries for the various sanitizers should d888 2 a889 4

      --disable-libssp

      Specify that the run-time libraries for stack smashing protection d891 2 a892 4

      --disable-libquadmath

      Specify that the GCC quad-precision math library should not be built. d894 1 a894 1 the Fortran front end, unless --disable-libquadmath-support d896 2 a897 4

      --disable-libquadmath-support

      Specify that the Fortran front end and libgfortran do not add d899 2 a900 4

      --disable-libgomp

      Specify that the GNU Offloading and Multi Processing Runtime Library d902 2 a903 4

      --disable-libvtv

      Specify that the run-time libraries used by vtable verification d905 2 a906 4

      --with-dwarf2

      Specify that the compiler should d908 2 a909 4

      --with-advance-toolchain=at

      On 64-bit PowerPC Linux systems, configure the compiler to use the d915 2 a916 5

      --enable-targets=all
      --enable-targets=target_list

      Some GCC targets, e.g. powerpc64-linux, build bi-arch compilers. d918 1 a918 1 code. Typically, the corresponding 32-bit target, e.g. d922 1 a922 1 you are building a bi-arch or multi-arch binutils in a combined tree. d924 1 a924 1 defaulted to o32. d927 4 a930 8

      --enable-default-pie

      Turn on -fPIE and -pie by default.

      --enable-secureplt

      This option enables -msecure-plt by default for powerpc-linux. d932 4 a935 8

      --enable-default-ssp

      Turn on -fstack-protector-strong by default.

      --enable-cld

      This option enables -mcld by default for 32-bit x86 targets. d937 2 a938 6

      --enable-win32-registry
      --enable-win32-registry=key
      --disable-win32-registry

      The --enable-win32-registry option enables Microsoft Windows-hosted GCC a939 4

      HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\key
      
      d941 4 a944 2

      key defaults to GCC version number, and can be overridden by the --enable-win32-registry=key option. Vendors and distributors d948 1 a948 1 by default, and can be disabled by --disable-win32-registry d950 8 a957 15

      --nfp

      Specify that the machine does not have a floating point unit. This option only applies to ‘m68k-sun-sunosn’. On any other system, --nfp has no effect.

      --enable-werror
      --disable-werror
      --enable-werror=yes
      --enable-werror=no

      When you specify this option, it controls whether certain files in the compiler are built with -Werror in bootstrap stage2 and later. If you don’t specify it, -Werror is turned on for the main d959 1 a959 1 final releases. The specific files which get -Werror are d961 2 a962 5

      --enable-checking
      --enable-checking=list

      When you specify this option, the compiler is built to perform internal d966 3 a968 3 the compiler with GCC. This is ‘yes’ by default when building from SVN or snapshots, but ‘release’ for releases. The default for building the stage1 compiler is ‘yes’. More control d970 9 a978 9 checks available are ‘yes’ (most common checks ‘assert,misc,tree,gc,rtlflag,runtime’), ‘no’ (no checks at all), ‘all’ (all but ‘valgrind’), ‘release’ (cheapest checks ‘assert,runtime’) or ‘none’ (same as ‘no’). Individual checks can be enabled with these flags ‘assert’, ‘df’, ‘fold’, ‘gc’, ‘gcac’ ‘misc’, ‘rtl’, ‘rtlflag’, ‘runtime’, ‘tree’, and ‘valgrind’.

      The ‘valgrind’ check requires the external valgrind d980 3 a982 3 ‘df’, ‘rtl’, ‘gcac’ and ‘valgrind’ checks are very expensive. To disable all checking, ‘--disable-checking’ or ‘--enable-checking=none’ must be explicitly requested. Disabling d986 3 a988 7

      --disable-stage1-checking
      --enable-stage1-checking
      --enable-stage1-checking=list

      If no --enable-checking option is specified the stage1 compiler will be built with ‘yes’ checking enabled, otherwise d990 3 a992 3 --enable-checking. To build the stage1 compiler with different checking options use --enable-stage1-checking. The list of checking options is the same as for --enable-checking. d994 1 a994 1 with checking for stage1 enabled, you can use ‘--disable-stage1-checking’ d996 2 a997 5

      --enable-coverage
      --enable-coverage=level

      With this option, the compiler is built to collect self coverage d1001 1 a1001 1 not, values are ‘opt’ and ‘noopt’. For coverage analysis you d1005 2 a1006 4

      --enable-gather-detailed-mem-stats

      When this option is specified more detailed information on memory d1008 3 a1010 5 -fmem-report.

      --enable-valgrind-annotations

      Mark selected memory related operations in the compiler when run under d1012 2 a1013 5

      --enable-nls
      --disable-nls

      The --enable-nls option enables Native Language Support (NLS), d1016 6 a1021 10 canadian cross build. The --disable-nls option disables NLS.

      --with-included-gettext

      If NLS is enabled, the --with-included-gettext option causes the build procedure to prefer its copy of GNU gettext.

      --with-catgets

      If NLS is enabled, and if the host lacks gettext but has the d1023 8 a1030 12 ignores catgets and instead uses GCC’s copy of the GNU gettext library. The --with-catgets option causes the build procedure to use the host’s catgets in this situation.

      --with-libiconv-prefix=dir

      Search for libiconv header files in dir/include and libiconv library files in dir/lib.

      --enable-obsolete

      Enable configuration for an obsoleted system. If you attempt to d1034 2 a1035 2

      All support for systems which have been obsoleted in one release of GCC d1038 2 a1039 9

      --enable-decimal-float
      --enable-decimal-float=yes
      --enable-decimal-float=no
      --enable-decimal-float=bid
      --enable-decimal-float=dpd
      --disable-decimal-float

      Enable (or disable) support for the C decimal floating point extension d1044 2 a1045 2 ‘bid’ or ‘dpd’). The ‘bid’ (binary integer decimal) format is default on i386 and x86_64 systems, and the ‘dpd’ d1047 2 a1048 5

      --enable-fixed-point
      --disable-fixed-point

      Enable (or disable) support for C fixed-point arithmetic. d1052 2 a1053 4

      --with-long-double-128

      Specify if long double type should be 128-bit by default on selected d1055 1 a1055 1 long double will be by default 64-bit, the same as double type. d1059 4 a1062 16

      --enable-fdpic

      On SH Linux systems, generate ELF FDPIC code.

      --with-gmp=pathname
      --with-gmp-include=pathname
      --with-gmp-lib=pathname
      --with-mpfr=pathname
      --with-mpfr-include=pathname
      --with-mpfr-lib=pathname
      --with-mpc=pathname
      --with-mpc-include=pathname
      --with-mpc-lib=pathname

      If you want to build GCC but do not have the GMP library, the MPFR d1066 12 a1077 12 (‘--with-gmp=gmpinstalldir’, ‘--with-mpfr=mpfrinstalldir’, ‘--with-mpc=mpcinstalldir’). The --with-gmp=gmpinstalldir option is shorthand for --with-gmp-lib=gmpinstalldir/lib and --with-gmp-include=gmpinstalldir/include. Likewise the --with-mpfr=mpfrinstalldir option is shorthand for --with-mpfr-lib=mpfrinstalldir/lib and --with-mpfr-include=mpfrinstalldir/include, also the --with-mpc=mpcinstalldir option is shorthand for --with-mpc-lib=mpcinstalldir/lib and --with-mpc-include=mpcinstalldir/include. If these d1082 3 a1084 3 variable (LD_LIBRARY_PATH on GNU/Linux and Solaris systems).

      These flags are applicable to the host platform only. When building d1086 2 a1087 6

      --with-isl=pathname
      --with-isl-include=pathname
      --with-isl-lib=pathname

      If you do not have the isl library installed in a standard location and you d1089 4 a1092 4 installed (‘--with-isl=islinstalldir’). The --with-isl=islinstalldir option is shorthand for --with-isl-lib=islinstalldir/lib and --with-isl-include=islinstalldir/include. If this d1095 2 a1096 2

      These flags are applicable to the host platform only. When building d1098 2 a1099 4

      --with-stage1-ldflags=flags

      This option may be used to set linker flags to be used when linking d1101 2 a1102 2 --disable-bootstrap. If --with-stage1-libs is not set to a value, then the default is ‘-static-libstdc++ -static-libgcc’, if d1104 2 a1105 4

      --with-stage1-libs=libs

      This option may be used to set libraries to be used when linking stage 1 d1107 3 a1109 5 --disable-bootstrap.

      --with-boot-ldflags=flags

      This option may be used to set linker flags to be used when linking d1112 3 a1114 5 ‘-static-libstdc++ -static-libgcc’.

      --with-boot-libs=libs

      This option may be used to set libraries to be used when linking stage 2 d1116 2 a1117 4

      --with-debug-prefix-map=map

      Convert source directory names using -fdebug-prefix-map when d1119 4 a1122 6 list of maps of the form ‘old=new’.

      --enable-linker-build-id

      Tells GCC to pass --build-id option to the linker for all final links (links performed without the -r or --relocatable d1124 5 a1128 7 --enable-linker-build-id, but your linker does not support --build-id option, a warning is issued and the --enable-linker-build-id option is ignored. The default is off.

      --with-linker-hash-style=choice

      Tells GCC to pass --hash-style=choice option to the d1130 3 a1132 6 ‘sysv’, ‘gnu’, and ‘both’ where ‘sysv’ is the default.

      --enable-gnu-unique-object
      --disable-gnu-unique-object

      Tells GCC to use the gnu_unique_object relocation for C++ template d1136 2 a1137 4

      --with-diagnostics-color=choice

      Tells GCC to use choice as the default for -fdiagnostics-color= d1139 3 a1141 3 can be one of ‘never’, ‘auto’, ‘always’, and ‘auto-if-env’ where ‘auto’ is the default. ‘auto-if-env’ means that -fdiagnostics-color=auto will be the default if GCC_COLORS d1143 6 a1148 12 -fdiagnostics-color=never otherwise.

      --enable-lto
      --disable-lto

      Enable support for link-time optimization (LTO). This is enabled by default, and may be disabled using --disable-lto.

      --enable-linker-plugin-configure-flags=FLAGS
      --enable-linker-plugin-flags=FLAGS

      By default, linker plugins (such as the LTO plugin) are built for the d1153 2 a1154 2 (‘x86_64-unknown-linux-gnu’) host system, but have a 32-bit x86 GNU/Linux (‘i686-pc-linux-gnu’) linker executable (which is d1157 8 a1164 12

      % srcdir/configure \
          --host=x86_64-unknown-linux-gnu \
          --enable-linker-plugin-configure-flags=--host=i686-pc-linux-gnu \
          --enable-linker-plugin-flags='CC=gcc\ -m32\ -Wl,-rpath,[...]/i686-pc-linux-gnu/lib'
      
      --with-plugin-ld=pathname

      Enable an alternate linker to be used at link-time optimization (LTO) link time when -fuse-linker-plugin is enabled. d1166 4 a1169 7 version 2.20 or GNU ld starting with version 2.21. See -fuse-linker-plugin for details.

      --enable-canonical-system-headers
      --disable-canonical-system-headers

      Enable system header path canonicalization for libcpp. This can d1173 3 a1175 5 --disable-canonical-system-headers.

      --with-glibc-version=major.minor

      Tell GCC that when the GNU C Library (glibc) is used on the target it d1177 1 a1177 1 be detected from the C library’s header files, but this option may be d1180 3 a1182 3

      If GCC is configured with some multilibs that use glibc and some that do not, this option applies only to the multilibs that use glibc. d1185 4 a1188 8

      --enable-as-accelerator-for=target

      Build as offload target compiler. Specify offload host triple by target.

      --enable-offload-targets=target1[=path1],…,targetN[=pathN]

      Enable offloading to targets target1, …, targetN. d1191 1 a1191 6 specifying paths path1, …, pathN.

      % srcdir/configure \
          --enable-offload-target=i686-unknown-linux-gnu=/path/to/i686/compiler,x86_64-pc-linux-gnu
      
      d1193 4 a1196 1

      If ‘hsa’ is specified as one of the targets, the compiler will be d1199 3 a1201 7

      --with-hsa-runtime=pathname
      --with-hsa-runtime-include=pathname
      --with-hsa-runtime-lib=pathname

      If you configure GCC with HSA offloading but do not have the HSA d1204 1 a1204 1 --with-hsa-runtime=hsainstalldir option is a d1206 5 a1210 7 --with-hsa-runtime-lib=hsainstalldir/lib and --with-hsa-runtime-include=hsainstalldir/include.

      --with-hsa-kmt-lib=pathname

      If you configure GCC with HSA offloading but do not have the HSA d1212 1 a1212 2 explicitly specify the directory where it resides.

      d1215 2 a1216 2

      Cross-Compiler-Specific Options

      d1218 4 a1221 6

      --with-sysroot
      --with-sysroot=dir

      Tells GCC to consider dir as the root of a tree that contains (a subset of) the root filesystem of the target operating system. d1224 1 a1224 1 --sysroot=dir was added to the default options of the built d1226 5 a1230 5 install tree, unlike the options --with-headers and --with-libs that this option obsoletes. The default value, in case --with-sysroot is not given an argument, is ${gcc_tooldir}/sys-root. If the specified directory is a subdirectory of ${exec_prefix}, then it will be found relative to d1232 2 a1233 2

      This option affects the system root for the compiler used to build d1237 2 a1238 2

      If you specify the --with-native-system-header-dir=dirname d1240 8 a1247 11 native system headers rather than the default /usr/include.

      --with-build-sysroot
      --with-build-sysroot=dir

      Tells GCC to consider dir as the system root (see --with-sysroot) while building target libraries, instead of the directory specified with --with-sysroot. This option is only useful when you are already using --with-sysroot. You can use --with-build-sysroot when you are configuring with --prefix set to a directory that is different from the one in d1249 2 a1250 2

      This option affects the system root for the compiler used to build d1253 2 a1254 2

      If you specify the --with-native-system-header-dir=dirname d1256 4 a1259 7 native system headers rather than the default /usr/include.

      --with-headers
      --with-headers=dir

      Deprecated in favor of --with-sysroot. Specifies that target headers are available when building a cross compiler. d1261 5 a1265 5 files. These include files will be copied into the gcc install directory. This option with the dir argument is required when building a cross compiler, if prefix/target/sys-include doesn’t pre-exist. If prefix/target/sys-include does pre-exist, the dir argument may be omitted. fixincludes d1267 2 a1268 4

      --without-headers

      Tells GCC not use any target headers from a libc when building a cross d1271 2 a1272 5

      --with-libs
      --with-libs="dir1 dir2 … dirN"

      Deprecated in favor of --with-sysroot. d1274 1 a1274 1 libraries. These libraries will be copied into the gcc install d1277 2 a1278 4

      --with-newlib

      Specifies that ‘newlib’ is d1280 4 a1283 6 omitted from libgcc.a on the assumption that it will be provided by ‘newlib’.

      --with-avrlibc

      Specifies that ‘AVR-Libc’ is d1285 3 a1287 3 functions like __addsf3 to be omitted from libgcc.a on the assumption that it will be provided by libm.a. For more technical details, cf. PR54461. d1291 3 a1293 5

      --with-nds32-lib=library

      Specifies that library setting is used for building libgcc.a. Currently, the valid library is ‘newlib’ or ‘mculib’. d1295 2 a1296 4

      --with-build-time-tools=dir

      Specifies where to find the set of target tools (assembler, linker, etc.) d1300 3 a1302 3

      For example, on an ‘ia64-hp-hpux’ system, you may have the GNU assembler and linker in /usr/bin, and the native tools in a d1304 7 a1310 8 native tools in /usr/bin.

      When you use this option, you should ensure that dir includes ar, as, ld, nm, ranlib and strip if necessary, and possibly objdump. Otherwise, GCC may use an inconsistent set of tools.

      d1313 1 a1313 2

      Overriding configure test results

      d1316 2 a1317 2 configure test, for example in order to ease porting to a new system or work around a bug in a test. The toplevel configure d1319 3 a1321 5

      build_configargs

      The contents of this variable is passed to all build configure d1323 2 a1324 5

      host_configargs

      The contents of this variable is passed to all host configure d1326 2 a1327 5

      target_configargs

      The contents of this variable is passed to all target configure a1328 3

      d1330 4 a1333 2

      In order to avoid shell and make quoting issues for complex overrides, you can pass a setting for CONFIG_SITE and set d1335 2 a1336 3

      Java-Specific Options

      d1339 3 a1341 4

      --disable-libgcj

      Specify that the run-time libraries d1343 1 a1343 1 to use GCJ with some other run-time, or you’re going to install it d1346 2 a1347 2 libraries will be enabled too, unless they’re known to not work on the target platform. If GCJ is enabled but ‘libgcj’ isn’t built, you d1349 8 a1356 5 configure.ac so that ‘libgcj’ is enabled by default on this platform, you may use --enable-libgcj to override the default.

      d1358 5 a1362 11

      The following options apply to building ‘libgcj’.

      General Options

      --enable-java-maintainer-mode

      By default the ‘libjava’ build will not attempt to compile the .java source files to .class. Instead, it will use the .class files from the source tree. If you use this option you must have executables named ecj1 and gjavah in your path d1364 10 a1373 14 modify any .java files in libjava.

      --with-java-home=dirname

      This ‘libjava’ option overrides the default value of the ‘java.home’ system property. It is also used to set ‘sun.boot.class.path’ to dirname/lib/rt.jar. By default ‘java.home’ is set to prefix and ‘sun.boot.class.path’ to datadir/java/libgcj-version.jar.

      --with-ecj-jar=filename

      This option can be used to specify the location of an external jar d1375 3 a1377 3 version of this compiler is used by gcj to parse .java source files. If this option is given, the ‘libjava’ build will create and install an ecj1 executable d1379 8 a1386 8

      If this option is not given, but an ecj.jar file is found in the topmost source tree at configure time, then the ‘libgcj’ build will create and install ecj1, and will also install the discovered ecj.jar into a suitable place in the install tree.

      If ecj1 is not installed, then the user will have to supply one on his path in order for gcj to properly parse .java d1389 5 a1393 9

      --disable-getenv-properties

      Don’t set system properties from GCJ_PROPERTIES.

      --enable-hash-synchronization

      Use a global hash table for monitor locks. Ordinarily, ‘libgcj’’s ‘configure’ script automatically makes d1396 2 a1397 4

      --enable-interpreter

      Enable the Java interpreter. The interpreter is automatically d1400 3 a1402 5 (using --disable-interpreter).

      --disable-java-net

      Disable java.net. This disables the native part of java.net only, d1404 6 a1409 10

      --disable-jvmpi

      Disable JVMPI support.

      --disable-libgcj-bc

      Disable BC ABI compilation of certain parts of libgcj. By default, some portions of libgcj are compiled with -findirect-dispatch and -fno-indirect-classes, allowing them to be overridden at d1411 2 a1412 2

      If --disable-libgcj-bc is specified, libgcj is built without d1416 2 a1417 4

      --enable-reduced-reflection

      Build most of libgcj with -freduced-reflection. This reduces d1422 11 a1432 19

      --with-ecos

      Enable runtime eCos target support.

      --without-libffi

      Don’t use ‘libffi’. This will disable the interpreter and JNI support as well, as these require ‘libffi’ to work.

      --enable-libgcj-debug

      Enable runtime debugging code.

      --enable-libgcj-multifile

      If specified, causes all .java source files to be compiled into .class files in one invocation of ‘gcj’. This can speed up build time, but is more d1434 8 a1441 14 disabled, ‘gcj’ is invoked once for each .java file to compile into a .class file.

      --with-libiconv-prefix=DIR

      Search for libiconv in DIR/include and DIR/lib.

      --with-system-zlib

      Use installed ‘zlib’ rather than that included with GCC.

      --with-win32-nlsapi=ansi, unicows or unicode

      Indicates how MinGW ‘libgcj’ translates between UNICODE d1443 2 a1444 4

      --enable-java-home

      If enabled, this creates a JPackage compatible SDK environment during install. d1447 2 a1448 4

      --with-arch-directory=ARCH

      Specifies the name to use for the jre/lib/ARCH directory in the SDK d1451 5 a1455 9

      --with-os-directory=DIR

      Specifies the OS directory for the SDK include directory. This is set to auto detect, and is typically ’linux’.

      --with-origin-name=NAME

      Specifies the JPackage origin name. This defaults to the ’gcj’ in d1457 9 a1465 17

      --with-arch-suffix=SUFFIX

      Specifies the suffix for the sdk directory. Defaults to the empty string. Examples include ’.x86_64’ in ’java-1.5.0-gcj-1.5.0.0.x86_64’.

      --with-jvm-root-dir=DIR

      Specifies where to install the SDK. Default is $(prefix)/lib/jvm.

      --with-jvm-jar-dir=DIR

      Specifies where to install jars. Default is $(prefix)/lib/jvm-exports.

      --with-python-dir=DIR

      Specifies where to install the Python modules used for aot-compile. DIR should d1470 6 a1475 12

      --enable-aot-compile-rpm

      Adds aot-compile-rpm to the list of installed scripts.

      --enable-browser-plugin

      Build the gcjwebplugin web browser plugin.

      --enable-static-libjava

      Build static libraries in libjava. The default is to only build shared d1477 3 a1479 4

      ansi

      Use the single-byte char and the Win32 A functions natively, d1482 6 a1487 8

      unicows

      Use the WCHAR and Win32 W functions natively. Adds -lunicows to libgcj.spec to link with ‘libunicows’. unicows.dll needs to be deployed on Microsoft Windows 9X machines running built executables. libunicows.a, an open-source import library around Microsoft’s unicows.dll, is obtained from d1489 5 a1493 8 on getting unicows.dll from Microsoft.

      unicode

      Use the WCHAR and Win32 W functions natively. Does not add -lunicows to libgcj.spec. The built executables will only run on Microsoft Windows NT and above.

      d1495 1 a1495 5

      AWT-Specific Options

      d1497 1 a1497 42
      --with-x

      Use the X Window System.

      --enable-java-awt=PEER(S)

      Specifies the AWT peer library or libraries to build alongside ‘libgcj’. If this option is unspecified or disabled, AWT will be non-functional. Current valid values are gtk and xlib. Multiple libraries should be separated by a comma (i.e. --enable-java-awt=gtk,xlib).

      --enable-gtk-cairo

      Build the cairo Graphics2D implementation on GTK.

      --enable-java-gc=TYPE

      Choose garbage collector. Defaults to boehm if unspecified.

      --disable-gtktest

      Do not try to compile and run a test GTK+ program.

      --disable-glibtest

      Do not try to compile and run a test GLIB program.

      --with-libart-prefix=PFX

      Prefix where libart is installed (optional).

      --with-libart-exec-prefix=PFX

      Exec prefix where libart is installed (optional).

      --disable-libarttest

      Do not try to compile and run a test libart program.

      d1499 2 d1502 5 a1506 4

      Return to the GCC Installation page

      d1508 1 d1510 1 d1512 1 d1514 1 d1516 1 d1518 1 d1520 1 d1522 1 d1524 2 d1527 10 a1537 2 @ 1.7.2.2 log @Sync with HEAD @ text @d1 3 a3 10 Installing GCC: Configuration d62 26 a87 4

      Installing GCC: Configuration

      Like most GNU software, GCC must be configured before it can be built. d90 2 a91 2

      We use srcdir to refer to the toplevel source directory for d93 7 a99 7

      If you obtained the sources via SVN, srcdir must refer to the top gcc directory, the one where the MAINTAINERS file can be found, and not its gcc subdirectory, otherwise the build will fail.

      If either srcdir or objdir is located on an automounted NFS file system, the shell's built-in pwd command will return d101 3 a103 3 problems. To avoid this issue, set the PWDCMD environment variable to an automounter-aware pwd command, e.g., pawd or ‘amq -w’, during the configuration and build d105 2 a106 2

      First, we highly recommend that GCC be built into a d109 1 a109 1 where srcdir == objdir should still work, but doesn't d112 6 a117 6

      If you have previously built GCC in the same directory for a different target machine, do ‘make distclean’ to delete all files that might be invalid. One of the files this deletes is Makefile; if ‘make distclean’ complains that Makefile does not exist or issues a message like “don't know how to make distclean” it probably d121 3 a123 3

      Second, when configuring a native system, either cc or gcc must be in your path or you must set CC in d126 1 d128 7 a134 1

      To configure GCC: d136 2 a137 5

           % mkdir objdir
           % cd objdir
           % srcdir/configure [options] [target]
      

      Distributor options

      d142 4 a145 3
      --with-pkgversion=version
      Specify a string that identifies your package. You may wish d147 8 a154 6 included in the output of gcc --version. This suffix does not replace the default version string, only the ‘GCC’ part.

      The default value is ‘GCC’.

      --with-bugurl=url
      Specify the URL that users should visit if they wish to report a bug. d157 5 d163 4 a166 8

      The default value refers to the FSF's GCC bug tracker.

      Target specification

      • GCC has code to correctly determine the correct value for target d170 1 a170 1
      • target must be specified as --target=target d174 4 a177 3
      • Specifying just target instead of --target=target implies that the host defaults to target.
      d179 2 a180 1

      Options specification

      d183 2 a184 2 GCC. A list of supported options follows; ‘configure --help’ may list other options, but those not listed below may not d186 8 a193 7

      Note that each --enable option has a corresponding --disable option and that each --with option has a corresponding --without option.

      --prefix=dirname
      Specify the toplevel installation d196 3 a198 3 /usr/local.

      We highly recommend against dirname being the same or a d200 5 a204 5 beneath a user's home directory tree, some shells will not expand dirname correctly if it contains the ‘~’ metacharacter; use $HOME instead.

      The following standard autoconf options are supported. Normally you d206 3 a208 2

      --exec-prefix=dirname
      Specify the toplevel installation directory for architecture-dependent d210 20 a229 12
      --bindir=dirname
      Specify the installation directory for the executables called by users (such as gcc and g++). The default is exec-prefix/bin.
      --libdir=dirname
      Specify the installation directory for object code libraries and internal data files of GCC. The default is exec-prefix/lib.
      --libexecdir=dirname
      Specify the installation directory for internal executables of GCC. The default is exec-prefix/libexec.
      --with-slibdir=dirname
      Specify the installation directory for the shared libgcc library. The d231 14 a244 8
      --datarootdir=dirname
      Specify the root of the directory tree for read-only architecture-independent data files referenced by GCC. The default is prefix/share.
      --infodir=dirname
      Specify the installation directory for documentation in info format. The default is datarootdir/info.
      --datadir=dirname
      Specify the installation directory for some architecture-independent d246 9 a254 5
      --docdir=dirname
      Specify the installation directory for documentation files (other than Info) for GCC. The default is datarootdir/doc.
      --htmldir=dirname
      Specify the installation directory for HTML documentation files. d256 4 a259 2
      --pdfdir=dirname
      Specify the installation directory for PDF documentation files. d261 5 a265 3
      --mandir=dirname
      Specify the installation directory for manual pages. The default is datarootdir/man. (Note that the manual pages are only extracts d269 4 a272 2
      --with-gxx-include-dir=dirname
      Specify d276 4 a279 2
      --with-specs=specs
      Specify additional command line driver SPECS. d281 2 a282 2 default without modifying the compiler's source code, for instance --with-specs=%{!fcommon:%{!fno-common:-fno-common}}. d284 3 d288 3 a290 3

      --program-prefix=prefix
      GCC supports some transformations of the names of its programs when d293 13 a305 9 --program-prefix=foo- would result in ‘gcc’ being installed as /usr/local/bin/foo-gcc.
      --program-suffix=suffix
      Appends suffix to the names of programs to install in bindir (see above). For example, specifying --program-suffix=-3.1 would result in ‘gcc’ being installed as /usr/local/bin/gcc-3.1.
      --program-transform-name=pattern
      Applies the ‘sed’ script pattern to be applied to the names d307 5 a311 5 consist of one or more basic ‘sed’ editing commands, separated by semicolons. For example, if you want the ‘gcc’ program name to be transformed to the installed program /usr/local/bin/myowngcc and the ‘g++’ program name to be transformed to /usr/local/bin/gspecial++ without changing other program names, d313 1 a313 1 --program-transform-name='s/^gcc$/myowngcc/; s/^g++$/gspecial++/' d315 2 a316 2

      All three options can be combined and used together, resulting in more d320 3 a322 3

      As currently implemented, this option only takes effect for native builds; cross compiler binaries' names are not transformed even when a d324 2 a325 2

      For native builds, some of the installed programs are also installed d327 1 a327 1 ‘i686-pc-linux-gnu-gcc’. All of the above transformations happen d329 1 a329 1 --program-prefix=foo- and program-suffix=-3.1, the d331 3 a333 3 /usr/local/bin/i686-pc-linux-gnu-foo-gcc-3.1.

      As a last shortcoming, none of the installed Ada programs are d335 4 a338 2

      --with-local-prefix=dirname
      Specify the d340 6 a345 6 /usr/local. Specify this option if you want the compiler to search directory dirname/include for locally installed header files instead of /usr/local/include.

      You should specify --with-local-prefix only if your site has a different convention (not /usr/local) for where to put d347 4 a350 4

      The default value for --with-local-prefix is /usr/local regardless of the value of --prefix. Specifying --prefix has no effect on which directory GCC searches for d353 3 a355 3

      The purpose of --prefix is to specify where to install GCC. The local header files in /usr/local/include—if you put d358 4 a361 4 another directory which is based on the --prefix value.)

      Both the local-prefix include directory and the GCC-prefix include directory are part of GCC's “system include” directories. Although these d367 2 a368 2

      Some autoconf macros add -I directory options to the d370 1 a370 1 packages' headers are searched. When directory is one of GCC's d375 3 a377 3

      GCC automatically searches for ordinary libraries using GCC_EXEC_PREFIX. Thus, when the same installation prefix is d381 3 a383 3 installed as a system compiler in /usr.

      Sites that need to install multiple versions of GCC may not want to d385 2 a386 2 --program-prefix, --program-suffix and --program-transform-name options to install multiple versions d388 1 a388 1 and the --with-local-prefix option to specify the location of the d391 9 a399 9 (e.g., with LIBRARY_PATH).

      The same value can be used for both --with-local-prefix and --prefix provided it is not /usr. This can be used to avoid the default search of /usr/local/include.

      Do not specify /usr as the --with-local-prefix! The directory you use for --with-local-prefix must not contain any of the system's standard header files. If it did contain d402 3 a404 3 file corrections made by the fixincludes script.

      Indications are that people who use this option use it based on mistaken d408 5 a412 6

      --with-gcc-major-version-only
      Specifies that GCC should use only the major number rather than major.minor.patchlevel in filesystem paths.
      --with-native-system-header-dir=dirname
      Specifies that dirname is the directory that contains native system header files, rather than /usr/include. This option is most useful d415 1 a415 1 --with-sysroot option and will cause GCC to search d417 4 a420 2
      --enable-shared[=package[,...]]
      Build shared versions of libraries, if shared libraries are supported on d423 2 a424 2

      If a list of packages is given as an argument, build shared libraries d427 10 a436 10 ‘libgcc’ (also known as ‘gcc’), ‘libstdc++’ (not ‘libstdc++-v3’), ‘libffi’, ‘zlib’, ‘boehm-gc’, ‘ada’, ‘libada’, ‘libgo’, and ‘libobjc’. Note ‘libiberty’ does not support shared libraries at all.

      Use --disable-shared to build only static libraries. Note that --disable-shared does not accept a list of package names as argument, only --enable-shared does.

      Contrast with --enable-host-shared, which affects host d438 4 a441 2

      --enable-host-shared
      Specify that the host code should be built into position-independent d444 4 a447 4

      This option is required when building the libgccjit.so library.

      Contrast with --enable-shared, which affects target d449 4 a452 2

      --with-gnu-as
      Specify that the compiler should assume that the d457 1 a457 1 configured with --with-gnu-as.) If you have more than one d459 4 a462 4 connection with --with-as=pathname or --with-build-time-tools=pathname.

      The following systems are the only ones where it makes a difference d464 12 a475 10 --with-gnu-as has no effect.

      • ‘hppa1.0-any-any’
      • ‘hppa1.1-any-any’
      • ‘sparc-sun-solaris2.any’
      • ‘sparc64-any-solaris2.any’

      --with-as=pathname
      Specify that the compiler should use the assembler pointed to by d478 4 a481 4
      • Unless GCC is being built with a cross compiler, check the libexec/gcc/target/version directory. libexec defaults to exec-prefix/libexec; d483 3 a485 3 defaults to /usr/local unless overridden by the --prefix=pathname switch described above. target is the target system triple, such as ‘sparc-sun-solaris2.7’, and d488 2 a489 2
      • If the target system is the same that you are building on, check operating system specific directories (e.g. /usr/ccs/bin on d492 1 a492 1
      • Check in the PATH for a tool whose name is prefixed by the d495 1 a495 1
      • Check in the PATH for a tool whose name is not prefixed by the d498 2 a499 2 the target as well).
      d501 1 a501 1

      You may want to use --with-as if no assembler d505 4 a508 2

      --with-gnu-ld
      Same as --with-gnu-as d510 4 a513 2
      --with-ld=pathname
      Same as --with-as d515 4 a518 2
      --with-stabs
      Specify that stabs debugging d521 2 a522 2

      On MIPS based systems and on Alphas, you must specify whether you want d527 6 a532 6

      Normally, GCC uses the ECOFF debugging format by default; if you prefer BSD stabs, specify --with-stabs when you configure GCC.

      No matter which default you choose when you configure GCC, the user can use the -gcoff and -gstabs+ options to specify explicitly d534 3 a536 3

      --with-stabs is meaningful on the ISC system on the 386, also, if --with-gas is used. It selects use of stabs debugging d539 2 a540 2

      --with-stabs is also meaningful on 386 systems running SVR4. It d546 4 a549 2

      --with-tls=dialect
      Specify the default TLS dialect, for systems were there is a choice. d553 4 a556 2
      --enable-multiarch
      Specify whether to enable or disable multiarch support. The default is d559 2 a560 2 and for cross builds configured with --with-sysroot, and without --with-native-system-header-dir. d563 5 a567 3
      --enable-sjlj-exceptions
      Force use of the setjmp/longjmp-based scheme for exceptions. ‘configure’ ordinarily picks the correct value based on the platform. d569 4 a572 2
      --enable-vtable-verify
      Specify whether to enable or disable the vtable verification feature. d577 1 a577 1 the verifier will call stub functions (in libstdc++ itself) and do nothing. d580 6 a585 4 still be built (see --disable-libvtv to turn off building libvtv). --disable-vtable-verify is the default.
      --disable-multilib
      Specify that multiple target d589 18 a606 11

      Some targets provide finer-grained control over which multilibs are built (e.g., --disable-softfloat):

      arm-*-*
      fpu, 26bit, underscore, interwork, biendian, nofmult.
      m68*-*-*
      softfloat, m68881, m68000, m68020.
      mips*-*-*
      single-float, biendian, softfloat.
      powerpc*-*-*, rs6000*-*-*
      aix64, pthread, softfloat, powercpu, powerpccpu, powerpcos, biendian, d608 3 d612 20 a631 55

      --with-multilib-list=list
      --without-multilib-list
      Specify what multilibs to build. list is a comma separated list of values, possibly consisting of a single value. Currently only implemented for arm*-*-*, sh*-*-* and x86-64-*-linux*. The accepted values and meaning for each target is given below.
      arm*-*-*
      list is one ofdefault, aprofile or rmprofile. Specifying default is equivalent to omitting this option, ie. only the default runtime library will be enabled. Specifying aprofile or rmprofile builds multilibs for a combination of ISA, architecture, FPU available and floating-point ABI.

      The table below gives the combination of ISAs, architectures, FPUs and floating-point ABIs for which multilibs are built for each accepted value.

      Option aprofile rmprofile
      ISAs -marm and -mthumb -mthumb
      Architectures





      default architecture
      -march=armv7-a
      -march=armv7ve
      -march=armv8-a


      default architecture
      -march=armv6s-m
      -march=armv7-m
      -march=armv7e-m
      -march=armv8-m.base
      -march=armv8-m.main
      -march=armv7
      FPUs




      none
      -mfpu=vfpv3-d16
      -mfpu=neon
      -mfpu=vfpv4-d16
      -mfpu=neon-vfpv4
      -mfpu=neon-fp-armv8
      none
      -mfpu=vfpv3-d16
      -mfpu=fpv4-sp-d16
      -mfpu=fpv5-sp-d16
      -mfpu=fpv5-d16

      floating-point ABIs

      -mfloat-abi=soft
      -mfloat-abi=softfp
      -mfloat-abi=hard
      -mfloat-abi=soft
      -mfloat-abi=softfp
      -mfloat-abi=hard

      sh*-*-*
      list is a comma separated list of CPU names. These must be of the d634 3 a636 3 these are handled by --with-endian.

      If list is empty, then there will be no multilibs for extra d638 4 a641 4

      As a special case, if an entry in the list starts with a ! (exclamation point), then it is added to the list of excluded multilibs. Entries of this sort should be compatible with ‘MULTILIB_EXCLUDES’ d643 3 a645 3

      If --with-multilib-list is not given, then a default set of multilibs is selected based on the value of --target. This is d648 6 d655 1 a655 5

      Example 1: to configure a compiler for SH4A only, but supporting both endians, with little endian being the default:

                     --with-cpu=sh4a --with-endian=little,big --with-multilib-list=
      

      Example 2: to configure a compiler for both SH4A and SH4AL-DSP, but with d657 8 a664 4

                     --with-cpu=sh4a --with-endian=little,big \
                     --with-multilib-list=sh4al,!mb/m4al
      

      x86-64-*-linux*
      list is a comma separated list of m32, m64 and d668 4 a671 3

      If --with-multilib-list is not given, then only 32-bit and 64-bit run-time libraries will be enabled. d674 3 a676 1

      --with-endian=endians
      Specify what endians to use. d678 15 a692 7

      endians may be one of the following:

      big
      Use big endian exclusively.
      little
      Use little endian exclusively.
      big,little
      Use big endian by default. Provide a multilib for little endian.
      little,big
      Use little endian by default. Provide a multilib for big endian. d695 3 a697 1
      --enable-threads
      Specify that the target d699 1 a699 1 library, and exception handling for other languages like C++. d701 2 a702 2

      In general, the best (and, in many cases, the only known) threading d705 11 a715 7 available for the system. In this case, --enable-threads is an alias for --enable-threads=single.

      --disable-threads
      Specify that threading support should be disabled for the system. This is an alias for --enable-threads=single.
      --enable-threads=lib
      Specify that d718 36 a753 14 like C++. The possibilities for lib are:
      aix
      AIX thread support.
      dce
      DCE thread support.
      lynx
      LynxOS thread support.
      mipssde
      MIPS SDE thread support.
      no
      This is an alias for ‘single’.
      posix
      Generic POSIX/Unix98 thread support.
      rtems
      RTEMS thread support.
      single
      Disable thread support, should work for all platforms.
      tpf
      TPF thread support.
      vxworks
      VxWorks thread support.
      win32
      Microsoft Win32 API thread support. d756 3 a758 1
      --enable-tls
      Specify that the target supports TLS (Thread Local Storage). Usually d761 1 a761 1 --enable-tls or --disable-tls. This can happen if d764 12 a775 6
      --disable-tls
      Specify that the target does not support TLS. This is an alias for --enable-tls=no.
      --with-cpu=cpu
      --with-cpu-32=cpu
      --with-cpu-64=cpu
      Specify which cpu variant the compiler should generate code for by default. cpu will be used as the default value of the -mcpu= switch. d777 2 a778 2 PowerPC, and SPARC. It is mandatory for ARC. The --with-cpu-32 and --with-cpu-64 options specify separate default CPUs for d781 16 a796 5
      --with-schedule=cpu
      --with-arch=cpu
      --with-arch-32=cpu
      --with-arch-64=cpu
      --with-tune=cpu
      --with-tune-32=cpu
      --with-tune-64=cpu
      --with-abi=abi
      --with-fpu=type
      --with-float=type
      These configure options provide default values for the -mschedule=, -march=, -mtune=, -mabi=, and -mfpu= options and for -mhard-float or -msoft-float. As with --with-cpu, which switches will be accepted and acceptable values d798 4 a801 2
      --with-mode=mode
      Specify if the compiler should default to -marm or -mthumb. d803 4 a806 2
      --with-stack-offset=num
      This option sets the default for the -mstack-offset=num option, d809 6 a814 4
      --with-fpmath=isa
      This options sets -mfpmath=sse by default and specifies the default ISA for floating-point arithmetics. You can select either ‘sse’ which enables -msse2 or ‘avx’ which enables -mavx by default. d816 4 a819 2
      --with-fp-32=mode
      On MIPS targets, set the default value for the -mfp option when using d821 13 a833 7
      32
      Use the o32 FP32 ABI extension, as with the -mfp32 command-line option.
      xx
      Use the o32 FPXX ABI extension, as with the -mfpxx command-line option.
      64
      Use the o32 FP64 ABI extension, as with the -mfp64 command-line option. d835 1 a835 1 In the absence of this configuration option the default is to use the o32 d837 4 a840 2
      --with-odd-spreg-32
      On MIPS targets, set the -modd-spreg option by default when using d842 4 a845 2
      --without-odd-spreg-32
      On MIPS targets, set the -mno-odd-spreg option by default when using d847 5 a851 3 --with-fp-32=64 in order to target the o32 FP64A ABI extension.
      --with-nan=encoding
      On MIPS targets, set the default encoding convention to use for the d854 9 a862 5
      legacy
      Use the legacy encoding, as with the -mnan=legacy command-line option.
      2008
      Use the 754-2008 encoding, as with the -mnan=2008 command-line option. d864 2 a865 2 To use this configuration option you must have an assembler version installed that supports the -mnan= command-line option too. d867 7 a873 5 the legacy encoding, as when neither of the -mnan=2008 and -mnan=legacy command-line options has been used.
      --with-divide=type
      Specify how the compiler should generate code for checking for division by zero. This option is only supported on the MIPS target. d875 8 a882 4
      traps
      Division by zero checks use conditional traps (this is the default on systems that support conditional traps).
      breaks
      Division by zero checks use the break instruction. d885 5 a889 4
      --with-llsc
      On MIPS targets, make -mllsc the default when no -mno-llsc option is passed. This is the default for d892 19 a910 40
      --without-llsc
      On MIPS targets, make -mno-llsc the default when no -mllsc option is passed.
      --with-synci
      On MIPS targets, make -msynci the default when no -mno-synci option is passed.
      --without-synci
      On MIPS targets, make -mno-synci the default when no -msynci option is passed. This is the default.
      --with-lxc1-sxc1
      On MIPS targets, make -mlxc1-sxc1 the default when no -mno-lxc1-sxc1 option is passed. This is the default.
      --without-lxc1-sxc1
      On MIPS targets, make -mno-lxc1-sxc1 the default when no -mlxc1-sxc1 option is passed. The indexed load/store instructions are not directly a problem but can lead to unexpected behaviour when deployed in an application intended for a 32-bit address space but run on a 64-bit processor. The issue is seen because all known MIPS 64-bit Linux kernels execute o32 and n32 applications with 64-bit addressing enabled which affects the overflow behaviour of the indexed addressing mode. GCC will assume that ordinary 32-bit arithmetic overflow behaviour is the same whether performed as an addu instruction or as part of the address calculation in lwxc1 type instructions. This assumption holds true in a pure 32-bit environment and can hold true in a 64-bit environment if the address space is accurately set to be 32-bit for o32 and n32.
      --with-madd4
      On MIPS targets, make -mmadd4 the default when no -mno-madd4 option is passed. This is the default.
      --without-madd4
      On MIPS targets, make -mno-madd4 the default when no -mmadd4 option is passed. The madd4 instruction family can be problematic when targeting a combination of cores that implement these instructions differently. There are two known cores that implement these as fused operations instead of unfused (where unfused is normally expected). Disabling these instructions is the only way to ensure compatible code is generated; this will incur a performance penalty.
      --with-mips-plt
      On MIPS targets, make use of copy relocations and PLTs. d914 5 a918 3
      --enable-__cxa_atexit
      Define if you want to use __cxa_atexit, rather than atexit, to register C++ destructors for local statics and global objects. d922 5 a926 3 -fuse-cxa-atexit to be passed by default.
      --enable-gnu-indirect-function
      Define if you want to enable the ifunc attribute. This option is d928 5 a932 3
      --enable-target-optspace
      Specify that target libraries should be optimized for code space instead of code speed. d934 9 a942 5
      --with-cpp-install-dir=dirname
      Specify that the user visible cpp program should be installed in prefix/dirname/cpp, in addition to bindir.
      --enable-comdat
      Enable COMDAT group support. This is primarily used to override the d944 4 a947 2
      --enable-initfini-array
      Force the use of sections .init_array and .fini_array d949 1 a949 1 destructors. Option --disable-initfini-array has the d953 4 a956 2
      --enable-link-mutex
      When building GCC, use a mutex to avoid linking the compilers for d959 5 a963 3
      --enable-maintainer-mode
      The build rules that regenerate the Autoconf and Automake output files as well as the GCC master message catalog gcc.pot are normally d966 1 a966 1 catalog, configuring with --enable-maintainer-mode will enable d969 5 a973 3
      --disable-bootstrap
      For a native build, the default configuration is to perform a 3-stage bootstrap of the compiler when ‘make’ is invoked, d975 6 a980 4 this process, you can configure with --disable-bootstrap.
      --enable-bootstrap
      In special cases, you may want to perform a 3-stage build even if the target and host triplets are different. d982 1 a982 1 the target (e.g. host is i686-linux, target is i486-linux). d984 5 a988 3 with --enable-bootstrap.
      --enable-generated-files-in-srcdir
      Neither the .c and .h files that are generated from Bison and flex nor the d994 2 a995 2

      If you configure with --enable-generated-files-in-srcdir then those d1000 4 a1003 2

      --enable-version-specific-runtime-libs
      Specify d1005 2 a1006 2 subdirectory (libdir/gcc) rather than the usual places. In addition, ‘libstdc++’'s include files will be installed into d1008 1 a1008 1 --with-gxx-include-dir=dirname. Using this option is d1010 6 a1015 4 parallel. This is currently supported by ‘libgfortran’, ‘libstdc++’, and ‘libobjc’.
      --with-aix-soname=‘aix’, ‘svr4’ or ‘both’
      Traditional AIX shared library versioning (versioned Shared Object d1017 1 a1017 1 ‘lib.a’) causes numerous headaches for package managers. However, d1020 1 a1020 1 where this is called the "SONAME". But as they prevent static linking, d1022 23 a1044 20 linker does search for ‘libNAME.so’ before ‘libNAME.a’ library filenames with the ‘-lNAME’ linker flag.

      For detailed information please refer to the AIX ld Command reference.

      As long as shared library creation is enabled, upon:

      --with-aix-soname=aix
      --with-aix-soname=both
      A (traditional AIX) Shared Archive Library file is created:
      • using the ‘libNAME.a’ filename scheme
      • with the Shared Object file as archive member named ‘libNAME.so.V’ (except for ‘libgcc_s’, where the Shared Object file is named ‘shr.o’ for backwards compatibility), which
        • is used for runtime loading from inside the ‘libNAME.a’ file
        • is used for dynamic loading via dlopen("libNAME.a(libNAME.so.V)", RTLD_MEMBER)
        • is used for shared linking
        • is used for static linking, so no separate Static Archive d1046 15 a1060 12

      --with-aix-soname=both
      --with-aix-soname=svr4
      A (second) Shared Archive Library file is created:
      • using the ‘libNAME.so.V’ filename scheme
      • with the Shared Object file as archive member named ‘shr.o’, which
        • is created with the -G linker flag
        • has the F_LOADONLY flag set
        • is used for runtime loading from inside the ‘libNAME.so.V’ file
        • is used for dynamic loading via dlopen("libNAME.so.V(shr.o)", d1062 2 a1063 2
      • with the Import File as archive member named ‘shr.imp’, d1065 2 a1066 2
        • refers to ‘libNAME.so.V(shr.o)’ as the "SONAME", to be recorded d1068 13 a1080 13
        • indicates whether ‘libNAME.so.V(shr.o)’ is 32 or 64 bit
        • lists all the public symbols exported by ‘lib.so.V(shr.o)’, eventually decorated with the ‘weak’ Keyword
        • is necessary for shared linking against ‘lib.so.V(shr.o)’
      A symbolic link using the ‘libNAME.so’ filename scheme is created:
      • pointing to the ‘libNAME.so.V’ Shared Archive Library file
      • to permit the ld Command to find ‘lib.so.V(shr.imp)’ via the ‘-lNAME’ argument (requires Runtime Linking to be enabled)
      • to permit dynamic loading of ‘lib.so.V(shr.o)’ without the need to specify the version number via dlopen("libNAME.so(shr.o)", d1082 3 a1084 2
      d1086 13 a1098 11

      As long as static library creation is enabled, upon:

      --with-aix-soname=svr4
      A Static Archive Library is created:
      • using the ‘libNAME.a’ filename scheme
      • with all the Static Object files as archive members, which
        • are used for static linking
      d1100 1 a1100 1

      While the aix-soname=‘svr4’ option does not create Shared Object d1107 2 a1108 2

      WARNING: Creating Shared Object files with Runtime Linking d1110 1 a1110 1 requiring the use of either the -Wl,-bbigtoc linker flag (seen to d1113 2 a1114 2

      --with-aix-soname is currently supported by ‘libgcc_s’ only, so d1116 6 a1121 4

      Default is the traditional behavior --with-aix-soname=‘aix’.

      --enable-languages=lang1,lang2,...
      Specify that only a particular subset of compilers and d1124 5 a1128 4 gcc directory of your GCC source tree:
                grep ^language= */config-lang.in
      

      Currently, you can use any of the following: d1130 2 a1131 2 go, jit, lto, objc, obj-c++. Building the Ada compiler has special requirements, see below. d1133 1 a1133 1 default languages available in the gcc sub-tree will be configured. d1135 1 a1135 1 default language, but is built by default because --enable-lto is d1137 4 a1140 2

      --enable-stage1-languages=lang1,lang2,...
      Specify that a particular subset of compilers and their runtime d1144 2 a1145 2 --enable-languages, and the option all will select all of the languages enabled by --enable-languages. This option is d1150 7 a1156 5 specified languages with the stage-1 compiler by using make stage1-bubble all-target, or run the testsuite on the stage-1 compiler for the specified languages using make stage1-start check-gcc.
      --disable-libada
      Specify that the run-time libraries and tools used by GNAT should not d1159 5 a1163 3 do a ‘make -C gcc gnatlib_and_tools’.
      --disable-libsanitizer
      Specify that the run-time libraries for the various sanitizers should d1165 4 a1168 2
      --disable-libssp
      Specify that the run-time libraries for stack smashing protection d1170 4 a1173 2
      --disable-libquadmath
      Specify that the GCC quad-precision math library should not be built. d1175 1 a1175 1 the Fortran front end, unless --disable-libquadmath-support d1177 4 a1180 2
      --disable-libquadmath-support
      Specify that the Fortran front end and libgfortran do not add d1182 4 a1185 2
      --disable-libgomp
      Specify that the GNU Offloading and Multi Processing Runtime Library d1187 4 a1190 2
      --disable-libvtv
      Specify that the run-time libraries used by vtable verification d1192 4 a1195 2
      --with-dwarf2
      Specify that the compiler should d1197 4 a1200 2
      --with-advance-toolchain=at
      On 64-bit PowerPC Linux systems, configure the compiler to use the d1206 5 a1210 2
      --enable-targets=all
      --enable-targets=target_list
      Some GCC targets, e.g. powerpc64-linux, build bi-arch compilers. d1212 1 a1212 1 code. Typically, the corresponding 32-bit target, e.g. d1216 1 a1216 1 you are building a bi-arch or multi-arch binutils in a combined tree. d1218 1 a1218 1 defaulted to o32. d1221 8 a1228 4
      --enable-default-pie
      Turn on -fPIE and -pie by default.
      --enable-secureplt
      This option enables -msecure-plt by default for powerpc-linux. d1230 8 a1237 4
      --enable-default-ssp
      Turn on -fstack-protector-strong by default.
      --enable-cld
      This option enables -mcld by default for 32-bit x86 targets. d1239 6 a1244 2
      --enable-win32-registry
      --enable-win32-registry=key
      --disable-win32-registry
      The --enable-win32-registry option enables Microsoft Windows-hosted GCC d1246 4 d1251 2 a1252 4
                HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\key
      

      key defaults to GCC version number, and can be overridden by the --enable-win32-registry=key option. Vendors and distributors d1256 1 a1256 1 by default, and can be disabled by --disable-win32-registry d1258 15 a1272 8

      --nfp
      Specify that the machine does not have a floating point unit. This option only applies to ‘m68k-sun-sunosn’. On any other system, --nfp has no effect.
      --enable-werror
      --disable-werror
      --enable-werror=yes
      --enable-werror=no
      When you specify this option, it controls whether certain files in the compiler are built with -Werror in bootstrap stage2 and later. If you don't specify it, -Werror is turned on for the main d1274 1 a1274 1 final releases. The specific files which get -Werror are d1276 5 a1280 2
      --enable-checking
      --enable-checking=list
      When you specify this option, the compiler is built to perform internal d1284 3 a1286 3 the compiler with GCC. This is ‘yes,extra’ by default when building from SVN or snapshots, but ‘release’ for releases. The default for building the stage1 compiler is ‘yes’. More control d1288 9 a1296 12 checks available are ‘yes’ (most common checks ‘assert,misc,tree,gc,rtlflag,runtime’), ‘no’ (no checks at all), ‘all’ (all but ‘valgrind’), ‘release’ (cheapest checks ‘assert,runtime’) or ‘none’ (same as ‘no’). Individual checks can be enabled with these flags ‘assert’, ‘df’, ‘fold’, ‘gc’, ‘gcac’, ‘misc’, ‘rtl’, ‘rtlflag’, ‘runtime’, ‘tree’, ‘extra’ and ‘valgrind’. ‘extra’ adds for ‘misc’ checking extra checks that might affect code generation and should therefore not differ between stage1 and later stages.

      The ‘valgrind’ check requires the external valgrind d1298 3 a1300 3 ‘df’, ‘rtl’, ‘gcac’ and ‘valgrind’ checks are very expensive. To disable all checking, ‘--disable-checking’ or ‘--enable-checking=none’ must be explicitly requested. Disabling d1304 7 a1310 3

      --disable-stage1-checking
      --enable-stage1-checking
      --enable-stage1-checking=list
      If no --enable-checking option is specified the stage1 compiler will be built with ‘yes’ checking enabled, otherwise d1312 3 a1314 3 --enable-checking. To build the stage1 compiler with different checking options use --enable-stage1-checking. The list of checking options is the same as for --enable-checking. d1316 1 a1316 1 with checking for stage1 enabled, you can use ‘--disable-stage1-checking’ d1318 5 a1322 2
      --enable-coverage
      --enable-coverage=level
      With this option, the compiler is built to collect self coverage d1326 1 a1326 1 not, values are ‘opt’ and ‘noopt’. For coverage analysis you d1330 4 a1333 2
      --enable-gather-detailed-mem-stats
      When this option is specified more detailed information on memory d1335 5 a1339 3 -fmem-report.
      --enable-valgrind-annotations
      Mark selected memory related operations in the compiler when run under d1341 5 a1345 2
      --enable-nls
      --disable-nls
      The --enable-nls option enables Native Language Support (NLS), d1348 10 a1357 6 canadian cross build. The --disable-nls option disables NLS.
      --with-included-gettext
      If NLS is enabled, the --with-included-gettext option causes the build procedure to prefer its copy of GNU gettext.
      --with-catgets
      If NLS is enabled, and if the host lacks gettext but has the d1359 12 a1370 8 ignores catgets and instead uses GCC's copy of the GNU gettext library. The --with-catgets option causes the build procedure to use the host's catgets in this situation.
      --with-libiconv-prefix=dir
      Search for libiconv header files in dir/include and libiconv library files in dir/lib.
      --enable-obsolete
      Enable configuration for an obsoleted system. If you attempt to d1374 2 a1375 2

      All support for systems which have been obsoleted in one release of GCC d1378 9 a1386 2

      --enable-decimal-float
      --enable-decimal-float=yes
      --enable-decimal-float=no
      --enable-decimal-float=bid
      --enable-decimal-float=dpd
      --disable-decimal-float
      Enable (or disable) support for the C decimal floating point extension d1391 2 a1392 2 ‘bid’ or ‘dpd’). The ‘bid’ (binary integer decimal) format is default on i386 and x86_64 systems, and the ‘dpd’ d1394 5 a1398 2
      --enable-fixed-point
      --disable-fixed-point
      Enable (or disable) support for C fixed-point arithmetic. d1402 4 a1405 2
      --with-long-double-128
      Specify if long double type should be 128-bit by default on selected d1407 1 a1407 1 long double will be by default 64-bit, the same as double type. d1411 16 a1426 4
      --enable-fdpic
      On SH Linux systems, generate ELF FDPIC code.
      --with-gmp=pathname
      --with-gmp-include=pathname
      --with-gmp-lib=pathname
      --with-mpfr=pathname
      --with-mpfr-include=pathname
      --with-mpfr-lib=pathname
      --with-mpc=pathname
      --with-mpc-include=pathname
      --with-mpc-lib=pathname
      If you want to build GCC but do not have the GMP library, the MPFR d1430 12 a1441 12 (‘--with-gmp=gmpinstalldir’, ‘--with-mpfr=mpfrinstalldir’, ‘--with-mpc=mpcinstalldir’). The --with-gmp=gmpinstalldir option is shorthand for --with-gmp-lib=gmpinstalldir/lib and --with-gmp-include=gmpinstalldir/include. Likewise the --with-mpfr=mpfrinstalldir option is shorthand for --with-mpfr-lib=mpfrinstalldir/lib and --with-mpfr-include=mpfrinstalldir/include, also the --with-mpc=mpcinstalldir option is shorthand for --with-mpc-lib=mpcinstalldir/lib and --with-mpc-include=mpcinstalldir/include. If these d1446 3 a1448 3 variable (LD_LIBRARY_PATH on GNU/Linux and Solaris systems).

      These flags are applicable to the host platform only. When building d1450 6 a1455 2

      --with-isl=pathname
      --with-isl-include=pathname
      --with-isl-lib=pathname
      If you do not have the isl library installed in a standard location and you d1457 4 a1460 4 installed (‘--with-isl=islinstalldir’). The --with-isl=islinstalldir option is shorthand for --with-isl-lib=islinstalldir/lib and --with-isl-include=islinstalldir/include. If this d1463 2 a1464 2

      These flags are applicable to the host platform only. When building d1466 4 a1469 2

      --with-stage1-ldflags=flags
      This option may be used to set linker flags to be used when linking d1471 2 a1472 2 --disable-bootstrap. If --with-stage1-libs is not set to a value, then the default is ‘-static-libstdc++ -static-libgcc’, if d1474 4 a1477 2
      --with-stage1-libs=libs
      This option may be used to set libraries to be used when linking stage 1 d1479 5 a1483 3 --disable-bootstrap.
      --with-boot-ldflags=flags
      This option may be used to set linker flags to be used when linking d1486 5 a1490 3 ‘-static-libstdc++ -static-libgcc’.
      --with-boot-libs=libs
      This option may be used to set libraries to be used when linking stage 2 d1492 4 a1495 2
      --with-debug-prefix-map=map
      Convert source directory names using -fdebug-prefix-map when d1497 6 a1502 4 list of maps of the form ‘old=new’.
      --enable-linker-build-id
      Tells GCC to pass --build-id option to the linker for all final links (links performed without the -r or --relocatable d1504 7 a1510 5 --enable-linker-build-id, but your linker does not support --build-id option, a warning is issued and the --enable-linker-build-id option is ignored. The default is off.
      --with-linker-hash-style=choice
      Tells GCC to pass --hash-style=choice option to the d1512 6 a1517 3 ‘sysv’, ‘gnu’, and ‘both’ where ‘sysv’ is the default.
      --enable-gnu-unique-object
      --disable-gnu-unique-object
      Tells GCC to use the gnu_unique_object relocation for C++ template d1521 4 a1524 2
      --with-diagnostics-color=choice
      Tells GCC to use choice as the default for -fdiagnostics-color= d1526 3 a1528 3 can be one of ‘never’, ‘auto’, ‘always’, and ‘auto-if-env’ where ‘auto’ is the default. ‘auto-if-env’ means that -fdiagnostics-color=auto will be the default if GCC_COLORS d1530 12 a1541 6 -fdiagnostics-color=never otherwise.
      --enable-lto
      --disable-lto
      Enable support for link-time optimization (LTO). This is enabled by default, and may be disabled using --disable-lto.
      --enable-linker-plugin-configure-flags=FLAGS
      --enable-linker-plugin-flags=FLAGS
      By default, linker plugins (such as the LTO plugin) are built for the d1546 2 a1547 2 (‘x86_64-unknown-linux-gnu’) host system, but have a 32-bit x86 GNU/Linux (‘i686-pc-linux-gnu’) linker executable (which is d1550 12 a1561 8
                % srcdir/configure \
                    --host=x86_64-unknown-linux-gnu \
                    --enable-linker-plugin-configure-flags=--host=i686-pc-linux-gnu \
                    --enable-linker-plugin-flags='CC=gcc\ -m32\ -Wl,-rpath,[...]/i686-pc-linux-gnu/lib'
      

      --with-plugin-ld=pathname
      Enable an alternate linker to be used at link-time optimization (LTO) link time when -fuse-linker-plugin is enabled. d1563 7 a1569 4 version 2.20 or GNU ld starting with version 2.21. See -fuse-linker-plugin for details.
      --enable-canonical-system-headers
      --disable-canonical-system-headers
      Enable system header path canonicalization for libcpp. This can d1573 5 a1577 3 --disable-canonical-system-headers.
      --with-glibc-version=major.minor
      Tell GCC that when the GNU C Library (glibc) is used on the target it d1579 1 a1579 1 be detected from the C library's header files, but this option may be d1582 3 a1584 3

      If GCC is configured with some multilibs that use glibc and some that do not, this option applies only to the multilibs that use glibc. d1587 8 a1594 4

      --enable-as-accelerator-for=target
      Build as offload target compiler. Specify offload host triple by target.
      --enable-offload-targets=target1[=path1],...,targetN[=pathN]
      Enable offloading to targets target1, ..., targetN. d1597 6 a1602 1 specifying paths path1, ..., pathN. d1604 1 a1604 4
                % srcdir/configure \
                    --enable-offload-target=i686-unknown-linux-gnu=/path/to/i686/compiler,x86_64-pc-linux-gnu
      

      If ‘hsa’ is specified as one of the targets, the compiler will be d1607 7 a1613 3

      --with-hsa-runtime=pathname
      --with-hsa-runtime-include=pathname
      --with-hsa-runtime-lib=pathname
      If you configure GCC with HSA offloading but do not have the HSA d1616 1 a1616 1 --with-hsa-runtime=hsainstalldir option is a d1618 10 a1627 2 --with-hsa-runtime-lib=hsainstalldir/lib and --with-hsa-runtime-include=hsainstalldir/include. d1630 2 a1631 2

      Cross-Compiler-Specific Options

      d1633 6 a1638 4
      --with-sysroot
      --with-sysroot=dir
      Tells GCC to consider dir as the root of a tree that contains (a subset of) the root filesystem of the target operating system. d1641 1 a1641 1 --sysroot=dir was added to the default options of the built d1643 5 a1647 5 install tree, unlike the options --with-headers and --with-libs that this option obsoletes. The default value, in case --with-sysroot is not given an argument, is ${gcc_tooldir}/sys-root. If the specified directory is a subdirectory of ${exec_prefix}, then it will be found relative to d1649 2 a1650 2

      This option affects the system root for the compiler used to build d1654 2 a1655 2

      If you specify the --with-native-system-header-dir=dirname d1657 11 a1667 8 native system headers rather than the default /usr/include.

      --with-build-sysroot
      --with-build-sysroot=dir
      Tells GCC to consider dir as the system root (see --with-sysroot) while building target libraries, instead of the directory specified with --with-sysroot. This option is only useful when you are already using --with-sysroot. You can use --with-build-sysroot when you are configuring with --prefix set to a directory that is different from the one in d1669 2 a1670 2

      This option affects the system root for the compiler used to build d1673 2 a1674 2

      If you specify the --with-native-system-header-dir=dirname d1676 7 a1682 4 native system headers rather than the default /usr/include.

      --with-headers
      --with-headers=dir
      Deprecated in favor of --with-sysroot. Specifies that target headers are available when building a cross compiler. d1684 5 a1688 5 files. These include files will be copied into the gcc install directory. This option with the dir argument is required when building a cross compiler, if prefix/target/sys-include doesn't pre-exist. If prefix/target/sys-include does pre-exist, the dir argument may be omitted. fixincludes d1690 4 a1693 2
      --without-headers
      Tells GCC not use any target headers from a libc when building a cross d1696 5 a1700 2
      --with-libs
      --with-libs="dir1 dir2 ... dirN"
      Deprecated in favor of --with-sysroot. d1702 1 a1702 1 libraries. These libraries will be copied into the gcc install d1705 4 a1708 2
      --with-newlib
      Specifies that ‘newlib’ is d1710 6 a1715 4 omitted from libgcc.a on the assumption that it will be provided by ‘newlib’.
      --with-avrlibc
      Specifies that ‘AVR-Libc’ is d1717 3 a1719 3 functions like __addsf3 to be omitted from libgcc.a on the assumption that it will be provided by libm.a. For more technical details, cf. PR54461. d1723 5 a1727 3
      --with-nds32-lib=library
      Specifies that library setting is used for building libgcc.a. Currently, the valid library is ‘newlib’ or ‘mculib’. d1729 4 a1732 2
      --with-build-time-tools=dir
      Specifies where to find the set of target tools (assembler, linker, etc.) d1736 3 a1738 3

      For example, on an ‘ia64-hp-hpux’ system, you may have the GNU assembler and linker in /usr/bin, and the native tools in a d1740 8 a1747 7 native tools in /usr/bin.

      When you use this option, you should ensure that dir includes ar, as, ld, nm, ranlib and strip if necessary, and possibly objdump. Otherwise, GCC may use an inconsistent set of tools. d1750 2 a1751 1

      Overriding configure test results
      d1754 2 a1755 2 configure test, for example in order to ease porting to a new system or work around a bug in a test. The toplevel configure d1757 5 a1761 3
      build_configargs
      The contents of this variable is passed to all build configure d1763 5 a1767 2
      host_configargs
      The contents of this variable is passed to all host configure d1769 5 a1773 2
      target_configargs
      The contents of this variable is passed to all target configure d1775 3 d1779 2 a1780 4

      In order to avoid shell and make quoting issues for complex overrides, you can pass a setting for CONFIG_SITE and set d1782 21 d1804 205 a2008 1

      Objective-C-Specific Options

      d2010 2 a2011 1

      The following options apply to the build of the Objective-C runtime library. d2013 41 a2053 24

      --enable-objc-gc
      Specify that an additional variant of the GNU Objective-C runtime library is built, using an external build of the Boehm-Demers-Weiser garbage collector (http://www.hboehm.info/gc/). This library needs to be available for each multilib variant, unless configured with --enable-objc-gc=‘auto’ in which case the build of the additional runtime library is skipped when not available and the build continues.
      --with-target-bdw-gc=list
      --with-target-bdw-gc-include=list
      --with-target-bdw-gc-lib=list
      Specify search directories for the garbage collector header files and libraries. list is a comma separated list of key value pairs of the form ‘multilibdir=path’, where the default multilib key is named as ‘.’ (dot), or is omitted (e.g. ‘--with-target-bdw-gc=/opt/bdw-gc,32=/opt-bdw-gc32’).

      The options --with-target-bdw-gc-include and --with-target-bdw-gc-lib must always be specified together for each multilib variant and they take precedence over --with-target-bdw-gc. If --with-target-bdw-gc-include is missing values for a multilib, then the value for the default multilib is used (e.g. ‘--with-target-bdw-gc-include=/opt/bdw-gc/include’ ‘--with-target-bdw-gc-lib=/opt/bdw-gc/lib64,32=/opt-bdw-gc/lib32’). If none of these options are specified, the library is assumed in default locations. d2056 3 a2058 1


      d2060 10 a2070 10 d2072 2 @ 1.6 log @merge GCC 5.5.0. this does not include updated man/info pages (yet). @ text @d1 10 a10 3 Installing GCC d41 6 d48 2 a49 10

      Installing GCC

      d51 3 d55 2 a56 25

      Like most GNU software, GCC must be configured before it can be built. This document describes the recommended configuration procedure for both native and cross targets.

      We use srcdir to refer to the toplevel source directory for GCC; we use objdir to refer to the toplevel build/object directory.

      If you obtained the sources via SVN, srcdir must refer to the top gcc directory, the one where the MAINTAINERS file can be found, and not its gcc subdirectory, otherwise the build will fail.

      If either srcdir or objdir is located on an automounted NFS file system, the shell’s built-in pwd command will return d58 3 a60 3 problems. To avoid this issue, set the PWDCMD environment variable to an automounter-aware pwd command, e.g., pawd or ‘amq -w’, during the configuration and build d62 2 a63 2

      First, we highly recommend that GCC be built into a d66 1 a66 1 where srcdir == objdir should still work, but doesn’t d69 6 a74 6

      If you have previously built GCC in the same directory for a different target machine, do ‘make distclean’ to delete all files that might be invalid. One of the files this deletes is Makefile; if ‘make distclean’ complains that Makefile does not exist or issues a message like “don’t know how to make distclean” it probably d78 3 a80 3

      Second, when configuring a native system, either cc or gcc must be in your path or you must set CC in a82 1

      d84 1 a84 7

      To configure GCC:

      % mkdir objdir
      % cd objdir
      % srcdir/configure [options] [target]
      
      d86 5 a90 2

      Distributor options

      d95 3 a97 4

      --with-pkgversion=version

      Specify a string that identifies your package. You may wish d99 6 a104 8 included in the output of gcc --version. This suffix does not replace the default version string, only the ‘GCC’ part.

      The default value is ‘GCC’.

      --with-bugurl=url

      Specify the URL that users should visit if they wish to report a bug. a106 5

      The default value refers to the FSF’s GCC bug tracker.

      d108 8 a115 4

      Target specification

      • GCC has code to correctly determine the correct value for target d119 1 a119 1
      • target must be specified as --target=target d123 3 a125 4
      • Specifying just target instead of --target=target implies that the host defaults to target.
      d127 1 a127 2

      Options specification

      d130 2 a131 2 GCC. A list of supported options follows; ‘configure --help’ may list other options, but those not listed below may not d133 7 a139 8

      Note that each --enable option has a corresponding --disable option and that each --with option has a corresponding --without option.

      --prefix=dirname

      Specify the toplevel installation d142 3 a144 3 /usr/local.

      We highly recommend against dirname being the same or a d146 5 a150 5 beneath a user’s home directory tree, some shells will not expand dirname correctly if it contains the ‘~’ metacharacter; use $HOME instead.

      The following standard autoconf options are supported. Normally you d152 2 a153 3

      --exec-prefix=dirname

      Specify the toplevel installation directory for architecture-dependent d155 12 a166 20

      --bindir=dirname

      Specify the installation directory for the executables called by users (such as gcc and g++). The default is exec-prefix/bin.

      --libdir=dirname

      Specify the installation directory for object code libraries and internal data files of GCC. The default is exec-prefix/lib.

      --libexecdir=dirname

      Specify the installation directory for internal executables of GCC. The default is exec-prefix/libexec.

      --with-slibdir=dirname

      Specify the installation directory for the shared libgcc library. The d168 8 a175 14

      --datarootdir=dirname

      Specify the root of the directory tree for read-only architecture-independent data files referenced by GCC. The default is prefix/share.

      --infodir=dirname

      Specify the installation directory for documentation in info format. The default is datarootdir/info.

      --datadir=dirname

      Specify the installation directory for some architecture-independent d177 5 a181 9

      --docdir=dirname

      Specify the installation directory for documentation files (other than Info) for GCC. The default is datarootdir/doc.

      --htmldir=dirname

      Specify the installation directory for HTML documentation files. d183 2 a184 4

      --pdfdir=dirname

      Specify the installation directory for PDF documentation files. d186 3 a188 5

      --mandir=dirname

      Specify the installation directory for manual pages. The default is datarootdir/man. (Note that the manual pages are only extracts d192 2 a193 4

      --with-gxx-include-dir=dirname

      Specify d197 2 a198 4

      --with-specs=specs

      Specify additional command line driver SPECS. d200 2 a201 2 default without modifying the compiler’s source code, for instance --with-specs=%{!fcommon:%{!fno-common:-fno-common}}. a202 3

      d204 3 a206 3
      --program-prefix=prefix

      GCC supports some transformations of the names of its programs when d209 9 a217 13 --program-prefix=foo- would result in ‘gcc’ being installed as /usr/local/bin/foo-gcc.

      --program-suffix=suffix

      Appends suffix to the names of programs to install in bindir (see above). For example, specifying --program-suffix=-3.1 would result in ‘gcc’ being installed as /usr/local/bin/gcc-3.1.

      --program-transform-name=pattern

      Applies the ‘sed’ script pattern to be applied to the names d219 5 a223 5 consist of one or more basic ‘sed’ editing commands, separated by semicolons. For example, if you want the ‘gcc’ program name to be transformed to the installed program /usr/local/bin/myowngcc and the ‘g++’ program name to be transformed to /usr/local/bin/gspecial++ without changing other program names, d225 1 a225 1 --program-transform-name='s/^gcc$/myowngcc/; s/^g++$/gspecial++/' d227 2 a228 2

      All three options can be combined and used together, resulting in more d232 3 a234 3

      As currently implemented, this option only takes effect for native builds; cross compiler binaries’ names are not transformed even when a d236 2 a237 2

      For native builds, some of the installed programs are also installed d239 1 a239 1 ‘i686-pc-linux-gnu-gcc’. All of the above transformations happen d241 1 a241 1 --program-prefix=foo- and program-suffix=-3.1, the d243 3 a245 3 /usr/local/bin/i686-pc-linux-gnu-foo-gcc-3.1.

      As a last shortcoming, none of the installed Ada programs are d247 2 a248 4

      --with-local-prefix=dirname

      Specify the d250 6 a255 6 /usr/local. Specify this option if you want the compiler to search directory dirname/include for locally installed header files instead of /usr/local/include.

      You should specify --with-local-prefix only if your site has a different convention (not /usr/local) for where to put d257 4 a260 4

      The default value for --with-local-prefix is /usr/local regardless of the value of --prefix. Specifying --prefix has no effect on which directory GCC searches for d263 3 a265 3

      The purpose of --prefix is to specify where to install GCC. The local header files in /usr/local/include—if you put d268 4 a271 4 another directory which is based on the --prefix value.)

      Both the local-prefix include directory and the GCC-prefix include directory are part of GCC’s “system include” directories. Although these d277 2 a278 2

      Some autoconf macros add -I directory options to the d280 1 a280 1 packages’ headers are searched. When directory is one of GCC’s d285 3 a287 3

      GCC automatically searches for ordinary libraries using GCC_EXEC_PREFIX. Thus, when the same installation prefix is d291 3 a293 3 installed as a system compiler in /usr.

      Sites that need to install multiple versions of GCC may not want to d295 2 a296 2 --program-prefix, --program-suffix and --program-transform-name options to install multiple versions d298 1 a298 1 and the --with-local-prefix option to specify the location of the d301 9 a309 9 (e.g., with LIBRARY_PATH).

      The same value can be used for both --with-local-prefix and --prefix provided it is not /usr. This can be used to avoid the default search of /usr/local/include.

      Do not specify /usr as the --with-local-prefix! The directory you use for --with-local-prefix must not contain any of the system’s standard header files. If it did contain d312 3 a314 3 file corrections made by the fixincludes script.

      Indications are that people who use this option use it based on mistaken d318 3 a320 5

      --with-native-system-header-dir=dirname

      Specifies that dirname is the directory that contains native system header files, rather than /usr/include. This option is most useful d323 1 a323 1 --with-sysroot option and will cause GCC to search d325 2 a326 4

      --enable-shared[=package[,…]]

      Build shared versions of libraries, if shared libraries are supported on d329 2 a330 2

      If a list of packages is given as an argument, build shared libraries d333 10 a342 10 ‘libgcc’ (also known as ‘gcc’), ‘libstdc++’ (not ‘libstdc++-v3’), ‘libffi’, ‘zlib’, ‘boehm-gc’, ‘ada’, ‘libada’, ‘libjava’, ‘libgo’, and ‘libobjc’. Note ‘libiberty’ does not support shared libraries at all.

      Use --disable-shared to build only static libraries. Note that --disable-shared does not accept a list of package names as argument, only --enable-shared does.

      Contrast with --enable-host-shared, which affects host d344 2 a345 4

      --enable-host-shared

      Specify that the host code should be built into position-independent d348 4 a351 4

      This option is required when building the libgccjit.so library.

      Contrast with --enable-shared, which affects target d353 2 a354 4

      --with-gnu-as

      Specify that the compiler should assume that the d359 1 a359 1 configured with --with-gnu-as.) If you have more than one d361 4 a364 4 connection with --with-as=pathname or --with-build-time-tools=pathname.

      The following systems are the only ones where it makes a difference d366 10 a375 12 --with-gnu-as has no effect.

      • ‘hppa1.0-any-any’
      • ‘hppa1.1-any-any’
      • ‘sparc-sun-solaris2.any’
      • ‘sparc64-any-solaris2.any’
      --with-as=pathname

      Specify that the compiler should use the assembler pointed to by d378 4 a381 4

      • Unless GCC is being built with a cross compiler, check the libexec/gcc/target/version directory. libexec defaults to exec-prefix/libexec; d383 3 a385 3 defaults to /usr/local unless overridden by the --prefix=pathname switch described above. target is the target system triple, such as ‘sparc-sun-solaris2.7’, and d388 2 a389 2
      • If the target system is the same that you are building on, check operating system specific directories (e.g. /usr/ccs/bin on d392 1 a392 1
      • Check in the PATH for a tool whose name is prefixed by the d395 1 a395 1
      • Check in the PATH for a tool whose name is not prefixed by the d398 2 a399 2 the target as well).
      d401 1 a401 1

      You may want to use --with-as if no assembler d405 2 a406 4

      --with-gnu-ld

      Same as --with-gnu-as d408 2 a409 4

      --with-ld=pathname

      Same as --with-as d411 2 a412 4

      --with-stabs

      Specify that stabs debugging d415 2 a416 2

      On MIPS based systems and on Alphas, you must specify whether you want d421 6 a426 6

      Normally, GCC uses the ECOFF debugging format by default; if you prefer BSD stabs, specify --with-stabs when you configure GCC.

      No matter which default you choose when you configure GCC, the user can use the -gcoff and -gstabs+ options to specify explicitly d428 3 a430 3

      --with-stabs is meaningful on the ISC system on the 386, also, if --with-gas is used. It selects use of stabs debugging d433 2 a434 2

      --with-stabs is also meaningful on 386 systems running SVR4. It d440 2 a441 4

      --with-tls=dialect

      Specify the default TLS dialect, for systems were there is a choice. d445 2 a446 4

      --enable-multiarch

      Specify whether to enable or disable multiarch support. The default is d449 2 a450 2 and for cross builds configured with --with-sysroot, and without --with-native-system-header-dir. d452 4 a455 6 http://wiki.debian.org/Multiarch.

      --enable-sjlj-exceptions

      Force use of the setjmp/longjmp-based scheme for exceptions. ‘configure’ ordinarily picks the correct value based on the platform. d457 2 a458 4

      --enable-vtable-verify

      Specify whether to enable or disable the vtable verification feature. d463 1 a463 1 the verifier will call stub functions (in libstdc++ itself) and do nothing. d466 4 a469 6 still be built (see --disable-libvtv to turn off building libvtv). --disable-vtable-verify is the default.

      --disable-multilib

      Specify that multiple target d473 11 a483 18

      Some targets provide finer-grained control over which multilibs are built (e.g., --disable-softfloat):

      arm-*-*

      fpu, 26bit, underscore, interwork, biendian, nofmult.

      m68*-*-*

      softfloat, m68881, m68000, m68020.

      mips*-*-*

      single-float, biendian, softfloat.

      powerpc*-*-*, rs6000*-*-*

      aix64, pthread, softfloat, powercpu, powerpccpu, powerpcos, biendian, a484 3

      d486 16 a501 9
      --with-multilib-list=list
      --without-multilib-list

      Specify what multilibs to build. Currently only implemented for sh*-*-* and x86-64-*-linux*.

      sh*-*-*

      list is a comma separated list of CPU names. These must be of the d504 3 a506 3 these are handled by --with-endian.

      If list is empty, then there will be no multilibs for extra d508 4 a511 4

      As a special case, if an entry in the list starts with a ! (exclamation point), then it is added to the list of excluded multilibs. Entries of this sort should be compatible with ‘MULTILIB_EXCLUDES’ d513 3 a515 3

      If --with-multilib-list is not given, then a default set of multilibs is selected based on the value of --target. This is d518 2 a519 2

      Example 1: to configure a compiler for SH4A only, but supporting both d521 3 a523 5

      --with-cpu=sh4a --with-endian=little,big --with-multilib-list=
      

      Example 2: to configure a compiler for both SH4A and SH4AL-DSP, but with d525 4 a528 8

      --with-cpu=sh4a --with-endian=little,big \
      --with-multilib-list=sh4al,!mb/m4al
      
      x86-64-*-linux*

      list is a comma separated list of m32, m64 and d532 3 a534 4

      If --with-multilib-list is not given, then only 32-bit and 64-bit run-time libraries will be enabled.

      d537 1 a537 3
      --with-endian=endians

      Specify what endians to use. d539 7 a545 15

      endians may be one of the following:

      big

      Use big endian exclusively.

      little

      Use little endian exclusively.

      big,little

      Use big endian by default. Provide a multilib for little endian.

      little,big

      Use little endian by default. Provide a multilib for big endian.

      d548 1 a548 3
      --enable-threads

      Specify that the target d550 1 a550 1 library, and exception handling for other languages like C++ and Java. d552 2 a553 2

      In general, the best (and, in many cases, the only known) threading d556 7 a562 11 available for the system. In this case, --enable-threads is an alias for --enable-threads=single.

      --disable-threads

      Specify that threading support should be disabled for the system. This is an alias for --enable-threads=single.

      --enable-threads=lib

      Specify that d566 13 a578 35

      aix

      AIX thread support.

      dce

      DCE thread support.

      lynx

      LynxOS thread support.

      mipssde

      MIPS SDE thread support.

      no

      This is an alias for ‘single’.

      posix

      Generic POSIX/Unix98 thread support.

      rtems

      RTEMS thread support.

      single

      Disable thread support, should work for all platforms.

      tpf

      TPF thread support.

      vxworks

      VxWorks thread support.

      win32

      Microsoft Win32 API thread support.

      d581 1 a581 3
      --enable-tls

      Specify that the target supports TLS (Thread Local Storage). Usually d584 1 a584 1 --enable-tls or --disable-tls. This can happen if d587 6 a592 12

      --disable-tls

      Specify that the target does not support TLS. This is an alias for --enable-tls=no.

      --with-cpu=cpu
      --with-cpu-32=cpu
      --with-cpu-64=cpu

      Specify which cpu variant the compiler should generate code for by default. cpu will be used as the default value of the -mcpu= switch. d594 2 a595 2 PowerPC, and SPARC. It is mandatory for ARC. The --with-cpu-32 and --with-cpu-64 options specify separate default CPUs for d597 6 a602 17 x86-64 and PowerPC.

      --with-schedule=cpu
      --with-arch=cpu
      --with-arch-32=cpu
      --with-arch-64=cpu
      --with-tune=cpu
      --with-tune-32=cpu
      --with-tune-64=cpu
      --with-abi=abi
      --with-fpu=type
      --with-float=type

      These configure options provide default values for the -mschedule=, -march=, -mtune=, -mabi=, and -mfpu= options and for -mhard-float or -msoft-float. As with --with-cpu, which switches will be accepted and acceptable values d604 2 a605 4

      --with-mode=mode

      Specify if the compiler should default to -marm or -mthumb. d607 2 a608 4

      --with-stack-offset=num

      This option sets the default for the -mstack-offset=num option, d611 4 a614 6

      --with-fpmath=isa

      This options sets -mfpmath=sse by default and specifies the default ISA for floating-point arithmetics. You can select either ‘sse’ which enables -msse2 or ‘avx’ which enables -mavx by default. d616 2 a617 4

      --with-fp-32=mode

      On MIPS targets, set the default value for the -mfp option when using d619 7 a625 13

      32

      Use the o32 FP32 ABI extension, as with the -mfp32 command-line option.

      xx

      Use the o32 FPXX ABI extension, as with the -mfpxx command-line option.

      64

      Use the o32 FP64 ABI extension, as with the -mfp64 command-line option.

      d627 1 a627 1

      In the absence of this configuration option the default is to use the o32 d629 2 a630 4

      --with-odd-spreg-32

      On MIPS targets, set the -modd-spreg option by default when using d632 2 a633 4

      --without-odd-spreg-32

      On MIPS targets, set the -mno-odd-spreg option by default when using d635 3 a637 5 --with-fp-32=64 in order to target the o32 FP64A ABI extension.

      --with-nan=encoding

      On MIPS targets, set the default encoding convention to use for the d640 5 a644 9

      legacy

      Use the legacy encoding, as with the -mnan=legacy command-line option.

      2008

      Use the 754-2008 encoding, as with the -mnan=2008 command-line option.

      d646 2 a647 2

      To use this configuration option you must have an assembler version installed that supports the -mnan= command-line option too. d649 5 a653 7 the legacy encoding, as when neither of the -mnan=2008 and -mnan=legacy command-line options has been used.

      --with-divide=type

      Specify how the compiler should generate code for checking for division by zero. This option is only supported on the MIPS target. d655 4 a658 8

      traps

      Division by zero checks use conditional traps (this is the default on systems that support conditional traps).

      breaks

      Division by zero checks use the break instruction.

      d661 4 a664 5
      --with-llsc

      On MIPS targets, make -mllsc the default when no -mno-llsc option is passed. This is the default for d667 11 a677 19

      --without-llsc

      On MIPS targets, make -mno-llsc the default when no -mllsc option is passed.

      --with-synci

      On MIPS targets, make -msynci the default when no -mno-synci option is passed.

      --without-synci

      On MIPS targets, make -mno-synci the default when no -msynci option is passed. This is the default.

      --with-mips-plt

      On MIPS targets, make use of copy relocations and PLTs. d681 3 a683 5

      --enable-__cxa_atexit

      Define if you want to use __cxa_atexit, rather than atexit, to register C++ destructors for local statics and global objects. d687 3 a689 5 -fuse-cxa-atexit to be passed by default.

      --enable-gnu-indirect-function

      Define if you want to enable the ifunc attribute. This option is d691 3 a693 5

      --enable-target-optspace

      Specify that target libraries should be optimized for code space instead of code speed. d695 5 a699 9

      --with-cpp-install-dir=dirname

      Specify that the user visible cpp program should be installed in prefix/dirname/cpp, in addition to bindir.

      --enable-comdat

      Enable COMDAT group support. This is primarily used to override the d701 2 a702 4

      --enable-initfini-array

      Force the use of sections .init_array and .fini_array d704 1 a704 1 destructors. Option --disable-initfini-array has the d708 2 a709 4

      --enable-link-mutex

      When building GCC, use a mutex to avoid linking the compilers for d712 3 a714 5

      --enable-maintainer-mode

      The build rules that regenerate the Autoconf and Automake output files as well as the GCC master message catalog gcc.pot are normally d717 1 a717 1 catalog, configuring with --enable-maintainer-mode will enable d720 3 a722 5

      --disable-bootstrap

      For a native build, the default configuration is to perform a 3-stage bootstrap of the compiler when ‘make’ is invoked, d724 4 a727 6 this process, you can configure with --disable-bootstrap.

      --enable-bootstrap

      In special cases, you may want to perform a 3-stage build even if the target and host triplets are different. d729 1 a729 1 the target (e.g. host is i686-linux, target is i486-linux). d731 3 a733 5 with --enable-bootstrap.

      --enable-generated-files-in-srcdir

      Neither the .c and .h files that are generated from Bison and flex nor the d739 2 a740 2

      If you configure with --enable-generated-files-in-srcdir then those d745 2 a746 4

      --enable-version-specific-runtime-libs

      Specify d748 2 a749 2 subdirectory (libdir/gcc) rather than the usual places. In addition, ‘libstdc++’’s include files will be installed into d751 1 a751 1 --with-gxx-include-dir=dirname. Using this option is d753 4 a756 6 parallel. This is currently supported by ‘libgfortran’, ‘libjava’, ‘libstdc++’, and ‘libobjc’.

      --with-aix-soname=‘aix’, ‘svr4’ or ‘both’

      Traditional AIX shared library versioning (versioned Shared Object d758 1 a758 1 ‘lib.a’) causes numerous headaches for package managers. However, d761 1 a761 1 where this is called the "SONAME". But as they prevent static linking, d763 20 a782 23 linker does search for ‘libNAME.so’ before ‘libNAME.a’ library filenames with the ‘-lNAME’ linker flag.

      For detailed information please refer to the AIX ld Command reference.

      As long as shared library creation is enabled, upon:

      --with-aix-soname=aix
      --with-aix-soname=both

      A (traditional AIX) Shared Archive Library file is created:

      • using the ‘libNAME.a’ filename scheme
      • with the Shared Object file as archive member named ‘libNAME.so.V’ (except for ‘libgcc_s’, where the Shared Object file is named ‘shr.o’ for backwards compatibility), which
        • - is used for runtime loading from inside the ‘libNAME.a’ file
        • - is used for dynamic loading via dlopen("libNAME.a(libNAME.so.V)", RTLD_MEMBER)
        • - is used for shared linking
        • - is used for static linking, so no separate Static Archive d784 12 a795 15
      --with-aix-soname=both
      --with-aix-soname=svr4

      A (second) Shared Archive Library file is created:

      • using the ‘libNAME.so.V’ filename scheme
      • with the Shared Object file as archive member named ‘shr.o’, which
        • - is created with the -G linker flag
        • - has the F_LOADONLY flag set
        • - is used for runtime loading from inside the ‘libNAME.so.V’ file
        • - is used for dynamic loading via dlopen("libNAME.so.V(shr.o)", d797 2 a798 2
      • with the Import File as archive member named ‘shr.imp’, d800 2 a801 2
        • - refers to ‘libNAME.so.V(shr.o)’ as the "SONAME", to be recorded d803 13 a815 13
        • - indicates whether ‘libNAME.so.V(shr.o)’ is 32 or 64 bit
        • - lists all the public symbols exported by ‘lib.so.V(shr.o)’, eventually decorated with the ‘weak’ Keyword
        • - is necessary for shared linking against ‘lib.so.V(shr.o)’

      A symbolic link using the ‘libNAME.so’ filename scheme is created:

      • pointing to the ‘libNAME.so.V’ Shared Archive Library file
      • to permit the ld Command to find ‘lib.so.V(shr.imp)’ via the ‘-lNAME’ argument (requires Runtime Linking to be enabled)
      • to permit dynamic loading of ‘lib.so.V(shr.o)’ without the need to specify the version number via dlopen("libNAME.so(shr.o)", d817 2 a818 3
      d820 11 a830 13

      As long as static library creation is enabled, upon:

      --with-aix-soname=svr4

      A Static Archive Library is created:

      • using the ‘libNAME.a’ filename scheme
      • with all the Static Object files as archive members, which
        • - are used for static linking
      d832 1 a832 1

      While the aix-soname=‘svr4’ option does not create Shared Object d839 2 a840 2

      WARNING: Creating Shared Object files with Runtime Linking d842 1 a842 1 requiring the use of either the -Wl,-bbigtoc linker flag (seen to d845 2 a846 2

      --with-aix-soname is currently supported by ‘libgcc_s’ only, so d848 4 a851 6

      Default is the traditional behaviour --with-aix-soname=‘aix’.

      --enable-languages=lang1,lang2,…

      Specify that only a particular subset of compilers and d854 4 a857 5 gcc directory of your GCC source tree:

      grep language= */config-lang.in
      

      Currently, you can use any of the following: d859 2 a860 2 go, java, objc, obj-c++. Building the Ada compiler has special requirements, see below. d862 6 a867 6 default languages available in the gcc sub-tree will be configured. Ada, Go and Objective-C++ are not default languages; the rest are.

      --enable-stage1-languages=lang1,lang2,…

      Specify that a particular subset of compilers and their runtime d871 2 a872 2 --enable-languages, and the option all will select all of the languages enabled by --enable-languages. This option is d877 5 a881 7 specified languages with the stage-1 compiler by using make stage1-bubble all-target, or run the testsuite on the stage-1 compiler for the specified languages using make stage1-start check-gcc.

      --disable-libada

      Specify that the run-time libraries and tools used by GNAT should not d884 3 a886 5 do a ‘make -C gcc gnatlib_and_tools’.

      --disable-libsanitizer

      Specify that the run-time libraries for the various sanitizers should d888 2 a889 4

      --disable-libssp

      Specify that the run-time libraries for stack smashing protection d891 2 a892 4

      --disable-libquadmath

      Specify that the GCC quad-precision math library should not be built. d894 1 a894 1 the Fortran front end, unless --disable-libquadmath-support d896 2 a897 4

      --disable-libquadmath-support

      Specify that the Fortran front end and libgfortran do not add d899 2 a900 4

      --disable-libgomp

      Specify that the GNU Offloading and Multi Processing Runtime Library d902 2 a903 4

      --disable-libvtv

      Specify that the run-time libraries used by vtable verification d905 2 a906 4

      --with-dwarf2

      Specify that the compiler should d908 9 a916 5

      --enable-targets=all
      --enable-targets=target_list

      Some GCC targets, e.g. powerpc64-linux, build bi-arch compilers. d918 1 a918 1 code. Typically, the corresponding 32-bit target, e.g. d922 1 a922 1 you are building a bi-arch or multi-arch binutils in a combined tree. d924 1 a924 1 defaulted to o32. d927 4 a930 4

      --enable-secureplt

      This option enables -msecure-plt by default for powerpc-linux. d932 4 a935 4

      --enable-cld

      This option enables -mcld by default for 32-bit x86 targets. d937 2 a938 6

      --enable-win32-registry
      --enable-win32-registry=key
      --disable-win32-registry

      The --enable-win32-registry option enables Microsoft Windows-hosted GCC a939 4

      HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\key
      
      d941 4 a944 2

      key defaults to GCC version number, and can be overridden by the --enable-win32-registry=key option. Vendors and distributors d948 1 a948 1 by default, and can be disabled by --disable-win32-registry d950 8 a957 15

      --nfp

      Specify that the machine does not have a floating point unit. This option only applies to ‘m68k-sun-sunosn’. On any other system, --nfp has no effect.

      --enable-werror
      --disable-werror
      --enable-werror=yes
      --enable-werror=no

      When you specify this option, it controls whether certain files in the compiler are built with -Werror in bootstrap stage2 and later. If you don’t specify it, -Werror is turned on for the main d959 1 a959 1 final releases. The specific files which get -Werror are d961 2 a962 5

      --enable-checking
      --enable-checking=list

      When you specify this option, the compiler is built to perform internal d966 3 a968 3 the compiler with GCC. This is ‘yes’ by default when building from SVN or snapshots, but ‘release’ for releases. The default for building the stage1 compiler is ‘yes’. More control d970 9 a978 9 checks available are ‘yes’ (most common checks ‘assert,misc,tree,gc,rtlflag,runtime’), ‘no’ (no checks at all), ‘all’ (all but ‘valgrind’), ‘release’ (cheapest checks ‘assert,runtime’) or ‘none’ (same as ‘no’). Individual checks can be enabled with these flags ‘assert’, ‘df’, ‘fold’, ‘gc’, ‘gcac’ ‘misc’, ‘rtl’, ‘rtlflag’, ‘runtime’, ‘tree’, and ‘valgrind’.

      The ‘valgrind’ check requires the external valgrind d980 3 a982 3 ‘df’, ‘rtl’, ‘gcac’ and ‘valgrind’ checks are very expensive. To disable all checking, ‘--disable-checking’ or ‘--enable-checking=none’ must be explicitly requested. Disabling d986 3 a988 7

      --disable-stage1-checking
      --enable-stage1-checking
      --enable-stage1-checking=list

      If no --enable-checking option is specified the stage1 compiler will be built with ‘yes’ checking enabled, otherwise d990 3 a992 3 --enable-checking. To build the stage1 compiler with different checking options use --enable-stage1-checking. The list of checking options is the same as for --enable-checking. d994 1 a994 1 with checking for stage1 enabled, you can use ‘--disable-stage1-checking’ d996 2 a997 5

      --enable-coverage
      --enable-coverage=level

      With this option, the compiler is built to collect self coverage d1001 1 a1001 1 not, values are ‘opt’ and ‘noopt’. For coverage analysis you d1005 2 a1006 4

      --enable-gather-detailed-mem-stats

      When this option is specified more detailed information on memory d1008 6 a1013 6 -fmem-report.

      --enable-nls
      --disable-nls

      The --enable-nls option enables Native Language Support (NLS), d1016 6 a1021 10 canadian cross build. The --disable-nls option disables NLS.

      --with-included-gettext

      If NLS is enabled, the --with-included-gettext option causes the build procedure to prefer its copy of GNU gettext.

      --with-catgets

      If NLS is enabled, and if the host lacks gettext but has the d1023 8 a1030 12 ignores catgets and instead uses GCC’s copy of the GNU gettext library. The --with-catgets option causes the build procedure to use the host’s catgets in this situation.

      --with-libiconv-prefix=dir

      Search for libiconv header files in dir/include and libiconv library files in dir/lib.

      --enable-obsolete

      Enable configuration for an obsoleted system. If you attempt to d1034 2 a1035 2

      All support for systems which have been obsoleted in one release of GCC d1038 2 a1039 9

      --enable-decimal-float
      --enable-decimal-float=yes
      --enable-decimal-float=no
      --enable-decimal-float=bid
      --enable-decimal-float=dpd
      --disable-decimal-float

      Enable (or disable) support for the C decimal floating point extension d1044 2 a1045 2 ‘bid’ or ‘dpd’). The ‘bid’ (binary integer decimal) format is default on i386 and x86_64 systems, and the ‘dpd’ d1047 2 a1048 5

      --enable-fixed-point
      --disable-fixed-point

      Enable (or disable) support for C fixed-point arithmetic. d1052 2 a1053 4

      --with-long-double-128

      Specify if long double type should be 128-bit by default on selected d1055 1 a1055 1 long double will be by default 64-bit, the same as double type. d1059 4 a1062 12

      --with-gmp=pathname
      --with-gmp-include=pathname
      --with-gmp-lib=pathname
      --with-mpfr=pathname
      --with-mpfr-include=pathname
      --with-mpfr-lib=pathname
      --with-mpc=pathname
      --with-mpc-include=pathname
      --with-mpc-lib=pathname

      If you want to build GCC but do not have the GMP library, the MPFR d1066 12 a1077 12 (‘--with-gmp=gmpinstalldir’, ‘--with-mpfr=mpfrinstalldir’, ‘--with-mpc=mpcinstalldir’). The --with-gmp=gmpinstalldir option is shorthand for --with-gmp-lib=gmpinstalldir/lib and --with-gmp-include=gmpinstalldir/include. Likewise the --with-mpfr=mpfrinstalldir option is shorthand for --with-mpfr-lib=mpfrinstalldir/lib and --with-mpfr-include=mpfrinstalldir/include, also the --with-mpc=mpcinstalldir option is shorthand for --with-mpc-lib=mpcinstalldir/lib and --with-mpc-include=mpcinstalldir/include. If these d1082 3 a1084 3 variable (LD_LIBRARY_PATH on GNU/Linux and Solaris systems).

      These flags are applicable to the host platform only. When building d1086 2 a1087 6

      --with-isl=pathname
      --with-isl-include=pathname
      --with-isl-lib=pathname

      If you do not have the ISL library installed in a standard location and you d1089 4 a1092 4 installed (‘--with-isl=islinstalldir’). The --with-isl=islinstalldir option is shorthand for --with-isl-lib=islinstalldir/lib and --with-isl-include=islinstalldir/include. If this d1095 2 a1096 2

      These flags are applicable to the host platform only. When building d1098 2 a1099 14

      --with-host-libstdcxx=linker-args

      If you are linking with a static copy of PPL, you can use this option to specify how the linker should find the standard C++ library used internally by PPL. Typical values of linker-args might be ‘-lstdc++’ or ‘-Wl,-Bstatic,-lstdc++,-Bdynamic -lm’. If you are linking with a shared copy of PPL, you probably do not need this option; shared library dependencies will cause the linker to search for the standard C++ library automatically.

      --with-stage1-ldflags=flags

      This option may be used to set linker flags to be used when linking d1101 5 a1105 5 --disable-bootstrap. By default no special flags are used.

      --with-stage1-libs=libs

      This option may be used to set libraries to be used when linking stage 1 d1107 11 a1117 19 --disable-bootstrap. The default is the argument to --with-host-libstdcxx, if specified.

      --with-boot-ldflags=flags

      This option may be used to set linker flags to be used when linking stage 2 and later when bootstrapping GCC. If neither –with-boot-libs nor –with-host-libstdcxx is set to a value, then the default is ‘-static-libstdc++ -static-libgcc’.

      --with-boot-libs=libs

      This option may be used to set libraries to be used when linking stage 2 and later when bootstrapping GCC. The default is the argument to --with-host-libstdcxx, if specified.

      --with-debug-prefix-map=map

      Convert source directory names using -fdebug-prefix-map when d1119 4 a1122 6 list of maps of the form ‘old=new’.

      --enable-linker-build-id

      Tells GCC to pass --build-id option to the linker for all final links (links performed without the -r or --relocatable d1124 5 a1128 7 --enable-linker-build-id, but your linker does not support --build-id option, a warning is issued and the --enable-linker-build-id option is ignored. The default is off.

      --with-linker-hash-style=choice

      Tells GCC to pass --hash-style=choice option to the d1130 3 a1132 6 ‘sysv’, ‘gnu’, and ‘both’ where ‘sysv’ is the default.

      --enable-gnu-unique-object
      --disable-gnu-unique-object

      Tells GCC to use the gnu_unique_object relocation for C++ template d1136 2 a1137 4

      --with-diagnostics-color=choice

      Tells GCC to use choice as the default for -fdiagnostics-color= d1139 3 a1141 3 can be one of ‘never’, ‘auto’, ‘always’, and ‘auto-if-env’ where ‘auto’ is the default. ‘auto-if-env’ means that -fdiagnostics-color=auto will be the default if GCC_COLORS d1143 6 a1148 12 -fdiagnostics-color=never otherwise.

      --enable-lto
      --disable-lto

      Enable support for link-time optimization (LTO). This is enabled by default, and may be disabled using --disable-lto.

      --enable-linker-plugin-configure-flags=FLAGS
      --enable-linker-plugin-flags=FLAGS

      By default, linker plugins (such as the LTO plugin) are built for the d1153 2 a1154 2 (‘x86_64-unknown-linux-gnu’) host system, but have a 32-bit x86 GNU/Linux (‘i686-pc-linux-gnu’) linker executable (which is d1157 8 a1164 12

      % srcdir/configure \
          --host=x86_64-unknown-linux-gnu \
          --enable-linker-plugin-configure-flags=--host=i686-pc-linux-gnu \
          --enable-linker-plugin-flags='CC=gcc\ -m32\ -Wl,-rpath,[...]/i686-pc-linux-gnu/lib'
      
      --with-plugin-ld=pathname

      Enable an alternate linker to be used at link-time optimization (LTO) link time when -fuse-linker-plugin is enabled. d1166 4 a1169 7 version 2.20 or GNU ld starting with version 2.21. See -fuse-linker-plugin for details.

      --enable-canonical-system-headers
      --disable-canonical-system-headers

      Enable system header path canonicalization for libcpp. This can d1173 3 a1175 5 --disable-canonical-system-headers.

      --with-glibc-version=major.minor

      Tell GCC that when the GNU C Library (glibc) is used on the target it d1177 1 a1177 1 be detected from the C library’s header files, but this option may be d1180 3 a1182 3

      If GCC is configured with some multilibs that use glibc and some that do not, this option applies only to the multilibs that use glibc. d1185 4 a1188 8

      --enable-as-accelerator-for=target

      Build as offload target compiler. Specify offload host triple by target.

      --enable-offload-targets=target1[=path1],…,targetN[=pathN]

      Enable offloading to targets target1, …, targetN. d1191 22 a1212 7 specifying paths path1, …, pathN.

      % srcdir/configure \
          --enable-offload-target=i686-unknown-linux-gnu=/path/to/i686/compiler,x86_64-pc-linux-gnu
      
      d1215 2 a1216 2

      Cross-Compiler-Specific Options

      d1218 4 a1221 6

      --with-sysroot
      --with-sysroot=dir

      Tells GCC to consider dir as the root of a tree that contains (a subset of) the root filesystem of the target operating system. d1224 1 a1224 1 --sysroot=dir was added to the default options of the built d1226 5 a1230 5 install tree, unlike the options --with-headers and --with-libs that this option obsoletes. The default value, in case --with-sysroot is not given an argument, is ${gcc_tooldir}/sys-root. If the specified directory is a subdirectory of ${exec_prefix}, then it will be found relative to d1232 2 a1233 2

      This option affects the system root for the compiler used to build d1237 2 a1238 2

      If you specify the --with-native-system-header-dir=dirname d1240 8 a1247 11 native system headers rather than the default /usr/include.

      --with-build-sysroot
      --with-build-sysroot=dir

      Tells GCC to consider dir as the system root (see --with-sysroot) while building target libraries, instead of the directory specified with --with-sysroot. This option is only useful when you are already using --with-sysroot. You can use --with-build-sysroot when you are configuring with --prefix set to a directory that is different from the one in d1249 2 a1250 2

      This option affects the system root for the compiler used to build d1253 2 a1254 2

      If you specify the --with-native-system-header-dir=dirname d1256 4 a1259 7 native system headers rather than the default /usr/include.

      --with-headers
      --with-headers=dir

      Deprecated in favor of --with-sysroot. Specifies that target headers are available when building a cross compiler. d1261 5 a1265 5 files. These include files will be copied into the gcc install directory. This option with the dir argument is required when building a cross compiler, if prefix/target/sys-include doesn’t pre-exist. If prefix/target/sys-include does pre-exist, the dir argument may be omitted. fixincludes d1267 2 a1268 4

      --without-headers

      Tells GCC not use any target headers from a libc when building a cross d1271 2 a1272 5

      --with-libs
      --with-libs="dir1 dir2 … dirN"

      Deprecated in favor of --with-sysroot. d1274 1 a1274 1 libraries. These libraries will be copied into the gcc install d1277 2 a1278 4

      --with-newlib

      Specifies that ‘newlib’ is d1280 4 a1283 6 omitted from libgcc.a on the assumption that it will be provided by ‘newlib’.

      --with-avrlibc

      Specifies that ‘AVR-Libc’ is d1285 3 a1287 3 functions like __addsf3 to be omitted from libgcc.a on the assumption that it will be provided by libm.a. For more technical details, cf. PR54461. d1291 3 a1293 5

      --with-nds32-lib=library

      Specifies that library setting is used for building libgcc.a. Currently, the valid library is ‘newlib’ or ‘mculib’. d1295 2 a1296 4

      --with-build-time-tools=dir

      Specifies where to find the set of target tools (assembler, linker, etc.) d1300 3 a1302 3

      For example, on an ‘ia64-hp-hpux’ system, you may have the GNU assembler and linker in /usr/bin, and the native tools in a d1304 7 a1310 8 native tools in /usr/bin.

      When you use this option, you should ensure that dir includes ar, as, ld, nm, ranlib and strip if necessary, and possibly objdump. Otherwise, GCC may use an inconsistent set of tools.

      d1313 1 a1313 2

      Overriding configure test results

      d1316 2 a1317 2 configure test, for example in order to ease porting to a new system or work around a bug in a test. The toplevel configure d1319 3 a1321 5

      build_configargs

      The contents of this variable is passed to all build configure d1323 2 a1324 5

      host_configargs

      The contents of this variable is passed to all host configure d1326 2 a1327 5

      target_configargs

      The contents of this variable is passed to all target configure a1328 3

      d1330 4 a1333 2

      In order to avoid shell and make quoting issues for complex overrides, you can pass a setting for CONFIG_SITE and set d1335 2 a1336 3

      Java-Specific Options

      d1339 3 a1341 4

      --disable-libgcj

      Specify that the run-time libraries d1343 1 a1343 1 to use GCJ with some other run-time, or you’re going to install it d1346 2 a1347 2 libraries will be enabled too, unless they’re known to not work on the target platform. If GCJ is enabled but ‘libgcj’ isn’t built, you d1349 8 a1356 5 configure.in so that ‘libgcj’ is enabled by default on this platform, you may use --enable-libgcj to override the default.

      d1358 5 a1362 11

      The following options apply to building ‘libgcj’.

      General Options

      --enable-java-maintainer-mode

      By default the ‘libjava’ build will not attempt to compile the .java source files to .class. Instead, it will use the .class files from the source tree. If you use this option you must have executables named ecj1 and gjavah in your path d1364 10 a1373 14 modify any .java files in libjava.

      --with-java-home=dirname

      This ‘libjava’ option overrides the default value of the ‘java.home’ system property. It is also used to set ‘sun.boot.class.path’ to dirname/lib/rt.jar. By default ‘java.home’ is set to prefix and ‘sun.boot.class.path’ to datadir/java/libgcj-version.jar.

      --with-ecj-jar=filename

      This option can be used to specify the location of an external jar d1375 3 a1377 3 version of this compiler is used by gcj to parse .java source files. If this option is given, the ‘libjava’ build will create and install an ecj1 executable d1379 8 a1386 8

      If this option is not given, but an ecj.jar file is found in the topmost source tree at configure time, then the ‘libgcj’ build will create and install ecj1, and will also install the discovered ecj.jar into a suitable place in the install tree.

      If ecj1 is not installed, then the user will have to supply one on his path in order for gcj to properly parse .java d1389 5 a1393 9

      --disable-getenv-properties

      Don’t set system properties from GCJ_PROPERTIES.

      --enable-hash-synchronization

      Use a global hash table for monitor locks. Ordinarily, ‘libgcj’’s ‘configure’ script automatically makes d1396 2 a1397 4

      --enable-interpreter

      Enable the Java interpreter. The interpreter is automatically d1400 3 a1402 5 (using --disable-interpreter).

      --disable-java-net

      Disable java.net. This disables the native part of java.net only, d1404 6 a1409 10

      --disable-jvmpi

      Disable JVMPI support.

      --disable-libgcj-bc

      Disable BC ABI compilation of certain parts of libgcj. By default, some portions of libgcj are compiled with -findirect-dispatch and -fno-indirect-classes, allowing them to be overridden at d1411 2 a1412 2

      If --disable-libgcj-bc is specified, libgcj is built without d1416 2 a1417 4

      --enable-reduced-reflection

      Build most of libgcj with -freduced-reflection. This reduces d1422 11 a1432 19

      --with-ecos

      Enable runtime eCos target support.

      --without-libffi

      Don’t use ‘libffi’. This will disable the interpreter and JNI support as well, as these require ‘libffi’ to work.

      --enable-libgcj-debug

      Enable runtime debugging code.

      --enable-libgcj-multifile

      If specified, causes all .java source files to be compiled into .class files in one invocation of ‘gcj’. This can speed up build time, but is more d1434 8 a1441 14 disabled, ‘gcj’ is invoked once for each .java file to compile into a .class file.

      --with-libiconv-prefix=DIR

      Search for libiconv in DIR/include and DIR/lib.

      --with-system-zlib

      Use installed ‘zlib’ rather than that included with GCC.

      --with-win32-nlsapi=ansi, unicows or unicode

      Indicates how MinGW ‘libgcj’ translates between UNICODE d1443 2 a1444 4

      --enable-java-home

      If enabled, this creates a JPackage compatible SDK environment during install. d1447 2 a1448 4

      --with-arch-directory=ARCH

      Specifies the name to use for the jre/lib/ARCH directory in the SDK d1451 5 a1455 9

      --with-os-directory=DIR

      Specifies the OS directory for the SDK include directory. This is set to auto detect, and is typically ’linux’.

      --with-origin-name=NAME

      Specifies the JPackage origin name. This defaults to the ’gcj’ in d1457 9 a1465 17

      --with-arch-suffix=SUFFIX

      Specifies the suffix for the sdk directory. Defaults to the empty string. Examples include ’.x86_64’ in ’java-1.5.0-gcj-1.5.0.0.x86_64’.

      --with-jvm-root-dir=DIR

      Specifies where to install the SDK. Default is $(prefix)/lib/jvm.

      --with-jvm-jar-dir=DIR

      Specifies where to install jars. Default is $(prefix)/lib/jvm-exports.

      --with-python-dir=DIR

      Specifies where to install the Python modules used for aot-compile. DIR should d1470 6 a1475 12

      --enable-aot-compile-rpm

      Adds aot-compile-rpm to the list of installed scripts.

      --enable-browser-plugin

      Build the gcjwebplugin web browser plugin.

      --enable-static-libjava

      Build static libraries in libjava. The default is to only build shared d1477 3 a1479 4

      ansi

      Use the single-byte char and the Win32 A functions natively, d1482 6 a1487 8

      unicows

      Use the WCHAR and Win32 W functions natively. Adds -lunicows to libgcj.spec to link with ‘libunicows’. unicows.dll needs to be deployed on Microsoft Windows 9X machines running built executables. libunicows.a, an open-source import library around Microsoft’s unicows.dll, is obtained from d1489 5 a1493 8 on getting unicows.dll from Microsoft.

      unicode

      Use the WCHAR and Win32 W functions natively. Does not add -lunicows to libgcj.spec. The built executables will only run on Microsoft Windows NT and above.

      d1495 1 a1495 5

      AWT-Specific Options

      d1497 1 a1497 42
      --with-x

      Use the X Window System.

      --enable-java-awt=PEER(S)

      Specifies the AWT peer library or libraries to build alongside ‘libgcj’. If this option is unspecified or disabled, AWT will be non-functional. Current valid values are gtk and xlib. Multiple libraries should be separated by a comma (i.e. --enable-java-awt=gtk,xlib).

      --enable-gtk-cairo

      Build the cairo Graphics2D implementation on GTK.

      --enable-java-gc=TYPE

      Choose garbage collector. Defaults to boehm if unspecified.

      --disable-gtktest

      Do not try to compile and run a test GTK+ program.

      --disable-glibtest

      Do not try to compile and run a test GLIB program.

      --with-libart-prefix=PFX

      Prefix where libart is installed (optional).

      --with-libart-exec-prefix=PFX

      Exec prefix where libart is installed (optional).

      --disable-libarttest

      Do not try to compile and run a test libart program.

      d1499 2 d1502 5 a1506 4

      Return to the GCC Installation page

      d1508 1 d1510 1 d1512 1 d1514 1 d1516 1 d1518 1 d1520 1 d1522 1 d1524 2 d1527 10 a1537 2 @ 1.5 log @merge GCC 5.3. round 1. this probably won't work :-) libsanitizer likely needs to be re-ported, though i've done most of the updating we'll need i think already. @ text @d1 3 a3 10 Installing GCC: Configuration d62 26 a87 4

      Installing GCC: Configuration

      Like most GNU software, GCC must be configured before it can be built. d90 2 a91 2

      We use srcdir to refer to the toplevel source directory for d93 7 a99 7

      If you obtained the sources via SVN, srcdir must refer to the top gcc directory, the one where the MAINTAINERS file can be found, and not its gcc subdirectory, otherwise the build will fail.

      If either srcdir or objdir is located on an automounted NFS file system, the shell's built-in pwd command will return d101 3 a103 3 problems. To avoid this issue, set the PWDCMD environment variable to an automounter-aware pwd command, e.g., pawd or ‘amq -w’, during the configuration and build d105 2 a106 2

      First, we highly recommend that GCC be built into a d109 1 a109 1 where srcdir == objdir should still work, but doesn't d112 6 a117 6

      If you have previously built GCC in the same directory for a different target machine, do ‘make distclean’ to delete all files that might be invalid. One of the files this deletes is Makefile; if ‘make distclean’ complains that Makefile does not exist or issues a message like “don't know how to make distclean” it probably d121 3 a123 3

      Second, when configuring a native system, either cc or gcc must be in your path or you must set CC in d126 1 d128 7 a134 1

      To configure GCC: d136 2 a137 5

           % mkdir objdir
           % cd objdir
           % srcdir/configure [options] [target]
      

      Distributor options

      d142 4 a145 3
      --with-pkgversion=version
      Specify a string that identifies your package. You may wish d147 8 a154 6 included in the output of gcc --version. This suffix does not replace the default version string, only the ‘GCC’ part.

      The default value is ‘GCC’.

      --with-bugurl=url
      Specify the URL that users should visit if they wish to report a bug. d157 5 d163 4 a166 8

      The default value refers to the FSF's GCC bug tracker.

      Target specification

      • GCC has code to correctly determine the correct value for target d170 1 a170 1
      • target must be specified as --target=target d174 4 a177 3
      • Specifying just target instead of --target=target implies that the host defaults to target.
      d179 2 a180 1

      Options specification

      d183 2 a184 2 GCC. A list of supported options follows; ‘configure --help’ may list other options, but those not listed below may not d186 8 a193 7

      Note that each --enable option has a corresponding --disable option and that each --with option has a corresponding --without option.

      --prefix=dirname
      Specify the toplevel installation d196 3 a198 3 /usr/local.

      We highly recommend against dirname being the same or a d200 5 a204 5 beneath a user's home directory tree, some shells will not expand dirname correctly if it contains the ‘~’ metacharacter; use $HOME instead.

      The following standard autoconf options are supported. Normally you d206 3 a208 2

      --exec-prefix=dirname
      Specify the toplevel installation directory for architecture-dependent d210 20 a229 12
      --bindir=dirname
      Specify the installation directory for the executables called by users (such as gcc and g++). The default is exec-prefix/bin.
      --libdir=dirname
      Specify the installation directory for object code libraries and internal data files of GCC. The default is exec-prefix/lib.
      --libexecdir=dirname
      Specify the installation directory for internal executables of GCC. The default is exec-prefix/libexec.
      --with-slibdir=dirname
      Specify the installation directory for the shared libgcc library. The d231 14 a244 8
      --datarootdir=dirname
      Specify the root of the directory tree for read-only architecture-independent data files referenced by GCC. The default is prefix/share.
      --infodir=dirname
      Specify the installation directory for documentation in info format. The default is datarootdir/info.
      --datadir=dirname
      Specify the installation directory for some architecture-independent d246 9 a254 5
      --docdir=dirname
      Specify the installation directory for documentation files (other than Info) for GCC. The default is datarootdir/doc.
      --htmldir=dirname
      Specify the installation directory for HTML documentation files. d256 4 a259 2
      --pdfdir=dirname
      Specify the installation directory for PDF documentation files. d261 5 a265 3
      --mandir=dirname
      Specify the installation directory for manual pages. The default is datarootdir/man. (Note that the manual pages are only extracts d269 4 a272 2
      --with-gxx-include-dir=dirname
      Specify d276 4 a279 2
      --with-specs=specs
      Specify additional command line driver SPECS. d281 2 a282 2 default without modifying the compiler's source code, for instance --with-specs=%{!fcommon:%{!fno-common:-fno-common}}. d284 3 d288 3 a290 3

      --program-prefix=prefix
      GCC supports some transformations of the names of its programs when d293 13 a305 9 --program-prefix=foo- would result in ‘gcc’ being installed as /usr/local/bin/foo-gcc.
      --program-suffix=suffix
      Appends suffix to the names of programs to install in bindir (see above). For example, specifying --program-suffix=-3.1 would result in ‘gcc’ being installed as /usr/local/bin/gcc-3.1.
      --program-transform-name=pattern
      Applies the ‘sed’ script pattern to be applied to the names d307 5 a311 5 consist of one or more basic ‘sed’ editing commands, separated by semicolons. For example, if you want the ‘gcc’ program name to be transformed to the installed program /usr/local/bin/myowngcc and the ‘g++’ program name to be transformed to /usr/local/bin/gspecial++ without changing other program names, d313 1 a313 1 --program-transform-name='s/^gcc$/myowngcc/; s/^g++$/gspecial++/' d315 2 a316 2

      All three options can be combined and used together, resulting in more d320 3 a322 3

      As currently implemented, this option only takes effect for native builds; cross compiler binaries' names are not transformed even when a d324 2 a325 2

      For native builds, some of the installed programs are also installed d327 1 a327 1 ‘i686-pc-linux-gnu-gcc’. All of the above transformations happen d329 1 a329 1 --program-prefix=foo- and program-suffix=-3.1, the d331 3 a333 3 /usr/local/bin/i686-pc-linux-gnu-foo-gcc-3.1.

      As a last shortcoming, none of the installed Ada programs are d335 4 a338 2

      --with-local-prefix=dirname
      Specify the d340 6 a345 6 /usr/local. Specify this option if you want the compiler to search directory dirname/include for locally installed header files instead of /usr/local/include.

      You should specify --with-local-prefix only if your site has a different convention (not /usr/local) for where to put d347 4 a350 4

      The default value for --with-local-prefix is /usr/local regardless of the value of --prefix. Specifying --prefix has no effect on which directory GCC searches for d353 3 a355 3

      The purpose of --prefix is to specify where to install GCC. The local header files in /usr/local/include—if you put d358 4 a361 4 another directory which is based on the --prefix value.)

      Both the local-prefix include directory and the GCC-prefix include directory are part of GCC's “system include” directories. Although these d367 2 a368 2

      Some autoconf macros add -I directory options to the d370 1 a370 1 packages' headers are searched. When directory is one of GCC's d375 3 a377 3

      GCC automatically searches for ordinary libraries using GCC_EXEC_PREFIX. Thus, when the same installation prefix is d381 3 a383 3 installed as a system compiler in /usr.

      Sites that need to install multiple versions of GCC may not want to d385 2 a386 2 --program-prefix, --program-suffix and --program-transform-name options to install multiple versions d388 1 a388 1 and the --with-local-prefix option to specify the location of the d391 9 a399 9 (e.g., with LIBRARY_PATH).

      The same value can be used for both --with-local-prefix and --prefix provided it is not /usr. This can be used to avoid the default search of /usr/local/include.

      Do not specify /usr as the --with-local-prefix! The directory you use for --with-local-prefix must not contain any of the system's standard header files. If it did contain d402 3 a404 3 file corrections made by the fixincludes script.

      Indications are that people who use this option use it based on mistaken d408 5 a412 3

      --with-native-system-header-dir=dirname
      Specifies that dirname is the directory that contains native system header files, rather than /usr/include. This option is most useful d415 1 a415 1 --with-sysroot option and will cause GCC to search d417 4 a420 2
      --enable-shared[=package[,...]]
      Build shared versions of libraries, if shared libraries are supported on d423 2 a424 2

      If a list of packages is given as an argument, build shared libraries d427 10 a436 10 ‘libgcc’ (also known as ‘gcc’), ‘libstdc++’ (not ‘libstdc++-v3’), ‘libffi’, ‘zlib’, ‘boehm-gc’, ‘ada’, ‘libada’, ‘libjava’, ‘libgo’, and ‘libobjc’. Note ‘libiberty’ does not support shared libraries at all.

      Use --disable-shared to build only static libraries. Note that --disable-shared does not accept a list of package names as argument, only --enable-shared does.

      Contrast with --enable-host-shared, which affects host d438 4 a441 2

      --enable-host-shared
      Specify that the host code should be built into position-independent d444 4 a447 4

      This option is required when building the libgccjit.so library.

      Contrast with --enable-shared, which affects target d449 4 a452 2

      --with-gnu-as
      Specify that the compiler should assume that the d457 1 a457 1 configured with --with-gnu-as.) If you have more than one d459 4 a462 4 connection with --with-as=pathname or --with-build-time-tools=pathname.

      The following systems are the only ones where it makes a difference d464 12 a475 10 --with-gnu-as has no effect.

      • ‘hppa1.0-any-any’
      • ‘hppa1.1-any-any’
      • ‘sparc-sun-solaris2.any’
      • ‘sparc64-any-solaris2.any’

      --with-as=pathname
      Specify that the compiler should use the assembler pointed to by d478 4 a481 4
      • Unless GCC is being built with a cross compiler, check the libexec/gcc/target/version directory. libexec defaults to exec-prefix/libexec; d483 3 a485 3 defaults to /usr/local unless overridden by the --prefix=pathname switch described above. target is the target system triple, such as ‘sparc-sun-solaris2.7’, and d488 2 a489 2
      • If the target system is the same that you are building on, check operating system specific directories (e.g. /usr/ccs/bin on d492 1 a492 1
      • Check in the PATH for a tool whose name is prefixed by the d495 1 a495 1
      • Check in the PATH for a tool whose name is not prefixed by the d498 2 a499 2 the target as well).
      d501 1 a501 1

      You may want to use --with-as if no assembler d505 4 a508 2

      --with-gnu-ld
      Same as --with-gnu-as d510 4 a513 2
      --with-ld=pathname
      Same as --with-as d515 4 a518 2
      --with-stabs
      Specify that stabs debugging d521 2 a522 2

      On MIPS based systems and on Alphas, you must specify whether you want d527 6 a532 6

      Normally, GCC uses the ECOFF debugging format by default; if you prefer BSD stabs, specify --with-stabs when you configure GCC.

      No matter which default you choose when you configure GCC, the user can use the -gcoff and -gstabs+ options to specify explicitly d534 3 a536 3

      --with-stabs is meaningful on the ISC system on the 386, also, if --with-gas is used. It selects use of stabs debugging d539 2 a540 2

      --with-stabs is also meaningful on 386 systems running SVR4. It d546 4 a549 2

      --with-tls=dialect
      Specify the default TLS dialect, for systems were there is a choice. d553 4 a556 2
      --enable-multiarch
      Specify whether to enable or disable multiarch support. The default is d559 2 a560 2 and for cross builds configured with --with-sysroot, and without --with-native-system-header-dir. d563 10 a572 2
      --enable-vtable-verify
      Specify whether to enable or disable the vtable verification feature. d577 1 a577 1 the verifier will call stub functions (in libstdc++ itself) and do nothing. d580 6 a585 4 still be built (see --disable-libvtv to turn off building libvtv). --disable-vtable-verify is the default.
      --disable-multilib
      Specify that multiple target d589 18 a606 11

      Some targets provide finer-grained control over which multilibs are built (e.g., --disable-softfloat):

      arm-*-*
      fpu, 26bit, underscore, interwork, biendian, nofmult.
      m68*-*-*
      softfloat, m68881, m68000, m68020.
      mips*-*-*
      single-float, biendian, softfloat.
      powerpc*-*-*, rs6000*-*-*
      aix64, pthread, softfloat, powercpu, powerpccpu, powerpcos, biendian, d608 3 d612 4 a615 3

      --with-multilib-list=list
      --without-multilib-list
      Specify what multilibs to build. d617 4 a620 3
      sh*-*-*
      list is a comma separated list of CPU names. These must be of the d623 3 a625 3 these are handled by --with-endian.

      If list is empty, then there will be no multilibs for extra d627 4 a630 4

      As a special case, if an entry in the list starts with a ! (exclamation point), then it is added to the list of excluded multilibs. Entries of this sort should be compatible with ‘MULTILIB_EXCLUDES’ d632 3 a634 3

      If --with-multilib-list is not given, then a default set of multilibs is selected based on the value of --target. This is d637 6 d644 1 a644 5

      Example 1: to configure a compiler for SH4A only, but supporting both endians, with little endian being the default:

                     --with-cpu=sh4a --with-endian=little,big --with-multilib-list=
      

      Example 2: to configure a compiler for both SH4A and SH4AL-DSP, but with d646 8 a653 4

                     --with-cpu=sh4a --with-endian=little,big \
                     --with-multilib-list=sh4al,!mb/m4al
      

      x86-64-*-linux*
      list is a comma separated list of m32, m64 and d657 4 a660 3

      If --with-multilib-list is not given, then only 32-bit and 64-bit run-time libraries will be enabled. d663 3 a665 1

      --with-endian=endians
      Specify what endians to use. d667 15 a681 7

      endians may be one of the following:

      big
      Use big endian exclusively.
      little
      Use little endian exclusively.
      big,little
      Use big endian by default. Provide a multilib for little endian.
      little,big
      Use little endian by default. Provide a multilib for big endian. d684 3 a686 1
      --enable-threads
      Specify that the target d688 1 a688 1 library, and exception handling for other languages like C++ and Java. d690 2 a691 2

      In general, the best (and, in many cases, the only known) threading d694 11 a704 7 available for the system. In this case, --enable-threads is an alias for --enable-threads=single.

      --disable-threads
      Specify that threading support should be disabled for the system. This is an alias for --enable-threads=single.
      --enable-threads=lib
      Specify that d708 35 a742 13
      aix
      AIX thread support.
      dce
      DCE thread support.
      lynx
      LynxOS thread support.
      mipssde
      MIPS SDE thread support.
      no
      This is an alias for ‘single’.
      posix
      Generic POSIX/Unix98 thread support.
      rtems
      RTEMS thread support.
      single
      Disable thread support, should work for all platforms.
      tpf
      TPF thread support.
      vxworks
      VxWorks thread support.
      win32
      Microsoft Win32 API thread support. d745 3 a747 1
      --enable-tls
      Specify that the target supports TLS (Thread Local Storage). Usually d750 1 a750 1 --enable-tls or --disable-tls. This can happen if d753 12 a764 6
      --disable-tls
      Specify that the target does not support TLS. This is an alias for --enable-tls=no.
      --with-cpu=cpu
      --with-cpu-32=cpu
      --with-cpu-64=cpu
      Specify which cpu variant the compiler should generate code for by default. cpu will be used as the default value of the -mcpu= switch. d766 2 a767 2 PowerPC, and SPARC. It is mandatory for ARC. The --with-cpu-32 and --with-cpu-64 options specify separate default CPUs for d770 16 a785 5
      --with-schedule=cpu
      --with-arch=cpu
      --with-arch-32=cpu
      --with-arch-64=cpu
      --with-tune=cpu
      --with-tune-32=cpu
      --with-tune-64=cpu
      --with-abi=abi
      --with-fpu=type
      --with-float=type
      These configure options provide default values for the -mschedule=, -march=, -mtune=, -mabi=, and -mfpu= options and for -mhard-float or -msoft-float. As with --with-cpu, which switches will be accepted and acceptable values d787 4 a790 2
      --with-mode=mode
      Specify if the compiler should default to -marm or -mthumb. d792 4 a795 2
      --with-stack-offset=num
      This option sets the default for the -mstack-offset=num option, d798 6 a803 4
      --with-fpmath=isa
      This options sets -mfpmath=sse by default and specifies the default ISA for floating-point arithmetics. You can select either ‘sse’ which enables -msse2 or ‘avx’ which enables -mavx by default. d805 4 a808 2
      --with-fp-32=mode
      On MIPS targets, set the default value for the -mfp option when using d810 13 a822 7
      32
      Use the o32 FP32 ABI extension, as with the -mfp32 command-line option.
      xx
      Use the o32 FPXX ABI extension, as with the -mfpxx command-line option.
      64
      Use the o32 FP64 ABI extension, as with the -mfp64 command-line option. d824 1 a824 1 In the absence of this configuration option the default is to use the o32 d826 4 a829 2
      --with-odd-spreg-32
      On MIPS targets, set the -modd-spreg option by default when using d831 4 a834 2
      --without-odd-spreg-32
      On MIPS targets, set the -mno-odd-spreg option by default when using d836 5 a840 3 --with-fp-32=64 in order to target the o32 FP64A ABI extension.
      --with-nan=encoding
      On MIPS targets, set the default encoding convention to use for the d843 9 a851 5
      legacy
      Use the legacy encoding, as with the -mnan=legacy command-line option.
      2008
      Use the 754-2008 encoding, as with the -mnan=2008 command-line option. d853 2 a854 2 To use this configuration option you must have an assembler version installed that supports the -mnan= command-line option too. d856 7 a862 5 the legacy encoding, as when neither of the -mnan=2008 and -mnan=legacy command-line options has been used.
      --with-divide=type
      Specify how the compiler should generate code for checking for division by zero. This option is only supported on the MIPS target. d864 8 a871 4
      traps
      Division by zero checks use conditional traps (this is the default on systems that support conditional traps).
      breaks
      Division by zero checks use the break instruction. d874 5 a878 4
      --with-llsc
      On MIPS targets, make -mllsc the default when no -mno-llsc option is passed. This is the default for d881 19 a899 11
      --without-llsc
      On MIPS targets, make -mno-llsc the default when no -mllsc option is passed.
      --with-synci
      On MIPS targets, make -msynci the default when no -mno-synci option is passed.
      --without-synci
      On MIPS targets, make -mno-synci the default when no -msynci option is passed. This is the default.
      --with-mips-plt
      On MIPS targets, make use of copy relocations and PLTs. d903 5 a907 3
      --enable-__cxa_atexit
      Define if you want to use __cxa_atexit, rather than atexit, to register C++ destructors for local statics and global objects. d911 5 a915 3 -fuse-cxa-atexit to be passed by default.
      --enable-gnu-indirect-function
      Define if you want to enable the ifunc attribute. This option is d917 5 a921 3
      --enable-target-optspace
      Specify that target libraries should be optimized for code space instead of code speed. d923 9 a931 5
      --with-cpp-install-dir=dirname
      Specify that the user visible cpp program should be installed in prefix/dirname/cpp, in addition to bindir.
      --enable-comdat
      Enable COMDAT group support. This is primarily used to override the d933 4 a936 2
      --enable-initfini-array
      Force the use of sections .init_array and .fini_array d938 1 a938 1 destructors. Option --disable-initfini-array has the d942 4 a945 2
      --enable-link-mutex
      When building GCC, use a mutex to avoid linking the compilers for d948 5 a952 3
      --enable-maintainer-mode
      The build rules that regenerate the Autoconf and Automake output files as well as the GCC master message catalog gcc.pot are normally d955 1 a955 1 catalog, configuring with --enable-maintainer-mode will enable d958 5 a962 3
      --disable-bootstrap
      For a native build, the default configuration is to perform a 3-stage bootstrap of the compiler when ‘make’ is invoked, d964 6 a969 4 this process, you can configure with --disable-bootstrap.
      --enable-bootstrap
      In special cases, you may want to perform a 3-stage build even if the target and host triplets are different. d971 1 a971 1 the target (e.g. host is i686-linux, target is i486-linux). d973 5 a977 3 with --enable-bootstrap.
      --enable-generated-files-in-srcdir
      Neither the .c and .h files that are generated from Bison and flex nor the d983 2 a984 2

      If you configure with --enable-generated-files-in-srcdir then those d989 4 a992 2

      --enable-version-specific-runtime-libs
      Specify d994 2 a995 2 subdirectory (libdir/gcc) rather than the usual places. In addition, ‘libstdc++’'s include files will be installed into d997 1 a997 1 --with-gxx-include-dir=dirname. Using this option is d999 6 a1004 4 parallel. This is currently supported by ‘libgfortran’, ‘libjava’, ‘libstdc++’, and ‘libobjc’.
      --with-aix-soname=‘aix’, ‘svr4’ or ‘both’
      Traditional AIX shared library versioning (versioned Shared Object d1006 1 a1006 1 ‘lib.a’) causes numerous headaches for package managers. However, d1009 1 a1009 1 where this is called the "SONAME". But as they prevent static linking, d1011 23 a1033 20 linker does search for ‘libNAME.so’ before ‘libNAME.a’ library filenames with the ‘-lNAME’ linker flag.

      For detailed information please refer to the AIX ld Command reference.

      As long as shared library creation is enabled, upon:

      --with-aix-soname=aix
      --with-aix-soname=both
      A (traditional AIX) Shared Archive Library file is created:
      • using the ‘libNAME.a’ filename scheme
      • with the Shared Object file as archive member named ‘libNAME.so.V’ (except for ‘libgcc_s’, where the Shared Object file is named ‘shr.o’ for backwards compatibility), which
        • is used for runtime loading from inside the ‘libNAME.a’ file
        • is used for dynamic loading via dlopen("libNAME.a(libNAME.so.V)", RTLD_MEMBER)
        • is used for shared linking
        • is used for static linking, so no separate Static Archive d1035 15 a1049 12

      --with-aix-soname=both
      --with-aix-soname=svr4
      A (second) Shared Archive Library file is created:
      • using the ‘libNAME.so.V’ filename scheme
      • with the Shared Object file as archive member named ‘shr.o’, which
        • is created with the -G linker flag
        • has the F_LOADONLY flag set
        • is used for runtime loading from inside the ‘libNAME.so.V’ file
        • is used for dynamic loading via dlopen("libNAME.so.V(shr.o)", d1051 2 a1052 2
      • with the Import File as archive member named ‘shr.imp’, d1054 2 a1055 2
        • refers to ‘libNAME.so.V(shr.o)’ as the "SONAME", to be recorded d1057 13 a1069 13
        • indicates whether ‘libNAME.so.V(shr.o)’ is 32 or 64 bit
        • lists all the public symbols exported by ‘lib.so.V(shr.o)’, eventually decorated with the ‘weak’ Keyword
        • is necessary for shared linking against ‘lib.so.V(shr.o)’
      A symbolic link using the ‘libNAME.so’ filename scheme is created:
      • pointing to the ‘libNAME.so.V’ Shared Archive Library file
      • to permit the ld Command to find ‘lib.so.V(shr.imp)’ via the ‘-lNAME’ argument (requires Runtime Linking to be enabled)
      • to permit dynamic loading of ‘lib.so.V(shr.o)’ without the need to specify the version number via dlopen("libNAME.so(shr.o)", d1071 3 a1073 2
      d1075 13 a1087 11

      As long as static library creation is enabled, upon:

      --with-aix-soname=svr4
      A Static Archive Library is created:
      • using the ‘libNAME.a’ filename scheme
      • with all the Static Object files as archive members, which
        • are used for static linking
      d1089 1 a1089 1

      While the aix-soname=‘svr4’ option does not create Shared Object d1096 2 a1097 2

      WARNING: Creating Shared Object files with Runtime Linking d1099 1 a1099 1 requiring the use of either the -Wl,-bbigtoc linker flag (seen to d1102 2 a1103 2

      --with-aix-soname is currently supported by ‘libgcc_s’ only, so d1105 6 a1110 4

      Default is the traditional behaviour --with-aix-soname=‘aix’.

      --enable-languages=lang1,lang2,...
      Specify that only a particular subset of compilers and d1113 5 a1117 4 gcc directory of your GCC source tree:
                grep language= */config-lang.in
      

      Currently, you can use any of the following: d1119 2 a1120 2 go, java, objc, obj-c++. Building the Ada compiler has special requirements, see below. d1122 1 a1122 1 default languages available in the gcc sub-tree will be configured. d1124 4 a1127 2

      --enable-stage1-languages=lang1,lang2,...
      Specify that a particular subset of compilers and their runtime d1131 2 a1132 2 --enable-languages, and the option all will select all of the languages enabled by --enable-languages. This option is d1137 7 a1143 5 specified languages with the stage-1 compiler by using make stage1-bubble all-target, or run the testsuite on the stage-1 compiler for the specified languages using make stage1-start check-gcc.
      --disable-libada
      Specify that the run-time libraries and tools used by GNAT should not d1146 5 a1150 3 do a ‘make -C gcc gnatlib_and_tools’.
      --disable-libsanitizer
      Specify that the run-time libraries for the various sanitizers should d1152 4 a1155 2
      --disable-libssp
      Specify that the run-time libraries for stack smashing protection d1157 4 a1160 2
      --disable-libquadmath
      Specify that the GCC quad-precision math library should not be built. d1162 1 a1162 1 the Fortran front end, unless --disable-libquadmath-support d1164 4 a1167 2
      --disable-libquadmath-support
      Specify that the Fortran front end and libgfortran do not add d1169 4 a1172 2
      --disable-libgomp
      Specify that the GNU Offloading and Multi Processing Runtime Library d1174 4 a1177 2
      --disable-libvtv
      Specify that the run-time libraries used by vtable verification d1179 4 a1182 2
      --with-dwarf2
      Specify that the compiler should d1184 5 a1188 2
      --enable-targets=all
      --enable-targets=target_list
      Some GCC targets, e.g. powerpc64-linux, build bi-arch compilers. d1190 1 a1190 1 code. Typically, the corresponding 32-bit target, e.g. d1194 1 a1194 1 you are building a bi-arch or multi-arch binutils in a combined tree. d1196 1 a1196 1 defaulted to o32. d1199 4 a1202 2
      --enable-secureplt
      This option enables -msecure-plt by default for powerpc-linux. d1204 4 a1207 2
      --enable-cld
      This option enables -mcld by default for 32-bit x86 targets. d1209 6 a1214 2
      --enable-win32-registry
      --enable-win32-registry=key
      --disable-win32-registry
      The --enable-win32-registry option enables Microsoft Windows-hosted GCC d1216 4 d1221 2 a1222 4
                HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\key
      

      key defaults to GCC version number, and can be overridden by the --enable-win32-registry=key option. Vendors and distributors d1226 1 a1226 1 by default, and can be disabled by --disable-win32-registry d1228 15 a1242 8

      --nfp
      Specify that the machine does not have a floating point unit. This option only applies to ‘m68k-sun-sunosn’. On any other system, --nfp has no effect.
      --enable-werror
      --disable-werror
      --enable-werror=yes
      --enable-werror=no
      When you specify this option, it controls whether certain files in the compiler are built with -Werror in bootstrap stage2 and later. If you don't specify it, -Werror is turned on for the main d1244 1 a1244 1 final releases. The specific files which get -Werror are d1246 5 a1250 2
      --enable-checking
      --enable-checking=list
      When you specify this option, the compiler is built to perform internal d1254 3 a1256 3 the compiler with GCC. This is ‘yes’ by default when building from SVN or snapshots, but ‘release’ for releases. The default for building the stage1 compiler is ‘yes’. More control d1258 9 a1266 9 checks available are ‘yes’ (most common checks ‘assert,misc,tree,gc,rtlflag,runtime’), ‘no’ (no checks at all), ‘all’ (all but ‘valgrind’), ‘release’ (cheapest checks ‘assert,runtime’) or ‘none’ (same as ‘no’). Individual checks can be enabled with these flags ‘assert’, ‘df’, ‘fold’, ‘gc’, ‘gcac’ ‘misc’, ‘rtl’, ‘rtlflag’, ‘runtime’, ‘tree’, and ‘valgrind’.

      The ‘valgrind’ check requires the external valgrind d1268 3 a1270 3 ‘df’, ‘rtl’, ‘gcac’ and ‘valgrind’ checks are very expensive. To disable all checking, ‘--disable-checking’ or ‘--enable-checking=none’ must be explicitly requested. Disabling d1274 7 a1280 3

      --disable-stage1-checking
      --enable-stage1-checking
      --enable-stage1-checking=list
      If no --enable-checking option is specified the stage1 compiler will be built with ‘yes’ checking enabled, otherwise d1282 3 a1284 3 --enable-checking. To build the stage1 compiler with different checking options use --enable-stage1-checking. The list of checking options is the same as for --enable-checking. d1286 1 a1286 1 with checking for stage1 enabled, you can use ‘--disable-stage1-checking’ d1288 5 a1292 2
      --enable-coverage
      --enable-coverage=level
      With this option, the compiler is built to collect self coverage d1296 1 a1296 1 not, values are ‘opt’ and ‘noopt’. For coverage analysis you d1300 4 a1303 2
      --enable-gather-detailed-mem-stats
      When this option is specified more detailed information on memory d1305 6 a1310 3 -fmem-report.
      --enable-nls
      --disable-nls
      The --enable-nls option enables Native Language Support (NLS), d1313 10 a1322 6 canadian cross build. The --disable-nls option disables NLS.
      --with-included-gettext
      If NLS is enabled, the --with-included-gettext option causes the build procedure to prefer its copy of GNU gettext.
      --with-catgets
      If NLS is enabled, and if the host lacks gettext but has the d1324 12 a1335 8 ignores catgets and instead uses GCC's copy of the GNU gettext library. The --with-catgets option causes the build procedure to use the host's catgets in this situation.
      --with-libiconv-prefix=dir
      Search for libiconv header files in dir/include and libiconv library files in dir/lib.
      --enable-obsolete
      Enable configuration for an obsoleted system. If you attempt to d1339 2 a1340 2

      All support for systems which have been obsoleted in one release of GCC d1343 9 a1351 2

      --enable-decimal-float
      --enable-decimal-float=yes
      --enable-decimal-float=no
      --enable-decimal-float=bid
      --enable-decimal-float=dpd
      --disable-decimal-float
      Enable (or disable) support for the C decimal floating point extension d1356 2 a1357 2 ‘bid’ or ‘dpd’). The ‘bid’ (binary integer decimal) format is default on i386 and x86_64 systems, and the ‘dpd’ d1359 5 a1363 2
      --enable-fixed-point
      --disable-fixed-point
      Enable (or disable) support for C fixed-point arithmetic. d1367 4 a1370 2
      --with-long-double-128
      Specify if long double type should be 128-bit by default on selected d1372 1 a1372 1 long double will be by default 64-bit, the same as double type. d1376 12 a1387 2
      --with-gmp=pathname
      --with-gmp-include=pathname
      --with-gmp-lib=pathname
      --with-mpfr=pathname
      --with-mpfr-include=pathname
      --with-mpfr-lib=pathname
      --with-mpc=pathname
      --with-mpc-include=pathname
      --with-mpc-lib=pathname
      If you want to build GCC but do not have the GMP library, the MPFR d1391 12 a1402 12 (‘--with-gmp=gmpinstalldir’, ‘--with-mpfr=mpfrinstalldir’, ‘--with-mpc=mpcinstalldir’). The --with-gmp=gmpinstalldir option is shorthand for --with-gmp-lib=gmpinstalldir/lib and --with-gmp-include=gmpinstalldir/include. Likewise the --with-mpfr=mpfrinstalldir option is shorthand for --with-mpfr-lib=mpfrinstalldir/lib and --with-mpfr-include=mpfrinstalldir/include, also the --with-mpc=mpcinstalldir option is shorthand for --with-mpc-lib=mpcinstalldir/lib and --with-mpc-include=mpcinstalldir/include. If these d1407 3 a1409 3 variable (LD_LIBRARY_PATH on GNU/Linux and Solaris systems).

      These flags are applicable to the host platform only. When building d1411 6 a1416 2

      --with-isl=pathname
      --with-isl-include=pathname
      --with-isl-lib=pathname
      If you do not have the ISL library installed in a standard location and you d1418 4 a1421 4 installed (‘--with-isl=islinstalldir’). The --with-isl=islinstalldir option is shorthand for --with-isl-lib=islinstalldir/lib and --with-isl-include=islinstalldir/include. If this d1424 2 a1425 2

      These flags are applicable to the host platform only. When building d1427 4 a1430 2

      --with-host-libstdcxx=linker-args
      If you are linking with a static copy of PPL, you can use this option d1433 1 a1433 1 ‘-lstdc++’ or ‘-Wl,-Bstatic,-lstdc++,-Bdynamic -lm’. If you are d1437 4 a1440 2
      --with-stage1-ldflags=flags
      This option may be used to set linker flags to be used when linking d1442 5 a1446 3 --disable-bootstrap. By default no special flags are used.
      --with-stage1-libs=libs
      This option may be used to set libraries to be used when linking stage 1 d1448 6 a1453 4 --disable-bootstrap. The default is the argument to --with-host-libstdcxx, if specified.
      --with-boot-ldflags=flags
      This option may be used to set linker flags to be used when linking d1456 5 a1460 3 ‘-static-libstdc++ -static-libgcc’.
      --with-boot-libs=libs
      This option may be used to set libraries to be used when linking stage 2 d1462 5 a1466 3 --with-host-libstdcxx, if specified.
      --with-debug-prefix-map=map
      Convert source directory names using -fdebug-prefix-map when d1468 6 a1473 4 list of maps of the form ‘old=new’.
      --enable-linker-build-id
      Tells GCC to pass --build-id option to the linker for all final links (links performed without the -r or --relocatable d1475 7 a1481 5 --enable-linker-build-id, but your linker does not support --build-id option, a warning is issued and the --enable-linker-build-id option is ignored. The default is off.
      --with-linker-hash-style=choice
      Tells GCC to pass --hash-style=choice option to the d1483 6 a1488 3 ‘sysv’, ‘gnu’, and ‘both’ where ‘sysv’ is the default.
      --enable-gnu-unique-object
      --disable-gnu-unique-object
      Tells GCC to use the gnu_unique_object relocation for C++ template d1492 4 a1495 2
      --with-diagnostics-color=choice
      Tells GCC to use choice as the default for -fdiagnostics-color= d1497 3 a1499 3 can be one of ‘never’, ‘auto’, ‘always’, and ‘auto-if-env’ where ‘auto’ is the default. ‘auto-if-env’ means that -fdiagnostics-color=auto will be the default if GCC_COLORS d1501 12 a1512 6 -fdiagnostics-color=never otherwise.
      --enable-lto
      --disable-lto
      Enable support for link-time optimization (LTO). This is enabled by default, and may be disabled using --disable-lto.
      --enable-linker-plugin-configure-flags=FLAGS
      --enable-linker-plugin-flags=FLAGS
      By default, linker plugins (such as the LTO plugin) are built for the d1517 2 a1518 2 (‘x86_64-unknown-linux-gnu’) host system, but have a 32-bit x86 GNU/Linux (‘i686-pc-linux-gnu’) linker executable (which is d1521 12 a1532 8
                % srcdir/configure \
                    --host=x86_64-unknown-linux-gnu \
                    --enable-linker-plugin-configure-flags=--host=i686-pc-linux-gnu \
                    --enable-linker-plugin-flags='CC=gcc\ -m32\ -Wl,-rpath,[...]/i686-pc-linux-gnu/lib'
      

      --with-plugin-ld=pathname
      Enable an alternate linker to be used at link-time optimization (LTO) link time when -fuse-linker-plugin is enabled. d1534 7 a1540 4 version 2.20 or GNU ld starting with version 2.21. See -fuse-linker-plugin for details.
      --enable-canonical-system-headers
      --disable-canonical-system-headers
      Enable system header path canonicalization for libcpp. This can d1544 5 a1548 3 --disable-canonical-system-headers.
      --with-glibc-version=major.minor
      Tell GCC that when the GNU C Library (glibc) is used on the target it d1550 1 a1550 1 be detected from the C library's header files, but this option may be d1553 3 a1555 3

      If GCC is configured with some multilibs that use glibc and some that do not, this option applies only to the multilibs that use glibc. d1558 8 a1565 4

      --enable-as-accelerator-for=target
      Build as offload target compiler. Specify offload host triple by target.
      --enable-offload-targets=target1[=path1],...,targetN[=pathN]
      Enable offloading to targets target1, ..., targetN. d1568 8 a1575 8 specifying paths path1, ..., pathN.
                % srcdir/configure \
                    --enable-offload-target=i686-unknown-linux-gnu=/path/to/i686/compiler,x86_64-pc-linux-gnu
      

      Cross-Compiler-Specific Options

      d1577 2 d1580 6 a1585 4
      --with-sysroot
      --with-sysroot=dir
      Tells GCC to consider dir as the root of a tree that contains (a subset of) the root filesystem of the target operating system. d1588 1 a1588 1 --sysroot=dir was added to the default options of the built d1590 5 a1594 5 install tree, unlike the options --with-headers and --with-libs that this option obsoletes. The default value, in case --with-sysroot is not given an argument, is ${gcc_tooldir}/sys-root. If the specified directory is a subdirectory of ${exec_prefix}, then it will be found relative to d1596 2 a1597 2

      This option affects the system root for the compiler used to build d1601 2 a1602 2

      If you specify the --with-native-system-header-dir=dirname d1604 11 a1614 8 native system headers rather than the default /usr/include.

      --with-build-sysroot
      --with-build-sysroot=dir
      Tells GCC to consider dir as the system root (see --with-sysroot) while building target libraries, instead of the directory specified with --with-sysroot. This option is only useful when you are already using --with-sysroot. You can use --with-build-sysroot when you are configuring with --prefix set to a directory that is different from the one in d1616 2 a1617 2

      This option affects the system root for the compiler used to build d1620 2 a1621 2

      If you specify the --with-native-system-header-dir=dirname d1623 7 a1629 4 native system headers rather than the default /usr/include.

      --with-headers
      --with-headers=dir
      Deprecated in favor of --with-sysroot. Specifies that target headers are available when building a cross compiler. d1631 5 a1635 5 files. These include files will be copied into the gcc install directory. This option with the dir argument is required when building a cross compiler, if prefix/target/sys-include doesn't pre-exist. If prefix/target/sys-include does pre-exist, the dir argument may be omitted. fixincludes d1637 4 a1640 2
      --without-headers
      Tells GCC not use any target headers from a libc when building a cross d1643 5 a1647 2
      --with-libs
      --with-libs="dir1 dir2 ... dirN"
      Deprecated in favor of --with-sysroot. d1649 1 a1649 1 libraries. These libraries will be copied into the gcc install d1652 4 a1655 2
      --with-newlib
      Specifies that ‘newlib’ is d1657 6 a1662 4 omitted from libgcc.a on the assumption that it will be provided by ‘newlib’.
      --with-avrlibc
      Specifies that ‘AVR-Libc’ is d1664 3 a1666 3 functions like __addsf3 to be omitted from libgcc.a on the assumption that it will be provided by libm.a. For more technical details, cf. PR54461. d1670 5 a1674 3
      --with-nds32-lib=library
      Specifies that library setting is used for building libgcc.a. Currently, the valid library is ‘newlib’ or ‘mculib’. d1676 4 a1679 2
      --with-build-time-tools=dir
      Specifies where to find the set of target tools (assembler, linker, etc.) d1683 13 d1697 2 a1698 4

      For example, on an ‘ia64-hp-hpux’ system, you may have the GNU assembler and linker in /usr/bin, and the native tools in a different path, and build a toolchain that expects to find the native tools in /usr/bin. d1700 24 a1723 5

      When you use this option, you should ensure that dir includes ar, as, ld, nm, ranlib and strip if necessary, and possibly objdump. Otherwise, GCC may use an inconsistent set of tools. d1726 6 a1731 1

      Java-Specific Options

      d1734 4 a1737 3
      --disable-libgcj
      Specify that the run-time libraries d1739 1 a1739 1 to use GCJ with some other run-time, or you're going to install it d1742 2 a1743 2 libraries will be enabled too, unless they're known to not work on the target platform. If GCJ is enabled but ‘libgcj’ isn't built, you d1745 5 a1749 4 configure.in so that ‘libgcj’ is enabled by default on this platform, you may use --enable-libgcj to override the default.
      d1751 11 a1761 9

      The following options apply to building ‘libgcj’.

      General Options
      --enable-java-maintainer-mode
      By default the ‘libjava’ build will not attempt to compile the .java source files to .class. Instead, it will use the .class files from the source tree. If you use this option you must have executables named ecj1 and gjavah in your path d1763 14 a1776 10 modify any .java files in libjava.
      --with-java-home=dirname
      This ‘libjava’ option overrides the default value of the ‘java.home’ system property. It is also used to set ‘sun.boot.class.path’ to dirname/lib/rt.jar. By default ‘java.home’ is set to prefix and ‘sun.boot.class.path’ to datadir/java/libgcj-version.jar.
      --with-ecj-jar=filename
      This option can be used to specify the location of an external jar d1778 3 a1780 3 version of this compiler is used by gcj to parse .java source files. If this option is given, the ‘libjava’ build will create and install an ecj1 executable d1782 8 a1789 8

      If this option is not given, but an ecj.jar file is found in the topmost source tree at configure time, then the ‘libgcj’ build will create and install ecj1, and will also install the discovered ecj.jar into a suitable place in the install tree.

      If ecj1 is not installed, then the user will have to supply one on his path in order for gcj to properly parse .java d1792 9 a1800 5

      --disable-getenv-properties
      Don't set system properties from GCJ_PROPERTIES.
      --enable-hash-synchronization
      Use a global hash table for monitor locks. Ordinarily, ‘libgcj’'s ‘configure’ script automatically makes d1803 4 a1806 2
      --enable-interpreter
      Enable the Java interpreter. The interpreter is automatically d1809 5 a1813 3 (using --disable-interpreter).
      --disable-java-net
      Disable java.net. This disables the native part of java.net only, d1815 10 a1824 6
      --disable-jvmpi
      Disable JVMPI support.
      --disable-libgcj-bc
      Disable BC ABI compilation of certain parts of libgcj. By default, some portions of libgcj are compiled with -findirect-dispatch and -fno-indirect-classes, allowing them to be overridden at d1826 2 a1827 2

      If --disable-libgcj-bc is specified, libgcj is built without d1831 4 a1834 2

      --enable-reduced-reflection
      Build most of libgcj with -freduced-reflection. This reduces d1839 19 a1857 11
      --with-ecos
      Enable runtime eCos target support.
      --without-libffi
      Don't use ‘libffi’. This will disable the interpreter and JNI support as well, as these require ‘libffi’ to work.
      --enable-libgcj-debug
      Enable runtime debugging code.
      --enable-libgcj-multifile
      If specified, causes all .java source files to be compiled into .class files in one invocation of ‘gcj’. This can speed up build time, but is more d1859 14 a1872 12 disabled, ‘gcj’ is invoked once for each .java file to compile into a .class file.
      --with-libiconv-prefix=DIR
      Search for libiconv in DIR/include and DIR/lib.
      --enable-sjlj-exceptions
      Force use of the setjmp/longjmp-based scheme for exceptions. ‘configure’ ordinarily picks the correct value based on the platform. Only use this option if you are sure you need a different setting.
      --with-system-zlib
      Use installed ‘zlib’ rather than that included with GCC.
      --with-win32-nlsapi=ansi, unicows or unicode
      Indicates how MinGW ‘libgcj’ translates between UNICODE d1874 4 a1877 2
      --enable-java-home
      If enabled, this creates a JPackage compatible SDK environment during install. d1880 4 a1883 2
      --with-arch-directory=ARCH
      Specifies the name to use for the jre/lib/ARCH directory in the SDK d1886 9 a1894 5
      --with-os-directory=DIR
      Specifies the OS directory for the SDK include directory. This is set to auto detect, and is typically 'linux'.
      --with-origin-name=NAME
      Specifies the JPackage origin name. This defaults to the 'gcj' in d1896 17 a1912 9
      --with-arch-suffix=SUFFIX
      Specifies the suffix for the sdk directory. Defaults to the empty string. Examples include '.x86_64' in 'java-1.5.0-gcj-1.5.0.0.x86_64'.
      --with-jvm-root-dir=DIR
      Specifies where to install the SDK. Default is $(prefix)/lib/jvm.
      --with-jvm-jar-dir=DIR
      Specifies where to install jars. Default is $(prefix)/lib/jvm-exports.
      --with-python-dir=DIR
      Specifies where to install the Python modules used for aot-compile. DIR should d1917 12 a1928 6
      --enable-aot-compile-rpm
      Adds aot-compile-rpm to the list of installed scripts.
      --enable-browser-plugin
      Build the gcjwebplugin web browser plugin.
      --enable-static-libjava
      Build static libraries in libjava. The default is to only build shared d1930 4 a1933 3
      ansi
      Use the single-byte char and the Win32 A functions natively, d1936 8 a1943 6
      unicows
      Use the WCHAR and Win32 W functions natively. Adds -lunicows to libgcj.spec to link with ‘libunicows’. unicows.dll needs to be deployed on Microsoft Windows 9X machines running built executables. libunicows.a, an open-source import library around Microsoft's unicows.dll, is obtained from d1945 10 a1954 5 on getting unicows.dll from Microsoft.
      unicode
      Use the WCHAR and Win32 W functions natively. Does not add -lunicows to libgcj.spec. The built executables will only run on Microsoft Windows NT and above. a1955 1
      d1957 2 a1958 1
      AWT-Specific Options
      d1960 42 a2001 2
      --with-x
      Use the X Window System. a2002 5
      --enable-java-awt=PEER(S)
      Specifies the AWT peer library or libraries to build alongside ‘libgcj’. If this option is unspecified or disabled, AWT will be non-functional. Current valid values are gtk and xlib. Multiple libraries should be separated by a comma (i.e. --enable-java-awt=gtk,xlib). d2004 4 a2007 11
      --enable-gtk-cairo
      Build the cairo Graphics2D implementation on GTK.
      --enable-java-gc=TYPE
      Choose garbage collector. Defaults to boehm if unspecified.
      --disable-gtktest
      Do not try to compile and run a test GTK+ program.
      --disable-glibtest
      Do not try to compile and run a test GLIB program.
      --with-libart-prefix=PFX
      Prefix where libart is installed (optional).
      --with-libart-exec-prefix=PFX
      Exec prefix where libart is installed (optional). a2008 1
      --disable-libarttest
      Do not try to compile and run a test libart program. a2009 1
      a2010 1
      Overriding configure test results
      a2011 4

      Sometimes, it might be necessary to override the result of some configure test, for example in order to ease porting to a new system or work around a bug in a test. The toplevel configure script provides three variables for this: a2012 3

      build_configargs
      The contents of this variable is passed to all build configure scripts. a2013 2
      host_configargs
      The contents of this variable is passed to all host configure scripts. a2014 4
      target_configargs
      The contents of this variable is passed to all target configure scripts.
      a2015 3

      In order to avoid shell and make quoting issues for complex overrides, you can pass a setting for CONFIG_SITE and set variables in the site file. a2016 2


      Return to the GCC Installation page a2017 10 d2019 2 @ 1.5.8.1 log @Pull up the gcc 5.5 import and assorted fixes, requested by mrg in ticket #381: external/gpl3/gcc/dist/fixincludes/tests/base/iso/stdlib_c99.h up to 1.1.1.1 external/gpl3/gcc/dist/gcc/config/arm/t-phoenix up to 1.1.1.1 external/gpl3/gcc/dist/gcc/config/phoenix.h up to 1.1.1.1 external/gpl3/gcc/dist/gcc/config/aarch64/aarch64-freebsd.h up to 1.1.1.1 external/gpl3/gcc/dist/gcc/config/aarch64/t-aarch64-freebsd up to 1.1.1.1 external/gpl3/gcc/dist/gcc/doc/gcov-dump.1 up to 1.1.1.1 external/gpl3/gcc/dist/gcc/doc/gcov-dump.texi up to 1.1.1.1 external/gpl3/gcc/dist/libstdc++-v3/include/experimental/lfts_config.h up to 1.1.1.1 external/gpl3/gcc/dist/gcc/config/i386/pcommitintrin.h delete external/gpl3/gcc/dist/gcc/config/i386/stringop.opt delete external/gpl3/gcc/lib/libgcc/Makefile.wrapper delete external/gpl3/gcc/dist/ChangeLog up to 1.1.1.10 external/gpl3/gcc/dist/LAST_UPDATED up to 1.9 external/gpl3/gcc/dist/MD5SUMS up to 1.9 external/gpl3/gcc/dist/NEWS up to 1.7 external/gpl3/gcc/dist/config.sub up to 1.11 external/gpl3/gcc/dist/configure up to 1.11 external/gpl3/gcc/dist/configure.ac up to 1.10 external/gpl3/gcc/dist/INSTALL/binaries.html up to 1.5 external/gpl3/gcc/dist/INSTALL/build.html up to 1.6 external/gpl3/gcc/dist/INSTALL/configure.html up to 1.6 external/gpl3/gcc/dist/INSTALL/download.html up to 1.5 external/gpl3/gcc/dist/INSTALL/finalinstall.html up to 1.5 external/gpl3/gcc/dist/INSTALL/gfdl.html up to 1.5 external/gpl3/gcc/dist/INSTALL/index.html up to 1.5 external/gpl3/gcc/dist/INSTALL/old.html up to 1.5 external/gpl3/gcc/dist/INSTALL/prerequisites.html up to 1.6 external/gpl3/gcc/dist/INSTALL/specific.html up to 1.6 external/gpl3/gcc/dist/INSTALL/test.html up to 1.5 external/gpl3/gcc/dist/config/ChangeLog up to 1.1.1.10 external/gpl3/gcc/dist/contrib/ChangeLog up to 1.1.1.10 external/gpl3/gcc/dist/contrib/gcc_update up to 1.1.1.4 external/gpl3/gcc/dist/contrib/reghunt/ChangeLog up to 1.1.1.9 external/gpl3/gcc/dist/contrib/regression/ChangeLog up to 1.1.1.9 external/gpl3/gcc/dist/fixincludes/ChangeLog up to 1.1.1.9 external/gpl3/gcc/dist/fixincludes/fixincl.x up to 1.1.1.6 external/gpl3/gcc/dist/fixincludes/inclhack.def up to 1.1.1.6 external/gpl3/gcc/dist/fixincludes/tests/base/math.h up to 1.1.1.3 external/gpl3/gcc/dist/fixincludes/tests/base/stdio.h up to 1.1.1.5 external/gpl3/gcc/dist/fixincludes/tests/base/stdlib.h up to 1.1.1.3 external/gpl3/gcc/dist/fixincludes/tests/base/iso/stdio_iso.h up to 1.1.1.2 external/gpl3/gcc/dist/gcc/BASE-VER up to 1.1.1.8 external/gpl3/gcc/dist/gcc/ChangeLog up to 1.15 external/gpl3/gcc/dist/gcc/DATESTAMP up to 1.1.1.11 external/gpl3/gcc/dist/gcc/Makefile.in up to 1.14 external/gpl3/gcc/dist/gcc/asan.c up to 1.1.1.3 external/gpl3/gcc/dist/gcc/auto-profile.c up to 1.3 external/gpl3/gcc/dist/gcc/bb-reorder.c up to 1.1.1.6 external/gpl3/gcc/dist/gcc/builtins.c up to 1.10 external/gpl3/gcc/dist/gcc/calls.c up to 1.1.1.6 external/gpl3/gcc/dist/gcc/cgraph.c up to 1.1.1.5 external/gpl3/gcc/dist/gcc/cgraph.h up to 1.1.1.5 external/gpl3/gcc/dist/gcc/cgraphclones.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/cgraphunit.c up to 1.1.1.6 external/gpl3/gcc/dist/gcc/combine.c up to 1.1.1.8 external/gpl3/gcc/dist/gcc/common.opt up to 1.6 external/gpl3/gcc/dist/gcc/config.gcc up to 1.37 external/gpl3/gcc/dist/gcc/coverage.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/coverage.h up to 1.1.1.4 external/gpl3/gcc/dist/gcc/cselib.c up to 1.1.1.5 external/gpl3/gcc/dist/gcc/data-streamer-in.c up to 1.1.1.3 external/gpl3/gcc/dist/gcc/data-streamer-out.c up to 1.1.1.3 external/gpl3/gcc/dist/gcc/diagnostic.c up to 1.4 external/gpl3/gcc/dist/gcc/dwarf2out.c up to 1.8 external/gpl3/gcc/dist/gcc/explow.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/expmed.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/expr.c up to 1.10 external/gpl3/gcc/dist/gcc/fold-const.c up to 1.1.1.11 external/gpl3/gcc/dist/gcc/function.c up to 1.1.1.7 external/gpl3/gcc/dist/gcc/function.h up to 1.1.1.4 external/gpl3/gcc/dist/gcc/fwprop.c up to 1.1.1.5 external/gpl3/gcc/dist/gcc/gcc.c up to 1.15 external/gpl3/gcc/dist/gcc/gcov-dump.c up to 1.1.1.5 external/gpl3/gcc/dist/gcc/gcov-io.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/gcov-tool.c up to 1.1.1.2 external/gpl3/gcc/dist/gcc/gcov.c up to 1.1.1.5 external/gpl3/gcc/dist/gcc/gcse.c up to 1.1.1.5 external/gpl3/gcc/dist/gcc/gengtype-lex.c up to 1.7 external/gpl3/gcc/dist/gcc/genmatch.c up to 1.1.1.2 external/gpl3/gcc/dist/gcc/gimple-fold.c up to 1.1.1.5 external/gpl3/gcc/dist/gcc/gimple-ssa-strength-reduction.c up to 1.1.1.5 external/gpl3/gcc/dist/gcc/gimplify.c up to 1.1.1.7 external/gpl3/gcc/dist/gcc/graphite-isl-ast-to-gimple.c up to 1.3 external/gpl3/gcc/dist/gcc/incpath.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/internal-fn.c up to 1.1.1.3 external/gpl3/gcc/dist/gcc/ipa-comdats.c up to 1.1.1.2 external/gpl3/gcc/dist/gcc/ipa-cp.c up to 1.1.1.8 external/gpl3/gcc/dist/gcc/ipa-devirt.c up to 1.1.1.3 external/gpl3/gcc/dist/gcc/ipa-icf-gimple.c up to 1.1.1.2 external/gpl3/gcc/dist/gcc/ipa-icf-gimple.h up to 1.1.1.2 external/gpl3/gcc/dist/gcc/ipa-icf.c up to 1.1.1.3 external/gpl3/gcc/dist/gcc/ipa-icf.h up to 1.1.1.2 external/gpl3/gcc/dist/gcc/ipa-inline-transform.c up to 1.1.1.3 external/gpl3/gcc/dist/gcc/ipa-polymorphic-call.c up to 1.1.1.3 external/gpl3/gcc/dist/gcc/ipa-prop.c up to 1.1.1.7 external/gpl3/gcc/dist/gcc/ipa-pure-const.c up to 1.1.1.5 external/gpl3/gcc/dist/gcc/ipa-split.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/ipa-visibility.c up to 1.1.1.2 external/gpl3/gcc/dist/gcc/ira-build.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/ira-costs.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/ira-int.h up to 1.1.1.4 external/gpl3/gcc/dist/gcc/ira-lives.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/loop-doloop.c up to 1.1.1.5 external/gpl3/gcc/dist/gcc/loop-invariant.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/lra-constraints.c up to 1.1.1.5 external/gpl3/gcc/dist/gcc/lra-remat.c up to 1.1.1.3 external/gpl3/gcc/dist/gcc/lto-cgraph.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/lto-streamer.h up to 1.1.1.5 external/gpl3/gcc/dist/gcc/match.pd up to 1.1.1.3 external/gpl3/gcc/dist/gcc/omp-low.c up to 1.1.1.8 external/gpl3/gcc/dist/gcc/params.def up to 1.1.1.5 external/gpl3/gcc/dist/gcc/postreload.c up to 1.1.1.5 external/gpl3/gcc/dist/gcc/pretty-print.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/real.c up to 1.1.1.5 external/gpl3/gcc/dist/gcc/ree.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/rtl.h up to 1.1.1.6 external/gpl3/gcc/dist/gcc/sel-sched.c up to 1.1.1.6 external/gpl3/gcc/dist/gcc/simplify-rtx.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/system.h up to 1.6 external/gpl3/gcc/dist/gcc/toplev.c up to 1.2 external/gpl3/gcc/dist/gcc/tree-call-cdce.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/tree-cfg.c up to 1.8 external/gpl3/gcc/dist/gcc/tree-chkp-opt.c up to 1.1.1.2 external/gpl3/gcc/dist/gcc/tree-chkp.c up to 1.1.1.2 external/gpl3/gcc/dist/gcc/tree-chrec.c up to 1.1.1.5 external/gpl3/gcc/dist/gcc/tree-data-ref.c up to 1.1.1.7 external/gpl3/gcc/dist/gcc/tree-eh.c up to 1.1.1.7 external/gpl3/gcc/dist/gcc/tree-inline.c up to 1.1.1.7 external/gpl3/gcc/dist/gcc/tree-inline.h up to 1.1.1.4 external/gpl3/gcc/dist/gcc/tree-loop-distribution.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/tree-nested.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/tree-predcom.c up to 1.1.1.5 external/gpl3/gcc/dist/gcc/tree-profile.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/tree-ssa-ccp.c up to 1.8 external/gpl3/gcc/dist/gcc/tree-ssa-loop-im.c up to 1.1.1.5 external/gpl3/gcc/dist/gcc/tree-ssa-loop-ivopts.c up to 1.1.1.5 external/gpl3/gcc/dist/gcc/tree-ssa-loop-prefetch.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/tree-ssa-math-opts.c up to 1.1.1.7 external/gpl3/gcc/dist/gcc/tree-ssa-pre.c up to 1.1.1.5 external/gpl3/gcc/dist/gcc/tree-ssa-reassoc.c up to 1.1.1.7 external/gpl3/gcc/dist/gcc/tree-ssa-sccvn.c up to 1.1.1.7 external/gpl3/gcc/dist/gcc/tree-ssa-strlen.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/tree-ssa-structalias.c up to 1.1.1.6 external/gpl3/gcc/dist/gcc/tree-ssa-tail-merge.c up to 1.1.1.6 external/gpl3/gcc/dist/gcc/tree-ssa-threadedge.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/tree-ssa-uninit.c up to 1.1.1.5 external/gpl3/gcc/dist/gcc/tree-ssa.c up to 1.1.1.5 external/gpl3/gcc/dist/gcc/tree-vect-data-refs.c up to 1.1.1.9 external/gpl3/gcc/dist/gcc/tree-vect-loop-manip.c up to 1.1.1.5 external/gpl3/gcc/dist/gcc/tree-vrp.c up to 1.1.1.7 external/gpl3/gcc/dist/gcc/tsan.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/ubsan.c up to 1.1.1.3 external/gpl3/gcc/dist/gcc/value-prof.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/c/ChangeLog up to 1.1.1.8 external/gpl3/gcc/dist/gcc/c/c-decl.c up to 1.1.1.5 external/gpl3/gcc/dist/gcc/c/c-objc-common.c up to 1.1.1.3 external/gpl3/gcc/dist/gcc/c/c-parser.c up to 1.1.1.5 external/gpl3/gcc/dist/gcc/c/c-typeck.c up to 1.1.1.7 external/gpl3/gcc/dist/gcc/c-family/ChangeLog up to 1.1.1.7 external/gpl3/gcc/dist/gcc/c-family/c-ada-spec.c up to 1.1.1.3 external/gpl3/gcc/dist/gcc/c-family/c-common.c up to 1.1.1.6 external/gpl3/gcc/dist/gcc/c-family/c-cppbuiltin.c up to 1.1.1.3 external/gpl3/gcc/dist/gcc/c-family/c-gimplify.c up to 1.1.1.3 external/gpl3/gcc/dist/gcc/c-family/c-omp.c up to 1.1.1.3 external/gpl3/gcc/dist/gcc/c-family/c-opts.c up to 1.5 external/gpl3/gcc/dist/gcc/common/config/i386/i386-common.c up to 1.1.1.3 external/gpl3/gcc/dist/gcc/config/aarch64/aarch64-simd.md up to 1.1.1.4 external/gpl3/gcc/dist/gcc/config/aarch64/aarch64.c up to 1.1.1.8 external/gpl3/gcc/dist/gcc/config/aarch64/aarch64.md up to 1.1.1.6 external/gpl3/gcc/dist/gcc/config/arm/arm-builtins.c up to 1.1.1.3 external/gpl3/gcc/dist/gcc/config/arm/arm-protos.h up to 1.1.1.5 external/gpl3/gcc/dist/gcc/config/arm/arm.c up to 1.4 external/gpl3/gcc/dist/gcc/config/arm/arm.h up to 1.15 external/gpl3/gcc/dist/gcc/config/arm/arm.md up to 1.12 external/gpl3/gcc/dist/gcc/config/arm/freebsd.h up to 1.4 external/gpl3/gcc/dist/gcc/config/arm/neon.md up to 1.1.1.5 external/gpl3/gcc/dist/gcc/config/avr/avr.c up to 1.1.1.7 external/gpl3/gcc/dist/gcc/config/avr/avr.md up to 1.1.1.7 external/gpl3/gcc/dist/gcc/config/avr/avr.opt up to 1.1.1.4 external/gpl3/gcc/dist/gcc/config/avr/gen-avr-mmcu-specs.c up to 1.1.1.2 external/gpl3/gcc/dist/gcc/config/avr/gen-avr-mmcu-texi.c up to 1.1.1.3 external/gpl3/gcc/dist/gcc/config/i386/avx2intrin.h up to 1.1.1.4 external/gpl3/gcc/dist/gcc/config/i386/avx512bwintrin.h up to 1.1.1.2 external/gpl3/gcc/dist/gcc/config/i386/avx512dqintrin.h up to 1.1.1.2 external/gpl3/gcc/dist/gcc/config/i386/avx512fintrin.h up to 1.1.1.2 external/gpl3/gcc/dist/gcc/config/i386/avx512ifmaintrin.h up to 1.1.1.2 external/gpl3/gcc/dist/gcc/config/i386/avx512ifmavlintrin.h up to 1.1.1.2 external/gpl3/gcc/dist/gcc/config/i386/avx512pfintrin.h up to 1.1.1.2 external/gpl3/gcc/dist/gcc/config/i386/avx512vbmiintrin.h up to 1.1.1.2 external/gpl3/gcc/dist/gcc/config/i386/avx512vbmivlintrin.h up to 1.1.1.2 external/gpl3/gcc/dist/gcc/config/i386/avx512vlbwintrin.h up to 1.1.1.2 external/gpl3/gcc/dist/gcc/config/i386/avx512vldqintrin.h up to 1.1.1.2 external/gpl3/gcc/dist/gcc/config/i386/avx512vlintrin.h up to 1.1.1.2 external/gpl3/gcc/dist/gcc/config/i386/cpuid.h up to 1.4 external/gpl3/gcc/dist/gcc/config/i386/driver-i386.c up to 1.7 external/gpl3/gcc/dist/gcc/config/i386/gmm_malloc.h up to 1.1.1.4 external/gpl3/gcc/dist/gcc/config/i386/i386-builtin-types.def up to 1.1.1.4 external/gpl3/gcc/dist/gcc/config/i386/i386-c.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/config/i386/i386.c up to 1.14 external/gpl3/gcc/dist/gcc/config/i386/i386.h up to 1.6 external/gpl3/gcc/dist/gcc/config/i386/i386.md up to 1.1.1.9 external/gpl3/gcc/dist/gcc/config/i386/i386.opt up to 1.1.1.4 external/gpl3/gcc/dist/gcc/config/i386/ia32intrin.h up to 1.1.1.4 external/gpl3/gcc/dist/gcc/config/i386/lwpintrin.h up to 1.1.1.4 external/gpl3/gcc/dist/gcc/config/i386/mmx.md up to 1.1.1.5 external/gpl3/gcc/dist/gcc/config/i386/pmm_malloc.h up to 1.4 external/gpl3/gcc/dist/gcc/config/i386/rdseedintrin.h up to 1.1.1.3 external/gpl3/gcc/dist/gcc/config/i386/rtmintrin.h up to 1.1.1.3 external/gpl3/gcc/dist/gcc/config/i386/sse.md up to 1.1.1.8 external/gpl3/gcc/dist/gcc/config/i386/x86-64.h up to 1.1.1.4 external/gpl3/gcc/dist/gcc/config/i386/x86intrin.h up to 1.1.1.4 external/gpl3/gcc/dist/gcc/config/nds32/nds32.md up to 1.1.1.2 external/gpl3/gcc/dist/gcc/config/pa/pa-64.h up to 1.1.1.4 external/gpl3/gcc/dist/gcc/config/pa/pa.h up to 1.7 external/gpl3/gcc/dist/gcc/config/rl78/rl78-expand.md up to 1.1.1.3 external/gpl3/gcc/dist/gcc/config/rl78/rl78-real.md up to 1.1.1.3 external/gpl3/gcc/dist/gcc/config/rl78/rl78-virt.md up to 1.1.1.3 external/gpl3/gcc/dist/gcc/config/rs6000/altivec.md up to 1.1.1.9 external/gpl3/gcc/dist/gcc/config/rs6000/dfp.md up to 1.1.1.5 external/gpl3/gcc/dist/gcc/config/rs6000/predicates.md up to 1.1.1.7 external/gpl3/gcc/dist/gcc/config/rs6000/rs6000-c.c up to 1.1.1.8 external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.c up to 1.17 external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.md up to 1.1.1.9 external/gpl3/gcc/dist/gcc/config/rs6000/rs6000.opt up to 1.1.1.6 external/gpl3/gcc/dist/gcc/config/rs6000/vector.md up to 1.1.1.6 external/gpl3/gcc/dist/gcc/config/rs6000/vsx.md up to 1.1.1.10 external/gpl3/gcc/dist/gcc/config/s390/s390-modes.def up to 1.1.1.4 external/gpl3/gcc/dist/gcc/config/s390/s390.c up to 1.1.1.8 external/gpl3/gcc/dist/gcc/config/s390/s390.md up to 1.1.1.6 external/gpl3/gcc/dist/gcc/config/s390/vx-builtins.md up to 1.1.1.3 external/gpl3/gcc/dist/gcc/config/sh/sh-mem.cc up to 1.1.1.2 external/gpl3/gcc/dist/gcc/config/sh/sh.c up to 1.9 external/gpl3/gcc/dist/gcc/config/sh/sh_treg_combine.cc up to 1.1.1.2 external/gpl3/gcc/dist/gcc/config/sparc/sparc.c up to 1.1.1.8 external/gpl3/gcc/dist/gcc/config/sparc/sparc.md up to 1.7 external/gpl3/gcc/dist/gcc/config/xtensa/xtensa.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/config/xtensa/xtensa.h up to 1.1.1.4 external/gpl3/gcc/dist/gcc/config/xtensa/xtensa.md up to 1.1.1.4 external/gpl3/gcc/dist/gcc/cp/ChangeLog up to 1.1.1.11 external/gpl3/gcc/dist/gcc/cp/call.c up to 1.1.1.8 external/gpl3/gcc/dist/gcc/cp/class.c up to 1.1.1.6 external/gpl3/gcc/dist/gcc/cp/constexpr.c up to 1.1.1.3 external/gpl3/gcc/dist/gcc/cp/cp-gimplify.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/cp/decl.c up to 1.1.1.8 external/gpl3/gcc/dist/gcc/cp/error.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/cp/init.c up to 1.1.1.6 external/gpl3/gcc/dist/gcc/cp/mangle.c up to 1.1.1.7 external/gpl3/gcc/dist/gcc/cp/name-lookup.c up to 1.1.1.6 external/gpl3/gcc/dist/gcc/cp/parser.c up to 1.1.1.10 external/gpl3/gcc/dist/gcc/cp/pt.c up to 1.1.1.8 external/gpl3/gcc/dist/gcc/cp/semantics.c up to 1.1.1.9 external/gpl3/gcc/dist/gcc/cp/tree.c up to 1.1.1.7 external/gpl3/gcc/dist/gcc/cp/typeck.c up to 1.1.1.9 external/gpl3/gcc/dist/gcc/doc/aot-compile.1 up to 1.7 external/gpl3/gcc/dist/gcc/doc/cppinternals.info up to 1.7 external/gpl3/gcc/dist/gcc/doc/extend.texi up to 1.1.1.8 external/gpl3/gcc/dist/gcc/doc/fsf-funding.7 up to 1.7 external/gpl3/gcc/dist/gcc/doc/gc-analyze.1 up to 1.7 external/gpl3/gcc/dist/gcc/doc/gcc.texi up to 1.1.1.5 external/gpl3/gcc/dist/gcc/doc/gccinstall.info up to 1.7 external/gpl3/gcc/dist/gcc/doc/gccint.info up to 1.7 external/gpl3/gcc/dist/gcc/doc/gcj-dbtool.1 up to 1.7 external/gpl3/gcc/dist/gcc/doc/gcj.1 up to 1.7 external/gpl3/gcc/dist/gcc/doc/gcj.info up to 1.7 external/gpl3/gcc/dist/gcc/doc/gcov-tool.1 up to 1.1.1.3 external/gpl3/gcc/dist/gcc/doc/gcov-tool.texi up to 1.1.1.2 external/gpl3/gcc/dist/gcc/doc/gcov.texi up to 1.6 external/gpl3/gcc/dist/gcc/doc/generic.texi up to 1.1.1.4 external/gpl3/gcc/dist/gcc/doc/gfdl.7 up to 1.7 external/gpl3/gcc/dist/gcc/doc/gfortran.1 up to 1.7 external/gpl3/gcc/dist/gcc/doc/gij.1 up to 1.7 external/gpl3/gcc/dist/gcc/doc/gpl.7 up to 1.7 external/gpl3/gcc/dist/gcc/doc/grmic.1 up to 1.7 external/gpl3/gcc/dist/gcc/doc/install.texi up to 1.1.1.8 external/gpl3/gcc/dist/gcc/doc/invoke.texi up to 1.12 external/gpl3/gcc/dist/gcc/doc/jcf-dump.1 up to 1.7 external/gpl3/gcc/dist/gcc/doc/jv-convert.1 up to 1.7 external/gpl3/gcc/dist/gcc/doc/lto.texi up to 1.1.1.3 external/gpl3/gcc/dist/gcc/doc/passes.texi up to 1.1.1.4 external/gpl3/gcc/dist/gcc/doc/rebuild-gcj-db.1 up to 1.7 external/gpl3/gcc/dist/gcc/doc/rtl.texi up to 1.1.1.4 external/gpl3/gcc/dist/gcc/jit/ChangeLog up to 1.1.1.3 external/gpl3/gcc/dist/gcc/lto/ChangeLog up to 1.1.1.9 external/gpl3/gcc/dist/gcc/lto/lto-lang.c up to 1.1.1.4 external/gpl3/gcc/dist/gcc/objc/ChangeLog up to 1.1.1.9 external/gpl3/gcc/dist/gcc/objcp/ChangeLog up to 1.1.1.9 external/gpl3/gcc/dist/gnattools/ChangeLog up to 1.1.1.7 external/gpl3/gcc/dist/gotools/ChangeLog up to 1.1.1.3 external/gpl3/gcc/dist/include/ChangeLog up to 1.1.1.9 external/gpl3/gcc/dist/intl/ChangeLog up to 1.1.1.9 external/gpl3/gcc/dist/libbacktrace/ChangeLog up to 1.1.1.8 external/gpl3/gcc/dist/libcc1/ChangeLog up to 1.1.1.3 external/gpl3/gcc/dist/libcpp/ChangeLog up to 1.1.1.9 external/gpl3/gcc/dist/libcpp/line-map.c up to 1.1.1.6 external/gpl3/gcc/dist/libdecnumber/ChangeLog up to 1.1.1.9 external/gpl3/gcc/dist/libgcc/ChangeLog up to 1.1.1.11 external/gpl3/gcc/dist/libgcc/config.host up to 1.16 external/gpl3/gcc/dist/libgcc/libgcc2.c up to 1.1.1.4 external/gpl3/gcc/dist/libgcc/libgcov-driver.c up to 1.1.1.2 external/gpl3/gcc/dist/libgcc/unwind-c.c up to 1.1.1.3 external/gpl3/gcc/dist/libgcc/config/aarch64/linux-unwind.h up to 1.1.1.3 external/gpl3/gcc/dist/libgcc/config/alpha/linux-unwind.h up to 1.1.1.3 external/gpl3/gcc/dist/libgcc/config/arm/unwind-arm.c up to 1.1.1.3 external/gpl3/gcc/dist/libgcc/config/arm/unwind-arm.h up to 1.1.1.3 external/gpl3/gcc/dist/libgcc/config/bfin/linux-unwind.h up to 1.1.1.3 external/gpl3/gcc/dist/libgcc/config/i386/linux-unwind.h up to 1.1.1.3 external/gpl3/gcc/dist/libgcc/config/libbid/ChangeLog up to 1.1.1.9 external/gpl3/gcc/dist/libgcc/config/m68k/linux-unwind.h up to 1.1.1.3 external/gpl3/gcc/dist/libgcc/config/nios2/linux-unwind.h up to 1.1.1.2 external/gpl3/gcc/dist/libgcc/config/pa/linux-unwind.h up to 1.1.1.4 external/gpl3/gcc/dist/libgcc/config/rs6000/t-crtstuff up to 1.1.1.2 external/gpl3/gcc/dist/libgcc/config/sh/linux-unwind.h up to 1.1.1.3 external/gpl3/gcc/dist/libgcc/config/sparc/lb1spc.S up to 1.1.1.2 external/gpl3/gcc/dist/libgcc/config/tilepro/linux-unwind.h up to 1.1.1.3 external/gpl3/gcc/dist/libgcc/config/xtensa/ieee754-df.S up to 1.1.1.3 external/gpl3/gcc/dist/libgcc/config/xtensa/ieee754-sf.S up to 1.1.1.3 external/gpl3/gcc/dist/libgcc/config/xtensa/linux-unwind.h up to 1.1.1.3 external/gpl3/gcc/dist/libgcc/config/xtensa/t-elf up to 1.1.1.2 external/gpl3/gcc/dist/libgcc/config/xtensa/t-linux up to 1.1.1.2 external/gpl3/gcc/dist/libgcc/config/xtensa/t-windowed up to 1.1.1.2 external/gpl3/gcc/dist/libgcc/config/xtensa/unwind-dw2-xtensa.c up to 1.4 external/gpl3/gcc/dist/libgomp/ChangeLog up to 1.1.1.9 external/gpl3/gcc/dist/libgomp/env.c up to 1.1.1.4 external/gpl3/gcc/dist/libgomp/hashtab.h up to 1.1.1.2 external/gpl3/gcc/dist/libgomp/libgomp.info up to 1.7 external/gpl3/gcc/dist/libiberty/ChangeLog up to 1.1.1.9 external/gpl3/gcc/dist/libiberty/cp-demangle.c up to 1.1.1.5 external/gpl3/gcc/dist/libiberty/vprintf-support.c up to 1.2 external/gpl3/gcc/dist/libitm/ChangeLog up to 1.1.1.7 external/gpl3/gcc/dist/libitm/libitm.info up to 1.1.1.6 external/gpl3/gcc/dist/libobjc/ChangeLog up to 1.1.1.10 external/gpl3/gcc/dist/libsanitizer/ChangeLog up to 1.1.1.7 external/gpl3/gcc/dist/libsanitizer/asan/asan_globals.cc up to 1.1.1.3 external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc up to 1.5 external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_linux.cc up to 1.9 external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_linux.h up to 1.3 external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc up to 1.6 external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h up to 1.10 external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_procmaps_netbsd.cc up to 1.3 external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc up to 1.1.1.2 external/gpl3/gcc/dist/libsanitizer/tsan/tsan_platform_linux.cc up to 1.3 external/gpl3/gcc/dist/libsanitizer/tsan/tsan_rtl.cc up to 1.1.1.3 external/gpl3/gcc/dist/libssp/ChangeLog up to 1.1.1.9 external/gpl3/gcc/dist/libstdc++-v3/ChangeLog up to 1.1.1.11 external/gpl3/gcc/dist/libstdc++-v3/acinclude.m4 up to 1.4 external/gpl3/gcc/dist/libstdc++-v3/config.h.in up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/configure up to 1.8 external/gpl3/gcc/dist/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/config/io/basic_file_stdio.cc up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/config/os/mingw32-w64/error_constants.h up to 1.1.1.3 external/gpl3/gcc/dist/libstdc++-v3/doc/doxygen/mainpage.html up to 1.1.1.2 external/gpl3/gcc/dist/libstdc++-v3/doc/html/api.html up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/doc/html/faq.html up to 1.1.1.5 external/gpl3/gcc/dist/libstdc++-v3/doc/html/ext/lwg-active.html up to 1.1.1.3 external/gpl3/gcc/dist/libstdc++-v3/doc/html/ext/lwg-closed.html up to 1.1.1.3 external/gpl3/gcc/dist/libstdc++-v3/doc/html/ext/lwg-defects.html up to 1.1.1.3 external/gpl3/gcc/dist/libstdc++-v3/doc/html/manual/abi.html up to 1.1.1.6 external/gpl3/gcc/dist/libstdc++-v3/doc/html/manual/bugs.html up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/doc/html/manual/ext_demangling.html up to 1.1.1.3 external/gpl3/gcc/dist/libstdc++-v3/doc/html/manual/memory.html up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/doc/html/manual/mt_allocator_impl.html up to 1.1.1.2 external/gpl3/gcc/dist/libstdc++-v3/doc/html/manual/source_code_style.html up to 1.1.1.3 external/gpl3/gcc/dist/libstdc++-v3/doc/html/manual/source_organization.html up to 1.1.1.3 external/gpl3/gcc/dist/libstdc++-v3/doc/html/manual/status.html up to 1.1.1.6 external/gpl3/gcc/dist/libstdc++-v3/doc/xml/api.xml up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/doc/xml/faq.xml up to 1.1.1.5 external/gpl3/gcc/dist/libstdc++-v3/doc/xml/manual/abi.xml up to 1.1.1.5 external/gpl3/gcc/dist/libstdc++-v3/doc/xml/manual/allocator.xml up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/doc/xml/manual/appendix_contributing.xml up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/doc/xml/manual/extensions.xml up to 1.1.1.5 external/gpl3/gcc/dist/libstdc++-v3/doc/xml/manual/intro.xml up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/doc/xml/manual/mt_allocator.xml up to 1.1.1.3 external/gpl3/gcc/dist/libstdc++-v3/doc/xml/manual/status_cxx2011.xml up to 1.1.1.5 external/gpl3/gcc/dist/libstdc++-v3/doc/xml/manual/status_cxx2014.xml up to 1.1.1.3 external/gpl3/gcc/dist/libstdc++-v3/include/Makefile.am up to 1.1.1.5 external/gpl3/gcc/dist/libstdc++-v3/include/Makefile.in up to 1.1.1.5 external/gpl3/gcc/dist/libstdc++-v3/include/bits/allocator.h up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/include/bits/basic_ios.h up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/include/bits/basic_string.h up to 1.1.1.5 external/gpl3/gcc/dist/libstdc++-v3/include/bits/basic_string.tcc up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/include/bits/c++config up to 1.1.1.5 external/gpl3/gcc/dist/libstdc++-v3/include/bits/hashtable.h up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/include/bits/ios_base.h up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/include/bits/istream.tcc up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/include/bits/list.tcc up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/include/bits/locale_classes.h up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/include/bits/locale_conv.h up to 1.1.1.2 external/gpl3/gcc/dist/libstdc++-v3/include/bits/mask_array.h up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/include/bits/predefined_ops.h up to 1.1.1.2 external/gpl3/gcc/dist/libstdc++-v3/include/bits/regex.h up to 1.1.1.3 external/gpl3/gcc/dist/libstdc++-v3/include/bits/regex.tcc up to 1.1.1.2 external/gpl3/gcc/dist/libstdc++-v3/include/bits/regex_compiler.h up to 1.1.1.3 external/gpl3/gcc/dist/libstdc++-v3/include/bits/shared_ptr_base.h up to 1.1.1.6 external/gpl3/gcc/dist/libstdc++-v3/include/bits/slice_array.h up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/include/bits/sstream.tcc up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_iterator.h up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_map.h up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_multimap.h up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_multiset.h up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_set.h up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_stack.h up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_tree.h up to 1.1.1.5 external/gpl3/gcc/dist/libstdc++-v3/include/bits/uniform_int_dist.h up to 1.1.1.2 external/gpl3/gcc/dist/libstdc++-v3/include/bits/unique_ptr.h up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/include/c_global/cmath up to 1.1.1.5 external/gpl3/gcc/dist/libstdc++-v3/include/debug/safe_iterator.h up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/include/debug/string up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/include/experimental/algorithm up to 1.1.1.2 external/gpl3/gcc/dist/libstdc++-v3/include/experimental/any up to 1.1.1.2 external/gpl3/gcc/dist/libstdc++-v3/include/experimental/chrono up to 1.1.1.2 external/gpl3/gcc/dist/libstdc++-v3/include/experimental/fs_dir.h up to 1.1.1.3 external/gpl3/gcc/dist/libstdc++-v3/include/experimental/fs_fwd.h up to 1.1.1.3 external/gpl3/gcc/dist/libstdc++-v3/include/experimental/fs_ops.h up to 1.1.1.3 external/gpl3/gcc/dist/libstdc++-v3/include/experimental/fs_path.h up to 1.1.1.3 external/gpl3/gcc/dist/libstdc++-v3/include/experimental/functional up to 1.1.1.2 external/gpl3/gcc/dist/libstdc++-v3/include/experimental/optional up to 1.1.1.3 external/gpl3/gcc/dist/libstdc++-v3/include/experimental/ratio up to 1.1.1.2 external/gpl3/gcc/dist/libstdc++-v3/include/experimental/string_view up to 1.1.1.3 external/gpl3/gcc/dist/libstdc++-v3/include/experimental/string_view.tcc up to 1.1.1.3 external/gpl3/gcc/dist/libstdc++-v3/include/experimental/system_error up to 1.1.1.2 external/gpl3/gcc/dist/libstdc++-v3/include/experimental/tuple up to 1.1.1.3 external/gpl3/gcc/dist/libstdc++-v3/include/experimental/type_traits up to 1.1.1.2 external/gpl3/gcc/dist/libstdc++-v3/include/ext/new_allocator.h up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/include/ext/pointer.h up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/include/std/atomic up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/include/std/chrono up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/include/std/complex up to 1.5 external/gpl3/gcc/dist/libstdc++-v3/include/std/functional up to 1.1.1.7 external/gpl3/gcc/dist/libstdc++-v3/include/std/istream up to 1.1.1.5 external/gpl3/gcc/dist/libstdc++-v3/include/std/scoped_allocator up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/include/std/sstream up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/include/std/thread up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/include/std/tuple up to 1.1.1.6 external/gpl3/gcc/dist/libstdc++-v3/include/std/utility up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/include/tr1/cmath up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/libsupc++/cxxabi.h up to 1.1.1.4 external/gpl3/gcc/dist/libstdc++-v3/python/libstdcxx/v6/printers.py up to 1.1.1.5 external/gpl3/gcc/dist/libstdc++-v3/python/libstdcxx/v6/xmethods.py up to 1.1.1.2 external/gpl3/gcc/dist/libstdc++-v3/src/c++11/codecvt.cc up to 1.1.1.3 external/gpl3/gcc/dist/libstdc++-v3/src/c++11/cxx11-shim_facets.cc up to 1.1.1.2 external/gpl3/gcc/dist/libstdc++-v3/src/c++11/shared_ptr.cc up to 1.1.1.3 external/gpl3/gcc/dist/libstdc++-v3/src/filesystem/Makefile.in up to 1.1.1.2 external/gpl3/gcc/dist/libstdc++-v3/src/filesystem/dir.cc up to 1.1.1.2 external/gpl3/gcc/dist/libstdc++-v3/src/filesystem/ops.cc up to 1.1.1.3 external/gpl3/gcc/dist/lto-plugin/ChangeLog up to 1.1.1.9 external/gpl3/gcc/dist/lto-plugin/lto-plugin.c up to 1.1.1.4 external/gpl3/gcc/dist/maintainer-scripts/ChangeLog up to 1.1.1.10 external/gpl3/gcc/lib/libasan/Makefile up to 1.18 external/gpl3/gcc/lib/libgcc/arch/i386/defs.mk up to 1.5 external/gpl3/gcc/lib/libgcc/arch/m68000/defs.mk up to 1.7 external/gpl3/gcc/lib/libgcc/arch/x86_64/defs.mk up to 1.4 external/gpl3/gcc/lib/libgcc/libgcc/Makefile up to 1.28 external/gpl3/gcc/lib/libgcc/libgcov/arch/alpha/gcov-iov.h up to 1.10 external/gpl3/gcc/lib/libgcc/libgcov/arch/arm/gcov-iov.h up to 1.10 external/gpl3/gcc/lib/libgcc/libgcov/arch/armeb/gcov-iov.h up to 1.10 external/gpl3/gcc/lib/libgcc/libgcov/arch/earm/gcov-iov.h up to 1.10 external/gpl3/gcc/lib/libgcc/libgcov/arch/earmeb/gcov-iov.h up to 1.9 external/gpl3/gcc/lib/libgcc/libgcov/arch/earmhf/gcov-iov.h up to 1.9 external/gpl3/gcc/lib/libgcc/libgcov/arch/earmhfeb/gcov-iov.h up to 1.9 external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv4/gcov-iov.h up to 1.9 external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv4eb/gcov-iov.h up to 1.9 external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6/gcov-iov.h up to 1.9 external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6eb/gcov-iov.h up to 1.9 external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6hf/gcov-iov.h up to 1.9 external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6hfeb/gcov-iov.h up to 1.9 external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7/gcov-iov.h up to 1.9 external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7eb/gcov-iov.h up to 1.9 external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7hf/gcov-iov.h up to 1.9 external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7hfeb/gcov-iov.h up to 1.9 external/gpl3/gcc/lib/libgcc/libgcov/arch/hppa/gcov-iov.h up to 1.10 external/gpl3/gcc/lib/libgcc/libgcov/arch/i386/gcov-iov.h up to 1.10 external/gpl3/gcc/lib/libgcc/libgcov/arch/ia64/gcov-iov.h up to 1.5 external/gpl3/gcc/lib/libgcc/libgcov/arch/m68000/gcov-iov.h up to 1.9 external/gpl3/gcc/lib/libgcc/libgcov/arch/m68k/gcov-iov.h up to 1.10 external/gpl3/gcc/lib/libgcc/libgcov/arch/mips64eb/gcov-iov.h up to 1.10 external/gpl3/gcc/lib/libgcc/libgcov/arch/mips64el/gcov-iov.h up to 1.10 external/gpl3/gcc/lib/libgcc/libgcov/arch/mipseb/gcov-iov.h up to 1.10 external/gpl3/gcc/lib/libgcc/libgcov/arch/mipsel/gcov-iov.h up to 1.10 external/gpl3/gcc/lib/libgcc/libgcov/arch/powerpc/gcov-iov.h up to 1.10 external/gpl3/gcc/lib/libgcc/libgcov/arch/powerpc64/gcov-iov.h up to 1.6 external/gpl3/gcc/lib/libgcc/libgcov/arch/sh3eb/gcov-iov.h up to 1.10 external/gpl3/gcc/lib/libgcc/libgcov/arch/sh3el/gcov-iov.h up to 1.10 external/gpl3/gcc/lib/libgcc/libgcov/arch/sparc/gcov-iov.h up to 1.10 external/gpl3/gcc/lib/libgcc/libgcov/arch/sparc64/gcov-iov.h up to 1.10 external/gpl3/gcc/lib/libgcc/libgcov/arch/vax/gcov-iov.h up to 1.10 external/gpl3/gcc/lib/libgcc/libgcov/arch/x86_64/gcov-iov.h up to 1.10 external/gpl3/gcc/lib/libiberty/defs.mk up to 1.14 external/gpl3/gcc/lib/libiberty/arch/ia64/config.h up to 1.6 external/gpl3/gcc/lib/liblto_plugin/Makefile up to 1.9 external/gpl3/gcc/lib/libstdc++-v3/Makefile up to 1.28 external/gpl3/gcc/lib/libstdc++-v3/arch/alpha/c++config.h up to 1.21 external/gpl3/gcc/lib/libstdc++-v3/arch/alpha/defs.mk up to 1.5 external/gpl3/gcc/lib/libstdc++-v3/arch/alpha/gstdint.h up to 1.14 external/gpl3/gcc/lib/libstdc++-v3/arch/arm/c++config.h up to 1.23 external/gpl3/gcc/lib/libstdc++-v3/arch/arm/defs.mk up to 1.5 external/gpl3/gcc/lib/libstdc++-v3/arch/arm/gstdint.h up to 1.14 external/gpl3/gcc/lib/libstdc++-v3/arch/armeb/c++config.h up to 1.23 external/gpl3/gcc/lib/libstdc++-v3/arch/armeb/defs.mk up to 1.5 external/gpl3/gcc/lib/libstdc++-v3/arch/armeb/gstdint.h up to 1.15 external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/defs.mk up to 1.6 external/gpl3/gcc/lib/libstdc++-v3/arch/earm/c++config.h up to 1.21 external/gpl3/gcc/lib/libstdc++-v3/arch/earm/defs.mk up to 1.5 external/gpl3/gcc/lib/libstdc++-v3/arch/earm/gstdint.h up to 1.15 external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/c++config.h up to 1.19 external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/defs.mk up to 1.6 external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/gstdint.h up to 1.14 external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/c++config.h up to 1.19 external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/defs.mk up to 1.7 external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/gstdint.h up to 1.14 external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/c++config.h up to 1.17 external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/defs.mk up to 1.5 external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/gstdint.h up to 1.14 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/c++config.h up to 1.16 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/defs.mk up to 1.5 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/gstdint.h up to 1.14 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/c++config.h up to 1.16 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/defs.mk up to 1.5 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/gstdint.h up to 1.14 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/c++config.h up to 1.16 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/defs.mk up to 1.5 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/gstdint.h up to 1.14 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/c++config.h up to 1.16 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/defs.mk up to 1.5 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/gstdint.h up to 1.13 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/c++config.h up to 1.16 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/defs.mk up to 1.5 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/gstdint.h up to 1.13 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/c++config.h up to 1.16 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/defs.mk up to 1.5 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/gstdint.h up to 1.13 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/c++config.h up to 1.16 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/defs.mk up to 1.5 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/gstdint.h up to 1.13 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/c++config.h up to 1.16 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/defs.mk up to 1.5 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/gstdint.h up to 1.13 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/c++config.h up to 1.16 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/defs.mk up to 1.5 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/gstdint.h up to 1.13 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/c++config.h up to 1.16 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/defs.mk up to 1.5 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/gstdint.h up to 1.13 external/gpl3/gcc/lib/libstdc++-v3/arch/hppa/c++config.h up to 1.21 external/gpl3/gcc/lib/libstdc++-v3/arch/hppa/defs.mk up to 1.5 external/gpl3/gcc/lib/libstdc++-v3/arch/hppa/gstdint.h up to 1.14 external/gpl3/gcc/lib/libstdc++-v3/arch/i386/c++config.h up to 1.22 external/gpl3/gcc/lib/libstdc++-v3/arch/i386/defs.mk up to 1.7 external/gpl3/gcc/lib/libstdc++-v3/arch/i386/gstdint.h up to 1.14 external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/c++config.h up to 1.7 external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/defs.mk up to 1.5 external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/gstdint.h up to 1.5 external/gpl3/gcc/lib/libstdc++-v3/arch/m68000/c++config.h up to 1.16 external/gpl3/gcc/lib/libstdc++-v3/arch/m68000/defs.mk up to 1.7 external/gpl3/gcc/lib/libstdc++-v3/arch/m68000/gstdint.h up to 1.9 external/gpl3/gcc/lib/libstdc++-v3/arch/m68k/c++config.h up to 1.21 external/gpl3/gcc/lib/libstdc++-v3/arch/m68k/defs.mk up to 1.6 external/gpl3/gcc/lib/libstdc++-v3/arch/m68k/gstdint.h up to 1.12 external/gpl3/gcc/lib/libstdc++-v3/arch/mips64eb/c++config.h up to 1.21 external/gpl3/gcc/lib/libstdc++-v3/arch/mips64eb/defs.mk up to 1.6 external/gpl3/gcc/lib/libstdc++-v3/arch/mips64eb/gstdint.h up to 1.12 external/gpl3/gcc/lib/libstdc++-v3/arch/mips64el/c++config.h up to 1.20 external/gpl3/gcc/lib/libstdc++-v3/arch/mips64el/defs.mk up to 1.6 external/gpl3/gcc/lib/libstdc++-v3/arch/mips64el/gstdint.h up to 1.13 external/gpl3/gcc/lib/libstdc++-v3/arch/mipseb/c++config.h up to 1.23 external/gpl3/gcc/lib/libstdc++-v3/arch/mipseb/defs.mk up to 1.6 external/gpl3/gcc/lib/libstdc++-v3/arch/mipseb/gstdint.h up to 1.12 external/gpl3/gcc/lib/libstdc++-v3/arch/mipsel/c++config.h up to 1.21 external/gpl3/gcc/lib/libstdc++-v3/arch/mipsel/defs.mk up to 1.5 external/gpl3/gcc/lib/libstdc++-v3/arch/mipsel/gstdint.h up to 1.12 external/gpl3/gcc/lib/libstdc++-v3/arch/powerpc/c++config.h up to 1.22 external/gpl3/gcc/lib/libstdc++-v3/arch/powerpc/defs.mk up to 1.5 external/gpl3/gcc/lib/libstdc++-v3/arch/powerpc/gstdint.h up to 1.13 external/gpl3/gcc/lib/libstdc++-v3/arch/powerpc64/c++config.h up to 1.10 external/gpl3/gcc/lib/libstdc++-v3/arch/powerpc64/defs.mk up to 1.6 external/gpl3/gcc/lib/libstdc++-v3/arch/powerpc64/gstdint.h up to 1.7 external/gpl3/gcc/lib/libstdc++-v3/arch/sh3eb/c++config.h up to 1.21 external/gpl3/gcc/lib/libstdc++-v3/arch/sh3eb/defs.mk up to 1.7 external/gpl3/gcc/lib/libstdc++-v3/arch/sh3eb/gstdint.h up to 1.13 external/gpl3/gcc/lib/libstdc++-v3/arch/sh3el/c++config.h up to 1.23 external/gpl3/gcc/lib/libstdc++-v3/arch/sh3el/defs.mk up to 1.5 external/gpl3/gcc/lib/libstdc++-v3/arch/sh3el/gstdint.h up to 1.13 external/gpl3/gcc/lib/libstdc++-v3/arch/sparc/c++config.h up to 1.22 external/gpl3/gcc/lib/libstdc++-v3/arch/sparc/defs.mk up to 1.5 external/gpl3/gcc/lib/libstdc++-v3/arch/sparc/gstdint.h up to 1.13 external/gpl3/gcc/lib/libstdc++-v3/arch/sparc64/c++config.h up to 1.21 external/gpl3/gcc/lib/libstdc++-v3/arch/sparc64/defs.mk up to 1.6 external/gpl3/gcc/lib/libstdc++-v3/arch/sparc64/gstdint.h up to 1.13 external/gpl3/gcc/lib/libstdc++-v3/arch/vax/c++config.h up to 1.23 external/gpl3/gcc/lib/libstdc++-v3/arch/vax/defs.mk up to 1.7 external/gpl3/gcc/lib/libstdc++-v3/arch/vax/gstdint.h up to 1.13 external/gpl3/gcc/lib/libstdc++-v3/arch/x86_64/c++config.h up to 1.25 external/gpl3/gcc/lib/libstdc++-v3/arch/x86_64/defs.mk up to 1.7 external/gpl3/gcc/lib/libstdc++-v3/arch/x86_64/gstdint.h up to 1.15 external/gpl3/gcc/lib/libstdc++-v3/include/bits/Makefile up to 1.19 external/gpl3/gcc/lib/libubsan/Makefile up to 1.3 external/gpl3/gcc/usr.bin/Makefile.backend up to 1.6 external/gpl3/gcc/usr.bin/Makefile.inc up to 1.29 external/gpl3/gcc/usr.bin/backend/Makefile up to 1.39 external/gpl3/gcc/usr.bin/common/Makefile up to 1.5 external/gpl3/gcc/usr.bin/frontend/Makefile up to 1.11 external/gpl3/gcc/usr.bin/gcc/arch/alpha/bversion.h up to 1.8 external/gpl3/gcc/usr.bin/gcc/arch/alpha/configargs.h up to 1.23 external/gpl3/gcc/usr.bin/gcc/arch/alpha/defs.mk up to 1.10 external/gpl3/gcc/usr.bin/gcc/arch/alpha/plugin-version.h up to 1.11 external/gpl3/gcc/usr.bin/gcc/arch/arm/bversion.h up to 1.8 external/gpl3/gcc/usr.bin/gcc/arch/arm/configargs.h up to 1.26 external/gpl3/gcc/usr.bin/gcc/arch/arm/defs.mk up to 1.12 external/gpl3/gcc/usr.bin/gcc/arch/arm/plugin-version.h up to 1.11 external/gpl3/gcc/usr.bin/gcc/arch/armeb/bversion.h up to 1.8 external/gpl3/gcc/usr.bin/gcc/arch/armeb/configargs.h up to 1.27 external/gpl3/gcc/usr.bin/gcc/arch/armeb/defs.mk up to 1.12 external/gpl3/gcc/usr.bin/gcc/arch/armeb/plugin-version.h up to 1.11 external/gpl3/gcc/usr.bin/gcc/arch/earm/bversion.h up to 1.8 external/gpl3/gcc/usr.bin/gcc/arch/earm/configargs.h up to 1.24 external/gpl3/gcc/usr.bin/gcc/arch/earm/defs.mk up to 1.11 external/gpl3/gcc/usr.bin/gcc/arch/earm/plugin-version.h up to 1.11 external/gpl3/gcc/usr.bin/gcc/arch/earmeb/bversion.h up to 1.7 external/gpl3/gcc/usr.bin/gcc/arch/earmeb/configargs.h up to 1.20 external/gpl3/gcc/usr.bin/gcc/arch/earmeb/defs.mk up to 1.10 external/gpl3/gcc/usr.bin/gcc/arch/earmeb/plugin-version.h up to 1.10 external/gpl3/gcc/usr.bin/gcc/arch/earmhf/bversion.h up to 1.7 external/gpl3/gcc/usr.bin/gcc/arch/earmhf/configargs.h up to 1.21 external/gpl3/gcc/usr.bin/gcc/arch/earmhf/defs.mk up to 1.11 external/gpl3/gcc/usr.bin/gcc/arch/earmhf/plugin-version.h up to 1.10 external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/bversion.h up to 1.7 external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/configargs.h up to 1.19 external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/defs.mk up to 1.9 external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/plugin-version.h up to 1.10 external/gpl3/gcc/usr.bin/gcc/arch/earmv4/bversion.h up to 1.7 external/gpl3/gcc/usr.bin/gcc/arch/earmv4/configargs.h up to 1.18 external/gpl3/gcc/usr.bin/gcc/arch/earmv4/defs.mk up to 1.9 external/gpl3/gcc/usr.bin/gcc/arch/earmv4/plugin-version.h up to 1.10 external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/bversion.h up to 1.7 external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/configargs.h up to 1.18 external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/defs.mk up to 1.9 external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/plugin-version.h up to 1.10 external/gpl3/gcc/usr.bin/gcc/arch/earmv6/bversion.h up to 1.7 external/gpl3/gcc/usr.bin/gcc/arch/earmv6/configargs.h up to 1.18 external/gpl3/gcc/usr.bin/gcc/arch/earmv6/defs.mk up to 1.9 external/gpl3/gcc/usr.bin/gcc/arch/earmv6/plugin-version.h up to 1.10 external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/bversion.h up to 1.7 external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/configargs.h up to 1.18 external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/defs.mk up to 1.9 external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/plugin-version.h up to 1.10 external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/bversion.h up to 1.7 external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/configargs.h up to 1.18 external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/defs.mk up to 1.9 external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/plugin-version.h up to 1.10 external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/bversion.h up to 1.7 external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/configargs.h up to 1.18 external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/defs.mk up to 1.9 external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/plugin-version.h up to 1.10 external/gpl3/gcc/usr.bin/gcc/arch/earmv7/bversion.h up to 1.7 external/gpl3/gcc/usr.bin/gcc/arch/earmv7/configargs.h up to 1.18 external/gpl3/gcc/usr.bin/gcc/arch/earmv7/defs.mk up to 1.9 external/gpl3/gcc/usr.bin/gcc/arch/earmv7/plugin-version.h up to 1.10 external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/bversion.h up to 1.7 external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/configargs.h up to 1.18 external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/defs.mk up to 1.9 external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/plugin-version.h up to 1.10 external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/bversion.h up to 1.7 external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/configargs.h up to 1.18 external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/defs.mk up to 1.9 external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/plugin-version.h up to 1.10 external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/bversion.h up to 1.7 external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/configargs.h up to 1.18 external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/defs.mk up to 1.9 external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/plugin-version.h up to 1.10 external/gpl3/gcc/usr.bin/gcc/arch/hppa/bversion.h up to 1.8 external/gpl3/gcc/usr.bin/gcc/arch/hppa/configargs.h up to 1.24 external/gpl3/gcc/usr.bin/gcc/arch/hppa/defs.mk up to 1.12 external/gpl3/gcc/usr.bin/gcc/arch/hppa/plugin-version.h up to 1.11 external/gpl3/gcc/usr.bin/gcc/arch/i386/bversion.h up to 1.8 external/gpl3/gcc/usr.bin/gcc/arch/i386/configargs.h up to 1.31 external/gpl3/gcc/usr.bin/gcc/arch/i386/defs.mk up to 1.12 external/gpl3/gcc/usr.bin/gcc/arch/i386/i386-builtin-types.inc up to 1.4 external/gpl3/gcc/usr.bin/gcc/arch/i386/plugin-version.h up to 1.11 external/gpl3/gcc/usr.bin/gcc/arch/ia64/auto-host.h up to 1.5 external/gpl3/gcc/usr.bin/gcc/arch/ia64/bversion.h up to 1.5 external/gpl3/gcc/usr.bin/gcc/arch/ia64/configargs.h up to 1.6 external/gpl3/gcc/usr.bin/gcc/arch/ia64/defs.mk up to 1.5 external/gpl3/gcc/usr.bin/gcc/arch/ia64/plugin-version.h up to 1.5 external/gpl3/gcc/usr.bin/gcc/arch/m68000/bversion.h up to 1.8 external/gpl3/gcc/usr.bin/gcc/arch/m68000/configargs.h up to 1.18 external/gpl3/gcc/usr.bin/gcc/arch/m68000/defs.mk up to 1.11 external/gpl3/gcc/usr.bin/gcc/arch/m68000/plugin-version.h up to 1.9 external/gpl3/gcc/usr.bin/gcc/arch/m68k/bversion.h up to 1.8 external/gpl3/gcc/usr.bin/gcc/arch/m68k/configargs.h up to 1.21 external/gpl3/gcc/usr.bin/gcc/arch/m68k/defs.mk up to 1.12 external/gpl3/gcc/usr.bin/gcc/arch/m68k/plugin-version.h up to 1.11 external/gpl3/gcc/usr.bin/gcc/arch/mips64eb/bversion.h up to 1.8 external/gpl3/gcc/usr.bin/gcc/arch/mips64eb/configargs.h up to 1.22 external/gpl3/gcc/usr.bin/gcc/arch/mips64eb/defs.mk up to 1.11 external/gpl3/gcc/usr.bin/gcc/arch/mips64eb/plugin-version.h up to 1.11 external/gpl3/gcc/usr.bin/gcc/arch/mips64el/bversion.h up to 1.8 external/gpl3/gcc/usr.bin/gcc/arch/mips64el/configargs.h up to 1.23 external/gpl3/gcc/usr.bin/gcc/arch/mips64el/defs.mk up to 1.11 external/gpl3/gcc/usr.bin/gcc/arch/mips64el/plugin-version.h up to 1.11 external/gpl3/gcc/usr.bin/gcc/arch/mipseb/bversion.h up to 1.8 external/gpl3/gcc/usr.bin/gcc/arch/mipseb/configargs.h up to 1.22 external/gpl3/gcc/usr.bin/gcc/arch/mipseb/defs.mk up to 1.12 external/gpl3/gcc/usr.bin/gcc/arch/mipseb/plugin-version.h up to 1.11 external/gpl3/gcc/usr.bin/gcc/arch/mipsel/bversion.h up to 1.8 external/gpl3/gcc/usr.bin/gcc/arch/mipsel/configargs.h up to 1.23 external/gpl3/gcc/usr.bin/gcc/arch/mipsel/defs.mk up to 1.12 external/gpl3/gcc/usr.bin/gcc/arch/mipsel/plugin-version.h up to 1.11 external/gpl3/gcc/usr.bin/gcc/arch/powerpc/bversion.h up to 1.8 external/gpl3/gcc/usr.bin/gcc/arch/powerpc/configargs.h up to 1.28 external/gpl3/gcc/usr.bin/gcc/arch/powerpc/defs.mk up to 1.13 external/gpl3/gcc/usr.bin/gcc/arch/powerpc/plugin-version.h up to 1.11 external/gpl3/gcc/usr.bin/gcc/arch/powerpc64/bversion.h up to 1.5 external/gpl3/gcc/usr.bin/gcc/arch/powerpc64/configargs.h up to 1.11 external/gpl3/gcc/usr.bin/gcc/arch/powerpc64/defs.mk up to 1.6 external/gpl3/gcc/usr.bin/gcc/arch/powerpc64/plugin-version.h up to 1.5 external/gpl3/gcc/usr.bin/gcc/arch/sh3eb/bversion.h up to 1.8 external/gpl3/gcc/usr.bin/gcc/arch/sh3eb/configargs.h up to 1.24 external/gpl3/gcc/usr.bin/gcc/arch/sh3eb/defs.mk up to 1.11 external/gpl3/gcc/usr.bin/gcc/arch/sh3eb/plugin-version.h up to 1.11 external/gpl3/gcc/usr.bin/gcc/arch/sh3el/bversion.h up to 1.8 external/gpl3/gcc/usr.bin/gcc/arch/sh3el/configargs.h up to 1.26 external/gpl3/gcc/usr.bin/gcc/arch/sh3el/defs.mk up to 1.11 external/gpl3/gcc/usr.bin/gcc/arch/sh3el/plugin-version.h up to 1.11 external/gpl3/gcc/usr.bin/gcc/arch/sparc/bversion.h up to 1.8 external/gpl3/gcc/usr.bin/gcc/arch/sparc/configargs.h up to 1.26 external/gpl3/gcc/usr.bin/gcc/arch/sparc/defs.mk up to 1.11 external/gpl3/gcc/usr.bin/gcc/arch/sparc/plugin-version.h up to 1.11 external/gpl3/gcc/usr.bin/gcc/arch/sparc64/bversion.h up to 1.8 external/gpl3/gcc/usr.bin/gcc/arch/sparc64/configargs.h up to 1.26 external/gpl3/gcc/usr.bin/gcc/arch/sparc64/defs.mk up to 1.11 external/gpl3/gcc/usr.bin/gcc/arch/sparc64/plugin-version.h up to 1.11 external/gpl3/gcc/usr.bin/gcc/arch/vax/bversion.h up to 1.8 external/gpl3/gcc/usr.bin/gcc/arch/vax/configargs.h up to 1.24 external/gpl3/gcc/usr.bin/gcc/arch/vax/defs.mk up to 1.12 external/gpl3/gcc/usr.bin/gcc/arch/vax/plugin-version.h up to 1.11 external/gpl3/gcc/usr.bin/gcc/arch/x86_64/bversion.h up to 1.8 external/gpl3/gcc/usr.bin/gcc/arch/x86_64/configargs.h up to 1.33 external/gpl3/gcc/usr.bin/gcc/arch/x86_64/defs.mk up to 1.13 external/gpl3/gcc/usr.bin/gcc/arch/x86_64/i386-builtin-types.inc up to 1.4 external/gpl3/gcc/usr.bin/gcc/arch/x86_64/plugin-version.h up to 1.11 external/gpl3/gcc/usr.bin/include/arch/i386.mk up to 1.3 external/gpl3/gcc/usr.bin/include/arch/x86_64.mk up to 1.3 external/gpl3/gcc/usr.bin/libcpp/arch/ia64/config.h up to 1.4 distrib/sets/lists/comp/md.amd64 1.252 distrib/sets/lists/comp/md.i386 1.175 distrib/sets/lists/comp/shl.mi 1.309 distrib/sets/lists/debug/shl.mi 1.187 external/gpl3/gcc/lib/liblto_plugin/Makefile 1.6 lib/libc/stdlib/jemalloc.c 1.43 Update gcc to gcc 5.5. Bump lib minor for liblto_plugin.so link with -liberty. The HPPA architectures (1.1 and 2.0) both define quadruple-word (128-bit) floating point types. Adjust alignment to match. @ text @d1 10 a10 3 Installing GCC d41 6 d48 2 a49 11

      Installing GCC

      d51 3 d55 2 a56 24

      Like most GNU software, GCC must be configured before it can be built. This document describes the recommended configuration procedure for both native and cross targets.

      We use srcdir to refer to the toplevel source directory for GCC; we use objdir to refer to the toplevel build/object directory.

      If you obtained the sources via SVN, srcdir must refer to the top gcc directory, the one where the MAINTAINERS file can be found, and not its gcc subdirectory, otherwise the build will fail.

      If either srcdir or objdir is located on an automounted NFS file system, the shell’s built-in pwd command will return d58 3 a60 3 problems. To avoid this issue, set the PWDCMD environment variable to an automounter-aware pwd command, e.g., pawd or ‘amq -w’, during the configuration and build d62 2 a63 2

      First, we highly recommend that GCC be built into a d66 1 a66 1 where srcdir == objdir should still work, but doesn’t d69 6 a74 6

      If you have previously built GCC in the same directory for a different target machine, do ‘make distclean’ to delete all files that might be invalid. One of the files this deletes is Makefile; if ‘make distclean’ complains that Makefile does not exist or issues a message like “don’t know how to make distclean” it probably d78 3 a80 3

      Second, when configuring a native system, either cc or gcc must be in your path or you must set CC in a82 1

      d84 1 a84 7

      To configure GCC:

      % mkdir objdir
      % cd objdir
      % srcdir/configure [options] [target]
      
      d86 5 a90 2

      Distributor options

      d95 3 a97 4

      --with-pkgversion=version

      Specify a string that identifies your package. You may wish d99 6 a104 8 included in the output of gcc --version. This suffix does not replace the default version string, only the ‘GCC’ part.

      The default value is ‘GCC’.

      --with-bugurl=url

      Specify the URL that users should visit if they wish to report a bug. a106 5

      The default value refers to the FSF’s GCC bug tracker.

      d108 8 a115 4

      Target specification

      • GCC has code to correctly determine the correct value for target d119 1 a119 1
      • target must be specified as --target=target d123 3 a125 4
      • Specifying just target instead of --target=target implies that the host defaults to target.
      d127 1 a127 2

      Options specification

      d130 2 a131 2 GCC. A list of supported options follows; ‘configure --help’ may list other options, but those not listed below may not d133 7 a139 8

      Note that each --enable option has a corresponding --disable option and that each --with option has a corresponding --without option.

      --prefix=dirname

      Specify the toplevel installation d142 3 a144 3 /usr/local.

      We highly recommend against dirname being the same or a d146 5 a150 5 beneath a user’s home directory tree, some shells will not expand dirname correctly if it contains the ‘~’ metacharacter; use $HOME instead.

      The following standard autoconf options are supported. Normally you d152 2 a153 3

      --exec-prefix=dirname

      Specify the toplevel installation directory for architecture-dependent d155 12 a166 20

      --bindir=dirname

      Specify the installation directory for the executables called by users (such as gcc and g++). The default is exec-prefix/bin.

      --libdir=dirname

      Specify the installation directory for object code libraries and internal data files of GCC. The default is exec-prefix/lib.

      --libexecdir=dirname

      Specify the installation directory for internal executables of GCC. The default is exec-prefix/libexec.

      --with-slibdir=dirname

      Specify the installation directory for the shared libgcc library. The d168 8 a175 14

      --datarootdir=dirname

      Specify the root of the directory tree for read-only architecture-independent data files referenced by GCC. The default is prefix/share.

      --infodir=dirname

      Specify the installation directory for documentation in info format. The default is datarootdir/info.

      --datadir=dirname

      Specify the installation directory for some architecture-independent d177 5 a181 9

      --docdir=dirname

      Specify the installation directory for documentation files (other than Info) for GCC. The default is datarootdir/doc.

      --htmldir=dirname

      Specify the installation directory for HTML documentation files. d183 2 a184 4

      --pdfdir=dirname

      Specify the installation directory for PDF documentation files. d186 3 a188 5

      --mandir=dirname

      Specify the installation directory for manual pages. The default is datarootdir/man. (Note that the manual pages are only extracts d192 2 a193 4

      --with-gxx-include-dir=dirname

      Specify d197 2 a198 4

      --with-specs=specs

      Specify additional command line driver SPECS. d200 2 a201 2 default without modifying the compiler’s source code, for instance --with-specs=%{!fcommon:%{!fno-common:-fno-common}}. a202 3

      d204 3 a206 3
      --program-prefix=prefix

      GCC supports some transformations of the names of its programs when d209 9 a217 13 --program-prefix=foo- would result in ‘gcc’ being installed as /usr/local/bin/foo-gcc.

      --program-suffix=suffix

      Appends suffix to the names of programs to install in bindir (see above). For example, specifying --program-suffix=-3.1 would result in ‘gcc’ being installed as /usr/local/bin/gcc-3.1.

      --program-transform-name=pattern

      Applies the ‘sed’ script pattern to be applied to the names d219 5 a223 5 consist of one or more basic ‘sed’ editing commands, separated by semicolons. For example, if you want the ‘gcc’ program name to be transformed to the installed program /usr/local/bin/myowngcc and the ‘g++’ program name to be transformed to /usr/local/bin/gspecial++ without changing other program names, d225 1 a225 1 --program-transform-name='s/^gcc$/myowngcc/; s/^g++$/gspecial++/' d227 2 a228 2

      All three options can be combined and used together, resulting in more d232 3 a234 3

      As currently implemented, this option only takes effect for native builds; cross compiler binaries’ names are not transformed even when a d236 2 a237 2

      For native builds, some of the installed programs are also installed d239 1 a239 1 ‘i686-pc-linux-gnu-gcc’. All of the above transformations happen d241 1 a241 1 --program-prefix=foo- and program-suffix=-3.1, the d243 3 a245 3 /usr/local/bin/i686-pc-linux-gnu-foo-gcc-3.1.

      As a last shortcoming, none of the installed Ada programs are d247 2 a248 4

      --with-local-prefix=dirname

      Specify the d250 6 a255 6 /usr/local. Specify this option if you want the compiler to search directory dirname/include for locally installed header files instead of /usr/local/include.

      You should specify --with-local-prefix only if your site has a different convention (not /usr/local) for where to put d257 4 a260 4

      The default value for --with-local-prefix is /usr/local regardless of the value of --prefix. Specifying --prefix has no effect on which directory GCC searches for d263 3 a265 3

      The purpose of --prefix is to specify where to install GCC. The local header files in /usr/local/include—if you put d268 4 a271 4 another directory which is based on the --prefix value.)

      Both the local-prefix include directory and the GCC-prefix include directory are part of GCC’s “system include” directories. Although these d277 2 a278 2

      Some autoconf macros add -I directory options to the d280 1 a280 1 packages’ headers are searched. When directory is one of GCC’s d285 3 a287 3

      GCC automatically searches for ordinary libraries using GCC_EXEC_PREFIX. Thus, when the same installation prefix is d291 3 a293 3 installed as a system compiler in /usr.

      Sites that need to install multiple versions of GCC may not want to d295 2 a296 2 --program-prefix, --program-suffix and --program-transform-name options to install multiple versions d298 1 a298 1 and the --with-local-prefix option to specify the location of the d301 9 a309 9 (e.g., with LIBRARY_PATH).

      The same value can be used for both --with-local-prefix and --prefix provided it is not /usr. This can be used to avoid the default search of /usr/local/include.

      Do not specify /usr as the --with-local-prefix! The directory you use for --with-local-prefix must not contain any of the system’s standard header files. If it did contain d312 3 a314 3 file corrections made by the fixincludes script.

      Indications are that people who use this option use it based on mistaken d318 3 a320 5

      --with-native-system-header-dir=dirname

      Specifies that dirname is the directory that contains native system header files, rather than /usr/include. This option is most useful d323 1 a323 1 --with-sysroot option and will cause GCC to search d325 2 a326 4

      --enable-shared[=package[,…]]

      Build shared versions of libraries, if shared libraries are supported on d329 2 a330 2

      If a list of packages is given as an argument, build shared libraries d333 10 a342 10 ‘libgcc’ (also known as ‘gcc’), ‘libstdc++’ (not ‘libstdc++-v3’), ‘libffi’, ‘zlib’, ‘boehm-gc’, ‘ada’, ‘libada’, ‘libjava’, ‘libgo’, and ‘libobjc’. Note ‘libiberty’ does not support shared libraries at all.

      Use --disable-shared to build only static libraries. Note that --disable-shared does not accept a list of package names as argument, only --enable-shared does.

      Contrast with --enable-host-shared, which affects host d344 2 a345 4

      --enable-host-shared

      Specify that the host code should be built into position-independent d348 4 a351 4

      This option is required when building the libgccjit.so library.

      Contrast with --enable-shared, which affects target d353 2 a354 4

      --with-gnu-as

      Specify that the compiler should assume that the d359 1 a359 1 configured with --with-gnu-as.) If you have more than one d361 4 a364 4 connection with --with-as=pathname or --with-build-time-tools=pathname.

      The following systems are the only ones where it makes a difference d366 10 a375 12 --with-gnu-as has no effect.

      • ‘hppa1.0-any-any’
      • ‘hppa1.1-any-any’
      • ‘sparc-sun-solaris2.any’
      • ‘sparc64-any-solaris2.any’
      --with-as=pathname

      Specify that the compiler should use the assembler pointed to by d378 4 a381 4

      • Unless GCC is being built with a cross compiler, check the libexec/gcc/target/version directory. libexec defaults to exec-prefix/libexec; d383 3 a385 3 defaults to /usr/local unless overridden by the --prefix=pathname switch described above. target is the target system triple, such as ‘sparc-sun-solaris2.7’, and d388 2 a389 2
      • If the target system is the same that you are building on, check operating system specific directories (e.g. /usr/ccs/bin on d392 1 a392 1
      • Check in the PATH for a tool whose name is prefixed by the d395 1 a395 1
      • Check in the PATH for a tool whose name is not prefixed by the d398 2 a399 2 the target as well).
      d401 1 a401 1

      You may want to use --with-as if no assembler d405 2 a406 4

      --with-gnu-ld

      Same as --with-gnu-as d408 2 a409 4

      --with-ld=pathname

      Same as --with-as d411 2 a412 4

      --with-stabs

      Specify that stabs debugging d415 2 a416 2

      On MIPS based systems and on Alphas, you must specify whether you want d421 6 a426 6

      Normally, GCC uses the ECOFF debugging format by default; if you prefer BSD stabs, specify --with-stabs when you configure GCC.

      No matter which default you choose when you configure GCC, the user can use the -gcoff and -gstabs+ options to specify explicitly d428 3 a430 3

      --with-stabs is meaningful on the ISC system on the 386, also, if --with-gas is used. It selects use of stabs debugging d433 2 a434 2

      --with-stabs is also meaningful on 386 systems running SVR4. It d440 2 a441 4

      --with-tls=dialect

      Specify the default TLS dialect, for systems were there is a choice. d445 2 a446 4

      --enable-multiarch

      Specify whether to enable or disable multiarch support. The default is d449 2 a450 2 and for cross builds configured with --with-sysroot, and without --with-native-system-header-dir. d453 2 a454 10

      --enable-sjlj-exceptions

      Force use of the setjmp/longjmp-based scheme for exceptions. ‘configure’ ordinarily picks the correct value based on the platform. Only use this option if you are sure you need a different setting.

      --enable-vtable-verify

      Specify whether to enable or disable the vtable verification feature. d459 1 a459 1 the verifier will call stub functions (in libstdc++ itself) and do nothing. d462 4 a465 6 still be built (see --disable-libvtv to turn off building libvtv). --disable-vtable-verify is the default.

      --disable-multilib

      Specify that multiple target d469 11 a479 18

      Some targets provide finer-grained control over which multilibs are built (e.g., --disable-softfloat):

      arm-*-*

      fpu, 26bit, underscore, interwork, biendian, nofmult.

      m68*-*-*

      softfloat, m68881, m68000, m68020.

      mips*-*-*

      single-float, biendian, softfloat.

      powerpc*-*-*, rs6000*-*-*

      aix64, pthread, softfloat, powercpu, powerpccpu, powerpcos, biendian, a480 3

      d482 3 a484 4
      --with-multilib-list=list
      --without-multilib-list

      Specify what multilibs to build. d486 3 a488 4

      sh*-*-*

      list is a comma separated list of CPU names. These must be of the d491 3 a493 3 these are handled by --with-endian.

      If list is empty, then there will be no multilibs for extra d495 4 a498 4

      As a special case, if an entry in the list starts with a ! (exclamation point), then it is added to the list of excluded multilibs. Entries of this sort should be compatible with ‘MULTILIB_EXCLUDES’ d500 3 a502 3

      If --with-multilib-list is not given, then a default set of multilibs is selected based on the value of --target. This is d505 2 a506 2

      Example 1: to configure a compiler for SH4A only, but supporting both d508 3 a510 5

      --with-cpu=sh4a --with-endian=little,big --with-multilib-list=
      

      Example 2: to configure a compiler for both SH4A and SH4AL-DSP, but with d512 4 a515 8

      --with-cpu=sh4a --with-endian=little,big \
      --with-multilib-list=sh4al,!mb/m4al
      
      x86-64-*-linux*

      list is a comma separated list of m32, m64 and d519 3 a521 4

      If --with-multilib-list is not given, then only 32-bit and 64-bit run-time libraries will be enabled.

      d524 1 a524 3
      --with-endian=endians

      Specify what endians to use. d526 7 a532 15

      endians may be one of the following:

      big

      Use big endian exclusively.

      little

      Use little endian exclusively.

      big,little

      Use big endian by default. Provide a multilib for little endian.

      little,big

      Use little endian by default. Provide a multilib for big endian.

      d535 1 a535 3
      --enable-threads

      Specify that the target d537 1 a537 1 library, and exception handling for other languages like C++ and Java. d539 2 a540 2

      In general, the best (and, in many cases, the only known) threading d543 7 a549 11 available for the system. In this case, --enable-threads is an alias for --enable-threads=single.

      --disable-threads

      Specify that threading support should be disabled for the system. This is an alias for --enable-threads=single.

      --enable-threads=lib

      Specify that d553 13 a565 35

      aix

      AIX thread support.

      dce

      DCE thread support.

      lynx

      LynxOS thread support.

      mipssde

      MIPS SDE thread support.

      no

      This is an alias for ‘single’.

      posix

      Generic POSIX/Unix98 thread support.

      rtems

      RTEMS thread support.

      single

      Disable thread support, should work for all platforms.

      tpf

      TPF thread support.

      vxworks

      VxWorks thread support.

      win32

      Microsoft Win32 API thread support.

      d568 1 a568 3
      --enable-tls

      Specify that the target supports TLS (Thread Local Storage). Usually d571 1 a571 1 --enable-tls or --disable-tls. This can happen if d574 6 a579 12

      --disable-tls

      Specify that the target does not support TLS. This is an alias for --enable-tls=no.

      --with-cpu=cpu
      --with-cpu-32=cpu
      --with-cpu-64=cpu

      Specify which cpu variant the compiler should generate code for by default. cpu will be used as the default value of the -mcpu= switch. d581 2 a582 2 PowerPC, and SPARC. It is mandatory for ARC. The --with-cpu-32 and --with-cpu-64 options specify separate default CPUs for d585 5 a589 16

      --with-schedule=cpu
      --with-arch=cpu
      --with-arch-32=cpu
      --with-arch-64=cpu
      --with-tune=cpu
      --with-tune-32=cpu
      --with-tune-64=cpu
      --with-abi=abi
      --with-fpu=type
      --with-float=type

      These configure options provide default values for the -mschedule=, -march=, -mtune=, -mabi=, and -mfpu= options and for -mhard-float or -msoft-float. As with --with-cpu, which switches will be accepted and acceptable values d591 2 a592 4

      --with-mode=mode

      Specify if the compiler should default to -marm or -mthumb. d594 2 a595 4

      --with-stack-offset=num

      This option sets the default for the -mstack-offset=num option, d598 4 a601 6

      --with-fpmath=isa

      This options sets -mfpmath=sse by default and specifies the default ISA for floating-point arithmetics. You can select either ‘sse’ which enables -msse2 or ‘avx’ which enables -mavx by default. d603 2 a604 4

      --with-fp-32=mode

      On MIPS targets, set the default value for the -mfp option when using d606 7 a612 13

      32

      Use the o32 FP32 ABI extension, as with the -mfp32 command-line option.

      xx

      Use the o32 FPXX ABI extension, as with the -mfpxx command-line option.

      64

      Use the o32 FP64 ABI extension, as with the -mfp64 command-line option.

      d614 1 a614 1

      In the absence of this configuration option the default is to use the o32 d616 2 a617 4

      --with-odd-spreg-32

      On MIPS targets, set the -modd-spreg option by default when using d619 2 a620 4

      --without-odd-spreg-32

      On MIPS targets, set the -mno-odd-spreg option by default when using d622 3 a624 5 --with-fp-32=64 in order to target the o32 FP64A ABI extension.

      --with-nan=encoding

      On MIPS targets, set the default encoding convention to use for the d627 5 a631 9

      legacy

      Use the legacy encoding, as with the -mnan=legacy command-line option.

      2008

      Use the 754-2008 encoding, as with the -mnan=2008 command-line option.

      d633 2 a634 2

      To use this configuration option you must have an assembler version installed that supports the -mnan= command-line option too. d636 5 a640 7 the legacy encoding, as when neither of the -mnan=2008 and -mnan=legacy command-line options has been used.

      --with-divide=type

      Specify how the compiler should generate code for checking for division by zero. This option is only supported on the MIPS target. d642 4 a645 8

      traps

      Division by zero checks use conditional traps (this is the default on systems that support conditional traps).

      breaks

      Division by zero checks use the break instruction.

      d648 4 a651 5
      --with-llsc

      On MIPS targets, make -mllsc the default when no -mno-llsc option is passed. This is the default for d654 11 a664 19

      --without-llsc

      On MIPS targets, make -mno-llsc the default when no -mllsc option is passed.

      --with-synci

      On MIPS targets, make -msynci the default when no -mno-synci option is passed.

      --without-synci

      On MIPS targets, make -mno-synci the default when no -msynci option is passed. This is the default.

      --with-mips-plt

      On MIPS targets, make use of copy relocations and PLTs. d668 3 a670 5

      --enable-__cxa_atexit

      Define if you want to use __cxa_atexit, rather than atexit, to register C++ destructors for local statics and global objects. d674 3 a676 5 -fuse-cxa-atexit to be passed by default.

      --enable-gnu-indirect-function

      Define if you want to enable the ifunc attribute. This option is d678 3 a680 5

      --enable-target-optspace

      Specify that target libraries should be optimized for code space instead of code speed. d682 5 a686 9

      --with-cpp-install-dir=dirname

      Specify that the user visible cpp program should be installed in prefix/dirname/cpp, in addition to bindir.

      --enable-comdat

      Enable COMDAT group support. This is primarily used to override the d688 2 a689 4

      --enable-initfini-array

      Force the use of sections .init_array and .fini_array d691 1 a691 1 destructors. Option --disable-initfini-array has the d695 2 a696 4

      --enable-link-mutex

      When building GCC, use a mutex to avoid linking the compilers for d699 3 a701 5

      --enable-maintainer-mode

      The build rules that regenerate the Autoconf and Automake output files as well as the GCC master message catalog gcc.pot are normally d704 1 a704 1 catalog, configuring with --enable-maintainer-mode will enable d707 3 a709 5

      --disable-bootstrap

      For a native build, the default configuration is to perform a 3-stage bootstrap of the compiler when ‘make’ is invoked, d711 4 a714 6 this process, you can configure with --disable-bootstrap.

      --enable-bootstrap

      In special cases, you may want to perform a 3-stage build even if the target and host triplets are different. d716 1 a716 1 the target (e.g. host is i686-linux, target is i486-linux). d718 3 a720 5 with --enable-bootstrap.

      --enable-generated-files-in-srcdir

      Neither the .c and .h files that are generated from Bison and flex nor the d726 2 a727 2

      If you configure with --enable-generated-files-in-srcdir then those d732 2 a733 4

      --enable-version-specific-runtime-libs

      Specify d735 2 a736 2 subdirectory (libdir/gcc) rather than the usual places. In addition, ‘libstdc++’’s include files will be installed into d738 1 a738 1 --with-gxx-include-dir=dirname. Using this option is d740 4 a743 6 parallel. This is currently supported by ‘libgfortran’, ‘libjava’, ‘libstdc++’, and ‘libobjc’.

      --with-aix-soname=‘aix’, ‘svr4’ or ‘both’

      Traditional AIX shared library versioning (versioned Shared Object d745 1 a745 1 ‘lib.a’) causes numerous headaches for package managers. However, d748 1 a748 1 where this is called the "SONAME". But as they prevent static linking, d750 20 a769 23 linker does search for ‘libNAME.so’ before ‘libNAME.a’ library filenames with the ‘-lNAME’ linker flag.

      For detailed information please refer to the AIX ld Command reference.

      As long as shared library creation is enabled, upon:

      --with-aix-soname=aix
      --with-aix-soname=both

      A (traditional AIX) Shared Archive Library file is created:

      • using the ‘libNAME.a’ filename scheme
      • with the Shared Object file as archive member named ‘libNAME.so.V’ (except for ‘libgcc_s’, where the Shared Object file is named ‘shr.o’ for backwards compatibility), which
        • - is used for runtime loading from inside the ‘libNAME.a’ file
        • - is used for dynamic loading via dlopen("libNAME.a(libNAME.so.V)", RTLD_MEMBER)
        • - is used for shared linking
        • - is used for static linking, so no separate Static Archive d771 12 a782 15
      --with-aix-soname=both
      --with-aix-soname=svr4

      A (second) Shared Archive Library file is created:

      • using the ‘libNAME.so.V’ filename scheme
      • with the Shared Object file as archive member named ‘shr.o’, which
        • - is created with the -G linker flag
        • - has the F_LOADONLY flag set
        • - is used for runtime loading from inside the ‘libNAME.so.V’ file
        • - is used for dynamic loading via dlopen("libNAME.so.V(shr.o)", d784 2 a785 2
      • with the Import File as archive member named ‘shr.imp’, d787 2 a788 2
        • - refers to ‘libNAME.so.V(shr.o)’ as the "SONAME", to be recorded d790 13 a802 13
        • - indicates whether ‘libNAME.so.V(shr.o)’ is 32 or 64 bit
        • - lists all the public symbols exported by ‘lib.so.V(shr.o)’, eventually decorated with the ‘weak’ Keyword
        • - is necessary for shared linking against ‘lib.so.V(shr.o)’

      A symbolic link using the ‘libNAME.so’ filename scheme is created:

      • pointing to the ‘libNAME.so.V’ Shared Archive Library file
      • to permit the ld Command to find ‘lib.so.V(shr.imp)’ via the ‘-lNAME’ argument (requires Runtime Linking to be enabled)
      • to permit dynamic loading of ‘lib.so.V(shr.o)’ without the need to specify the version number via dlopen("libNAME.so(shr.o)", d804 2 a805 3
      d807 11 a817 13

      As long as static library creation is enabled, upon:

      --with-aix-soname=svr4

      A Static Archive Library is created:

      • using the ‘libNAME.a’ filename scheme
      • with all the Static Object files as archive members, which
        • - are used for static linking
      d819 1 a819 1

      While the aix-soname=‘svr4’ option does not create Shared Object d826 2 a827 2

      WARNING: Creating Shared Object files with Runtime Linking d829 1 a829 1 requiring the use of either the -Wl,-bbigtoc linker flag (seen to d832 2 a833 2

      --with-aix-soname is currently supported by ‘libgcc_s’ only, so d835 4 a838 6

      Default is the traditional behaviour --with-aix-soname=‘aix’.

      --enable-languages=lang1,lang2,…

      Specify that only a particular subset of compilers and d841 4 a844 5 gcc directory of your GCC source tree:

      grep language= */config-lang.in
      

      Currently, you can use any of the following: d846 2 a847 2 go, java, objc, obj-c++. Building the Ada compiler has special requirements, see below. d849 1 a849 1 default languages available in the gcc sub-tree will be configured. d851 2 a852 4

      --enable-stage1-languages=lang1,lang2,…

      Specify that a particular subset of compilers and their runtime d856 2 a857 2 --enable-languages, and the option all will select all of the languages enabled by --enable-languages. This option is d862 5 a866 7 specified languages with the stage-1 compiler by using make stage1-bubble all-target, or run the testsuite on the stage-1 compiler for the specified languages using make stage1-start check-gcc.

      --disable-libada

      Specify that the run-time libraries and tools used by GNAT should not d869 3 a871 5 do a ‘make -C gcc gnatlib_and_tools’.

      --disable-libsanitizer

      Specify that the run-time libraries for the various sanitizers should d873 2 a874 4

      --disable-libssp

      Specify that the run-time libraries for stack smashing protection d876 2 a877 4

      --disable-libquadmath

      Specify that the GCC quad-precision math library should not be built. d879 1 a879 1 the Fortran front end, unless --disable-libquadmath-support d881 2 a882 4

      --disable-libquadmath-support

      Specify that the Fortran front end and libgfortran do not add d884 2 a885 4

      --disable-libgomp

      Specify that the GNU Offloading and Multi Processing Runtime Library d887 2 a888 4

      --disable-libvtv

      Specify that the run-time libraries used by vtable verification d890 2 a891 4

      --with-dwarf2

      Specify that the compiler should d893 2 a894 5

      --enable-targets=all
      --enable-targets=target_list

      Some GCC targets, e.g. powerpc64-linux, build bi-arch compilers. d896 1 a896 1 code. Typically, the corresponding 32-bit target, e.g. d900 1 a900 1 you are building a bi-arch or multi-arch binutils in a combined tree. d902 1 a902 1 defaulted to o32. d905 2 a906 4

      --enable-secureplt

      This option enables -msecure-plt by default for powerpc-linux. d908 2 a909 4

      --enable-cld

      This option enables -mcld by default for 32-bit x86 targets. d911 2 a912 6

      --enable-win32-registry
      --enable-win32-registry=key
      --disable-win32-registry

      The --enable-win32-registry option enables Microsoft Windows-hosted GCC a913 4

      HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\key
      
      d915 4 a918 2

      key defaults to GCC version number, and can be overridden by the --enable-win32-registry=key option. Vendors and distributors d922 1 a922 1 by default, and can be disabled by --disable-win32-registry d924 8 a931 15

      --nfp

      Specify that the machine does not have a floating point unit. This option only applies to ‘m68k-sun-sunosn’. On any other system, --nfp has no effect.

      --enable-werror
      --disable-werror
      --enable-werror=yes
      --enable-werror=no

      When you specify this option, it controls whether certain files in the compiler are built with -Werror in bootstrap stage2 and later. If you don’t specify it, -Werror is turned on for the main d933 1 a933 1 final releases. The specific files which get -Werror are d935 2 a936 5

      --enable-checking
      --enable-checking=list

      When you specify this option, the compiler is built to perform internal d940 3 a942 3 the compiler with GCC. This is ‘yes’ by default when building from SVN or snapshots, but ‘release’ for releases. The default for building the stage1 compiler is ‘yes’. More control d944 9 a952 9 checks available are ‘yes’ (most common checks ‘assert,misc,tree,gc,rtlflag,runtime’), ‘no’ (no checks at all), ‘all’ (all but ‘valgrind’), ‘release’ (cheapest checks ‘assert,runtime’) or ‘none’ (same as ‘no’). Individual checks can be enabled with these flags ‘assert’, ‘df’, ‘fold’, ‘gc’, ‘gcac’ ‘misc’, ‘rtl’, ‘rtlflag’, ‘runtime’, ‘tree’, and ‘valgrind’.

      The ‘valgrind’ check requires the external valgrind d954 3 a956 3 ‘df’, ‘rtl’, ‘gcac’ and ‘valgrind’ checks are very expensive. To disable all checking, ‘--disable-checking’ or ‘--enable-checking=none’ must be explicitly requested. Disabling d960 3 a962 7

      --disable-stage1-checking
      --enable-stage1-checking
      --enable-stage1-checking=list

      If no --enable-checking option is specified the stage1 compiler will be built with ‘yes’ checking enabled, otherwise d964 3 a966 3 --enable-checking. To build the stage1 compiler with different checking options use --enable-stage1-checking. The list of checking options is the same as for --enable-checking. d968 1 a968 1 with checking for stage1 enabled, you can use ‘--disable-stage1-checking’ d970 2 a971 5

      --enable-coverage
      --enable-coverage=level

      With this option, the compiler is built to collect self coverage d975 1 a975 1 not, values are ‘opt’ and ‘noopt’. For coverage analysis you d979 2 a980 4

      --enable-gather-detailed-mem-stats

      When this option is specified more detailed information on memory d982 3 a984 6 -fmem-report.

      --enable-nls
      --disable-nls

      The --enable-nls option enables Native Language Support (NLS), d987 6 a992 10 canadian cross build. The --disable-nls option disables NLS.

      --with-included-gettext

      If NLS is enabled, the --with-included-gettext option causes the build procedure to prefer its copy of GNU gettext.

      --with-catgets

      If NLS is enabled, and if the host lacks gettext but has the d994 8 a1001 12 ignores catgets and instead uses GCC’s copy of the GNU gettext library. The --with-catgets option causes the build procedure to use the host’s catgets in this situation.

      --with-libiconv-prefix=dir

      Search for libiconv header files in dir/include and libiconv library files in dir/lib.

      --enable-obsolete

      Enable configuration for an obsoleted system. If you attempt to d1005 2 a1006 2

      All support for systems which have been obsoleted in one release of GCC d1009 2 a1010 9

      --enable-decimal-float
      --enable-decimal-float=yes
      --enable-decimal-float=no
      --enable-decimal-float=bid
      --enable-decimal-float=dpd
      --disable-decimal-float

      Enable (or disable) support for the C decimal floating point extension d1015 2 a1016 2 ‘bid’ or ‘dpd’). The ‘bid’ (binary integer decimal) format is default on i386 and x86_64 systems, and the ‘dpd’ d1018 2 a1019 5

      --enable-fixed-point
      --disable-fixed-point

      Enable (or disable) support for C fixed-point arithmetic. d1023 2 a1024 4

      --with-long-double-128

      Specify if long double type should be 128-bit by default on selected d1026 1 a1026 1 long double will be by default 64-bit, the same as double type. d1030 2 a1031 12

      --with-gmp=pathname
      --with-gmp-include=pathname
      --with-gmp-lib=pathname
      --with-mpfr=pathname
      --with-mpfr-include=pathname
      --with-mpfr-lib=pathname
      --with-mpc=pathname
      --with-mpc-include=pathname
      --with-mpc-lib=pathname

      If you want to build GCC but do not have the GMP library, the MPFR d1035 12 a1046 12 (‘--with-gmp=gmpinstalldir’, ‘--with-mpfr=mpfrinstalldir’, ‘--with-mpc=mpcinstalldir’). The --with-gmp=gmpinstalldir option is shorthand for --with-gmp-lib=gmpinstalldir/lib and --with-gmp-include=gmpinstalldir/include. Likewise the --with-mpfr=mpfrinstalldir option is shorthand for --with-mpfr-lib=mpfrinstalldir/lib and --with-mpfr-include=mpfrinstalldir/include, also the --with-mpc=mpcinstalldir option is shorthand for --with-mpc-lib=mpcinstalldir/lib and --with-mpc-include=mpcinstalldir/include. If these d1051 3 a1053 3 variable (LD_LIBRARY_PATH on GNU/Linux and Solaris systems).

      These flags are applicable to the host platform only. When building d1055 2 a1056 6

      --with-isl=pathname
      --with-isl-include=pathname
      --with-isl-lib=pathname

      If you do not have the ISL library installed in a standard location and you d1058 4 a1061 4 installed (‘--with-isl=islinstalldir’). The --with-isl=islinstalldir option is shorthand for --with-isl-lib=islinstalldir/lib and --with-isl-include=islinstalldir/include. If this d1064 2 a1065 2

      These flags are applicable to the host platform only. When building d1067 2 a1068 4

      --with-host-libstdcxx=linker-args

      If you are linking with a static copy of PPL, you can use this option d1071 1 a1071 1 ‘-lstdc++’ or ‘-Wl,-Bstatic,-lstdc++,-Bdynamic -lm’. If you are d1075 2 a1076 4

      --with-stage1-ldflags=flags

      This option may be used to set linker flags to be used when linking d1078 3 a1080 5 --disable-bootstrap. By default no special flags are used.

      --with-stage1-libs=libs

      This option may be used to set libraries to be used when linking stage 1 d1082 4 a1085 6 --disable-bootstrap. The default is the argument to --with-host-libstdcxx, if specified.

      --with-boot-ldflags=flags

      This option may be used to set linker flags to be used when linking d1088 3 a1090 5 ‘-static-libstdc++ -static-libgcc’.

      --with-boot-libs=libs

      This option may be used to set libraries to be used when linking stage 2 d1092 3 a1094 5 --with-host-libstdcxx, if specified.

      --with-debug-prefix-map=map

      Convert source directory names using -fdebug-prefix-map when d1096 4 a1099 6 list of maps of the form ‘old=new’.

      --enable-linker-build-id

      Tells GCC to pass --build-id option to the linker for all final links (links performed without the -r or --relocatable d1101 5 a1105 7 --enable-linker-build-id, but your linker does not support --build-id option, a warning is issued and the --enable-linker-build-id option is ignored. The default is off.

      --with-linker-hash-style=choice

      Tells GCC to pass --hash-style=choice option to the d1107 3 a1109 6 ‘sysv’, ‘gnu’, and ‘both’ where ‘sysv’ is the default.

      --enable-gnu-unique-object
      --disable-gnu-unique-object

      Tells GCC to use the gnu_unique_object relocation for C++ template d1113 2 a1114 4

      --with-diagnostics-color=choice

      Tells GCC to use choice as the default for -fdiagnostics-color= d1116 3 a1118 3 can be one of ‘never’, ‘auto’, ‘always’, and ‘auto-if-env’ where ‘auto’ is the default. ‘auto-if-env’ means that -fdiagnostics-color=auto will be the default if GCC_COLORS d1120 6 a1125 12 -fdiagnostics-color=never otherwise.

      --enable-lto
      --disable-lto

      Enable support for link-time optimization (LTO). This is enabled by default, and may be disabled using --disable-lto.

      --enable-linker-plugin-configure-flags=FLAGS
      --enable-linker-plugin-flags=FLAGS

      By default, linker plugins (such as the LTO plugin) are built for the d1130 2 a1131 2 (‘x86_64-unknown-linux-gnu’) host system, but have a 32-bit x86 GNU/Linux (‘i686-pc-linux-gnu’) linker executable (which is d1134 8 a1141 12

      % srcdir/configure \
          --host=x86_64-unknown-linux-gnu \
          --enable-linker-plugin-configure-flags=--host=i686-pc-linux-gnu \
          --enable-linker-plugin-flags='CC=gcc\ -m32\ -Wl,-rpath,[...]/i686-pc-linux-gnu/lib'
      
      --with-plugin-ld=pathname

      Enable an alternate linker to be used at link-time optimization (LTO) link time when -fuse-linker-plugin is enabled. d1143 4 a1146 7 version 2.20 or GNU ld starting with version 2.21. See -fuse-linker-plugin for details.

      --enable-canonical-system-headers
      --disable-canonical-system-headers

      Enable system header path canonicalization for libcpp. This can d1150 3 a1152 5 --disable-canonical-system-headers.

      --with-glibc-version=major.minor

      Tell GCC that when the GNU C Library (glibc) is used on the target it d1154 1 a1154 1 be detected from the C library’s header files, but this option may be d1157 3 a1159 3

      If GCC is configured with some multilibs that use glibc and some that do not, this option applies only to the multilibs that use glibc. d1162 4 a1165 8

      --enable-as-accelerator-for=target

      Build as offload target compiler. Specify offload host triple by target.

      --enable-offload-targets=target1[=path1],…,targetN[=pathN]

      Enable offloading to targets target1, …, targetN. d1168 8 a1175 8 specifying paths path1, …, pathN.

      % srcdir/configure \
          --enable-offload-target=i686-unknown-linux-gnu=/path/to/i686/compiler,x86_64-pc-linux-gnu
      
      a1176 2

      Cross-Compiler-Specific Options

      d1178 4 a1181 6

      --with-sysroot
      --with-sysroot=dir

      Tells GCC to consider dir as the root of a tree that contains (a subset of) the root filesystem of the target operating system. d1184 1 a1184 1 --sysroot=dir was added to the default options of the built d1186 5 a1190 5 install tree, unlike the options --with-headers and --with-libs that this option obsoletes. The default value, in case --with-sysroot is not given an argument, is ${gcc_tooldir}/sys-root. If the specified directory is a subdirectory of ${exec_prefix}, then it will be found relative to d1192 2 a1193 2

      This option affects the system root for the compiler used to build d1197 2 a1198 2

      If you specify the --with-native-system-header-dir=dirname d1200 8 a1207 11 native system headers rather than the default /usr/include.

      --with-build-sysroot
      --with-build-sysroot=dir

      Tells GCC to consider dir as the system root (see --with-sysroot) while building target libraries, instead of the directory specified with --with-sysroot. This option is only useful when you are already using --with-sysroot. You can use --with-build-sysroot when you are configuring with --prefix set to a directory that is different from the one in d1209 2 a1210 2

      This option affects the system root for the compiler used to build d1213 2 a1214 2

      If you specify the --with-native-system-header-dir=dirname d1216 4 a1219 7 native system headers rather than the default /usr/include.

      --with-headers
      --with-headers=dir

      Deprecated in favor of --with-sysroot. Specifies that target headers are available when building a cross compiler. d1221 5 a1225 5 files. These include files will be copied into the gcc install directory. This option with the dir argument is required when building a cross compiler, if prefix/target/sys-include doesn’t pre-exist. If prefix/target/sys-include does pre-exist, the dir argument may be omitted. fixincludes d1227 2 a1228 4

      --without-headers

      Tells GCC not use any target headers from a libc when building a cross d1231 2 a1232 5

      --with-libs
      --with-libs="dir1 dir2 … dirN"

      Deprecated in favor of --with-sysroot. d1234 1 a1234 1 libraries. These libraries will be copied into the gcc install d1237 2 a1238 4

      --with-newlib

      Specifies that ‘newlib’ is d1240 4 a1243 6 omitted from libgcc.a on the assumption that it will be provided by ‘newlib’.

      --with-avrlibc

      Specifies that ‘AVR-Libc’ is d1245 3 a1247 3 functions like __addsf3 to be omitted from libgcc.a on the assumption that it will be provided by libm.a. For more technical details, cf. PR54461. d1251 3 a1253 5

      --with-nds32-lib=library

      Specifies that library setting is used for building libgcc.a. Currently, the valid library is ‘newlib’ or ‘mculib’. d1255 2 a1256 4

      --with-build-time-tools=dir

      Specifies where to find the set of target tools (assembler, linker, etc.) d1260 3 a1262 3

      For example, on an ‘ia64-hp-hpux’ system, you may have the GNU assembler and linker in /usr/bin, and the native tools in a d1264 1 a1264 12 native tools in /usr/bin.

      When you use this option, you should ensure that dir includes ar, as, ld, nm, ranlib and strip if necessary, and possibly objdump. Otherwise, GCC may use an inconsistent set of tools.

      Overriding configure test results

      d1266 5 a1270 24

      Sometimes, it might be necessary to override the result of some configure test, for example in order to ease porting to a new system or work around a bug in a test. The toplevel configure script provides three variables for this:

      build_configargs

      The contents of this variable is passed to all build configure scripts.

      host_configargs

      The contents of this variable is passed to all host configure scripts.

      target_configargs

      The contents of this variable is passed to all target configure scripts.

      d1273 1 a1273 6

      In order to avoid shell and make quoting issues for complex overrides, you can pass a setting for CONFIG_SITE and set variables in the site file.

      Java-Specific Options

      d1276 3 a1278 4

      --disable-libgcj

      Specify that the run-time libraries d1280 1 a1280 1 to use GCJ with some other run-time, or you’re going to install it d1283 2 a1284 2 libraries will be enabled too, unless they’re known to not work on the target platform. If GCJ is enabled but ‘libgcj’ isn’t built, you d1286 8 a1293 5 configure.in so that ‘libgcj’ is enabled by default on this platform, you may use --enable-libgcj to override the default.

      d1295 5 a1299 11

      The following options apply to building ‘libgcj’.

      General Options

      --enable-java-maintainer-mode

      By default the ‘libjava’ build will not attempt to compile the .java source files to .class. Instead, it will use the .class files from the source tree. If you use this option you must have executables named ecj1 and gjavah in your path d1301 10 a1310 14 modify any .java files in libjava.

      --with-java-home=dirname

      This ‘libjava’ option overrides the default value of the ‘java.home’ system property. It is also used to set ‘sun.boot.class.path’ to dirname/lib/rt.jar. By default ‘java.home’ is set to prefix and ‘sun.boot.class.path’ to datadir/java/libgcj-version.jar.

      --with-ecj-jar=filename

      This option can be used to specify the location of an external jar d1312 3 a1314 3 version of this compiler is used by gcj to parse .java source files. If this option is given, the ‘libjava’ build will create and install an ecj1 executable d1316 8 a1323 8

      If this option is not given, but an ecj.jar file is found in the topmost source tree at configure time, then the ‘libgcj’ build will create and install ecj1, and will also install the discovered ecj.jar into a suitable place in the install tree.

      If ecj1 is not installed, then the user will have to supply one on his path in order for gcj to properly parse .java d1326 5 a1330 9

      --disable-getenv-properties

      Don’t set system properties from GCJ_PROPERTIES.

      --enable-hash-synchronization

      Use a global hash table for monitor locks. Ordinarily, ‘libgcj’’s ‘configure’ script automatically makes d1333 2 a1334 4

      --enable-interpreter

      Enable the Java interpreter. The interpreter is automatically d1337 3 a1339 5 (using --disable-interpreter).

      --disable-java-net

      Disable java.net. This disables the native part of java.net only, d1341 6 a1346 10

      --disable-jvmpi

      Disable JVMPI support.

      --disable-libgcj-bc

      Disable BC ABI compilation of certain parts of libgcj. By default, some portions of libgcj are compiled with -findirect-dispatch and -fno-indirect-classes, allowing them to be overridden at d1348 2 a1349 2

      If --disable-libgcj-bc is specified, libgcj is built without d1353 2 a1354 4

      --enable-reduced-reflection

      Build most of libgcj with -freduced-reflection. This reduces d1359 11 a1369 19

      --with-ecos

      Enable runtime eCos target support.

      --without-libffi

      Don’t use ‘libffi’. This will disable the interpreter and JNI support as well, as these require ‘libffi’ to work.

      --enable-libgcj-debug

      Enable runtime debugging code.

      --enable-libgcj-multifile

      If specified, causes all .java source files to be compiled into .class files in one invocation of ‘gcj’. This can speed up build time, but is more d1371 12 a1382 14 disabled, ‘gcj’ is invoked once for each .java file to compile into a .class file.

      --with-libiconv-prefix=DIR

      Search for libiconv in DIR/include and DIR/lib.

      --with-system-zlib

      Use installed ‘zlib’ rather than that included with GCC.

      --with-win32-nlsapi=ansi, unicows or unicode

      Indicates how MinGW ‘libgcj’ translates between UNICODE d1384 2 a1385 4

      --enable-java-home

      If enabled, this creates a JPackage compatible SDK environment during install. d1388 2 a1389 4

      --with-arch-directory=ARCH

      Specifies the name to use for the jre/lib/ARCH directory in the SDK d1392 5 a1396 9

      --with-os-directory=DIR

      Specifies the OS directory for the SDK include directory. This is set to auto detect, and is typically ’linux’.

      --with-origin-name=NAME

      Specifies the JPackage origin name. This defaults to the ’gcj’ in d1398 9 a1406 17

      --with-arch-suffix=SUFFIX

      Specifies the suffix for the sdk directory. Defaults to the empty string. Examples include ’.x86_64’ in ’java-1.5.0-gcj-1.5.0.0.x86_64’.

      --with-jvm-root-dir=DIR

      Specifies where to install the SDK. Default is $(prefix)/lib/jvm.

      --with-jvm-jar-dir=DIR

      Specifies where to install jars. Default is $(prefix)/lib/jvm-exports.

      --with-python-dir=DIR

      Specifies where to install the Python modules used for aot-compile. DIR should d1411 6 a1416 12

      --enable-aot-compile-rpm

      Adds aot-compile-rpm to the list of installed scripts.

      --enable-browser-plugin

      Build the gcjwebplugin web browser plugin.

      --enable-static-libjava

      Build static libraries in libjava. The default is to only build shared d1418 3 a1420 4

      ansi

      Use the single-byte char and the Win32 A functions natively, d1423 6 a1428 8

      unicows

      Use the WCHAR and Win32 W functions natively. Adds -lunicows to libgcj.spec to link with ‘libunicows’. unicows.dll needs to be deployed on Microsoft Windows 9X machines running built executables. libunicows.a, an open-source import library around Microsoft’s unicows.dll, is obtained from d1430 5 a1434 10 on getting unicows.dll from Microsoft.

      unicode

      Use the WCHAR and Win32 W functions natively. Does not add -lunicows to libgcj.spec. The built executables will only run on Microsoft Windows NT and above.

      d1436 18 d1455 1 a1455 2

      AWT-Specific Options

      d1457 1 a1457 42
      --with-x

      Use the X Window System.

      --enable-java-awt=PEER(S)

      Specifies the AWT peer library or libraries to build alongside ‘libgcj’. If this option is unspecified or disabled, AWT will be non-functional. Current valid values are gtk and xlib. Multiple libraries should be separated by a comma (i.e. --enable-java-awt=gtk,xlib).

      --enable-gtk-cairo

      Build the cairo Graphics2D implementation on GTK.

      --enable-java-gc=TYPE

      Choose garbage collector. Defaults to boehm if unspecified.

      --disable-gtktest

      Do not try to compile and run a test GTK+ program.

      --disable-glibtest

      Do not try to compile and run a test GLIB program.

      --with-libart-prefix=PFX

      Prefix where libart is installed (optional).

      --with-libart-exec-prefix=PFX

      Exec prefix where libart is installed (optional).

      --disable-libarttest

      Do not try to compile and run a test libart program.

      d1459 1 d1461 1 a1461 4

      Return to the GCC Installation page

      d1463 1 d1465 1 d1467 4 d1472 3 d1476 2 d1479 2 d1482 1 d1484 3 d1488 2 d1491 10 a1501 2 @ 1.4 log @merge GCC 4.8.5 (final round) @ text @d342 12 d454 11 d580 2 a581 2 This option is only supported on some targets, including ARM, i386, M68k, PowerPC, and SPARC. The --with-cpu-32 and d604 35 d696 4 d741 96 a836 1 ‘libjava’, ‘libmudflap’, ‘libstdc++’, and ‘libobjc’. d871 3 d885 5 a889 1
      --disable-libgomp
      Specify that the run-time libraries used by GOMP should not be built. d1056 3 a1058 5
      --with-isl=pathname
      --with-isl-include=pathname
      --with-isl-lib=pathname
      --with-cloog=pathname
      --with-cloog-include=pathname
      --with-cloog-lib=pathname
      If you do not have ISL and the CLooG libraries installed in a standard location and you want to build GCC, you can explicitly specify the directory where they are installed (‘--with-isl=islinstalldir’, ‘--with-cloog=clooginstalldir’). The d1061 2 a1062 5 --with-isl-include=islinstalldir/include. Likewise the --with-cloog=clooginstalldir option is shorthand for --with-cloog-lib=clooginstalldir/lib and --with-cloog-include=clooginstalldir/include. If these shorthand assumptions are not correct, you can use the explicit d1111 1 a1111 1 default for a native toolchain with an assembler that accepts it and d1114 8 d1125 15 d1150 24 a1173 2 --disable-canonical-system-headers.
      d1252 4 @ 1.3 log @Resolve conflicts @ text @d10 1 a10 1 Copyright (C) 1988-2013 Free Software Foundation, Inc. @ 1.3.2.1 log @Apply patch (requested by mrg in ticket #1005): Update gcc to 4.8.5. @ text @d10 1 a10 1 Copyright (C) 1988-2015 Free Software Foundation, Inc. @ 1.2 log @merge gcc 4.8.2 r206687 (part 1). @ text @d10 1 a10 3 Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. d13 1 a13 1 under the terms of the GNU Free Documentation License, Version 1.2 or d86 3 a88 3
              % mkdir objdir
              % cd objdir
              % srcdir/configure [options] [target]
      d198 6
      d319 7
      d335 1
      a335 1
      ‘ada’, ‘libada’, ‘libjava’ and ‘libobjc’. 
      d429 13
      d450 1
      a450 3
      
      arc-*-elf*
      biendian.
      arm-*-*
      fpu, 26bit, underscore, interwork, biendian, nofmult. d462 1 a462 1 Currently only implemented for sh*-*-*. d464 2 a465 1

      list is a comma separated list of CPU names. These must be of the d470 1 a470 1

      If list is empty, then there will be no multilibs for extra d473 1 a473 1

      As a special case, if an entry in the list starts with a ! d478 1 a478 1

      If --with-multilib-list is not given, then a default set of d483 1 a483 1

      Example 1: to configure a compiler for SH4A only, but supporting both d485 1 a485 1

                --with-cpu=sh4a --with-endian=little,big --with-multilib-list=
      d487 1
      a487 1
           

      Example 2: to configure a compiler for both SH4A and SH4AL-DSP, but with d489 2 a490 1

                --with-cpu=sh4a --with-endian=little,big --with-multilib-list=sh4al,!mb/m4al
      d492 9
      d534 2
      a535 8
      
      gnat
      Ada tasking support. For non-Ada programs, this setting is equivalent to ‘single’. When used in conjunction with the Ada run time, it causes GCC to use the same thread primitives as Ada uses. This option is necessary when using both Ada and the back end exception handling, which is the default for most Ada targets.
      mach
      Generic MACH thread support, known to work on NeXTSTEP. (Please note that the file needed to support this configuration, gthr-mach.h, is missing and thus this setting will cause a known bootstrap failure.) a537 1
      posix95
      Generic POSIX/Unix95 thread support. d540 1 a540 2
      solaris
      Sun Solaris 2/Unix International thread support. Only use this if you really need to use this legacy API instead of the default, ‘posix’. a542 1
      nks
      Novell Kernel Services thread support. d572 8 a579 3
      --with-fpmath=sse
      Specify if the compiler should default to -msse2 and -mfpmath=sse. This option is only supported on i386 and x86-64 targets. d593 1 a593 1 -mno-lsc option is passed. This is the default for d618 3 a637 3
      --enable-build-with-cxx
      Build GCC using a C++ compiler rather than a C compiler. This is an experimental option which may become the default in a later release. d688 2 a689 2 all, ada, c, c++, fortran, java, objc, obj-c++. d693 1 a693 4 Ada and Objective-C++ are not default languages; the rest are. Re-defining LANGUAGES when calling ‘make’ does not work anymore, as those language sub-directories might not have been configured! d717 8 d739 2 a740 2 Currently, this option only affects sparc-linux, powerpc-linux, x86-linux and mips-linux. a819 4
      --with-gc
      --with-gc=choice
      With this option you can specify the garbage collector implementation used during the compilation process. choice can be one of ‘page’ and ‘zone’, where ‘page’ is the default. d867 1 a867 1
      --with-gmp=pathname
      --with-gmp-include=pathname
      --with-gmp-lib=pathname
      --with-mpfr=pathname
      --with-mpfr-include=pathname
      --with-mpfr-lib=pathname
      --with-mpc=pathname
      --with-mpc-include=pathname
      --with-mpc-lib=pathname
      If you do not have GMP (the GNU Multiple Precision library), the MPFR d869 3 a871 2 you want to build GCC, you can explicitly specify the directory where they are installed (‘--with-gmp=gmpinstalldir’, d884 7 a890 1 include and lib options directly. d892 1 a892 1
      --with-ppl=pathname
      --with-ppl-include=pathname
      --with-ppl-lib=pathname
      --with-cloog=pathname
      --with-cloog-include=pathname
      --with-cloog-lib=pathname
      If you do not have PPL (the Parma Polyhedra Library) and the CLooG d895 1 a895 1 (‘--with-ppl=pplinstalldir’, d897 3 a899 3 --with-ppl=pplinstalldir option is shorthand for --with-ppl-lib=pplinstalldir/lib and --with-ppl-include=pplinstalldir/include. Likewise the d906 3 d927 3 a929 2 stage 2 and later when bootstrapping GCC. By default no special flags are used. d946 4 d955 14 a968 18
      --enable-lto
      Enable support for link-time optimization (LTO). This is enabled by default if a working libelf implementation is found (see --with-libelf).
      --with-libelf=pathname
      --with-libelf-include=pathname
      --with-libelf-lib=pathname
      If you do not have libelf installed in a standard location and you want to enable support for link-time optimization (LTO), you can explicitly specify the directory where libelf is installed (‘--with-libelf=libelfinstalldir’). The --with-libelf=libelfinstalldir option is shorthand for --with-libelf-include=libelfinstalldir/include --with-libelf-lib=libelfinstalldir/lib.
      --enable-gold
      Enable support for using gold as the linker. If gold support is enabled together with --enable-lto, an additional directory lto-plugin will be built. The code in this directory is a plugin for gold that allows the link-time optimizer to extract object files with LTO information out of library archives. See -flto and -fwhopr for details. d976 2 a977 2
      --with-sysroot
      --with-sysroot=dir
      Tells GCC to consider dir as the root of a tree that contains a (subset of) the root filesystem of the target operating system. d979 1 a979 1 searched in there. More specifically, this acts as if d994 4 d1010 4 d1039 9 d1208 3 d1257 23 @ 1.2.2.1 log @Rebase. @ text @d10 3 a12 1 Copyright (C) 1988-2013 Free Software Foundation, Inc. d15 1 a15 1 under the terms of the GNU Free Documentation License, Version 1.3 or d88 3 a90 3
           % mkdir objdir
           % cd objdir
           % srcdir/configure [options] [target]
      a199 6
                
      --with-specs=specs
      Specify additional command line driver SPECS. This can be useful if you need to turn on a non-standard feature by default without modifying the compiler's source code, for instance --with-specs=%{!fcommon:%{!fno-common:-fno-common}}. See “Spec Files” in the main manual a314 7
      --with-native-system-header-dir=dirname
      Specifies that dirname is the directory that contains native system header files, rather than /usr/include. This option is most useful if you are creating a compiler that should be isolated from the system as much as possible. It is most commonly used with the --with-sysroot option and will cause GCC to search dirname inside the system root specified by that option. d324 1 a324 1 ‘ada’, ‘libada’, ‘libjava’, ‘libgo’, and ‘libobjc’. a417 13
      --with-tls=dialect
      Specify the default TLS dialect, for systems were there is a choice. For ARM targets, possible values for dialect are gnu or gnu2, which select between the original GNU dialect and the GNU TLS descriptor-based dialect.
      --enable-multiarch
      Specify whether to enable or disable multiarch support. The default is to check for glibc start files in a multiarch location, and enable it if the files are found. The auto detection is enabled for native builds, and for cross builds configured with --with-sysroot, and without --with-native-system-header-dir. More documentation about multiarch can be found at http://wiki.debian.org/Multiarch. d426 3 a428 1
      arm-*-*
      fpu, 26bit, underscore, interwork, biendian, nofmult. d440 1 a440 1 Currently only implemented for sh*-*-* and x86-64-*-linux*. d442 1 a442 2
      sh*-*-*
      list is a comma separated list of CPU names. These must be of the d447 1 a447 1

      If list is empty, then there will be no multilibs for extra d450 1 a450 1

      As a special case, if an entry in the list starts with a ! d455 1 a455 1

      If --with-multilib-list is not given, then a default set of d460 1 a460 1

      Example 1: to configure a compiler for SH4A only, but supporting both d462 1 a462 1

                     --with-cpu=sh4a --with-endian=little,big --with-multilib-list=
      d464 1
      a464 1
                

      Example 2: to configure a compiler for both SH4A and SH4AL-DSP, but with d466 1 a466 2

                     --with-cpu=sh4a --with-endian=little,big \
                     --with-multilib-list=sh4al,!mb/m4al
      a467 9
                
      x86-64-*-linux*
      list is a comma separated list of m32, m64 and mx32 to enable 32-bit, 64-bit and x32 run-time libraries, respectively. If list is empty, then there will be no multilibs and only the default run-time library will be enabled.

      If --with-multilib-list is not given, then only 32-bit and 64-bit run-time libraries will be enabled.

      d501 8 a508 2
      lynx
      LynxOS thread support.
      mipssde
      MIPS SDE thread support. d511 1 d514 2 a515 1
      tpf
      TPF thread support. d518 1 d548 3 a550 8
      --with-stack-offset=num
      This option sets the default for the -mstack-offset=num option, and will thus generally also control the setting of this option for libraries. This option is only supported on Epiphany targets.
      --with-fpmath=isa
      This options sets -mfpmath=sse by default and specifies the default ISA for floating-point arithmetics. You can select either ‘sse’ which enables -msse2 or ‘avx’ which enables -mavx by default. This option is only supported on i386 and x86-64 targets. d564 1 a564 1 -mno-llsc option is passed. This is the default for a588 3
      --enable-gnu-indirect-function
      Define if you want to enable the ifunc attribute. This option is currently only available on systems with GNU libc on certain targets. d606 3 d659 2 a660 2 all, ada, c, c++, fortran, go, java, objc, obj-c++. d664 4 a667 1 Ada, Go and Objective-C++ are not default languages; the rest are. a690 8
      --disable-libquadmath
      Specify that the GCC quad-precision math library should not be built. On some systems, the library is required to be linkable when building the Fortran front end, unless --disable-libquadmath-support is used.
      --disable-libquadmath-support
      Specify that the Fortran front end and libgfortran do not add support for libquadmath on systems supporting it. d705 2 a706 2 Currently, this option only affects sparc-linux, powerpc-linux, x86-linux, mips-linux and s390-linux. d786 4 d837 1 a837 1
      --with-gmp=pathname
      --with-gmp-include=pathname
      --with-gmp-lib=pathname
      --with-mpfr=pathname
      --with-mpfr-include=pathname
      --with-mpfr-lib=pathname
      --with-mpc=pathname
      --with-mpc-include=pathname
      --with-mpc-lib=pathname
      If you want to build GCC but do not have the GMP library, the MPFR d839 2 a840 3 do not have their sources present in the GCC source tree then you can explicitly specify the directory where they are installed (‘--with-gmp=gmpinstalldir’, d853 1 a853 7 include and lib options directly. You might also need to ensure the shared libraries can be found by the dynamic linker when building and using GCC, for example by setting the runtime shared library path variable (LD_LIBRARY_PATH on GNU/Linux and Solaris systems).

      These flags are applicable to the host platform only. When building a cross compiler, they will not be used to configure target libraries. d855 1 a855 1

      --with-isl=pathname
      --with-isl-include=pathname
      --with-isl-lib=pathname
      --with-cloog=pathname
      --with-cloog-include=pathname
      --with-cloog-lib=pathname
      If you do not have ISL and the CLooG d858 1 a858 1 (‘--with-isl=islinstalldir’, d860 3 a862 3 --with-isl=islinstalldir option is shorthand for --with-isl-lib=islinstalldir/lib and --with-isl-include=islinstalldir/include. Likewise the a868 3

      These flags are applicable to the host platform only. When building a cross compiler, they will not be used to configure target libraries. d887 2 a888 3 stage 2 and later when bootstrapping GCC. If neither –with-boot-libs nor –with-host-libstdcxx is set to a value, then the default is ‘-static-libstdc++ -static-libgcc’. a904 4

      --with-linker-hash-style=choice
      Tells GCC to pass --hash-style=choice option to the linker for all final links. choice can be one of ‘sysv’, ‘gnu’, and ‘both’ where ‘sysv’ is the default. d910 18 a927 14
      --enable-lto
      --disable-lto
      Enable support for link-time optimization (LTO). This is enabled by default, and may be disabled using --disable-lto.
      --with-plugin-ld=pathname
      Enable an alternate linker to be used at link-time optimization (LTO) link time when -fuse-linker-plugin is enabled. This linker should have plugin support such as gold starting with version 2.20 or GNU ld starting with version 2.21. See -fuse-linker-plugin for details.
      --enable-canonical-system-headers
      --disable-canonical-system-headers
      Enable system header path canonicalization for libcpp. This can produce shorter header file paths in diagnostics and dependency output files, but these changed header paths may conflict with some compilation environments. Enabled by default, and may be disabled using --disable-canonical-system-headers. d935 2 a936 2
      --with-sysroot
      --with-sysroot=dir
      Tells GCC to consider dir as the root of a tree that contains (a subset of) the root filesystem of the target operating system. d938 1 a938 1 searched for in there. More specifically, this acts as if a952 4

      If you specify the --with-native-system-header-dir=dirname option then the compiler will search that directory within dirname for native system headers rather than the default /usr/include. a964 4

      If you specify the --with-native-system-header-dir=dirname option then the compiler will search that directory within dirname for native system headers rather than the default /usr/include. a989 9

      --with-avrlibc
      Specifies that ‘AVR-Libc’ is being used as the target C library. This causes float support functions like __addsf3 to be omitted from libgcc.a on the assumption that it will be provided by libm.a. For more technical details, cf. PR54461. This option is only supported for the AVR target. It is not supported for RTEMS configurations, which currently use newlib. The option is supported since version 4.7.2 and is the default in 4.8.0 and newer. a1149 3
      --enable-static-libjava
      Build static libraries in libjava. The default is to only build shared libraries. a1195 23
      Overriding configure test results

      Sometimes, it might be necessary to override the result of some configure test, for example in order to ease porting to a new system or work around a bug in a test. The toplevel configure script provides three variables for this:

      build_configargs
      The contents of this variable is passed to all build configure scripts.
      host_configargs
      The contents of this variable is passed to all host configure scripts.
      target_configargs
      The contents of this variable is passed to all target configure scripts.

      In order to avoid shell and make quoting issues for complex overrides, you can pass a setting for CONFIG_SITE and set variables in the site file. @ 1.1 log @Initial revision @ text @@ 1.1.1.1 log @initial import of GCC 4.5.3 sources. changes since 4.1 are way too numerous to review, please see http://gcc.gnu.org/gcc-4.5/changes.html (and the 4.2, 4.3 and 4.4 versions, too.) this includes the core, c++, objc and the non java/ada/fortran parts of the testsuite. @ text @@ 1.1.1.1.8.1 log @Resync to 2012-11-19 00:00:00 UTC @ text @d564 1 a564 1 -mno-llsc option is passed. This is the default for @ 1.1.1.1.8.2 log @Rebase to HEAD as of a few days ago. @ text @d10 3 a12 1 Copyright (C) 1988-2013 Free Software Foundation, Inc. d15 1 a15 1 under the terms of the GNU Free Documentation License, Version 1.3 or d88 3 a90 3

           % mkdir objdir
           % cd objdir
           % srcdir/configure [options] [target]
      a199 6
                
      --with-specs=specs
      Specify additional command line driver SPECS. This can be useful if you need to turn on a non-standard feature by default without modifying the compiler's source code, for instance --with-specs=%{!fcommon:%{!fno-common:-fno-common}}. See “Spec Files” in the main manual a314 7
      --with-native-system-header-dir=dirname
      Specifies that dirname is the directory that contains native system header files, rather than /usr/include. This option is most useful if you are creating a compiler that should be isolated from the system as much as possible. It is most commonly used with the --with-sysroot option and will cause GCC to search dirname inside the system root specified by that option. d324 1 a324 1 ‘ada’, ‘libada’, ‘libjava’, ‘libgo’, and ‘libobjc’. a417 13
      --with-tls=dialect
      Specify the default TLS dialect, for systems were there is a choice. For ARM targets, possible values for dialect are gnu or gnu2, which select between the original GNU dialect and the GNU TLS descriptor-based dialect.
      --enable-multiarch
      Specify whether to enable or disable multiarch support. The default is to check for glibc start files in a multiarch location, and enable it if the files are found. The auto detection is enabled for native builds, and for cross builds configured with --with-sysroot, and without --with-native-system-header-dir. More documentation about multiarch can be found at http://wiki.debian.org/Multiarch. d426 3 a428 1
      arm-*-*
      fpu, 26bit, underscore, interwork, biendian, nofmult. d440 1 a440 1 Currently only implemented for sh*-*-* and x86-64-*-linux*. d442 1 a442 2
      sh*-*-*
      list is a comma separated list of CPU names. These must be of the d447 1 a447 1

      If list is empty, then there will be no multilibs for extra d450 1 a450 1

      As a special case, if an entry in the list starts with a ! d455 1 a455 1

      If --with-multilib-list is not given, then a default set of d460 1 a460 1

      Example 1: to configure a compiler for SH4A only, but supporting both d462 1 a462 1

                     --with-cpu=sh4a --with-endian=little,big --with-multilib-list=
      d464 1
      a464 1
                

      Example 2: to configure a compiler for both SH4A and SH4AL-DSP, but with d466 1 a466 2

                     --with-cpu=sh4a --with-endian=little,big \
                     --with-multilib-list=sh4al,!mb/m4al
      a467 9
                
      x86-64-*-linux*
      list is a comma separated list of m32, m64 and mx32 to enable 32-bit, 64-bit and x32 run-time libraries, respectively. If list is empty, then there will be no multilibs and only the default run-time library will be enabled.

      If --with-multilib-list is not given, then only 32-bit and 64-bit run-time libraries will be enabled.

      d501 8 a508 2
      lynx
      LynxOS thread support.
      mipssde
      MIPS SDE thread support. d511 1 d514 2 a515 1
      tpf
      TPF thread support. d518 1 d548 3 a550 8
      --with-stack-offset=num
      This option sets the default for the -mstack-offset=num option, and will thus generally also control the setting of this option for libraries. This option is only supported on Epiphany targets.
      --with-fpmath=isa
      This options sets -mfpmath=sse by default and specifies the default ISA for floating-point arithmetics. You can select either ‘sse’ which enables -msse2 or ‘avx’ which enables -mavx by default. This option is only supported on i386 and x86-64 targets. a588 3
      --enable-gnu-indirect-function
      Define if you want to enable the ifunc attribute. This option is currently only available on systems with GNU libc on certain targets. d606 3 d659 2 a660 2 all, ada, c, c++, fortran, go, java, objc, obj-c++. d664 4 a667 1 Ada, Go and Objective-C++ are not default languages; the rest are. a690 8
      --disable-libquadmath
      Specify that the GCC quad-precision math library should not be built. On some systems, the library is required to be linkable when building the Fortran front end, unless --disable-libquadmath-support is used.
      --disable-libquadmath-support
      Specify that the Fortran front end and libgfortran do not add support for libquadmath on systems supporting it. d705 2 a706 2 Currently, this option only affects sparc-linux, powerpc-linux, x86-linux, mips-linux and s390-linux. d786 4 d837 1 a837 1
      --with-gmp=pathname
      --with-gmp-include=pathname
      --with-gmp-lib=pathname
      --with-mpfr=pathname
      --with-mpfr-include=pathname
      --with-mpfr-lib=pathname
      --with-mpc=pathname
      --with-mpc-include=pathname
      --with-mpc-lib=pathname
      If you want to build GCC but do not have the GMP library, the MPFR d839 2 a840 3 do not have their sources present in the GCC source tree then you can explicitly specify the directory where they are installed (‘--with-gmp=gmpinstalldir’, d853 1 a853 7 include and lib options directly. You might also need to ensure the shared libraries can be found by the dynamic linker when building and using GCC, for example by setting the runtime shared library path variable (LD_LIBRARY_PATH on GNU/Linux and Solaris systems).

      These flags are applicable to the host platform only. When building a cross compiler, they will not be used to configure target libraries. d855 1 a855 1

      --with-isl=pathname
      --with-isl-include=pathname
      --with-isl-lib=pathname
      --with-cloog=pathname
      --with-cloog-include=pathname
      --with-cloog-lib=pathname
      If you do not have ISL and the CLooG d858 1 a858 1 (‘--with-isl=islinstalldir’, d860 3 a862 3 --with-isl=islinstalldir option is shorthand for --with-isl-lib=islinstalldir/lib and --with-isl-include=islinstalldir/include. Likewise the a868 3

      These flags are applicable to the host platform only. When building a cross compiler, they will not be used to configure target libraries. d887 2 a888 3 stage 2 and later when bootstrapping GCC. If neither –with-boot-libs nor –with-host-libstdcxx is set to a value, then the default is ‘-static-libstdc++ -static-libgcc’. a904 4

      --with-linker-hash-style=choice
      Tells GCC to pass --hash-style=choice option to the linker for all final links. choice can be one of ‘sysv’, ‘gnu’, and ‘both’ where ‘sysv’ is the default. d910 18 a927 14
      --enable-lto
      --disable-lto
      Enable support for link-time optimization (LTO). This is enabled by default, and may be disabled using --disable-lto.
      --with-plugin-ld=pathname
      Enable an alternate linker to be used at link-time optimization (LTO) link time when -fuse-linker-plugin is enabled. This linker should have plugin support such as gold starting with version 2.20 or GNU ld starting with version 2.21. See -fuse-linker-plugin for details.
      --enable-canonical-system-headers
      --disable-canonical-system-headers
      Enable system header path canonicalization for libcpp. This can produce shorter header file paths in diagnostics and dependency output files, but these changed header paths may conflict with some compilation environments. Enabled by default, and may be disabled using --disable-canonical-system-headers. d935 2 a936 2
      --with-sysroot
      --with-sysroot=dir
      Tells GCC to consider dir as the root of a tree that contains (a subset of) the root filesystem of the target operating system. d938 1 a938 1 searched for in there. More specifically, this acts as if a952 4

      If you specify the --with-native-system-header-dir=dirname option then the compiler will search that directory within dirname for native system headers rather than the default /usr/include. a964 4

      If you specify the --with-native-system-header-dir=dirname option then the compiler will search that directory within dirname for native system headers rather than the default /usr/include. a989 9

      --with-avrlibc
      Specifies that ‘AVR-Libc’ is being used as the target C library. This causes float support functions like __addsf3 to be omitted from libgcc.a on the assumption that it will be provided by libm.a. For more technical details, cf. PR54461. This option is only supported for the AVR target. It is not supported for RTEMS configurations, which currently use newlib. The option is supported since version 4.7.2 and is the default in 4.8.0 and newer. a1149 3
      --enable-static-libjava
      Build static libraries in libjava. The default is to only build shared libraries. a1195 23
      Overriding configure test results

      Sometimes, it might be necessary to override the result of some configure test, for example in order to ease porting to a new system or work around a bug in a test. The toplevel configure script provides three variables for this:

      build_configargs
      The contents of this variable is passed to all build configure scripts.
      host_configargs
      The contents of this variable is passed to all host configure scripts.
      target_configargs
      The contents of this variable is passed to all target configure scripts.

      In order to avoid shell and make quoting issues for complex overrides, you can pass a setting for CONFIG_SITE and set variables in the site file. @ 1.1.1.1.2.1 log @sync with head @ text @d564 1 a564 1 -mno-llsc option is passed. This is the default for @ 1.1.1.1.2.2 log @sync with head. for a reference, the tree before this commit was tagged as yamt-pagecache-tag8. this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments") @ text @@ 1.1.1.2 log @Import of gcc 4.5.4. The (possibly incomplete) list of fixed bugs is 50617 [4.5/4.6/4.7 Regression] ICE: RTL flag check: INSN_ANNULLED_BRANCH_P used with unexpected rtx code 'simplify_immed_subreg' in output_bb, at config/pa/pa.c:6631 45383 [4.5 Regression] Implicit conversion to pointer does no longer automatically generate operator== and operator!=. 45606 [4.5 Regression] match a method prototyped a typedef alias with the original type (using stdlib) 47398 [4.5 Regression] tree check: accessed elt 10 of tree_vec with 9 elts in tsubst, at cp/pt.c:10500 49951 [4.5/4.6/4.7 Regression] Debug stepping behavior regarding g++ Class destructor has changed for the worse starting at gcc 4.5.0 43190 [4.4 Regression] Used pointer typedefs eliminated from debug info 43866 [4.4 Regression] wrong code with -fbounds-check -funswitch-loops 43897 [4.4 Regression] IA-64 asm clobbers are ignored 44777 [4.4 Regression] ICE: SIGSEGV with -fprofile-use in gcc.c-torture/execute/comp-goto-2.c 46985 [4.5 Regression] ICE: SIGSEGV in is_gimple_min_invariant (gimple.c:2742) with -fno-tree-ccp -fno-tree-dominator-opts -fno-tree-fre 47780 [4.5 Regression] -fcompare-debug failure with -O -fgcse -fgcse-las -fstack-protector-all 47858 [4.5/4.6/4.7 Regression] IPA-SRA decreases quality of debug info 47903 [4.5 Regression] var-tracking.c: valgrind error 48685 [4.5 Regression] ICE in gimplify_expr, at gimplify.c:7034 52139 [4.5 Regression] ICE: in remove_insn, at emit-rtl.c:3960 with -O -fPIC -fno-tree-dominator-opts -fno-tree-fre 48046 [4.5 Regression] Expected diagnostic "reference to 'type' is ambiguous" not given for function-local static declaration 51406 [4.5/4.6/4.7 Regression][c++0x] Incorrect result of static_cast to rvalue reference to base class. 43949 [4.4 Regression] bogus warning: array subscript is above array bounds 45982 [4.4 Regression] PTA does not track integers 48172 [4.5 Regression] incorrect vectorization of loop in GCC 4.5.* with -O3 49115 [4.5 Regression] invalid return value optimization (?) when exception is thrown and caught 49279 [4.5 Regression] Optimization incorrectly presuming constant variable inside loop in g++ 4.5 and 4.6 with -O2 and -O3 for x86_64 targets 50189 [4.5 Regression] Wrong code error in -O2 [-fstrict-enums] compile, target independent 48660 [4.5/4.6 Regression] ARM ICE in expand_expr_real_1 23656 Cross-compilation with newlib fails in libiberty 37985 [4.5/4.6/4.7/4.8 Regression] unsigned char shift lacks "statement with no effect" warning 38292 [4.5/4.6/4.7/4.8 Regression] corrupted profile info with -O[23] -fprofile-use 40778 [4.5 Regression] Mudflap instrumentation missing in cloned function. 40992 [4.4 Regression] cunroll ignoring asm size 48306 [4.4 Regression] presence of gcc subdir with . in PATH causes breakdown 49651 [4.4 Regression] nested lambdas and -O3 produced incorrect integer variable increments 52223 [4.5/4.6 Regression] libffi's man page install breaks with multilibs and overridden mandir 53418 [4.5 Regression] ICE at gimplify.c:7773 53138 [4.7 Regression] spaceship operator miscompiled 50091 [4.5/4.6/4.7 Regression] -fstack-check generates wrong assembly 50979 architecture mismatch: "mul32" not enabled for "smul" or "umul" 51187 miscompilation of genrecog.c at -O2 for --target=avr 52717 thunk referenced in discarded section when building samba with -flto 48742 [4.5 Regression] Internal error in gimplify_expr 49120 [4.5 Regression] bogus "value computed is not used" warning (variable-length array in compound statement) 49161 [4.5 Regression] Fix VRP on switch stmts 49619 [4.5 Regression] ICE in simplify_subreg, at simplify-rtx.c:5362 49621 [4.5 regression] ICE in trunc_int_for_mode, at explow.c:57 49644 [4.5 Regression] post-increment of promoted operand is incorrect. 51767 [4.5 Regression] ICE with degenerated asm goto 51768 [4.5 Regression] ICE with invalid asm goto 52736 [4.5/4.6/4.7/4.8 Regression] miscompilation: store to aliased __m128d is 8 Bytes off 49440 [4.6 regression] Invalid dynamic_cast for unnamed namespace 50565 [4.5/4.6/4.7 Regression] initializer element is not computable at load time 52294 [4.7 Regression] [ARM Thumb] generated asm code produces "branch out of range" error in gas with -Os -mcpu=cortex-a9 41159 [LTO] ICE in insert_value_copy_on_edge, at tree-outof-ssa.c:225 48822 [4.5 Regression] G++ gets stucks and never finishes compilation when enabling -O2/3 optimization options. 50162 [4.5 Regression] Wrong vectorization 49381 Unresolved symbols in libgcjgc.a when linking gctest 45786 [4.5 Regression] Relational operators .eq. and == are not recognized as equivalent 48708 Invalid V2DI vector set insn generated 50464 Using -Ofast -march=bdver1 results in internal compiler error: in extract_insn, at recog.c:2109 51821 [4.5/4.6/4.7 Regression] 64bit > 32bit conversion produces incorrect results with optimizations 52698 -maddress-mode=long doesn't work 53228 [4.6/4.7/4.8 Regression] target attributes in libcpp/lex.c cause illegal instructions to be used elsewhere 42082 [C++0x] ICE on probably invalid with "canonical types differ for identical types" 42652 vectorizer created unaligned vector insns 42856 [4.4 Regression] FAIL: gcc.dg/torture/pr41555.c -O0 (test for excess errors) 47733 psignal (int, const? char*) in libiberty/strsignal.h 48743 -march=native mis-detects AMD K6-2+ / K6-3 as Athlon - compiled C fails with "illegal instruction" 49038 [4.5/4.6/4.7 Regression] -ftree-vectorise introduces reads past end of array 49448 arm-tab-linux-gnu-eabi enableds big endian when it should not 49461 boehm-gc and gcj incompatible with pie 50875 O3 and -mavx lead to internal compiler error: in find_reloads 51161 [C++0x] Illegal static_cast to rvalue reference to ambiguous base class 51393 Wrong parameter type for _mm256_insert_epi64 in avxintrin.h 51444 [4.4 Regression]: Spurious "is used uninitialized" warning for structure with bitfields 51835 ARM EABI violation when passing arguments to helper floating functions like __aeabi_d2iz 52894 [4.5,4.6,4.7 Regression] Stage1 bootstrap fails with gcc-4.6.3: Infinite loop in pointer_set_insert 53310 [4.5/4.6/4.7/4.8 Regression] EOSHIFT leaks memory 53744 gcov version oscillates between 407* and 407p on branches 52335 [4.4/4.5/4.6/4.7 Regression] I/O: -std=f95 rejects valid DELIM= in OPEN 46192 [4.5/4.6/4.7 regression] wrong code for renaming of volatile packed array with address clause 44581 [4.5/4.6/4.7 Regression] internal compiler error: in simplify_subreg 49307 [4.5/4.6/4.7 Regression] ICE in spill_failure, at reload1.c:2113 50163 [4.4/4.5/4.6/4.7 Regression] ICE: initialization expression 50273 [4.5/4.6/4.7 Regression] -Walign-commons no longer effective 52022 [4.5/4.6/4.7 Regression] Wrong-code with procedures passed as actual argument 52452 [4.5/4.6/4.7/4.8 Regression] INTRINSIC cannot be applied to gfortran's ETIME 25973 [4.5/4.6/4.7/4.8 Regression] Wrong warning: control reaches end of non-void function 53521 [4.5/4.6/4.7/4.8 Regression] Memory leak with zero-sized array constructor @ text @d564 1 a564 1 -mno-llsc option is passed. This is the default for @ 1.1.1.3 log @Import gcc 4.8.3 which has 98 bugs fixed on gcc-4-8-3-pre-r208254 @ text @d10 3 a12 1 Copyright (C) 1988-2013 Free Software Foundation, Inc. d15 1 a15 1 under the terms of the GNU Free Documentation License, Version 1.3 or d88 3 a90 3

           % mkdir objdir
           % cd objdir
           % srcdir/configure [options] [target]
      a199 6
                
      --with-specs=specs
      Specify additional command line driver SPECS. This can be useful if you need to turn on a non-standard feature by default without modifying the compiler's source code, for instance --with-specs=%{!fcommon:%{!fno-common:-fno-common}}. See “Spec Files” in the main manual a314 7
      --with-native-system-header-dir=dirname
      Specifies that dirname is the directory that contains native system header files, rather than /usr/include. This option is most useful if you are creating a compiler that should be isolated from the system as much as possible. It is most commonly used with the --with-sysroot option and will cause GCC to search dirname inside the system root specified by that option. d324 1 a324 1 ‘ada’, ‘libada’, ‘libjava’, ‘libgo’, and ‘libobjc’. a417 13
      --with-tls=dialect
      Specify the default TLS dialect, for systems were there is a choice. For ARM targets, possible values for dialect are gnu or gnu2, which select between the original GNU dialect and the GNU TLS descriptor-based dialect.
      --enable-multiarch
      Specify whether to enable or disable multiarch support. The default is to check for glibc start files in a multiarch location, and enable it if the files are found. The auto detection is enabled for native builds, and for cross builds configured with --with-sysroot, and without --with-native-system-header-dir. More documentation about multiarch can be found at http://wiki.debian.org/Multiarch. d426 3 a428 1
      arm-*-*
      fpu, 26bit, underscore, interwork, biendian, nofmult. d440 1 a440 1 Currently only implemented for sh*-*-* and x86-64-*-linux*. d442 1 a442 2
      sh*-*-*
      list is a comma separated list of CPU names. These must be of the d447 1 a447 1

      If list is empty, then there will be no multilibs for extra d450 1 a450 1

      As a special case, if an entry in the list starts with a ! d455 1 a455 1

      If --with-multilib-list is not given, then a default set of d460 1 a460 1

      Example 1: to configure a compiler for SH4A only, but supporting both d462 1 a462 1

                     --with-cpu=sh4a --with-endian=little,big --with-multilib-list=
      d464 1
      a464 1
                

      Example 2: to configure a compiler for both SH4A and SH4AL-DSP, but with d466 1 a466 2

                     --with-cpu=sh4a --with-endian=little,big \
                     --with-multilib-list=sh4al,!mb/m4al
      a467 9
                
      x86-64-*-linux*
      list is a comma separated list of m32, m64 and mx32 to enable 32-bit, 64-bit and x32 run-time libraries, respectively. If list is empty, then there will be no multilibs and only the default run-time library will be enabled.

      If --with-multilib-list is not given, then only 32-bit and 64-bit run-time libraries will be enabled.

      d501 8 a508 2
      lynx
      LynxOS thread support.
      mipssde
      MIPS SDE thread support. d511 1 d514 2 a515 1
      tpf
      TPF thread support. d518 1 d548 3 a550 8
      --with-stack-offset=num
      This option sets the default for the -mstack-offset=num option, and will thus generally also control the setting of this option for libraries. This option is only supported on Epiphany targets.
      --with-fpmath=isa
      This options sets -mfpmath=sse by default and specifies the default ISA for floating-point arithmetics. You can select either ‘sse’ which enables -msse2 or ‘avx’ which enables -mavx by default. This option is only supported on i386 and x86-64 targets. a588 3
      --enable-gnu-indirect-function
      Define if you want to enable the ifunc attribute. This option is currently only available on systems with GNU libc on certain targets. d606 3 d659 2 a660 2 all, ada, c, c++, fortran, go, java, objc, obj-c++. d664 4 a667 1 Ada, Go and Objective-C++ are not default languages; the rest are. a690 8
      --disable-libquadmath
      Specify that the GCC quad-precision math library should not be built. On some systems, the library is required to be linkable when building the Fortran front end, unless --disable-libquadmath-support is used.
      --disable-libquadmath-support
      Specify that the Fortran front end and libgfortran do not add support for libquadmath on systems supporting it. d705 2 a706 2 Currently, this option only affects sparc-linux, powerpc-linux, x86-linux, mips-linux and s390-linux. d786 4 d837 1 a837 1
      --with-gmp=pathname
      --with-gmp-include=pathname
      --with-gmp-lib=pathname
      --with-mpfr=pathname
      --with-mpfr-include=pathname
      --with-mpfr-lib=pathname
      --with-mpc=pathname
      --with-mpc-include=pathname
      --with-mpc-lib=pathname
      If you want to build GCC but do not have the GMP library, the MPFR d839 2 a840 3 do not have their sources present in the GCC source tree then you can explicitly specify the directory where they are installed (‘--with-gmp=gmpinstalldir’, d853 1 a853 7 include and lib options directly. You might also need to ensure the shared libraries can be found by the dynamic linker when building and using GCC, for example by setting the runtime shared library path variable (LD_LIBRARY_PATH on GNU/Linux and Solaris systems).

      These flags are applicable to the host platform only. When building a cross compiler, they will not be used to configure target libraries. d855 1 a855 1

      --with-isl=pathname
      --with-isl-include=pathname
      --with-isl-lib=pathname
      --with-cloog=pathname
      --with-cloog-include=pathname
      --with-cloog-lib=pathname
      If you do not have ISL and the CLooG d858 1 a858 1 (‘--with-isl=islinstalldir’, d860 3 a862 3 --with-isl=islinstalldir option is shorthand for --with-isl-lib=islinstalldir/lib and --with-isl-include=islinstalldir/include. Likewise the a868 3

      These flags are applicable to the host platform only. When building a cross compiler, they will not be used to configure target libraries. d887 2 a888 3 stage 2 and later when bootstrapping GCC. If neither –with-boot-libs nor –with-host-libstdcxx is set to a value, then the default is ‘-static-libstdc++ -static-libgcc’. a904 4

      --with-linker-hash-style=choice
      Tells GCC to pass --hash-style=choice option to the linker for all final links. choice can be one of ‘sysv’, ‘gnu’, and ‘both’ where ‘sysv’ is the default. d910 18 a927 14
      --enable-lto
      --disable-lto
      Enable support for link-time optimization (LTO). This is enabled by default, and may be disabled using --disable-lto.
      --with-plugin-ld=pathname
      Enable an alternate linker to be used at link-time optimization (LTO) link time when -fuse-linker-plugin is enabled. This linker should have plugin support such as gold starting with version 2.20 or GNU ld starting with version 2.21. See -fuse-linker-plugin for details.
      --enable-canonical-system-headers
      --disable-canonical-system-headers
      Enable system header path canonicalization for libcpp. This can produce shorter header file paths in diagnostics and dependency output files, but these changed header paths may conflict with some compilation environments. Enabled by default, and may be disabled using --disable-canonical-system-headers. d935 2 a936 2
      --with-sysroot
      --with-sysroot=dir
      Tells GCC to consider dir as the root of a tree that contains (a subset of) the root filesystem of the target operating system. d938 1 a938 1 searched for in there. More specifically, this acts as if a952 4

      If you specify the --with-native-system-header-dir=dirname option then the compiler will search that directory within dirname for native system headers rather than the default /usr/include. a964 4

      If you specify the --with-native-system-header-dir=dirname option then the compiler will search that directory within dirname for native system headers rather than the default /usr/include. a989 9

      --with-avrlibc
      Specifies that ‘AVR-Libc’ is being used as the target C library. This causes float support functions like __addsf3 to be omitted from libgcc.a on the assumption that it will be provided by libm.a. For more technical details, cf. PR54461. This option is only supported for the AVR target. It is not supported for RTEMS configurations, which currently use newlib. The option is supported since version 4.7.2 and is the default in 4.8.0 and newer. a1149 3
      --enable-static-libjava
      Build static libraries in libjava. The default is to only build shared libraries. a1195 23
      Overriding configure test results

      Sometimes, it might be necessary to override the result of some configure test, for example in order to ease porting to a new system or work around a bug in a test. The toplevel configure script provides three variables for this:

      build_configargs
      The contents of this variable is passed to all build configure scripts.
      host_configargs
      The contents of this variable is passed to all host configure scripts.
      target_configargs
      The contents of this variable is passed to all target configure scripts.

      In order to avoid shell and make quoting issues for complex overrides, you can pass a setting for CONFIG_SITE and set variables in the site file. @ 1.1.1.4 log @import GCC 4.8.4 release. this fixes at least these GCC PRs: fortran/61407 sanitizer/64265 tree-optimization/64269 middle-end/64225 tree-optimization/61686 bootstrap/64213 rtl-optimization/64037 target/50751 rtl-optimization/64037 target/59593 target/59593 c++/56493 target/64115 middle-end/64111 middle-end/64067 rtl-optimization/63659 libgomp/61200 tree-optimization/61969 tree-optimization/62031 tree-optimization/63379 tree-optimization/63605 middle-end/63665 target/60111 target/63673 target/63947 tree-optimization/62167 tree-optimization/63841 ipa/63838 c++/63455 c++/63415 c++/56710 c++/58624 preprocessor/60436 target/55351 fortran/63938 libgomp/61200 libstdc++/63840 libstdc++/61947 libstdc++/59603 target/56846 libstdc++/57440 @ text @d1 10 a10 3 Installing GCC d41 6 d48 2 a49 8

      Installing GCC

      d51 3 d55 2 a56 27

      Like most GNU software, GCC must be configured before it can be built. This document describes the recommended configuration procedure for both native and cross targets.

      We use srcdir to refer to the toplevel source directory for GCC; we use objdir to refer to the toplevel build/object directory.

      If you obtained the sources via SVN, srcdir must refer to the top gcc directory, the one where the MAINTAINERS file can be found, and not its gcc subdirectory, otherwise the build will fail.

      If either srcdir or objdir is located on an automounted NFS file system, the shell’s built-in pwd command will return d58 3 a60 3 problems. To avoid this issue, set the PWDCMD environment variable to an automounter-aware pwd command, e.g., pawd or ‘amq -w’, during the configuration and build d62 2 a63 2

      First, we highly recommend that GCC be built into a d66 1 a66 1 where srcdir == objdir should still work, but doesn’t d69 6 a74 6

      If you have previously built GCC in the same directory for a different target machine, do ‘make distclean’ to delete all files that might be invalid. One of the files this deletes is Makefile; if ‘make distclean’ complains that Makefile does not exist or issues a message like “don’t know how to make distclean” it probably d78 3 a80 3

      Second, when configuring a native system, either cc or gcc must be in your path or you must set CC in a82 1

      d84 1 a84 7

      To configure GCC:

      % mkdir objdir
      % cd objdir
      % srcdir/configure [options] [target]
      
      d86 5 a90 2

      Distributor options

      d95 3 a97 4

      --with-pkgversion=version

      Specify a string that identifies your package. You may wish d99 6 a104 8 included in the output of gcc --version. This suffix does not replace the default version string, only the ‘GCC’ part.

      The default value is ‘GCC’.

      --with-bugurl=url

      Specify the URL that users should visit if they wish to report a bug. a106 5

      The default value refers to the FSF’s GCC bug tracker.

      d108 8 a115 4

      Target specification

      • GCC has code to correctly determine the correct value for target d119 1 a119 1
      • target must be specified as --target=target d123 3 a125 4
      • Specifying just target instead of --target=target implies that the host defaults to target.
      d127 1 a127 2

      Options specification

      d130 2 a131 2 GCC. A list of supported options follows; ‘configure --help’ may list other options, but those not listed below may not d133 7 a139 8

      Note that each --enable option has a corresponding --disable option and that each --with option has a corresponding --without option.

      --prefix=dirname

      Specify the toplevel installation d142 3 a144 3 /usr/local.

      We highly recommend against dirname being the same or a d146 5 a150 5 beneath a user’s home directory tree, some shells will not expand dirname correctly if it contains the ‘~’ metacharacter; use $HOME instead.

      The following standard autoconf options are supported. Normally you d152 2 a153 3

      --exec-prefix=dirname

      Specify the toplevel installation directory for architecture-dependent d155 12 a166 20

      --bindir=dirname

      Specify the installation directory for the executables called by users (such as gcc and g++). The default is exec-prefix/bin.

      --libdir=dirname

      Specify the installation directory for object code libraries and internal data files of GCC. The default is exec-prefix/lib.

      --libexecdir=dirname

      Specify the installation directory for internal executables of GCC. The default is exec-prefix/libexec.

      --with-slibdir=dirname

      Specify the installation directory for the shared libgcc library. The d168 8 a175 14

      --datarootdir=dirname

      Specify the root of the directory tree for read-only architecture-independent data files referenced by GCC. The default is prefix/share.

      --infodir=dirname

      Specify the installation directory for documentation in info format. The default is datarootdir/info.

      --datadir=dirname

      Specify the installation directory for some architecture-independent d177 5 a181 9

      --docdir=dirname

      Specify the installation directory for documentation files (other than Info) for GCC. The default is datarootdir/doc.

      --htmldir=dirname

      Specify the installation directory for HTML documentation files. d183 2 a184 4

      --pdfdir=dirname

      Specify the installation directory for PDF documentation files. d186 3 a188 5

      --mandir=dirname

      Specify the installation directory for manual pages. The default is datarootdir/man. (Note that the manual pages are only extracts d192 2 a193 4

      --with-gxx-include-dir=dirname

      Specify d197 2 a198 4

      --with-specs=specs

      Specify additional command line driver SPECS. d200 2 a201 2 default without modifying the compiler’s source code, for instance --with-specs=%{!fcommon:%{!fno-common:-fno-common}}. a202 3

      d204 3 a206 3
      --program-prefix=prefix

      GCC supports some transformations of the names of its programs when d209 9 a217 13 --program-prefix=foo- would result in ‘gcc’ being installed as /usr/local/bin/foo-gcc.

      --program-suffix=suffix

      Appends suffix to the names of programs to install in bindir (see above). For example, specifying --program-suffix=-3.1 would result in ‘gcc’ being installed as /usr/local/bin/gcc-3.1.

      --program-transform-name=pattern

      Applies the ‘sed’ script pattern to be applied to the names d219 5 a223 5 consist of one or more basic ‘sed’ editing commands, separated by semicolons. For example, if you want the ‘gcc’ program name to be transformed to the installed program /usr/local/bin/myowngcc and the ‘g++’ program name to be transformed to /usr/local/bin/gspecial++ without changing other program names, d225 1 a225 1 --program-transform-name='s/^gcc$/myowngcc/; s/^g++$/gspecial++/' d227 2 a228 2

      All three options can be combined and used together, resulting in more d232 3 a234 3

      As currently implemented, this option only takes effect for native builds; cross compiler binaries’ names are not transformed even when a d236 2 a237 2

      For native builds, some of the installed programs are also installed d239 1 a239 1 ‘i686-pc-linux-gnu-gcc’. All of the above transformations happen d241 1 a241 1 --program-prefix=foo- and program-suffix=-3.1, the d243 3 a245 3 /usr/local/bin/i686-pc-linux-gnu-foo-gcc-3.1.

      As a last shortcoming, none of the installed Ada programs are d247 2 a248 4

      --with-local-prefix=dirname

      Specify the d250 6 a255 6 /usr/local. Specify this option if you want the compiler to search directory dirname/include for locally installed header files instead of /usr/local/include.

      You should specify --with-local-prefix only if your site has a different convention (not /usr/local) for where to put d257 4 a260 4

      The default value for --with-local-prefix is /usr/local regardless of the value of --prefix. Specifying --prefix has no effect on which directory GCC searches for d263 3 a265 3

      The purpose of --prefix is to specify where to install GCC. The local header files in /usr/local/include—if you put d268 4 a271 4 another directory which is based on the --prefix value.)

      Both the local-prefix include directory and the GCC-prefix include directory are part of GCC’s “system include” directories. Although these d277 2 a278 2

      Some autoconf macros add -I directory options to the d280 1 a280 1 packages’ headers are searched. When directory is one of GCC’s d285 3 a287 3

      GCC automatically searches for ordinary libraries using GCC_EXEC_PREFIX. Thus, when the same installation prefix is d291 3 a293 3 installed as a system compiler in /usr.

      Sites that need to install multiple versions of GCC may not want to d295 2 a296 2 --program-prefix, --program-suffix and --program-transform-name options to install multiple versions d298 1 a298 1 and the --with-local-prefix option to specify the location of the d301 9 a309 9 (e.g., with LIBRARY_PATH).

      The same value can be used for both --with-local-prefix and --prefix provided it is not /usr. This can be used to avoid the default search of /usr/local/include.

      Do not specify /usr as the --with-local-prefix! The directory you use for --with-local-prefix must not contain any of the system’s standard header files. If it did contain d312 3 a314 3 file corrections made by the fixincludes script.

      Indications are that people who use this option use it based on mistaken d318 3 a320 5

      --with-native-system-header-dir=dirname

      Specifies that dirname is the directory that contains native system header files, rather than /usr/include. This option is most useful d323 1 a323 1 --with-sysroot option and will cause GCC to search d325 2 a326 4

      --enable-shared[=package[,…]]

      Build shared versions of libraries, if shared libraries are supported on d329 2 a330 2

      If a list of packages is given as an argument, build shared libraries d333 10 a342 12 ‘libgcc’ (also known as ‘gcc’), ‘libstdc++’ (not ‘libstdc++-v3’), ‘libffi’, ‘zlib’, ‘boehm-gc’, ‘ada’, ‘libada’, ‘libjava’, ‘libgo’, and ‘libobjc’. Note ‘libiberty’ does not support shared libraries at all.

      Use --disable-shared to build only static libraries. Note that --disable-shared does not accept a list of package names as argument, only --enable-shared does.

      --with-gnu-as

      Specify that the compiler should assume that the d347 1 a347 1 configured with --with-gnu-as.) If you have more than one d349 4 a352 4 connection with --with-as=pathname or --with-build-time-tools=pathname.

      The following systems are the only ones where it makes a difference d354 10 a363 12 --with-gnu-as has no effect.

      • ‘hppa1.0-any-any’
      • ‘hppa1.1-any-any’
      • ‘sparc-sun-solaris2.any’
      • ‘sparc64-any-solaris2.any’
      --with-as=pathname

      Specify that the compiler should use the assembler pointed to by d366 4 a369 4

      • Unless GCC is being built with a cross compiler, check the libexec/gcc/target/version directory. libexec defaults to exec-prefix/libexec; d371 3 a373 3 defaults to /usr/local unless overridden by the --prefix=pathname switch described above. target is the target system triple, such as ‘sparc-sun-solaris2.7’, and d376 2 a377 2
      • If the target system is the same that you are building on, check operating system specific directories (e.g. /usr/ccs/bin on d380 1 a380 1
      • Check in the PATH for a tool whose name is prefixed by the d383 1 a383 1
      • Check in the PATH for a tool whose name is not prefixed by the d386 2 a387 2 the target as well).
      d389 1 a389 1

      You may want to use --with-as if no assembler d393 2 a394 4

      --with-gnu-ld

      Same as --with-gnu-as d396 2 a397 4

      --with-ld=pathname

      Same as --with-as d399 2 a400 4

      --with-stabs

      Specify that stabs debugging d403 2 a404 2

      On MIPS based systems and on Alphas, you must specify whether you want d409 6 a414 6

      Normally, GCC uses the ECOFF debugging format by default; if you prefer BSD stabs, specify --with-stabs when you configure GCC.

      No matter which default you choose when you configure GCC, the user can use the -gcoff and -gstabs+ options to specify explicitly d416 3 a418 3

      --with-stabs is meaningful on the ISC system on the 386, also, if --with-gas is used. It selects use of stabs debugging d421 2 a422 2

      --with-stabs is also meaningful on 386 systems running SVR4. It d428 2 a429 4

      --with-tls=dialect

      Specify the default TLS dialect, for systems were there is a choice. d433 2 a434 4

      --enable-multiarch

      Specify whether to enable or disable multiarch support. The default is d437 2 a438 2 and for cross builds configured with --with-sysroot, and without --with-native-system-header-dir. d441 2 a442 4

      --disable-multilib

      Specify that multiple target d446 11 a456 18

      Some targets provide finer-grained control over which multilibs are built (e.g., --disable-softfloat):

      arm-*-*

      fpu, 26bit, underscore, interwork, biendian, nofmult.

      m68*-*-*

      softfloat, m68881, m68000, m68020.

      mips*-*-*

      single-float, biendian, softfloat.

      powerpc*-*-*, rs6000*-*-*

      aix64, pthread, softfloat, powercpu, powerpccpu, powerpcos, biendian, a457 3

      d459 3 a461 4
      --with-multilib-list=list
      --without-multilib-list

      Specify what multilibs to build. d463 3 a465 4

      sh*-*-*

      list is a comma separated list of CPU names. These must be of the d468 3 a470 3 these are handled by --with-endian.

      If list is empty, then there will be no multilibs for extra d472 4 a475 4

      As a special case, if an entry in the list starts with a ! (exclamation point), then it is added to the list of excluded multilibs. Entries of this sort should be compatible with ‘MULTILIB_EXCLUDES’ d477 3 a479 3

      If --with-multilib-list is not given, then a default set of multilibs is selected based on the value of --target. This is d482 2 a483 2

      Example 1: to configure a compiler for SH4A only, but supporting both d485 3 a487 5

      --with-cpu=sh4a --with-endian=little,big --with-multilib-list=
      

      Example 2: to configure a compiler for both SH4A and SH4AL-DSP, but with d489 4 a492 8

      --with-cpu=sh4a --with-endian=little,big \
      --with-multilib-list=sh4al,!mb/m4al
      
      x86-64-*-linux*

      list is a comma separated list of m32, m64 and d496 3 a498 4

      If --with-multilib-list is not given, then only 32-bit and 64-bit run-time libraries will be enabled.

      d501 1 a501 3
      --with-endian=endians

      Specify what endians to use. d503 7 a509 15

      endians may be one of the following:

      big

      Use big endian exclusively.

      little

      Use little endian exclusively.

      big,little

      Use big endian by default. Provide a multilib for little endian.

      little,big

      Use little endian by default. Provide a multilib for big endian.

      d512 1 a512 3
      --enable-threads

      Specify that the target d514 1 a514 1 library, and exception handling for other languages like C++ and Java. d516 2 a517 2

      In general, the best (and, in many cases, the only known) threading d520 7 a526 11 available for the system. In this case, --enable-threads is an alias for --enable-threads=single.

      --disable-threads

      Specify that threading support should be disabled for the system. This is an alias for --enable-threads=single.

      --enable-threads=lib

      Specify that d530 13 a542 35

      aix

      AIX thread support.

      dce

      DCE thread support.

      lynx

      LynxOS thread support.

      mipssde

      MIPS SDE thread support.

      no

      This is an alias for ‘single’.

      posix

      Generic POSIX/Unix98 thread support.

      rtems

      RTEMS thread support.

      single

      Disable thread support, should work for all platforms.

      tpf

      TPF thread support.

      vxworks

      VxWorks thread support.

      win32

      Microsoft Win32 API thread support.

      d545 1 a545 3
      --enable-tls

      Specify that the target supports TLS (Thread Local Storage). Usually d548 1 a548 1 --enable-tls or --disable-tls. This can happen if d551 6 a556 12

      --disable-tls

      Specify that the target does not support TLS. This is an alias for --enable-tls=no.

      --with-cpu=cpu
      --with-cpu-32=cpu
      --with-cpu-64=cpu

      Specify which cpu variant the compiler should generate code for by default. cpu will be used as the default value of the -mcpu= switch. d558 2 a559 2 PowerPC, and SPARC. The --with-cpu-32 and --with-cpu-64 options specify separate default CPUs for d562 5 a566 16

      --with-schedule=cpu
      --with-arch=cpu
      --with-arch-32=cpu
      --with-arch-64=cpu
      --with-tune=cpu
      --with-tune-32=cpu
      --with-tune-64=cpu
      --with-abi=abi
      --with-fpu=type
      --with-float=type

      These configure options provide default values for the -mschedule=, -march=, -mtune=, -mabi=, and -mfpu= options and for -mhard-float or -msoft-float. As with --with-cpu, which switches will be accepted and acceptable values d568 2 a569 4

      --with-mode=mode

      Specify if the compiler should default to -marm or -mthumb. d571 2 a572 4

      --with-stack-offset=num

      This option sets the default for the -mstack-offset=num option, d575 4 a578 6

      --with-fpmath=isa

      This options sets -mfpmath=sse by default and specifies the default ISA for floating-point arithmetics. You can select either ‘sse’ which enables -msse2 or ‘avx’ which enables -mavx by default. d580 3 a582 5

      --with-divide=type

      Specify how the compiler should generate code for checking for division by zero. This option is only supported on the MIPS target. d584 4 a587 8

      traps

      Division by zero checks use conditional traps (this is the default on systems that support conditional traps).

      breaks

      Division by zero checks use the break instruction.

      d590 4 a593 5
      --with-llsc

      On MIPS targets, make -mllsc the default when no -mno-llsc option is passed. This is the default for d596 11 a606 19

      --without-llsc

      On MIPS targets, make -mno-llsc the default when no -mllsc option is passed.

      --with-synci

      On MIPS targets, make -msynci the default when no -mno-synci option is passed.

      --without-synci

      On MIPS targets, make -mno-synci the default when no -msynci option is passed. This is the default.

      --with-mips-plt

      On MIPS targets, make use of copy relocations and PLTs. d610 3 a612 5

      --enable-__cxa_atexit

      Define if you want to use __cxa_atexit, rather than atexit, to register C++ destructors for local statics and global objects. d616 3 a618 5 -fuse-cxa-atexit to be passed by default.

      --enable-gnu-indirect-function

      Define if you want to enable the ifunc attribute. This option is d620 3 a622 5

      --enable-target-optspace

      Specify that target libraries should be optimized for code space instead of code speed. d624 5 a628 9

      --with-cpp-install-dir=dirname

      Specify that the user visible cpp program should be installed in prefix/dirname/cpp, in addition to bindir.

      --enable-comdat

      Enable COMDAT group support. This is primarily used to override the d630 2 a631 4

      --enable-initfini-array

      Force the use of sections .init_array and .fini_array d633 1 a633 1 destructors. Option --disable-initfini-array has the d637 3 a639 5

      --enable-maintainer-mode

      The build rules that regenerate the Autoconf and Automake output files as well as the GCC master message catalog gcc.pot are normally d642 1 a642 1 catalog, configuring with --enable-maintainer-mode will enable d645 3 a647 5

      --disable-bootstrap

      For a native build, the default configuration is to perform a 3-stage bootstrap of the compiler when ‘make’ is invoked, d649 4 a652 6 this process, you can configure with --disable-bootstrap.

      --enable-bootstrap

      In special cases, you may want to perform a 3-stage build even if the target and host triplets are different. d654 1 a654 1 the target (e.g. host is i686-linux, target is i486-linux). d656 3 a658 5 with --enable-bootstrap.

      --enable-generated-files-in-srcdir

      Neither the .c and .h files that are generated from Bison and flex nor the d664 2 a665 2

      If you configure with --enable-generated-files-in-srcdir then those d670 2 a671 4

      --enable-version-specific-runtime-libs

      Specify d673 2 a674 2 subdirectory (libdir/gcc) rather than the usual places. In addition, ‘libstdc++’’s include files will be installed into d676 1 a676 1 --with-gxx-include-dir=dirname. Using this option is d678 4 a681 6 parallel. This is currently supported by ‘libgfortran’, ‘libjava’, ‘libmudflap’, ‘libstdc++’, and ‘libobjc’.

      --enable-languages=lang1,lang2,…

      Specify that only a particular subset of compilers and d684 4 a687 5 gcc directory of your GCC source tree:

      grep language= */config-lang.in
      

      Currently, you can use any of the following: d689 2 a690 2 go, java, objc, obj-c++. Building the Ada compiler has special requirements, see below. d692 1 a692 1 default languages available in the gcc sub-tree will be configured. d694 2 a695 4

      --enable-stage1-languages=lang1,lang2,…

      Specify that a particular subset of compilers and their runtime d699 2 a700 2 --enable-languages, and the option all will select all of the languages enabled by --enable-languages. This option is d705 5 a709 7 specified languages with the stage-1 compiler by using make stage1-bubble all-target, or run the testsuite on the stage-1 compiler for the specified languages using make stage1-start check-gcc.

      --disable-libada

      Specify that the run-time libraries and tools used by GNAT should not d712 3 a714 5 do a ‘make -C gcc gnatlib_and_tools’.

      --disable-libssp

      Specify that the run-time libraries for stack smashing protection d716 2 a717 4

      --disable-libquadmath

      Specify that the GCC quad-precision math library should not be built. d719 1 a719 1 the Fortran front end, unless --disable-libquadmath-support d721 2 a722 4

      --disable-libquadmath-support

      Specify that the Fortran front end and libgfortran do not add d724 4 a727 8

      --disable-libgomp

      Specify that the run-time libraries used by GOMP should not be built.

      --with-dwarf2

      Specify that the compiler should d729 2 a730 5

      --enable-targets=all
      --enable-targets=target_list

      Some GCC targets, e.g. powerpc64-linux, build bi-arch compilers. d732 1 a732 1 code. Typically, the corresponding 32-bit target, e.g. d736 1 a736 1 you are building a bi-arch or multi-arch binutils in a combined tree. d738 1 a738 1 defaulted to o32. d741 2 a742 4

      --enable-secureplt

      This option enables -msecure-plt by default for powerpc-linux. d744 2 a745 4

      --enable-cld

      This option enables -mcld by default for 32-bit x86 targets. d747 2 a748 6

      --enable-win32-registry
      --enable-win32-registry=key
      --disable-win32-registry

      The --enable-win32-registry option enables Microsoft Windows-hosted GCC a749 4

      HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\key
      
      d751 4 a754 2

      key defaults to GCC version number, and can be overridden by the --enable-win32-registry=key option. Vendors and distributors d758 1 a758 1 by default, and can be disabled by --disable-win32-registry d760 8 a767 15

      --nfp

      Specify that the machine does not have a floating point unit. This option only applies to ‘m68k-sun-sunosn’. On any other system, --nfp has no effect.

      --enable-werror
      --disable-werror
      --enable-werror=yes
      --enable-werror=no

      When you specify this option, it controls whether certain files in the compiler are built with -Werror in bootstrap stage2 and later. If you don’t specify it, -Werror is turned on for the main d769 1 a769 1 final releases. The specific files which get -Werror are d771 2 a772 5

      --enable-checking
      --enable-checking=list

      When you specify this option, the compiler is built to perform internal d776 3 a778 3 the compiler with GCC. This is ‘yes’ by default when building from SVN or snapshots, but ‘release’ for releases. The default for building the stage1 compiler is ‘yes’. More control d780 9 a788 9 checks available are ‘yes’ (most common checks ‘assert,misc,tree,gc,rtlflag,runtime’), ‘no’ (no checks at all), ‘all’ (all but ‘valgrind’), ‘release’ (cheapest checks ‘assert,runtime’) or ‘none’ (same as ‘no’). Individual checks can be enabled with these flags ‘assert’, ‘df’, ‘fold’, ‘gc’, ‘gcac’ ‘misc’, ‘rtl’, ‘rtlflag’, ‘runtime’, ‘tree’, and ‘valgrind’.

      The ‘valgrind’ check requires the external valgrind d790 3 a792 3 ‘df’, ‘rtl’, ‘gcac’ and ‘valgrind’ checks are very expensive. To disable all checking, ‘--disable-checking’ or ‘--enable-checking=none’ must be explicitly requested. Disabling d796 3 a798 7

      --disable-stage1-checking
      --enable-stage1-checking
      --enable-stage1-checking=list

      If no --enable-checking option is specified the stage1 compiler will be built with ‘yes’ checking enabled, otherwise d800 3 a802 3 --enable-checking. To build the stage1 compiler with different checking options use --enable-stage1-checking. The list of checking options is the same as for --enable-checking. d804 1 a804 1 with checking for stage1 enabled, you can use ‘--disable-stage1-checking’ d806 2 a807 5

      --enable-coverage
      --enable-coverage=level

      With this option, the compiler is built to collect self coverage d811 1 a811 1 not, values are ‘opt’ and ‘noopt’. For coverage analysis you d815 2 a816 4

      --enable-gather-detailed-mem-stats

      When this option is specified more detailed information on memory d818 3 a820 6 -fmem-report.

      --enable-nls
      --disable-nls

      The --enable-nls option enables Native Language Support (NLS), d823 6 a828 10 canadian cross build. The --disable-nls option disables NLS.

      --with-included-gettext

      If NLS is enabled, the --with-included-gettext option causes the build procedure to prefer its copy of GNU gettext.

      --with-catgets

      If NLS is enabled, and if the host lacks gettext but has the d830 8 a837 12 ignores catgets and instead uses GCC’s copy of the GNU gettext library. The --with-catgets option causes the build procedure to use the host’s catgets in this situation.

      --with-libiconv-prefix=dir

      Search for libiconv header files in dir/include and libiconv library files in dir/lib.

      --enable-obsolete

      Enable configuration for an obsoleted system. If you attempt to d841 2 a842 2

      All support for systems which have been obsoleted in one release of GCC d845 2 a846 9

      --enable-decimal-float
      --enable-decimal-float=yes
      --enable-decimal-float=no
      --enable-decimal-float=bid
      --enable-decimal-float=dpd
      --disable-decimal-float

      Enable (or disable) support for the C decimal floating point extension d851 2 a852 2 ‘bid’ or ‘dpd’). The ‘bid’ (binary integer decimal) format is default on i386 and x86_64 systems, and the ‘dpd’ d854 2 a855 5

      --enable-fixed-point
      --disable-fixed-point

      Enable (or disable) support for C fixed-point arithmetic. d859 2 a860 4

      --with-long-double-128

      Specify if long double type should be 128-bit by default on selected d862 1 a862 1 long double will be by default 64-bit, the same as double type. d866 2 a867 12

      --with-gmp=pathname
      --with-gmp-include=pathname
      --with-gmp-lib=pathname
      --with-mpfr=pathname
      --with-mpfr-include=pathname
      --with-mpfr-lib=pathname
      --with-mpc=pathname
      --with-mpc-include=pathname
      --with-mpc-lib=pathname

      If you want to build GCC but do not have the GMP library, the MPFR d871 12 a882 12 (‘--with-gmp=gmpinstalldir’, ‘--with-mpfr=mpfrinstalldir’, ‘--with-mpc=mpcinstalldir’). The --with-gmp=gmpinstalldir option is shorthand for --with-gmp-lib=gmpinstalldir/lib and --with-gmp-include=gmpinstalldir/include. Likewise the --with-mpfr=mpfrinstalldir option is shorthand for --with-mpfr-lib=mpfrinstalldir/lib and --with-mpfr-include=mpfrinstalldir/include, also the --with-mpc=mpcinstalldir option is shorthand for --with-mpc-lib=mpcinstalldir/lib and --with-mpc-include=mpcinstalldir/include. If these d887 3 a889 3 variable (LD_LIBRARY_PATH on GNU/Linux and Solaris systems).

      These flags are applicable to the host platform only. When building d891 2 a892 9

      --with-isl=pathname
      --with-isl-include=pathname
      --with-isl-lib=pathname
      --with-cloog=pathname
      --with-cloog-include=pathname
      --with-cloog-lib=pathname

      If you do not have ISL and the CLooG d895 8 a902 8 (‘--with-isl=islinstalldir’, ‘--with-cloog=clooginstalldir’). The --with-isl=islinstalldir option is shorthand for --with-isl-lib=islinstalldir/lib and --with-isl-include=islinstalldir/include. Likewise the --with-cloog=clooginstalldir option is shorthand for --with-cloog-lib=clooginstalldir/lib and --with-cloog-include=clooginstalldir/include. If these d905 2 a906 2

      These flags are applicable to the host platform only. When building d908 2 a909 4

      --with-host-libstdcxx=linker-args

      If you are linking with a static copy of PPL, you can use this option d912 1 a912 1 ‘-lstdc++’ or ‘-Wl,-Bstatic,-lstdc++,-Bdynamic -lm’. If you are d916 2 a917 4

      --with-stage1-ldflags=flags

      This option may be used to set linker flags to be used when linking d919 3 a921 5 --disable-bootstrap. By default no special flags are used.

      --with-stage1-libs=libs

      This option may be used to set libraries to be used when linking stage 1 d923 4 a926 6 --disable-bootstrap. The default is the argument to --with-host-libstdcxx, if specified.

      --with-boot-ldflags=flags

      This option may be used to set linker flags to be used when linking d929 3 a931 5 ‘-static-libstdc++ -static-libgcc’.

      --with-boot-libs=libs

      This option may be used to set libraries to be used when linking stage 2 d933 3 a935 5 --with-host-libstdcxx, if specified.

      --with-debug-prefix-map=map

      Convert source directory names using -fdebug-prefix-map when d937 4 a940 6 list of maps of the form ‘old=new’.

      --enable-linker-build-id

      Tells GCC to pass --build-id option to the linker for all final links (links performed without the -r or --relocatable d942 5 a946 7 --enable-linker-build-id, but your linker does not support --build-id option, a warning is issued and the --enable-linker-build-id option is ignored. The default is off.

      --with-linker-hash-style=choice

      Tells GCC to pass --hash-style=choice option to the d948 3 a950 6 ‘sysv’, ‘gnu’, and ‘both’ where ‘sysv’ is the default.

      --enable-gnu-unique-object
      --disable-gnu-unique-object

      Tells GCC to use the gnu_unique_object relocation for C++ template d954 6 a959 11

      --enable-lto
      --disable-lto

      Enable support for link-time optimization (LTO). This is enabled by default, and may be disabled using --disable-lto.

      --with-plugin-ld=pathname

      Enable an alternate linker to be used at link-time optimization (LTO) link time when -fuse-linker-plugin is enabled. d961 4 a964 7 version 2.20 or GNU ld starting with version 2.21. See -fuse-linker-plugin for details.

      --enable-canonical-system-headers
      --disable-canonical-system-headers

      Enable system header path canonicalization for libcpp. This can d968 1 a968 2 --disable-canonical-system-headers.

      d971 2 a972 2

      Cross-Compiler-Specific Options

      d974 4 a977 6

      --with-sysroot
      --with-sysroot=dir

      Tells GCC to consider dir as the root of a tree that contains (a subset of) the root filesystem of the target operating system. d980 1 a980 1 --sysroot=dir was added to the default options of the built d982 5 a986 5 install tree, unlike the options --with-headers and --with-libs that this option obsoletes. The default value, in case --with-sysroot is not given an argument, is ${gcc_tooldir}/sys-root. If the specified directory is a subdirectory of ${exec_prefix}, then it will be found relative to d988 2 a989 2

      This option affects the system root for the compiler used to build d993 2 a994 2

      If you specify the --with-native-system-header-dir=dirname d996 8 a1003 11 native system headers rather than the default /usr/include.

      --with-build-sysroot
      --with-build-sysroot=dir

      Tells GCC to consider dir as the system root (see --with-sysroot) while building target libraries, instead of the directory specified with --with-sysroot. This option is only useful when you are already using --with-sysroot. You can use --with-build-sysroot when you are configuring with --prefix set to a directory that is different from the one in d1005 2 a1006 2

      This option affects the system root for the compiler used to build d1009 2 a1010 2

      If you specify the --with-native-system-header-dir=dirname d1012 4 a1015 7 native system headers rather than the default /usr/include.

      --with-headers
      --with-headers=dir

      Deprecated in favor of --with-sysroot. Specifies that target headers are available when building a cross compiler. d1017 5 a1021 5 files. These include files will be copied into the gcc install directory. This option with the dir argument is required when building a cross compiler, if prefix/target/sys-include doesn’t pre-exist. If prefix/target/sys-include does pre-exist, the dir argument may be omitted. fixincludes d1023 2 a1024 4

      --without-headers

      Tells GCC not use any target headers from a libc when building a cross d1027 2 a1028 5

      --with-libs
      --with-libs="dir1 dir2 … dirN"

      Deprecated in favor of --with-sysroot. d1030 1 a1030 1 libraries. These libraries will be copied into the gcc install d1033 2 a1034 4

      --with-newlib

      Specifies that ‘newlib’ is d1036 4 a1039 6 omitted from libgcc.a on the assumption that it will be provided by ‘newlib’.

      --with-avrlibc

      Specifies that ‘AVR-Libc’ is d1041 3 a1043 3 functions like __addsf3 to be omitted from libgcc.a on the assumption that it will be provided by libm.a. For more technical details, cf. PR54461. d1047 2 a1048 4

      --with-build-time-tools=dir

      Specifies where to find the set of target tools (assembler, linker, etc.) d1052 3 a1054 3

      For example, on an ‘ia64-hp-hpux’ system, you may have the GNU assembler and linker in /usr/bin, and the native tools in a d1056 7 a1062 8 native tools in /usr/bin.

      When you use this option, you should ensure that dir includes ar, as, ld, nm, ranlib and strip if necessary, and possibly objdump. Otherwise, GCC may use an inconsistent set of tools.

      d1065 1 a1065 2

      Java-Specific Options

      d1068 3 a1070 4

      --disable-libgcj

      Specify that the run-time libraries d1072 1 a1072 1 to use GCJ with some other run-time, or you’re going to install it d1075 2 a1076 2 libraries will be enabled too, unless they’re known to not work on the target platform. If GCJ is enabled but ‘libgcj’ isn’t built, you d1078 8 a1085 5 configure.in so that ‘libgcj’ is enabled by default on this platform, you may use --enable-libgcj to override the default.

      d1087 5 a1091 11

      The following options apply to building ‘libgcj’.

      General Options

      --enable-java-maintainer-mode

      By default the ‘libjava’ build will not attempt to compile the .java source files to .class. Instead, it will use the .class files from the source tree. If you use this option you must have executables named ecj1 and gjavah in your path d1093 10 a1102 14 modify any .java files in libjava.

      --with-java-home=dirname

      This ‘libjava’ option overrides the default value of the ‘java.home’ system property. It is also used to set ‘sun.boot.class.path’ to dirname/lib/rt.jar. By default ‘java.home’ is set to prefix and ‘sun.boot.class.path’ to datadir/java/libgcj-version.jar.

      --with-ecj-jar=filename

      This option can be used to specify the location of an external jar d1104 3 a1106 3 version of this compiler is used by gcj to parse .java source files. If this option is given, the ‘libjava’ build will create and install an ecj1 executable d1108 8 a1115 8

      If this option is not given, but an ecj.jar file is found in the topmost source tree at configure time, then the ‘libgcj’ build will create and install ecj1, and will also install the discovered ecj.jar into a suitable place in the install tree.

      If ecj1 is not installed, then the user will have to supply one on his path in order for gcj to properly parse .java d1118 5 a1122 9

      --disable-getenv-properties

      Don’t set system properties from GCJ_PROPERTIES.

      --enable-hash-synchronization

      Use a global hash table for monitor locks. Ordinarily, ‘libgcj’’s ‘configure’ script automatically makes d1125 2 a1126 4

      --enable-interpreter

      Enable the Java interpreter. The interpreter is automatically d1129 3 a1131 5 (using --disable-interpreter).

      --disable-java-net

      Disable java.net. This disables the native part of java.net only, d1133 6 a1138 10

      --disable-jvmpi

      Disable JVMPI support.

      --disable-libgcj-bc

      Disable BC ABI compilation of certain parts of libgcj. By default, some portions of libgcj are compiled with -findirect-dispatch and -fno-indirect-classes, allowing them to be overridden at d1140 2 a1141 2

      If --disable-libgcj-bc is specified, libgcj is built without d1145 2 a1146 4

      --enable-reduced-reflection

      Build most of libgcj with -freduced-reflection. This reduces d1151 11 a1161 19

      --with-ecos

      Enable runtime eCos target support.

      --without-libffi

      Don’t use ‘libffi’. This will disable the interpreter and JNI support as well, as these require ‘libffi’ to work.

      --enable-libgcj-debug

      Enable runtime debugging code.

      --enable-libgcj-multifile

      If specified, causes all .java source files to be compiled into .class files in one invocation of ‘gcj’. This can speed up build time, but is more d1163 7 a1169 11 disabled, ‘gcj’ is invoked once for each .java file to compile into a .class file.

      --with-libiconv-prefix=DIR

      Search for libiconv in DIR/include and DIR/lib.

      --enable-sjlj-exceptions

      Force use of the setjmp/longjmp-based scheme for exceptions. ‘configure’ ordinarily picks the correct value based on the platform. d1171 4 a1174 8

      --with-system-zlib

      Use installed ‘zlib’ rather than that included with GCC.

      --with-win32-nlsapi=ansi, unicows or unicode

      Indicates how MinGW ‘libgcj’ translates between UNICODE d1176 2 a1177 4

      --enable-java-home

      If enabled, this creates a JPackage compatible SDK environment during install. d1180 2 a1181 4

      --with-arch-directory=ARCH

      Specifies the name to use for the jre/lib/ARCH directory in the SDK d1184 5 a1188 9

      --with-os-directory=DIR

      Specifies the OS directory for the SDK include directory. This is set to auto detect, and is typically ’linux’.

      --with-origin-name=NAME

      Specifies the JPackage origin name. This defaults to the ’gcj’ in d1190 9 a1198 17

      --with-arch-suffix=SUFFIX

      Specifies the suffix for the sdk directory. Defaults to the empty string. Examples include ’.x86_64’ in ’java-1.5.0-gcj-1.5.0.0.x86_64’.

      --with-jvm-root-dir=DIR

      Specifies where to install the SDK. Default is $(prefix)/lib/jvm.

      --with-jvm-jar-dir=DIR

      Specifies where to install jars. Default is $(prefix)/lib/jvm-exports.

      --with-python-dir=DIR

      Specifies where to install the Python modules used for aot-compile. DIR should d1203 6 a1208 12

      --enable-aot-compile-rpm

      Adds aot-compile-rpm to the list of installed scripts.

      --enable-browser-plugin

      Build the gcjwebplugin web browser plugin.

      --enable-static-libjava

      Build static libraries in libjava. The default is to only build shared d1210 3 a1212 4

      ansi

      Use the single-byte char and the Win32 A functions natively, d1215 6 a1220 8

      unicows

      Use the WCHAR and Win32 W functions natively. Adds -lunicows to libgcj.spec to link with ‘libunicows’. unicows.dll needs to be deployed on Microsoft Windows 9X machines running built executables. libunicows.a, an open-source import library around Microsoft’s unicows.dll, is obtained from d1222 5 a1226 10 on getting unicows.dll from Microsoft.

      unicode

      Use the WCHAR and Win32 W functions natively. Does not add -lunicows to libgcj.spec. The built executables will only run on Microsoft Windows NT and above.

      d1228 16 d1245 1 a1245 2

      AWT-Specific Options

      d1247 1 a1247 42
      --with-x

      Use the X Window System.

      --enable-java-awt=PEER(S)

      Specifies the AWT peer library or libraries to build alongside ‘libgcj’. If this option is unspecified or disabled, AWT will be non-functional. Current valid values are gtk and xlib. Multiple libraries should be separated by a comma (i.e. --enable-java-awt=gtk,xlib).

      --enable-gtk-cairo

      Build the cairo Graphics2D implementation on GTK.

      --enable-java-gc=TYPE

      Choose garbage collector. Defaults to boehm if unspecified.

      --disable-gtktest

      Do not try to compile and run a test GTK+ program.

      --disable-glibtest

      Do not try to compile and run a test GLIB program.

      --with-libart-prefix=PFX

      Prefix where libart is installed (optional).

      --with-libart-exec-prefix=PFX

      Exec prefix where libart is installed (optional).

      --disable-libarttest

      Do not try to compile and run a test libart program.

      d1249 1 a1249 2

      Overriding configure test results

      d1251 1 a1251 25

      Sometimes, it might be necessary to override the result of some configure test, for example in order to ease porting to a new system or work around a bug in a test. The toplevel configure script provides three variables for this:

      build_configargs

      The contents of this variable is passed to all build configure scripts.

      host_configargs

      The contents of this variable is passed to all host configure scripts.

      target_configargs

      The contents of this variable is passed to all target configure scripts.

      d1253 1 a1253 7

      In order to avoid shell and make quoting issues for complex overrides, you can pass a setting for CONFIG_SITE and set variables in the site file.


      Return to the GCC Installation page

      d1255 1 d1257 1 d1259 4 d1264 3 d1268 2 d1271 2 d1274 1 d1276 3 d1280 2 d1283 10 a1293 2 @ 1.1.1.5 log @initial import of GCC 4.8.5 sources. these GCC PRs (at least) are fixed in this release: 64882 46102 58123 65409 59626 61058 65680 64487 65721 65727 52306 64768 56273 57653 59990 60656 61634 63844 64199 64493 64495 65549 57059 57569 57748 58369 62642 63608 64037 65550 65693 65220 45187 64409 61977 64513 64634 65368 66233 66470 65072 65327 65543 65279 63593 65063 65518 66123 66140 59016 64479 64557 64979 66215 66275 66481 39423 64766 63733 52714 60898 61138 63744 57023 39722 45402 52579 52664 60718 62044 59513 35330 37440 43701 see: https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.8.5 for more details. @ text @d1 3 a3 10 Installing GCC: Configuration d63 26 a88 4

      Installing GCC: Configuration

      Like most GNU software, GCC must be configured before it can be built. d91 2 a92 2

      We use srcdir to refer to the toplevel source directory for d94 7 a100 7

      If you obtained the sources via SVN, srcdir must refer to the top gcc directory, the one where the MAINTAINERS file can be found, and not its gcc subdirectory, otherwise the build will fail.

      If either srcdir or objdir is located on an automounted NFS file system, the shell's built-in pwd command will return d102 3 a104 3 problems. To avoid this issue, set the PWDCMD environment variable to an automounter-aware pwd command, e.g., pawd or ‘amq -w’, during the configuration and build d106 2 a107 2

      First, we highly recommend that GCC be built into a d110 1 a110 1 where srcdir == objdir should still work, but doesn't d113 6 a118 6

      If you have previously built GCC in the same directory for a different target machine, do ‘make distclean’ to delete all files that might be invalid. One of the files this deletes is Makefile; if ‘make distclean’ complains that Makefile does not exist or issues a message like “don't know how to make distclean” it probably d122 3 a124 3

      Second, when configuring a native system, either cc or gcc must be in your path or you must set CC in d127 1 d129 7 a135 1

      To configure GCC: d137 2 a138 5

           % mkdir objdir
           % cd objdir
           % srcdir/configure [options] [target]
      

      Distributor options

      d143 4 a146 3
      --with-pkgversion=version
      Specify a string that identifies your package. You may wish d148 8 a155 6 included in the output of gcc --version. This suffix does not replace the default version string, only the ‘GCC’ part.

      The default value is ‘GCC’.

      --with-bugurl=url
      Specify the URL that users should visit if they wish to report a bug. d158 5 d164 4 a167 8

      The default value refers to the FSF's GCC bug tracker.

      Target specification

      • GCC has code to correctly determine the correct value for target d171 1 a171 1
      • target must be specified as --target=target d175 4 a178 3
      • Specifying just target instead of --target=target implies that the host defaults to target.
      d180 2 a181 1

      Options specification

      d184 2 a185 2 GCC. A list of supported options follows; ‘configure --help’ may list other options, but those not listed below may not d187 8 a194 7

      Note that each --enable option has a corresponding --disable option and that each --with option has a corresponding --without option.

      --prefix=dirname
      Specify the toplevel installation d197 3 a199 3 /usr/local.

      We highly recommend against dirname being the same or a d201 5 a205 5 beneath a user's home directory tree, some shells will not expand dirname correctly if it contains the ‘~’ metacharacter; use $HOME instead.

      The following standard autoconf options are supported. Normally you d207 3 a209 2

      --exec-prefix=dirname
      Specify the toplevel installation directory for architecture-dependent d211 20 a230 12
      --bindir=dirname
      Specify the installation directory for the executables called by users (such as gcc and g++). The default is exec-prefix/bin.
      --libdir=dirname
      Specify the installation directory for object code libraries and internal data files of GCC. The default is exec-prefix/lib.
      --libexecdir=dirname
      Specify the installation directory for internal executables of GCC. The default is exec-prefix/libexec.
      --with-slibdir=dirname
      Specify the installation directory for the shared libgcc library. The d232 14 a245 8
      --datarootdir=dirname
      Specify the root of the directory tree for read-only architecture-independent data files referenced by GCC. The default is prefix/share.
      --infodir=dirname
      Specify the installation directory for documentation in info format. The default is datarootdir/info.
      --datadir=dirname
      Specify the installation directory for some architecture-independent d247 9 a255 5
      --docdir=dirname
      Specify the installation directory for documentation files (other than Info) for GCC. The default is datarootdir/doc.
      --htmldir=dirname
      Specify the installation directory for HTML documentation files. d257 4 a260 2
      --pdfdir=dirname
      Specify the installation directory for PDF documentation files. d262 5 a266 3
      --mandir=dirname
      Specify the installation directory for manual pages. The default is datarootdir/man. (Note that the manual pages are only extracts d270 4 a273 2
      --with-gxx-include-dir=dirname
      Specify d277 4 a280 2
      --with-specs=specs
      Specify additional command line driver SPECS. d282 2 a283 2 default without modifying the compiler's source code, for instance --with-specs=%{!fcommon:%{!fno-common:-fno-common}}. d285 3 d289 3 a291 3

      --program-prefix=prefix
      GCC supports some transformations of the names of its programs when d294 13 a306 9 --program-prefix=foo- would result in ‘gcc’ being installed as /usr/local/bin/foo-gcc.
      --program-suffix=suffix
      Appends suffix to the names of programs to install in bindir (see above). For example, specifying --program-suffix=-3.1 would result in ‘gcc’ being installed as /usr/local/bin/gcc-3.1.
      --program-transform-name=pattern
      Applies the ‘sed’ script pattern to be applied to the names d308 5 a312 5 consist of one or more basic ‘sed’ editing commands, separated by semicolons. For example, if you want the ‘gcc’ program name to be transformed to the installed program /usr/local/bin/myowngcc and the ‘g++’ program name to be transformed to /usr/local/bin/gspecial++ without changing other program names, d314 1 a314 1 --program-transform-name='s/^gcc$/myowngcc/; s/^g++$/gspecial++/' d316 2 a317 2

      All three options can be combined and used together, resulting in more d321 3 a323 3

      As currently implemented, this option only takes effect for native builds; cross compiler binaries' names are not transformed even when a d325 2 a326 2

      For native builds, some of the installed programs are also installed d328 1 a328 1 ‘i686-pc-linux-gnu-gcc’. All of the above transformations happen d330 1 a330 1 --program-prefix=foo- and program-suffix=-3.1, the d332 3 a334 3 /usr/local/bin/i686-pc-linux-gnu-foo-gcc-3.1.

      As a last shortcoming, none of the installed Ada programs are d336 4 a339 2

      --with-local-prefix=dirname
      Specify the d341 6 a346 6 /usr/local. Specify this option if you want the compiler to search directory dirname/include for locally installed header files instead of /usr/local/include.

      You should specify --with-local-prefix only if your site has a different convention (not /usr/local) for where to put d348 4 a351 4

      The default value for --with-local-prefix is /usr/local regardless of the value of --prefix. Specifying --prefix has no effect on which directory GCC searches for d354 3 a356 3

      The purpose of --prefix is to specify where to install GCC. The local header files in /usr/local/include—if you put d359 4 a362 4 another directory which is based on the --prefix value.)

      Both the local-prefix include directory and the GCC-prefix include directory are part of GCC's “system include” directories. Although these d368 2 a369 2

      Some autoconf macros add -I directory options to the d371 1 a371 1 packages' headers are searched. When directory is one of GCC's d376 3 a378 3

      GCC automatically searches for ordinary libraries using GCC_EXEC_PREFIX. Thus, when the same installation prefix is d382 3 a384 3 installed as a system compiler in /usr.

      Sites that need to install multiple versions of GCC may not want to d386 2 a387 2 --program-prefix, --program-suffix and --program-transform-name options to install multiple versions d389 1 a389 1 and the --with-local-prefix option to specify the location of the d392 9 a400 9 (e.g., with LIBRARY_PATH).

      The same value can be used for both --with-local-prefix and --prefix provided it is not /usr. This can be used to avoid the default search of /usr/local/include.

      Do not specify /usr as the --with-local-prefix! The directory you use for --with-local-prefix must not contain any of the system's standard header files. If it did contain d403 3 a405 3 file corrections made by the fixincludes script.

      Indications are that people who use this option use it based on mistaken d409 5 a413 3

      --with-native-system-header-dir=dirname
      Specifies that dirname is the directory that contains native system header files, rather than /usr/include. This option is most useful d416 1 a416 1 --with-sysroot option and will cause GCC to search d418 4 a421 2
      --enable-shared[=package[,...]]
      Build shared versions of libraries, if shared libraries are supported on d424 2 a425 2

      If a list of packages is given as an argument, build shared libraries d428 12 a439 10 ‘libgcc’ (also known as ‘gcc’), ‘libstdc++’ (not ‘libstdc++-v3’), ‘libffi’, ‘zlib’, ‘boehm-gc’, ‘ada’, ‘libada’, ‘libjava’, ‘libgo’, and ‘libobjc’. Note ‘libiberty’ does not support shared libraries at all.

      Use --disable-shared to build only static libraries. Note that --disable-shared does not accept a list of package names as argument, only --enable-shared does.

      --with-gnu-as
      Specify that the compiler should assume that the d444 1 a444 1 configured with --with-gnu-as.) If you have more than one d446 4 a449 4 connection with --with-as=pathname or --with-build-time-tools=pathname.

      The following systems are the only ones where it makes a difference d451 12 a462 10 --with-gnu-as has no effect.

      • ‘hppa1.0-any-any’
      • ‘hppa1.1-any-any’
      • ‘sparc-sun-solaris2.any’
      • ‘sparc64-any-solaris2.any’

      --with-as=pathname
      Specify that the compiler should use the assembler pointed to by d465 4 a468 4
      • Unless GCC is being built with a cross compiler, check the libexec/gcc/target/version directory. libexec defaults to exec-prefix/libexec; d470 3 a472 3 defaults to /usr/local unless overridden by the --prefix=pathname switch described above. target is the target system triple, such as ‘sparc-sun-solaris2.7’, and d475 2 a476 2
      • If the target system is the same that you are building on, check operating system specific directories (e.g. /usr/ccs/bin on d479 1 a479 1
      • Check in the PATH for a tool whose name is prefixed by the d482 1 a482 1
      • Check in the PATH for a tool whose name is not prefixed by the d485 2 a486 2 the target as well).
      d488 1 a488 1

      You may want to use --with-as if no assembler d492 4 a495 2

      --with-gnu-ld
      Same as --with-gnu-as d497 4 a500 2
      --with-ld=pathname
      Same as --with-as d502 4 a505 2
      --with-stabs
      Specify that stabs debugging d508 2 a509 2

      On MIPS based systems and on Alphas, you must specify whether you want d514 6 a519 6

      Normally, GCC uses the ECOFF debugging format by default; if you prefer BSD stabs, specify --with-stabs when you configure GCC.

      No matter which default you choose when you configure GCC, the user can use the -gcoff and -gstabs+ options to specify explicitly d521 3 a523 3

      --with-stabs is meaningful on the ISC system on the 386, also, if --with-gas is used. It selects use of stabs debugging d526 2 a527 2

      --with-stabs is also meaningful on 386 systems running SVR4. It d533 4 a536 2

      --with-tls=dialect
      Specify the default TLS dialect, for systems were there is a choice. d540 4 a543 2
      --enable-multiarch
      Specify whether to enable or disable multiarch support. The default is d546 2 a547 2 and for cross builds configured with --with-sysroot, and without --with-native-system-header-dir. d550 4 a553 2
      --disable-multilib
      Specify that multiple target d557 18 a574 11

      Some targets provide finer-grained control over which multilibs are built (e.g., --disable-softfloat):

      arm-*-*
      fpu, 26bit, underscore, interwork, biendian, nofmult.
      m68*-*-*
      softfloat, m68881, m68000, m68020.
      mips*-*-*
      single-float, biendian, softfloat.
      powerpc*-*-*, rs6000*-*-*
      aix64, pthread, softfloat, powercpu, powerpccpu, powerpcos, biendian, d576 3 d580 4 a583 3

      --with-multilib-list=list
      --without-multilib-list
      Specify what multilibs to build. d585 4 a588 3
      sh*-*-*
      list is a comma separated list of CPU names. These must be of the d591 3 a593 3 these are handled by --with-endian.

      If list is empty, then there will be no multilibs for extra d595 4 a598 4

      As a special case, if an entry in the list starts with a ! (exclamation point), then it is added to the list of excluded multilibs. Entries of this sort should be compatible with ‘MULTILIB_EXCLUDES’ d600 3 a602 3

      If --with-multilib-list is not given, then a default set of multilibs is selected based on the value of --target. This is d605 6 d612 1 a612 5

      Example 1: to configure a compiler for SH4A only, but supporting both endians, with little endian being the default:

                     --with-cpu=sh4a --with-endian=little,big --with-multilib-list=
      

      Example 2: to configure a compiler for both SH4A and SH4AL-DSP, but with d614 8 a621 4

                     --with-cpu=sh4a --with-endian=little,big \
                     --with-multilib-list=sh4al,!mb/m4al
      

      x86-64-*-linux*
      list is a comma separated list of m32, m64 and d625 4 a628 3

      If --with-multilib-list is not given, then only 32-bit and 64-bit run-time libraries will be enabled. d631 3 a633 1

      --with-endian=endians
      Specify what endians to use. d635 15 a649 7

      endians may be one of the following:

      big
      Use big endian exclusively.
      little
      Use little endian exclusively.
      big,little
      Use big endian by default. Provide a multilib for little endian.
      little,big
      Use little endian by default. Provide a multilib for big endian. d652 3 a654 1
      --enable-threads
      Specify that the target d656 1 a656 1 library, and exception handling for other languages like C++ and Java. d658 2 a659 2

      In general, the best (and, in many cases, the only known) threading d662 11 a672 7 available for the system. In this case, --enable-threads is an alias for --enable-threads=single.

      --disable-threads
      Specify that threading support should be disabled for the system. This is an alias for --enable-threads=single.
      --enable-threads=lib
      Specify that d676 35 a710 13
      aix
      AIX thread support.
      dce
      DCE thread support.
      lynx
      LynxOS thread support.
      mipssde
      MIPS SDE thread support.
      no
      This is an alias for ‘single’.
      posix
      Generic POSIX/Unix98 thread support.
      rtems
      RTEMS thread support.
      single
      Disable thread support, should work for all platforms.
      tpf
      TPF thread support.
      vxworks
      VxWorks thread support.
      win32
      Microsoft Win32 API thread support. d713 3 a715 1
      --enable-tls
      Specify that the target supports TLS (Thread Local Storage). Usually d718 1 a718 1 --enable-tls or --disable-tls. This can happen if d721 12 a732 6
      --disable-tls
      Specify that the target does not support TLS. This is an alias for --enable-tls=no.
      --with-cpu=cpu
      --with-cpu-32=cpu
      --with-cpu-64=cpu
      Specify which cpu variant the compiler should generate code for by default. cpu will be used as the default value of the -mcpu= switch. d734 2 a735 2 PowerPC, and SPARC. The --with-cpu-32 and --with-cpu-64 options specify separate default CPUs for d738 16 a753 5
      --with-schedule=cpu
      --with-arch=cpu
      --with-arch-32=cpu
      --with-arch-64=cpu
      --with-tune=cpu
      --with-tune-32=cpu
      --with-tune-64=cpu
      --with-abi=abi
      --with-fpu=type
      --with-float=type
      These configure options provide default values for the -mschedule=, -march=, -mtune=, -mabi=, and -mfpu= options and for -mhard-float or -msoft-float. As with --with-cpu, which switches will be accepted and acceptable values d755 4 a758 2
      --with-mode=mode
      Specify if the compiler should default to -marm or -mthumb. d760 4 a763 2
      --with-stack-offset=num
      This option sets the default for the -mstack-offset=num option, d766 6 a771 4
      --with-fpmath=isa
      This options sets -mfpmath=sse by default and specifies the default ISA for floating-point arithmetics. You can select either ‘sse’ which enables -msse2 or ‘avx’ which enables -mavx by default. d773 5 a777 3
      --with-divide=type
      Specify how the compiler should generate code for checking for division by zero. This option is only supported on the MIPS target. d779 8 a786 4
      traps
      Division by zero checks use conditional traps (this is the default on systems that support conditional traps).
      breaks
      Division by zero checks use the break instruction. d789 5 a793 4
      --with-llsc
      On MIPS targets, make -mllsc the default when no -mno-llsc option is passed. This is the default for d796 19 a814 11
      --without-llsc
      On MIPS targets, make -mno-llsc the default when no -mllsc option is passed.
      --with-synci
      On MIPS targets, make -msynci the default when no -mno-synci option is passed.
      --without-synci
      On MIPS targets, make -mno-synci the default when no -msynci option is passed. This is the default.
      --with-mips-plt
      On MIPS targets, make use of copy relocations and PLTs. d818 5 a822 3
      --enable-__cxa_atexit
      Define if you want to use __cxa_atexit, rather than atexit, to register C++ destructors for local statics and global objects. d826 5 a830 3 -fuse-cxa-atexit to be passed by default.
      --enable-gnu-indirect-function
      Define if you want to enable the ifunc attribute. This option is d832 5 a836 3
      --enable-target-optspace
      Specify that target libraries should be optimized for code space instead of code speed. d838 9 a846 5
      --with-cpp-install-dir=dirname
      Specify that the user visible cpp program should be installed in prefix/dirname/cpp, in addition to bindir.
      --enable-comdat
      Enable COMDAT group support. This is primarily used to override the d848 4 a851 2
      --enable-initfini-array
      Force the use of sections .init_array and .fini_array d853 1 a853 1 destructors. Option --disable-initfini-array has the d857 5 a861 3
      --enable-maintainer-mode
      The build rules that regenerate the Autoconf and Automake output files as well as the GCC master message catalog gcc.pot are normally d864 1 a864 1 catalog, configuring with --enable-maintainer-mode will enable d867 5 a871 3
      --disable-bootstrap
      For a native build, the default configuration is to perform a 3-stage bootstrap of the compiler when ‘make’ is invoked, d873 6 a878 4 this process, you can configure with --disable-bootstrap.
      --enable-bootstrap
      In special cases, you may want to perform a 3-stage build even if the target and host triplets are different. d880 1 a880 1 the target (e.g. host is i686-linux, target is i486-linux). d882 5 a886 3 with --enable-bootstrap.
      --enable-generated-files-in-srcdir
      Neither the .c and .h files that are generated from Bison and flex nor the d892 2 a893 2

      If you configure with --enable-generated-files-in-srcdir then those d898 4 a901 2

      --enable-version-specific-runtime-libs
      Specify d903 2 a904 2 subdirectory (libdir/gcc) rather than the usual places. In addition, ‘libstdc++’'s include files will be installed into d906 1 a906 1 --with-gxx-include-dir=dirname. Using this option is d908 6 a913 4 parallel. This is currently supported by ‘libgfortran’, ‘libjava’, ‘libmudflap’, ‘libstdc++’, and ‘libobjc’.
      --enable-languages=lang1,lang2,...
      Specify that only a particular subset of compilers and d916 5 a920 4 gcc directory of your GCC source tree:
                grep language= */config-lang.in
      

      Currently, you can use any of the following: d922 2 a923 2 go, java, objc, obj-c++. Building the Ada compiler has special requirements, see below. d925 1 a925 1 default languages available in the gcc sub-tree will be configured. d927 4 a930 2

      --enable-stage1-languages=lang1,lang2,...
      Specify that a particular subset of compilers and their runtime d934 2 a935 2 --enable-languages, and the option all will select all of the languages enabled by --enable-languages. This option is d940 7 a946 5 specified languages with the stage-1 compiler by using make stage1-bubble all-target, or run the testsuite on the stage-1 compiler for the specified languages using make stage1-start check-gcc.
      --disable-libada
      Specify that the run-time libraries and tools used by GNAT should not d949 5 a953 3 do a ‘make -C gcc gnatlib_and_tools’.
      --disable-libssp
      Specify that the run-time libraries for stack smashing protection d955 4 a958 2
      --disable-libquadmath
      Specify that the GCC quad-precision math library should not be built. d960 1 a960 1 the Fortran front end, unless --disable-libquadmath-support d962 4 a965 2
      --disable-libquadmath-support
      Specify that the Fortran front end and libgfortran do not add d967 8 a974 4
      --disable-libgomp
      Specify that the run-time libraries used by GOMP should not be built.
      --with-dwarf2
      Specify that the compiler should d976 5 a980 2
      --enable-targets=all
      --enable-targets=target_list
      Some GCC targets, e.g. powerpc64-linux, build bi-arch compilers. d982 1 a982 1 code. Typically, the corresponding 32-bit target, e.g. d986 1 a986 1 you are building a bi-arch or multi-arch binutils in a combined tree. d988 1 a988 1 defaulted to o32. d991 4 a994 2
      --enable-secureplt
      This option enables -msecure-plt by default for powerpc-linux. d996 4 a999 2
      --enable-cld
      This option enables -mcld by default for 32-bit x86 targets. d1001 6 a1006 2
      --enable-win32-registry
      --enable-win32-registry=key
      --disable-win32-registry
      The --enable-win32-registry option enables Microsoft Windows-hosted GCC d1008 4 d1013 2 a1014 4
                HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\key
      

      key defaults to GCC version number, and can be overridden by the --enable-win32-registry=key option. Vendors and distributors d1018 1 a1018 1 by default, and can be disabled by --disable-win32-registry d1020 15 a1034 8

      --nfp
      Specify that the machine does not have a floating point unit. This option only applies to ‘m68k-sun-sunosn’. On any other system, --nfp has no effect.
      --enable-werror
      --disable-werror
      --enable-werror=yes
      --enable-werror=no
      When you specify this option, it controls whether certain files in the compiler are built with -Werror in bootstrap stage2 and later. If you don't specify it, -Werror is turned on for the main d1036 1 a1036 1 final releases. The specific files which get -Werror are d1038 5 a1042 2
      --enable-checking
      --enable-checking=list
      When you specify this option, the compiler is built to perform internal d1046 3 a1048 3 the compiler with GCC. This is ‘yes’ by default when building from SVN or snapshots, but ‘release’ for releases. The default for building the stage1 compiler is ‘yes’. More control d1050 9 a1058 9 checks available are ‘yes’ (most common checks ‘assert,misc,tree,gc,rtlflag,runtime’), ‘no’ (no checks at all), ‘all’ (all but ‘valgrind’), ‘release’ (cheapest checks ‘assert,runtime’) or ‘none’ (same as ‘no’). Individual checks can be enabled with these flags ‘assert’, ‘df’, ‘fold’, ‘gc’, ‘gcac’ ‘misc’, ‘rtl’, ‘rtlflag’, ‘runtime’, ‘tree’, and ‘valgrind’.

      The ‘valgrind’ check requires the external valgrind d1060 3 a1062 3 ‘df’, ‘rtl’, ‘gcac’ and ‘valgrind’ checks are very expensive. To disable all checking, ‘--disable-checking’ or ‘--enable-checking=none’ must be explicitly requested. Disabling d1066 7 a1072 3

      --disable-stage1-checking
      --enable-stage1-checking
      --enable-stage1-checking=list
      If no --enable-checking option is specified the stage1 compiler will be built with ‘yes’ checking enabled, otherwise d1074 3 a1076 3 --enable-checking. To build the stage1 compiler with different checking options use --enable-stage1-checking. The list of checking options is the same as for --enable-checking. d1078 1 a1078 1 with checking for stage1 enabled, you can use ‘--disable-stage1-checking’ d1080 5 a1084 2
      --enable-coverage
      --enable-coverage=level
      With this option, the compiler is built to collect self coverage d1088 1 a1088 1 not, values are ‘opt’ and ‘noopt’. For coverage analysis you d1092 4 a1095 2
      --enable-gather-detailed-mem-stats
      When this option is specified more detailed information on memory d1097 6 a1102 3 -fmem-report.
      --enable-nls
      --disable-nls
      The --enable-nls option enables Native Language Support (NLS), d1105 10 a1114 6 canadian cross build. The --disable-nls option disables NLS.
      --with-included-gettext
      If NLS is enabled, the --with-included-gettext option causes the build procedure to prefer its copy of GNU gettext.
      --with-catgets
      If NLS is enabled, and if the host lacks gettext but has the d1116 12 a1127 8 ignores catgets and instead uses GCC's copy of the GNU gettext library. The --with-catgets option causes the build procedure to use the host's catgets in this situation.
      --with-libiconv-prefix=dir
      Search for libiconv header files in dir/include and libiconv library files in dir/lib.
      --enable-obsolete
      Enable configuration for an obsoleted system. If you attempt to d1131 2 a1132 2

      All support for systems which have been obsoleted in one release of GCC d1135 9 a1143 2

      --enable-decimal-float
      --enable-decimal-float=yes
      --enable-decimal-float=no
      --enable-decimal-float=bid
      --enable-decimal-float=dpd
      --disable-decimal-float
      Enable (or disable) support for the C decimal floating point extension d1148 2 a1149 2 ‘bid’ or ‘dpd’). The ‘bid’ (binary integer decimal) format is default on i386 and x86_64 systems, and the ‘dpd’ d1151 5 a1155 2
      --enable-fixed-point
      --disable-fixed-point
      Enable (or disable) support for C fixed-point arithmetic. d1159 4 a1162 2
      --with-long-double-128
      Specify if long double type should be 128-bit by default on selected d1164 1 a1164 1 long double will be by default 64-bit, the same as double type. d1168 12 a1179 2
      --with-gmp=pathname
      --with-gmp-include=pathname
      --with-gmp-lib=pathname
      --with-mpfr=pathname
      --with-mpfr-include=pathname
      --with-mpfr-lib=pathname
      --with-mpc=pathname
      --with-mpc-include=pathname
      --with-mpc-lib=pathname
      If you want to build GCC but do not have the GMP library, the MPFR d1183 12 a1194 12 (‘--with-gmp=gmpinstalldir’, ‘--with-mpfr=mpfrinstalldir’, ‘--with-mpc=mpcinstalldir’). The --with-gmp=gmpinstalldir option is shorthand for --with-gmp-lib=gmpinstalldir/lib and --with-gmp-include=gmpinstalldir/include. Likewise the --with-mpfr=mpfrinstalldir option is shorthand for --with-mpfr-lib=mpfrinstalldir/lib and --with-mpfr-include=mpfrinstalldir/include, also the --with-mpc=mpcinstalldir option is shorthand for --with-mpc-lib=mpcinstalldir/lib and --with-mpc-include=mpcinstalldir/include. If these d1199 3 a1201 3 variable (LD_LIBRARY_PATH on GNU/Linux and Solaris systems).

      These flags are applicable to the host platform only. When building d1203 9 a1211 2

      --with-isl=pathname
      --with-isl-include=pathname
      --with-isl-lib=pathname
      --with-cloog=pathname
      --with-cloog-include=pathname
      --with-cloog-lib=pathname
      If you do not have ISL and the CLooG d1214 8 a1221 8 (‘--with-isl=islinstalldir’, ‘--with-cloog=clooginstalldir’). The --with-isl=islinstalldir option is shorthand for --with-isl-lib=islinstalldir/lib and --with-isl-include=islinstalldir/include. Likewise the --with-cloog=clooginstalldir option is shorthand for --with-cloog-lib=clooginstalldir/lib and --with-cloog-include=clooginstalldir/include. If these d1224 2 a1225 2

      These flags are applicable to the host platform only. When building d1227 4 a1230 2

      --with-host-libstdcxx=linker-args
      If you are linking with a static copy of PPL, you can use this option d1233 1 a1233 1 ‘-lstdc++’ or ‘-Wl,-Bstatic,-lstdc++,-Bdynamic -lm’. If you are d1237 4 a1240 2
      --with-stage1-ldflags=flags
      This option may be used to set linker flags to be used when linking d1242 5 a1246 3 --disable-bootstrap. By default no special flags are used.
      --with-stage1-libs=libs
      This option may be used to set libraries to be used when linking stage 1 d1248 6 a1253 4 --disable-bootstrap. The default is the argument to --with-host-libstdcxx, if specified.
      --with-boot-ldflags=flags
      This option may be used to set linker flags to be used when linking d1256 5 a1260 3 ‘-static-libstdc++ -static-libgcc’.
      --with-boot-libs=libs
      This option may be used to set libraries to be used when linking stage 2 d1262 5 a1266 3 --with-host-libstdcxx, if specified.
      --with-debug-prefix-map=map
      Convert source directory names using -fdebug-prefix-map when d1268 6 a1273 4 list of maps of the form ‘old=new’.
      --enable-linker-build-id
      Tells GCC to pass --build-id option to the linker for all final links (links performed without the -r or --relocatable d1275 7 a1281 5 --enable-linker-build-id, but your linker does not support --build-id option, a warning is issued and the --enable-linker-build-id option is ignored. The default is off.
      --with-linker-hash-style=choice
      Tells GCC to pass --hash-style=choice option to the d1283 6 a1288 3 ‘sysv’, ‘gnu’, and ‘both’ where ‘sysv’ is the default.
      --enable-gnu-unique-object
      --disable-gnu-unique-object
      Tells GCC to use the gnu_unique_object relocation for C++ template d1292 11 a1302 6
      --enable-lto
      --disable-lto
      Enable support for link-time optimization (LTO). This is enabled by default, and may be disabled using --disable-lto.
      --with-plugin-ld=pathname
      Enable an alternate linker to be used at link-time optimization (LTO) link time when -fuse-linker-plugin is enabled. d1304 7 a1310 4 version 2.20 or GNU ld starting with version 2.21. See -fuse-linker-plugin for details.
      --enable-canonical-system-headers
      --disable-canonical-system-headers
      Enable system header path canonicalization for libcpp. This can d1314 2 a1315 1 --disable-canonical-system-headers. d1318 2 a1319 2

      Cross-Compiler-Specific Options

      d1321 6 a1326 4
      --with-sysroot
      --with-sysroot=dir
      Tells GCC to consider dir as the root of a tree that contains (a subset of) the root filesystem of the target operating system. d1329 1 a1329 1 --sysroot=dir was added to the default options of the built d1331 5 a1335 5 install tree, unlike the options --with-headers and --with-libs that this option obsoletes. The default value, in case --with-sysroot is not given an argument, is ${gcc_tooldir}/sys-root. If the specified directory is a subdirectory of ${exec_prefix}, then it will be found relative to d1337 2 a1338 2

      This option affects the system root for the compiler used to build d1342 2 a1343 2

      If you specify the --with-native-system-header-dir=dirname d1345 11 a1355 8 native system headers rather than the default /usr/include.

      --with-build-sysroot
      --with-build-sysroot=dir
      Tells GCC to consider dir as the system root (see --with-sysroot) while building target libraries, instead of the directory specified with --with-sysroot. This option is only useful when you are already using --with-sysroot. You can use --with-build-sysroot when you are configuring with --prefix set to a directory that is different from the one in d1357 2 a1358 2

      This option affects the system root for the compiler used to build d1361 2 a1362 2

      If you specify the --with-native-system-header-dir=dirname d1364 7 a1370 4 native system headers rather than the default /usr/include.

      --with-headers
      --with-headers=dir
      Deprecated in favor of --with-sysroot. Specifies that target headers are available when building a cross compiler. d1372 5 a1376 5 files. These include files will be copied into the gcc install directory. This option with the dir argument is required when building a cross compiler, if prefix/target/sys-include doesn't pre-exist. If prefix/target/sys-include does pre-exist, the dir argument may be omitted. fixincludes d1378 4 a1381 2
      --without-headers
      Tells GCC not use any target headers from a libc when building a cross d1384 5 a1388 2
      --with-libs
      --with-libs="dir1 dir2 ... dirN"
      Deprecated in favor of --with-sysroot. d1390 1 a1390 1 libraries. These libraries will be copied into the gcc install d1393 4 a1396 2
      --with-newlib
      Specifies that ‘newlib’ is d1398 6 a1403 4 omitted from libgcc.a on the assumption that it will be provided by ‘newlib’.
      --with-avrlibc
      Specifies that ‘AVR-Libc’ is d1405 3 a1407 3 functions like __addsf3 to be omitted from libgcc.a on the assumption that it will be provided by libm.a. For more technical details, cf. PR54461. d1411 4 a1414 2
      --with-build-time-tools=dir
      Specifies where to find the set of target tools (assembler, linker, etc.) d1418 3 a1420 3

      For example, on an ‘ia64-hp-hpux’ system, you may have the GNU assembler and linker in /usr/bin, and the native tools in a d1422 8 a1429 7 native tools in /usr/bin.

      When you use this option, you should ensure that dir includes ar, as, ld, nm, ranlib and strip if necessary, and possibly objdump. Otherwise, GCC may use an inconsistent set of tools. d1432 2 a1433 1

      Java-Specific Options

      d1436 4 a1439 3
      --disable-libgcj
      Specify that the run-time libraries d1441 1 a1441 1 to use GCJ with some other run-time, or you're going to install it d1444 2 a1445 2 libraries will be enabled too, unless they're known to not work on the target platform. If GCJ is enabled but ‘libgcj’ isn't built, you d1447 5 a1451 8 configure.in so that ‘libgcj’ is enabled by default on this platform, you may use --enable-libgcj to override the default.

      The following options apply to building ‘libgcj’.

      General Options
      d1453 11 a1463 5
      --enable-java-maintainer-mode
      By default the ‘libjava’ build will not attempt to compile the .java source files to .class. Instead, it will use the .class files from the source tree. If you use this option you must have executables named ecj1 and gjavah in your path d1465 14 a1478 10 modify any .java files in libjava.
      --with-java-home=dirname
      This ‘libjava’ option overrides the default value of the ‘java.home’ system property. It is also used to set ‘sun.boot.class.path’ to dirname/lib/rt.jar. By default ‘java.home’ is set to prefix and ‘sun.boot.class.path’ to datadir/java/libgcj-version.jar.
      --with-ecj-jar=filename
      This option can be used to specify the location of an external jar d1480 3 a1482 3 version of this compiler is used by gcj to parse .java source files. If this option is given, the ‘libjava’ build will create and install an ecj1 executable d1484 8 a1491 8

      If this option is not given, but an ecj.jar file is found in the topmost source tree at configure time, then the ‘libgcj’ build will create and install ecj1, and will also install the discovered ecj.jar into a suitable place in the install tree.

      If ecj1 is not installed, then the user will have to supply one on his path in order for gcj to properly parse .java d1494 9 a1502 5

      --disable-getenv-properties
      Don't set system properties from GCJ_PROPERTIES.
      --enable-hash-synchronization
      Use a global hash table for monitor locks. Ordinarily, ‘libgcj’'s ‘configure’ script automatically makes d1505 4 a1508 2
      --enable-interpreter
      Enable the Java interpreter. The interpreter is automatically d1511 5 a1515 3 (using --disable-interpreter).
      --disable-java-net
      Disable java.net. This disables the native part of java.net only, d1517 10 a1526 6
      --disable-jvmpi
      Disable JVMPI support.
      --disable-libgcj-bc
      Disable BC ABI compilation of certain parts of libgcj. By default, some portions of libgcj are compiled with -findirect-dispatch and -fno-indirect-classes, allowing them to be overridden at d1528 2 a1529 2

      If --disable-libgcj-bc is specified, libgcj is built without d1533 4 a1536 2

      --enable-reduced-reflection
      Build most of libgcj with -freduced-reflection. This reduces d1541 19 a1559 11
      --with-ecos
      Enable runtime eCos target support.
      --without-libffi
      Don't use ‘libffi’. This will disable the interpreter and JNI support as well, as these require ‘libffi’ to work.
      --enable-libgcj-debug
      Enable runtime debugging code.
      --enable-libgcj-multifile
      If specified, causes all .java source files to be compiled into .class files in one invocation of ‘gcj’. This can speed up build time, but is more d1561 11 a1571 7 disabled, ‘gcj’ is invoked once for each .java file to compile into a .class file.
      --with-libiconv-prefix=DIR
      Search for libiconv in DIR/include and DIR/lib.
      --enable-sjlj-exceptions
      Force use of the setjmp/longjmp-based scheme for exceptions. ‘configure’ ordinarily picks the correct value based on the platform. d1573 8 a1580 4
      --with-system-zlib
      Use installed ‘zlib’ rather than that included with GCC.
      --with-win32-nlsapi=ansi, unicows or unicode
      Indicates how MinGW ‘libgcj’ translates between UNICODE d1582 4 a1585 2
      --enable-java-home
      If enabled, this creates a JPackage compatible SDK environment during install. d1588 4 a1591 2
      --with-arch-directory=ARCH
      Specifies the name to use for the jre/lib/ARCH directory in the SDK d1594 9 a1602 5
      --with-os-directory=DIR
      Specifies the OS directory for the SDK include directory. This is set to auto detect, and is typically 'linux'.
      --with-origin-name=NAME
      Specifies the JPackage origin name. This defaults to the 'gcj' in d1604 17 a1620 9
      --with-arch-suffix=SUFFIX
      Specifies the suffix for the sdk directory. Defaults to the empty string. Examples include '.x86_64' in 'java-1.5.0-gcj-1.5.0.0.x86_64'.
      --with-jvm-root-dir=DIR
      Specifies where to install the SDK. Default is $(prefix)/lib/jvm.
      --with-jvm-jar-dir=DIR
      Specifies where to install jars. Default is $(prefix)/lib/jvm-exports.
      --with-python-dir=DIR
      Specifies where to install the Python modules used for aot-compile. DIR should d1625 12 a1636 6
      --enable-aot-compile-rpm
      Adds aot-compile-rpm to the list of installed scripts.
      --enable-browser-plugin
      Build the gcjwebplugin web browser plugin.
      --enable-static-libjava
      Build static libraries in libjava. The default is to only build shared d1638 4 a1641 3
      ansi
      Use the single-byte char and the Win32 A functions natively, d1644 8 a1651 6
      unicows
      Use the WCHAR and Win32 W functions natively. Adds -lunicows to libgcj.spec to link with ‘libunicows’. unicows.dll needs to be deployed on Microsoft Windows 9X machines running built executables. libunicows.a, an open-source import library around Microsoft's unicows.dll, is obtained from d1653 10 a1662 5 on getting unicows.dll from Microsoft.
      unicode
      Use the WCHAR and Win32 W functions natively. Does not add -lunicows to libgcj.spec. The built executables will only run on Microsoft Windows NT and above. a1663 1
      d1665 2 a1666 1
      AWT-Specific Options
      d1668 42 a1709 2
      --with-x
      Use the X Window System. d1711 2 a1712 5
      --enable-java-awt=PEER(S)
      Specifies the AWT peer library or libraries to build alongside ‘libgcj’. If this option is unspecified or disabled, AWT will be non-functional. Current valid values are gtk and xlib. Multiple libraries should be separated by a comma (i.e. --enable-java-awt=gtk,xlib). d1714 25 a1738 1
      --enable-gtk-cairo
      Build the cairo Graphics2D implementation on GTK. d1740 7 a1746 3
      --enable-java-gc=TYPE
      Choose garbage collector. Defaults to boehm if unspecified.
      --disable-gtktest
      Do not try to compile and run a test GTK+ program. a1747 1
      --disable-glibtest
      Do not try to compile and run a test GLIB program. a1748 1
      --with-libart-prefix=PFX
      Prefix where libart is installed (optional). a1749 1
      --with-libart-exec-prefix=PFX
      Exec prefix where libart is installed (optional). a1750 1
      --disable-libarttest
      Do not try to compile and run a test libart program. a1751 1
      a1752 1
      Overriding configure test results
      a1753 4

      Sometimes, it might be necessary to override the result of some configure test, for example in order to ease porting to a new system or work around a bug in a test. The toplevel configure script provides three variables for this: a1754 15

      build_configargs
      The contents of this variable is passed to all build configure scripts.
      host_configargs
      The contents of this variable is passed to all host configure scripts.
      target_configargs
      The contents of this variable is passed to all target configure scripts.

      In order to avoid shell and make quoting issues for complex overrides, you can pass a setting for CONFIG_SITE and set variables in the site file. a1755 2


      Return to the GCC Installation page a1756 10 d1758 2 @ 1.1.1.6 log @import GCC 5.3.0. see these urls for details which are too large to include here: http://gcc.gnu.org/gcc-4.9/changes.html http://gcc.gnu.org/gcc-5/changes.html (note that GCC 5.x is a release stream like GCC 4.9.x, 4.8.x, etc.) the main issues we will have are: The default mode for C is now -std=gnu11 instead of -std=gnu89. ARM: The deprecated option -mwords-little-endian has been removed. The options -mapcs, -mapcs-frame, -mtpcs-frame and -mtpcs-leaf-frame which are only applicable to the old ABI have been deprecated. MIPS: The o32 ABI has been modified and extended. The o32 64-bit floating-point register support is now obsolete and has been removed. It has been replaced by three ABI extensions FPXX, FP64A, and FP64. The meaning of the -mfp64 command-line option has changed. It is now used to enable the FP64A and FP64 ABI extensions. @ text @a341 12

      Contrast with --enable-host-shared, which affects host code.

      --enable-host-shared
      Specify that the host code should be built into position-independent machine code (with -fPIC), allowing it to be used within shared libraries, but yielding a slightly slower compiler.

      This option is required when building the libgccjit.so library.

      Contrast with --enable-shared, which affects target libraries. a441 11

      --enable-vtable-verify
      Specify whether to enable or disable the vtable verification feature. Enabling this feature causes libstdc++ to be built with its virtual calls in verifiable mode. This means that, when linked with libvtv, every virtual call in libstdc++ will verify the vtable pointer through which the call will be made before actually making the call. If not linked with libvtv, the verifier will call stub functions (in libstdc++ itself) and do nothing. If vtable verification is disabled, then libstdc++ is not built with its virtual calls in verifiable mode at all. However the libvtv library will still be built (see --disable-libvtv to turn off building libvtv). --disable-vtable-verify is the default. d557 2 a558 2 This option is only supported on some targets, including ARC, ARM, i386, M68k, PowerPC, and SPARC. It is mandatory for ARC. The --with-cpu-32 and a580 35
      --with-fp-32=mode
      On MIPS targets, set the default value for the -mfp option when using the o32 ABI. The possibilities for mode are:
      32
      Use the o32 FP32 ABI extension, as with the -mfp32 command-line option.
      xx
      Use the o32 FPXX ABI extension, as with the -mfpxx command-line option.
      64
      Use the o32 FP64 ABI extension, as with the -mfp64 command-line option.
      In the absence of this configuration option the default is to use the o32 FP32 ABI extension.
      --with-odd-spreg-32
      On MIPS targets, set the -modd-spreg option by default when using the o32 ABI.
      --without-odd-spreg-32
      On MIPS targets, set the -mno-odd-spreg option by default when using the o32 ABI. This is normally used in conjunction with --with-fp-32=64 in order to target the o32 FP64A ABI extension.
      --with-nan=encoding
      On MIPS targets, set the default encoding convention to use for the special not-a-number (NaN) IEEE 754 floating-point data. The possibilities for encoding are:
      legacy
      Use the legacy encoding, as with the -mnan=legacy command-line option.
      2008
      Use the 754-2008 encoding, as with the -mnan=2008 command-line option.
      To use this configuration option you must have an assembler version installed that supports the -mnan= command-line option too. In the absence of this configuration option the default convention is the legacy encoding, as when neither of the -mnan=2008 and -mnan=legacy command-line options has been used. a637 4
      --enable-link-mutex
      When building GCC, use a mutex to avoid linking the compilers for multiple languages at the same time, to avoid thrashing on build systems with limited free memory. The default is not to use such a mutex. d679 1 a679 96 ‘libjava’, ‘libstdc++’, and ‘libobjc’.
      --with-aix-soname=‘aix’, ‘svr4’ or ‘both’
      Traditional AIX shared library versioning (versioned Shared Object files as members of unversioned Archive Library files named ‘lib.a’) causes numerous headaches for package managers. However, Import Files as members of Archive Library files allow for filename-based versioning of shared libraries as seen on Linux/SVR4, where this is called the "SONAME". But as they prevent static linking, Import Files may be used with Runtime Linking only, where the linker does search for ‘libNAME.so’ before ‘libNAME.a’ library filenames with the ‘-lNAME’ linker flag.

      For detailed information please refer to the AIX ld Command reference.

      As long as shared library creation is enabled, upon:

      --with-aix-soname=aix
      --with-aix-soname=both
      A (traditional AIX) Shared Archive Library file is created:
      • using the ‘libNAME.a’ filename scheme
      • with the Shared Object file as archive member named ‘libNAME.so.V’ (except for ‘libgcc_s’, where the Shared Object file is named ‘shr.o’ for backwards compatibility), which
        • is used for runtime loading from inside the ‘libNAME.a’ file
        • is used for dynamic loading via dlopen("libNAME.a(libNAME.so.V)", RTLD_MEMBER)
        • is used for shared linking
        • is used for static linking, so no separate Static Archive Library file is needed

      --with-aix-soname=both
      --with-aix-soname=svr4
      A (second) Shared Archive Library file is created:
      • using the ‘libNAME.so.V’ filename scheme
      • with the Shared Object file as archive member named ‘shr.o’, which
        • is created with the -G linker flag
        • has the F_LOADONLY flag set
        • is used for runtime loading from inside the ‘libNAME.so.V’ file
        • is used for dynamic loading via dlopen("libNAME.so.V(shr.o)", RTLD_MEMBER)
      • with the Import File as archive member named ‘shr.imp’, which
        • refers to ‘libNAME.so.V(shr.o)’ as the "SONAME", to be recorded in the Loader Section of subsequent binaries
        • indicates whether ‘libNAME.so.V(shr.o)’ is 32 or 64 bit
        • lists all the public symbols exported by ‘lib.so.V(shr.o)’, eventually decorated with the ‘weak’ Keyword
        • is necessary for shared linking against ‘lib.so.V(shr.o)’
      A symbolic link using the ‘libNAME.so’ filename scheme is created:
      • pointing to the ‘libNAME.so.V’ Shared Archive Library file
      • to permit the ld Command to find ‘lib.so.V(shr.imp)’ via the ‘-lNAME’ argument (requires Runtime Linking to be enabled)
      • to permit dynamic loading of ‘lib.so.V(shr.o)’ without the need to specify the version number via dlopen("libNAME.so(shr.o)", RTLD_MEMBER)

      As long as static library creation is enabled, upon:

      --with-aix-soname=svr4
      A Static Archive Library is created:
      • using the ‘libNAME.a’ filename scheme
      • with all the Static Object files as archive members, which
        • are used for static linking

      While the aix-soname=‘svr4’ option does not create Shared Object files as members of unversioned Archive Library files any more, package managers still are responsible to transfer Shared Object files found as member of a previously installed unversioned Archive Library file into the newly installed Archive Library file with the same filename.

      WARNING: Creating Shared Object files with Runtime Linking enabled may bloat the TOC, eventually leading to TOC overflow errors, requiring the use of either the -Wl,-bbigtoc linker flag (seen to break with the GDB debugger) or some of the TOC-related compiler flags, see “RS/6000 and PowerPC Options” in the main manual.

      --with-aix-soname is currently supported by ‘libgcc_s’ only, so this option is still experimental and not for normal use yet.

      Default is the traditional behaviour --with-aix-soname=‘aix’. a713 3

      --disable-libsanitizer
      Specify that the run-time libraries for the various sanitizers should not be built. d725 1 a725 5
      --disable-libgomp
      Specify that the GNU Offloading and Multi Processing Runtime Library should not be built.
      --disable-libvtv
      Specify that the run-time libraries used by vtable verification should not be built. d892 5 a896 3
      --with-isl=pathname
      --with-isl-include=pathname
      --with-isl-lib=pathname
      If you do not have the ISL library installed in a standard location and you want to build GCC, you can explicitly specify the directory where it is installed (‘--with-isl=islinstalldir’). The d899 5 a903 2 --with-isl-include=islinstalldir/include. If this shorthand assumption is not correct, you can use the explicit d952 1 a952 1 default for a toolchain with an assembler that accepts it and a954 8
      --with-diagnostics-color=choice
      Tells GCC to use choice as the default for -fdiagnostics-color= option (if not used explicitly on the command line). choice can be one of ‘never’, ‘auto’, ‘always’, and ‘auto-if-env’ where ‘auto’ is the default. ‘auto-if-env’ means that -fdiagnostics-color=auto will be the default if GCC_COLORS is present and non-empty in the environment, and -fdiagnostics-color=never otherwise. a957 15
      --enable-linker-plugin-configure-flags=FLAGS
      --enable-linker-plugin-flags=FLAGS
      By default, linker plugins (such as the LTO plugin) are built for the host system architecture. For the case that the linker has a different (but run-time compatible) architecture, these flags can be specified to build plugins that are compatible to the linker. For example, if you are building GCC for a 64-bit x86_64 (‘x86_64-unknown-linux-gnu’) host system, but have a 32-bit x86 GNU/Linux (‘i686-pc-linux-gnu’) linker executable (which is executable on the former system), you can configure GCC as follows for getting compatible linker plugins:
                % srcdir/configure \
                    --host=x86_64-unknown-linux-gnu \
                    --enable-linker-plugin-configure-flags=--host=i686-pc-linux-gnu \
                    --enable-linker-plugin-flags='CC=gcc\ -m32\ -Wl,-rpath,[...]/i686-pc-linux-gnu/lib'
      
      d968 2 a969 24 --disable-canonical-system-headers.
      --with-glibc-version=major.minor
      Tell GCC that when the GNU C Library (glibc) is used on the target it will be version major.minor or later. Normally this can be detected from the C library's header files, but this option may be needed when bootstrapping a cross toolchain without the header files available for building the initial bootstrap compiler.

      If GCC is configured with some multilibs that use glibc and some that do not, this option applies only to the multilibs that use glibc. However, such configurations may not work well as not all the relevant configuration in GCC is on a per-multilib basis.

      --enable-as-accelerator-for=target
      Build as offload target compiler. Specify offload host triple by target.
      --enable-offload-targets=target1[=path1],...,targetN[=pathN]
      Enable offloading to targets target1, ..., targetN. Offload compilers are expected to be already installed. Default search path for them is exec-prefix, but it can be changed by specifying paths path1, ..., pathN.
                % srcdir/configure \
                    --enable-offload-target=i686-unknown-linux-gnu=/path/to/i686/compiler,x86_64-pc-linux-gnu
      
      a1047 4
      --with-nds32-lib=library
      Specifies that library setting is used for building libgcc.a. Currently, the valid library is ‘newlib’ or ‘mculib’. This option is only supported for the NDS32 target. @ 1.1.1.7 log @initial import of GCC 5.5.0. this fixes a very large number of PRs. 280 are listed here: https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=5.5 and this list is likely not complete, and not reproduced here. the only specific change in functionality is removal of x86 "pcommit" instruction (which was apparently never implemented.) @ text @d1 10 a10 3 Installing GCC d41 6 d48 2 a49 11

      Installing GCC

      d51 3 d55 2 a56 24

      Like most GNU software, GCC must be configured before it can be built. This document describes the recommended configuration procedure for both native and cross targets.

      We use srcdir to refer to the toplevel source directory for GCC; we use objdir to refer to the toplevel build/object directory.

      If you obtained the sources via SVN, srcdir must refer to the top gcc directory, the one where the MAINTAINERS file can be found, and not its gcc subdirectory, otherwise the build will fail.

      If either srcdir or objdir is located on an automounted NFS file system, the shell’s built-in pwd command will return d58 3 a60 3 problems. To avoid this issue, set the PWDCMD environment variable to an automounter-aware pwd command, e.g., pawd or ‘amq -w’, during the configuration and build d62 2 a63 2

      First, we highly recommend that GCC be built into a d66 1 a66 1 where srcdir == objdir should still work, but doesn’t d69 6 a74 6

      If you have previously built GCC in the same directory for a different target machine, do ‘make distclean’ to delete all files that might be invalid. One of the files this deletes is Makefile; if ‘make distclean’ complains that Makefile does not exist or issues a message like “don’t know how to make distclean” it probably d78 3 a80 3

      Second, when configuring a native system, either cc or gcc must be in your path or you must set CC in a82 1

      d84 1 a84 7

      To configure GCC:

      % mkdir objdir
      % cd objdir
      % srcdir/configure [options] [target]
      
      d86 5 a90 2

      Distributor options

      d95 3 a97 4

      --with-pkgversion=version

      Specify a string that identifies your package. You may wish d99 6 a104 8 included in the output of gcc --version. This suffix does not replace the default version string, only the ‘GCC’ part.

      The default value is ‘GCC’.

      --with-bugurl=url

      Specify the URL that users should visit if they wish to report a bug. a106 5

      The default value refers to the FSF’s GCC bug tracker.

      d108 8 a115 4

      Target specification

      • GCC has code to correctly determine the correct value for target d119 1 a119 1
      • target must be specified as --target=target d123 3 a125 4
      • Specifying just target instead of --target=target implies that the host defaults to target.
      d127 1 a127 2

      Options specification

      d130 2 a131 2 GCC. A list of supported options follows; ‘configure --help’ may list other options, but those not listed below may not d133 7 a139 8

      Note that each --enable option has a corresponding --disable option and that each --with option has a corresponding --without option.

      --prefix=dirname

      Specify the toplevel installation d142 3 a144 3 /usr/local.

      We highly recommend against dirname being the same or a d146 5 a150 5 beneath a user’s home directory tree, some shells will not expand dirname correctly if it contains the ‘~’ metacharacter; use $HOME instead.

      The following standard autoconf options are supported. Normally you d152 2 a153 3

      --exec-prefix=dirname

      Specify the toplevel installation directory for architecture-dependent d155 12 a166 20

      --bindir=dirname

      Specify the installation directory for the executables called by users (such as gcc and g++). The default is exec-prefix/bin.

      --libdir=dirname

      Specify the installation directory for object code libraries and internal data files of GCC. The default is exec-prefix/lib.

      --libexecdir=dirname

      Specify the installation directory for internal executables of GCC. The default is exec-prefix/libexec.

      --with-slibdir=dirname

      Specify the installation directory for the shared libgcc library. The d168 8 a175 14

      --datarootdir=dirname

      Specify the root of the directory tree for read-only architecture-independent data files referenced by GCC. The default is prefix/share.

      --infodir=dirname

      Specify the installation directory for documentation in info format. The default is datarootdir/info.

      --datadir=dirname

      Specify the installation directory for some architecture-independent d177 5 a181 9

      --docdir=dirname

      Specify the installation directory for documentation files (other than Info) for GCC. The default is datarootdir/doc.

      --htmldir=dirname

      Specify the installation directory for HTML documentation files. d183 2 a184 4

      --pdfdir=dirname

      Specify the installation directory for PDF documentation files. d186 3 a188 5

      --mandir=dirname

      Specify the installation directory for manual pages. The default is datarootdir/man. (Note that the manual pages are only extracts d192 2 a193 4

      --with-gxx-include-dir=dirname

      Specify d197 2 a198 4

      --with-specs=specs

      Specify additional command line driver SPECS. d200 2 a201 2 default without modifying the compiler’s source code, for instance --with-specs=%{!fcommon:%{!fno-common:-fno-common}}. a202 3

      d204 3 a206 3
      --program-prefix=prefix

      GCC supports some transformations of the names of its programs when d209 9 a217 13 --program-prefix=foo- would result in ‘gcc’ being installed as /usr/local/bin/foo-gcc.

      --program-suffix=suffix

      Appends suffix to the names of programs to install in bindir (see above). For example, specifying --program-suffix=-3.1 would result in ‘gcc’ being installed as /usr/local/bin/gcc-3.1.

      --program-transform-name=pattern

      Applies the ‘sed’ script pattern to be applied to the names d219 5 a223 5 consist of one or more basic ‘sed’ editing commands, separated by semicolons. For example, if you want the ‘gcc’ program name to be transformed to the installed program /usr/local/bin/myowngcc and the ‘g++’ program name to be transformed to /usr/local/bin/gspecial++ without changing other program names, d225 1 a225 1 --program-transform-name='s/^gcc$/myowngcc/; s/^g++$/gspecial++/' d227 2 a228 2

      All three options can be combined and used together, resulting in more d232 3 a234 3

      As currently implemented, this option only takes effect for native builds; cross compiler binaries’ names are not transformed even when a d236 2 a237 2

      For native builds, some of the installed programs are also installed d239 1 a239 1 ‘i686-pc-linux-gnu-gcc’. All of the above transformations happen d241 1 a241 1 --program-prefix=foo- and program-suffix=-3.1, the d243 3 a245 3 /usr/local/bin/i686-pc-linux-gnu-foo-gcc-3.1.

      As a last shortcoming, none of the installed Ada programs are d247 2 a248 4

      --with-local-prefix=dirname

      Specify the d250 6 a255 6 /usr/local. Specify this option if you want the compiler to search directory dirname/include for locally installed header files instead of /usr/local/include.

      You should specify --with-local-prefix only if your site has a different convention (not /usr/local) for where to put d257 4 a260 4

      The default value for --with-local-prefix is /usr/local regardless of the value of --prefix. Specifying --prefix has no effect on which directory GCC searches for d263 3 a265 3

      The purpose of --prefix is to specify where to install GCC. The local header files in /usr/local/include—if you put d268 4 a271 4 another directory which is based on the --prefix value.)

      Both the local-prefix include directory and the GCC-prefix include directory are part of GCC’s “system include” directories. Although these d277 2 a278 2

      Some autoconf macros add -I directory options to the d280 1 a280 1 packages’ headers are searched. When directory is one of GCC’s d285 3 a287 3

      GCC automatically searches for ordinary libraries using GCC_EXEC_PREFIX. Thus, when the same installation prefix is d291 3 a293 3 installed as a system compiler in /usr.

      Sites that need to install multiple versions of GCC may not want to d295 2 a296 2 --program-prefix, --program-suffix and --program-transform-name options to install multiple versions d298 1 a298 1 and the --with-local-prefix option to specify the location of the d301 9 a309 9 (e.g., with LIBRARY_PATH).

      The same value can be used for both --with-local-prefix and --prefix provided it is not /usr. This can be used to avoid the default search of /usr/local/include.

      Do not specify /usr as the --with-local-prefix! The directory you use for --with-local-prefix must not contain any of the system’s standard header files. If it did contain d312 3 a314 3 file corrections made by the fixincludes script.

      Indications are that people who use this option use it based on mistaken d318 3 a320 5

      --with-native-system-header-dir=dirname

      Specifies that dirname is the directory that contains native system header files, rather than /usr/include. This option is most useful d323 1 a323 1 --with-sysroot option and will cause GCC to search d325 2 a326 4

      --enable-shared[=package[,…]]

      Build shared versions of libraries, if shared libraries are supported on d329 2 a330 2

      If a list of packages is given as an argument, build shared libraries d333 10 a342 10 ‘libgcc’ (also known as ‘gcc’), ‘libstdc++’ (not ‘libstdc++-v3’), ‘libffi’, ‘zlib’, ‘boehm-gc’, ‘ada’, ‘libada’, ‘libjava’, ‘libgo’, and ‘libobjc’. Note ‘libiberty’ does not support shared libraries at all.

      Use --disable-shared to build only static libraries. Note that --disable-shared does not accept a list of package names as argument, only --enable-shared does.

      Contrast with --enable-host-shared, which affects host d344 2 a345 4

      --enable-host-shared

      Specify that the host code should be built into position-independent d348 4 a351 4

      This option is required when building the libgccjit.so library.

      Contrast with --enable-shared, which affects target d353 2 a354 4

      --with-gnu-as

      Specify that the compiler should assume that the d359 1 a359 1 configured with --with-gnu-as.) If you have more than one d361 4 a364 4 connection with --with-as=pathname or --with-build-time-tools=pathname.

      The following systems are the only ones where it makes a difference d366 10 a375 12 --with-gnu-as has no effect.

      • ‘hppa1.0-any-any’
      • ‘hppa1.1-any-any’
      • ‘sparc-sun-solaris2.any’
      • ‘sparc64-any-solaris2.any’
      --with-as=pathname

      Specify that the compiler should use the assembler pointed to by d378 4 a381 4

      • Unless GCC is being built with a cross compiler, check the libexec/gcc/target/version directory. libexec defaults to exec-prefix/libexec; d383 3 a385 3 defaults to /usr/local unless overridden by the --prefix=pathname switch described above. target is the target system triple, such as ‘sparc-sun-solaris2.7’, and d388 2 a389 2
      • If the target system is the same that you are building on, check operating system specific directories (e.g. /usr/ccs/bin on d392 1 a392 1
      • Check in the PATH for a tool whose name is prefixed by the d395 1 a395 1
      • Check in the PATH for a tool whose name is not prefixed by the d398 2 a399 2 the target as well).
      d401 1 a401 1

      You may want to use --with-as if no assembler d405 2 a406 4

      --with-gnu-ld

      Same as --with-gnu-as d408 2 a409 4

      --with-ld=pathname

      Same as --with-as d411 2 a412 4

      --with-stabs

      Specify that stabs debugging d415 2 a416 2

      On MIPS based systems and on Alphas, you must specify whether you want d421 6 a426 6

      Normally, GCC uses the ECOFF debugging format by default; if you prefer BSD stabs, specify --with-stabs when you configure GCC.

      No matter which default you choose when you configure GCC, the user can use the -gcoff and -gstabs+ options to specify explicitly d428 3 a430 3

      --with-stabs is meaningful on the ISC system on the 386, also, if --with-gas is used. It selects use of stabs debugging d433 2 a434 2

      --with-stabs is also meaningful on 386 systems running SVR4. It d440 2 a441 4

      --with-tls=dialect

      Specify the default TLS dialect, for systems were there is a choice. d445 2 a446 4

      --enable-multiarch

      Specify whether to enable or disable multiarch support. The default is d449 2 a450 2 and for cross builds configured with --with-sysroot, and without --with-native-system-header-dir. d453 2 a454 10

      --enable-sjlj-exceptions

      Force use of the setjmp/longjmp-based scheme for exceptions. ‘configure’ ordinarily picks the correct value based on the platform. Only use this option if you are sure you need a different setting.

      --enable-vtable-verify

      Specify whether to enable or disable the vtable verification feature. d459 1 a459 1 the verifier will call stub functions (in libstdc++ itself) and do nothing. d462 4 a465 6 still be built (see --disable-libvtv to turn off building libvtv). --disable-vtable-verify is the default.

      --disable-multilib

      Specify that multiple target d469 11 a479 18

      Some targets provide finer-grained control over which multilibs are built (e.g., --disable-softfloat):

      arm-*-*

      fpu, 26bit, underscore, interwork, biendian, nofmult.

      m68*-*-*

      softfloat, m68881, m68000, m68020.

      mips*-*-*

      single-float, biendian, softfloat.

      powerpc*-*-*, rs6000*-*-*

      aix64, pthread, softfloat, powercpu, powerpccpu, powerpcos, biendian, a480 3

      d482 3 a484 4
      --with-multilib-list=list
      --without-multilib-list

      Specify what multilibs to build. d486 3 a488 4

      sh*-*-*

      list is a comma separated list of CPU names. These must be of the d491 3 a493 3 these are handled by --with-endian.

      If list is empty, then there will be no multilibs for extra d495 4 a498 4

      As a special case, if an entry in the list starts with a ! (exclamation point), then it is added to the list of excluded multilibs. Entries of this sort should be compatible with ‘MULTILIB_EXCLUDES’ d500 3 a502 3

      If --with-multilib-list is not given, then a default set of multilibs is selected based on the value of --target. This is d505 2 a506 2

      Example 1: to configure a compiler for SH4A only, but supporting both d508 3 a510 5

      --with-cpu=sh4a --with-endian=little,big --with-multilib-list=
      

      Example 2: to configure a compiler for both SH4A and SH4AL-DSP, but with d512 4 a515 8

      --with-cpu=sh4a --with-endian=little,big \
      --with-multilib-list=sh4al,!mb/m4al
      
      x86-64-*-linux*

      list is a comma separated list of m32, m64 and d519 3 a521 4

      If --with-multilib-list is not given, then only 32-bit and 64-bit run-time libraries will be enabled.

      d524 1 a524 3
      --with-endian=endians

      Specify what endians to use. d526 7 a532 15

      endians may be one of the following:

      big

      Use big endian exclusively.

      little

      Use little endian exclusively.

      big,little

      Use big endian by default. Provide a multilib for little endian.

      little,big

      Use little endian by default. Provide a multilib for big endian.

      d535 1 a535 3
      --enable-threads

      Specify that the target d537 1 a537 1 library, and exception handling for other languages like C++ and Java. d539 2 a540 2

      In general, the best (and, in many cases, the only known) threading d543 7 a549 11 available for the system. In this case, --enable-threads is an alias for --enable-threads=single.

      --disable-threads

      Specify that threading support should be disabled for the system. This is an alias for --enable-threads=single.

      --enable-threads=lib

      Specify that d553 13 a565 35

      aix

      AIX thread support.

      dce

      DCE thread support.

      lynx

      LynxOS thread support.

      mipssde

      MIPS SDE thread support.

      no

      This is an alias for ‘single’.

      posix

      Generic POSIX/Unix98 thread support.

      rtems

      RTEMS thread support.

      single

      Disable thread support, should work for all platforms.

      tpf

      TPF thread support.

      vxworks

      VxWorks thread support.

      win32

      Microsoft Win32 API thread support.

      d568 1 a568 3
      --enable-tls

      Specify that the target supports TLS (Thread Local Storage). Usually d571 1 a571 1 --enable-tls or --disable-tls. This can happen if d574 6 a579 12

      --disable-tls

      Specify that the target does not support TLS. This is an alias for --enable-tls=no.

      --with-cpu=cpu
      --with-cpu-32=cpu
      --with-cpu-64=cpu

      Specify which cpu variant the compiler should generate code for by default. cpu will be used as the default value of the -mcpu= switch. d581 2 a582 2 PowerPC, and SPARC. It is mandatory for ARC. The --with-cpu-32 and --with-cpu-64 options specify separate default CPUs for d585 5 a589 16

      --with-schedule=cpu
      --with-arch=cpu
      --with-arch-32=cpu
      --with-arch-64=cpu
      --with-tune=cpu
      --with-tune-32=cpu
      --with-tune-64=cpu
      --with-abi=abi
      --with-fpu=type
      --with-float=type

      These configure options provide default values for the -mschedule=, -march=, -mtune=, -mabi=, and -mfpu= options and for -mhard-float or -msoft-float. As with --with-cpu, which switches will be accepted and acceptable values d591 2 a592 4

      --with-mode=mode

      Specify if the compiler should default to -marm or -mthumb. d594 2 a595 4

      --with-stack-offset=num

      This option sets the default for the -mstack-offset=num option, d598 4 a601 6

      --with-fpmath=isa

      This options sets -mfpmath=sse by default and specifies the default ISA for floating-point arithmetics. You can select either ‘sse’ which enables -msse2 or ‘avx’ which enables -mavx by default. d603 2 a604 4

      --with-fp-32=mode

      On MIPS targets, set the default value for the -mfp option when using d606 7 a612 13

      32

      Use the o32 FP32 ABI extension, as with the -mfp32 command-line option.

      xx

      Use the o32 FPXX ABI extension, as with the -mfpxx command-line option.

      64

      Use the o32 FP64 ABI extension, as with the -mfp64 command-line option.

      d614 1 a614 1

      In the absence of this configuration option the default is to use the o32 d616 2 a617 4

      --with-odd-spreg-32

      On MIPS targets, set the -modd-spreg option by default when using d619 2 a620 4

      --without-odd-spreg-32

      On MIPS targets, set the -mno-odd-spreg option by default when using d622 3 a624 5 --with-fp-32=64 in order to target the o32 FP64A ABI extension.

      --with-nan=encoding

      On MIPS targets, set the default encoding convention to use for the d627 5 a631 9

      legacy

      Use the legacy encoding, as with the -mnan=legacy command-line option.

      2008

      Use the 754-2008 encoding, as with the -mnan=2008 command-line option.

      d633 2 a634 2

      To use this configuration option you must have an assembler version installed that supports the -mnan= command-line option too. d636 5 a640 7 the legacy encoding, as when neither of the -mnan=2008 and -mnan=legacy command-line options has been used.

      --with-divide=type

      Specify how the compiler should generate code for checking for division by zero. This option is only supported on the MIPS target. d642 4 a645 8

      traps

      Division by zero checks use conditional traps (this is the default on systems that support conditional traps).

      breaks

      Division by zero checks use the break instruction.

      d648 4 a651 5
      --with-llsc

      On MIPS targets, make -mllsc the default when no -mno-llsc option is passed. This is the default for d654 11 a664 19

      --without-llsc

      On MIPS targets, make -mno-llsc the default when no -mllsc option is passed.

      --with-synci

      On MIPS targets, make -msynci the default when no -mno-synci option is passed.

      --without-synci

      On MIPS targets, make -mno-synci the default when no -msynci option is passed. This is the default.

      --with-mips-plt

      On MIPS targets, make use of copy relocations and PLTs. d668 3 a670 5

      --enable-__cxa_atexit

      Define if you want to use __cxa_atexit, rather than atexit, to register C++ destructors for local statics and global objects. d674 3 a676 5 -fuse-cxa-atexit to be passed by default.

      --enable-gnu-indirect-function

      Define if you want to enable the ifunc attribute. This option is d678 3 a680 5

      --enable-target-optspace

      Specify that target libraries should be optimized for code space instead of code speed. d682 5 a686 9

      --with-cpp-install-dir=dirname

      Specify that the user visible cpp program should be installed in prefix/dirname/cpp, in addition to bindir.

      --enable-comdat

      Enable COMDAT group support. This is primarily used to override the d688 2 a689 4

      --enable-initfini-array

      Force the use of sections .init_array and .fini_array d691 1 a691 1 destructors. Option --disable-initfini-array has the d695 2 a696 4

      --enable-link-mutex

      When building GCC, use a mutex to avoid linking the compilers for d699 3 a701 5

      --enable-maintainer-mode

      The build rules that regenerate the Autoconf and Automake output files as well as the GCC master message catalog gcc.pot are normally d704 1 a704 1 catalog, configuring with --enable-maintainer-mode will enable d707 3 a709 5

      --disable-bootstrap

      For a native build, the default configuration is to perform a 3-stage bootstrap of the compiler when ‘make’ is invoked, d711 4 a714 6 this process, you can configure with --disable-bootstrap.

      --enable-bootstrap

      In special cases, you may want to perform a 3-stage build even if the target and host triplets are different. d716 1 a716 1 the target (e.g. host is i686-linux, target is i486-linux). d718 3 a720 5 with --enable-bootstrap.

      --enable-generated-files-in-srcdir

      Neither the .c and .h files that are generated from Bison and flex nor the d726 2 a727 2

      If you configure with --enable-generated-files-in-srcdir then those d732 2 a733 4

      --enable-version-specific-runtime-libs

      Specify d735 2 a736 2 subdirectory (libdir/gcc) rather than the usual places. In addition, ‘libstdc++’’s include files will be installed into d738 1 a738 1 --with-gxx-include-dir=dirname. Using this option is d740 4 a743 6 parallel. This is currently supported by ‘libgfortran’, ‘libjava’, ‘libstdc++’, and ‘libobjc’.

      --with-aix-soname=‘aix’, ‘svr4’ or ‘both’

      Traditional AIX shared library versioning (versioned Shared Object d745 1 a745 1 ‘lib.a’) causes numerous headaches for package managers. However, d748 1 a748 1 where this is called the "SONAME". But as they prevent static linking, d750 20 a769 23 linker does search for ‘libNAME.so’ before ‘libNAME.a’ library filenames with the ‘-lNAME’ linker flag.

      For detailed information please refer to the AIX ld Command reference.

      As long as shared library creation is enabled, upon:

      --with-aix-soname=aix
      --with-aix-soname=both

      A (traditional AIX) Shared Archive Library file is created:

      • using the ‘libNAME.a’ filename scheme
      • with the Shared Object file as archive member named ‘libNAME.so.V’ (except for ‘libgcc_s’, where the Shared Object file is named ‘shr.o’ for backwards compatibility), which
        • - is used for runtime loading from inside the ‘libNAME.a’ file
        • - is used for dynamic loading via dlopen("libNAME.a(libNAME.so.V)", RTLD_MEMBER)
        • - is used for shared linking
        • - is used for static linking, so no separate Static Archive d771 12 a782 15
      --with-aix-soname=both
      --with-aix-soname=svr4

      A (second) Shared Archive Library file is created:

      • using the ‘libNAME.so.V’ filename scheme
      • with the Shared Object file as archive member named ‘shr.o’, which
        • - is created with the -G linker flag
        • - has the F_LOADONLY flag set
        • - is used for runtime loading from inside the ‘libNAME.so.V’ file
        • - is used for dynamic loading via dlopen("libNAME.so.V(shr.o)", d784 2 a785 2
      • with the Import File as archive member named ‘shr.imp’, d787 2 a788 2
        • - refers to ‘libNAME.so.V(shr.o)’ as the "SONAME", to be recorded d790 13 a802 13
        • - indicates whether ‘libNAME.so.V(shr.o)’ is 32 or 64 bit
        • - lists all the public symbols exported by ‘lib.so.V(shr.o)’, eventually decorated with the ‘weak’ Keyword
        • - is necessary for shared linking against ‘lib.so.V(shr.o)’

      A symbolic link using the ‘libNAME.so’ filename scheme is created:

      • pointing to the ‘libNAME.so.V’ Shared Archive Library file
      • to permit the ld Command to find ‘lib.so.V(shr.imp)’ via the ‘-lNAME’ argument (requires Runtime Linking to be enabled)
      • to permit dynamic loading of ‘lib.so.V(shr.o)’ without the need to specify the version number via dlopen("libNAME.so(shr.o)", d804 2 a805 3
      d807 11 a817 13

      As long as static library creation is enabled, upon:

      --with-aix-soname=svr4

      A Static Archive Library is created:

      • using the ‘libNAME.a’ filename scheme
      • with all the Static Object files as archive members, which
        • - are used for static linking
      d819 1 a819 1

      While the aix-soname=‘svr4’ option does not create Shared Object d826 2 a827 2

      WARNING: Creating Shared Object files with Runtime Linking d829 1 a829 1 requiring the use of either the -Wl,-bbigtoc linker flag (seen to d832 2 a833 2

      --with-aix-soname is currently supported by ‘libgcc_s’ only, so d835 4 a838 6

      Default is the traditional behaviour --with-aix-soname=‘aix’.

      --enable-languages=lang1,lang2,…

      Specify that only a particular subset of compilers and d841 4 a844 5 gcc directory of your GCC source tree:

      grep language= */config-lang.in
      

      Currently, you can use any of the following: d846 2 a847 2 go, java, objc, obj-c++. Building the Ada compiler has special requirements, see below. d849 1 a849 1 default languages available in the gcc sub-tree will be configured. d851 2 a852 4

      --enable-stage1-languages=lang1,lang2,…

      Specify that a particular subset of compilers and their runtime d856 2 a857 2 --enable-languages, and the option all will select all of the languages enabled by --enable-languages. This option is d862 5 a866 7 specified languages with the stage-1 compiler by using make stage1-bubble all-target, or run the testsuite on the stage-1 compiler for the specified languages using make stage1-start check-gcc.

      --disable-libada

      Specify that the run-time libraries and tools used by GNAT should not d869 3 a871 5 do a ‘make -C gcc gnatlib_and_tools’.

      --disable-libsanitizer

      Specify that the run-time libraries for the various sanitizers should d873 2 a874 4

      --disable-libssp

      Specify that the run-time libraries for stack smashing protection d876 2 a877 4

      --disable-libquadmath

      Specify that the GCC quad-precision math library should not be built. d879 1 a879 1 the Fortran front end, unless --disable-libquadmath-support d881 2 a882 4

      --disable-libquadmath-support

      Specify that the Fortran front end and libgfortran do not add d884 2 a885 4

      --disable-libgomp

      Specify that the GNU Offloading and Multi Processing Runtime Library d887 2 a888 4

      --disable-libvtv

      Specify that the run-time libraries used by vtable verification d890 2 a891 4

      --with-dwarf2

      Specify that the compiler should d893 2 a894 5

      --enable-targets=all
      --enable-targets=target_list

      Some GCC targets, e.g. powerpc64-linux, build bi-arch compilers. d896 1 a896 1 code. Typically, the corresponding 32-bit target, e.g. d900 1 a900 1 you are building a bi-arch or multi-arch binutils in a combined tree. d902 1 a902 1 defaulted to o32. d905 2 a906 4

      --enable-secureplt

      This option enables -msecure-plt by default for powerpc-linux. d908 2 a909 4

      --enable-cld

      This option enables -mcld by default for 32-bit x86 targets. d911 2 a912 6

      --enable-win32-registry
      --enable-win32-registry=key
      --disable-win32-registry

      The --enable-win32-registry option enables Microsoft Windows-hosted GCC a913 4

      HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\key
      
      d915 4 a918 2

      key defaults to GCC version number, and can be overridden by the --enable-win32-registry=key option. Vendors and distributors d922 1 a922 1 by default, and can be disabled by --disable-win32-registry d924 8 a931 15

      --nfp

      Specify that the machine does not have a floating point unit. This option only applies to ‘m68k-sun-sunosn’. On any other system, --nfp has no effect.

      --enable-werror
      --disable-werror
      --enable-werror=yes
      --enable-werror=no

      When you specify this option, it controls whether certain files in the compiler are built with -Werror in bootstrap stage2 and later. If you don’t specify it, -Werror is turned on for the main d933 1 a933 1 final releases. The specific files which get -Werror are d935 2 a936 5

      --enable-checking
      --enable-checking=list

      When you specify this option, the compiler is built to perform internal d940 3 a942 3 the compiler with GCC. This is ‘yes’ by default when building from SVN or snapshots, but ‘release’ for releases. The default for building the stage1 compiler is ‘yes’. More control d944 9 a952 9 checks available are ‘yes’ (most common checks ‘assert,misc,tree,gc,rtlflag,runtime’), ‘no’ (no checks at all), ‘all’ (all but ‘valgrind’), ‘release’ (cheapest checks ‘assert,runtime’) or ‘none’ (same as ‘no’). Individual checks can be enabled with these flags ‘assert’, ‘df’, ‘fold’, ‘gc’, ‘gcac’ ‘misc’, ‘rtl’, ‘rtlflag’, ‘runtime’, ‘tree’, and ‘valgrind’.

      The ‘valgrind’ check requires the external valgrind d954 3 a956 3 ‘df’, ‘rtl’, ‘gcac’ and ‘valgrind’ checks are very expensive. To disable all checking, ‘--disable-checking’ or ‘--enable-checking=none’ must be explicitly requested. Disabling d960 3 a962 7

      --disable-stage1-checking
      --enable-stage1-checking
      --enable-stage1-checking=list

      If no --enable-checking option is specified the stage1 compiler will be built with ‘yes’ checking enabled, otherwise d964 3 a966 3 --enable-checking. To build the stage1 compiler with different checking options use --enable-stage1-checking. The list of checking options is the same as for --enable-checking. d968 1 a968 1 with checking for stage1 enabled, you can use ‘--disable-stage1-checking’ d970 2 a971 5

      --enable-coverage
      --enable-coverage=level

      With this option, the compiler is built to collect self coverage d975 1 a975 1 not, values are ‘opt’ and ‘noopt’. For coverage analysis you d979 2 a980 4

      --enable-gather-detailed-mem-stats

      When this option is specified more detailed information on memory d982 3 a984 6 -fmem-report.

      --enable-nls
      --disable-nls

      The --enable-nls option enables Native Language Support (NLS), d987 6 a992 10 canadian cross build. The --disable-nls option disables NLS.

      --with-included-gettext

      If NLS is enabled, the --with-included-gettext option causes the build procedure to prefer its copy of GNU gettext.

      --with-catgets

      If NLS is enabled, and if the host lacks gettext but has the d994 8 a1001 12 ignores catgets and instead uses GCC’s copy of the GNU gettext library. The --with-catgets option causes the build procedure to use the host’s catgets in this situation.

      --with-libiconv-prefix=dir

      Search for libiconv header files in dir/include and libiconv library files in dir/lib.

      --enable-obsolete

      Enable configuration for an obsoleted system. If you attempt to d1005 2 a1006 2

      All support for systems which have been obsoleted in one release of GCC d1009 2 a1010 9

      --enable-decimal-float
      --enable-decimal-float=yes
      --enable-decimal-float=no
      --enable-decimal-float=bid
      --enable-decimal-float=dpd
      --disable-decimal-float

      Enable (or disable) support for the C decimal floating point extension d1015 2 a1016 2 ‘bid’ or ‘dpd’). The ‘bid’ (binary integer decimal) format is default on i386 and x86_64 systems, and the ‘dpd’ d1018 2 a1019 5

      --enable-fixed-point
      --disable-fixed-point

      Enable (or disable) support for C fixed-point arithmetic. d1023 2 a1024 4

      --with-long-double-128

      Specify if long double type should be 128-bit by default on selected d1026 1 a1026 1 long double will be by default 64-bit, the same as double type. d1030 2 a1031 12

      --with-gmp=pathname
      --with-gmp-include=pathname
      --with-gmp-lib=pathname
      --with-mpfr=pathname
      --with-mpfr-include=pathname
      --with-mpfr-lib=pathname
      --with-mpc=pathname
      --with-mpc-include=pathname
      --with-mpc-lib=pathname

      If you want to build GCC but do not have the GMP library, the MPFR d1035 12 a1046 12 (‘--with-gmp=gmpinstalldir’, ‘--with-mpfr=mpfrinstalldir’, ‘--with-mpc=mpcinstalldir’). The --with-gmp=gmpinstalldir option is shorthand for --with-gmp-lib=gmpinstalldir/lib and --with-gmp-include=gmpinstalldir/include. Likewise the --with-mpfr=mpfrinstalldir option is shorthand for --with-mpfr-lib=mpfrinstalldir/lib and --with-mpfr-include=mpfrinstalldir/include, also the --with-mpc=mpcinstalldir option is shorthand for --with-mpc-lib=mpcinstalldir/lib and --with-mpc-include=mpcinstalldir/include. If these d1051 3 a1053 3 variable (LD_LIBRARY_PATH on GNU/Linux and Solaris systems).

      These flags are applicable to the host platform only. When building d1055 2 a1056 6

      --with-isl=pathname
      --with-isl-include=pathname
      --with-isl-lib=pathname

      If you do not have the ISL library installed in a standard location and you d1058 4 a1061 4 installed (‘--with-isl=islinstalldir’). The --with-isl=islinstalldir option is shorthand for --with-isl-lib=islinstalldir/lib and --with-isl-include=islinstalldir/include. If this d1064 2 a1065 2

      These flags are applicable to the host platform only. When building d1067 2 a1068 4

      --with-host-libstdcxx=linker-args

      If you are linking with a static copy of PPL, you can use this option d1071 1 a1071 1 ‘-lstdc++’ or ‘-Wl,-Bstatic,-lstdc++,-Bdynamic -lm’. If you are d1075 2 a1076 4

      --with-stage1-ldflags=flags

      This option may be used to set linker flags to be used when linking d1078 3 a1080 5 --disable-bootstrap. By default no special flags are used.

      --with-stage1-libs=libs

      This option may be used to set libraries to be used when linking stage 1 d1082 4 a1085 6 --disable-bootstrap. The default is the argument to --with-host-libstdcxx, if specified.

      --with-boot-ldflags=flags

      This option may be used to set linker flags to be used when linking d1088 3 a1090 5 ‘-static-libstdc++ -static-libgcc’.

      --with-boot-libs=libs

      This option may be used to set libraries to be used when linking stage 2 d1092 3 a1094 5 --with-host-libstdcxx, if specified.

      --with-debug-prefix-map=map

      Convert source directory names using -fdebug-prefix-map when d1096 4 a1099 6 list of maps of the form ‘old=new’.

      --enable-linker-build-id

      Tells GCC to pass --build-id option to the linker for all final links (links performed without the -r or --relocatable d1101 5 a1105 7 --enable-linker-build-id, but your linker does not support --build-id option, a warning is issued and the --enable-linker-build-id option is ignored. The default is off.

      --with-linker-hash-style=choice

      Tells GCC to pass --hash-style=choice option to the d1107 3 a1109 6 ‘sysv’, ‘gnu’, and ‘both’ where ‘sysv’ is the default.

      --enable-gnu-unique-object
      --disable-gnu-unique-object

      Tells GCC to use the gnu_unique_object relocation for C++ template d1113 2 a1114 4

      --with-diagnostics-color=choice

      Tells GCC to use choice as the default for -fdiagnostics-color= d1116 3 a1118 3 can be one of ‘never’, ‘auto’, ‘always’, and ‘auto-if-env’ where ‘auto’ is the default. ‘auto-if-env’ means that -fdiagnostics-color=auto will be the default if GCC_COLORS d1120 6 a1125 12 -fdiagnostics-color=never otherwise.

      --enable-lto
      --disable-lto

      Enable support for link-time optimization (LTO). This is enabled by default, and may be disabled using --disable-lto.

      --enable-linker-plugin-configure-flags=FLAGS
      --enable-linker-plugin-flags=FLAGS

      By default, linker plugins (such as the LTO plugin) are built for the d1130 2 a1131 2 (‘x86_64-unknown-linux-gnu’) host system, but have a 32-bit x86 GNU/Linux (‘i686-pc-linux-gnu’) linker executable (which is d1134 8 a1141 12

      % srcdir/configure \
          --host=x86_64-unknown-linux-gnu \
          --enable-linker-plugin-configure-flags=--host=i686-pc-linux-gnu \
          --enable-linker-plugin-flags='CC=gcc\ -m32\ -Wl,-rpath,[...]/i686-pc-linux-gnu/lib'
      
      --with-plugin-ld=pathname

      Enable an alternate linker to be used at link-time optimization (LTO) link time when -fuse-linker-plugin is enabled. d1143 4 a1146 7 version 2.20 or GNU ld starting with version 2.21. See -fuse-linker-plugin for details.

      --enable-canonical-system-headers
      --disable-canonical-system-headers

      Enable system header path canonicalization for libcpp. This can d1150 3 a1152 5 --disable-canonical-system-headers.

      --with-glibc-version=major.minor

      Tell GCC that when the GNU C Library (glibc) is used on the target it d1154 1 a1154 1 be detected from the C library’s header files, but this option may be d1157 3 a1159 3

      If GCC is configured with some multilibs that use glibc and some that do not, this option applies only to the multilibs that use glibc. d1162 4 a1165 8

      --enable-as-accelerator-for=target

      Build as offload target compiler. Specify offload host triple by target.

      --enable-offload-targets=target1[=path1],…,targetN[=pathN]

      Enable offloading to targets target1, …, targetN. d1168 8 a1175 8 specifying paths path1, …, pathN.

      % srcdir/configure \
          --enable-offload-target=i686-unknown-linux-gnu=/path/to/i686/compiler,x86_64-pc-linux-gnu
      
      a1176 2

      Cross-Compiler-Specific Options

      d1178 4 a1181 6

      --with-sysroot
      --with-sysroot=dir

      Tells GCC to consider dir as the root of a tree that contains (a subset of) the root filesystem of the target operating system. d1184 1 a1184 1 --sysroot=dir was added to the default options of the built d1186 5 a1190 5 install tree, unlike the options --with-headers and --with-libs that this option obsoletes. The default value, in case --with-sysroot is not given an argument, is ${gcc_tooldir}/sys-root. If the specified directory is a subdirectory of ${exec_prefix}, then it will be found relative to d1192 2 a1193 2

      This option affects the system root for the compiler used to build d1197 2 a1198 2

      If you specify the --with-native-system-header-dir=dirname d1200 8 a1207 11 native system headers rather than the default /usr/include.

      --with-build-sysroot
      --with-build-sysroot=dir

      Tells GCC to consider dir as the system root (see --with-sysroot) while building target libraries, instead of the directory specified with --with-sysroot. This option is only useful when you are already using --with-sysroot. You can use --with-build-sysroot when you are configuring with --prefix set to a directory that is different from the one in d1209 2 a1210 2

      This option affects the system root for the compiler used to build d1213 2 a1214 2

      If you specify the --with-native-system-header-dir=dirname d1216 4 a1219 7 native system headers rather than the default /usr/include.

      --with-headers
      --with-headers=dir

      Deprecated in favor of --with-sysroot. Specifies that target headers are available when building a cross compiler. d1221 5 a1225 5 files. These include files will be copied into the gcc install directory. This option with the dir argument is required when building a cross compiler, if prefix/target/sys-include doesn’t pre-exist. If prefix/target/sys-include does pre-exist, the dir argument may be omitted. fixincludes d1227 2 a1228 4

      --without-headers

      Tells GCC not use any target headers from a libc when building a cross d1231 2 a1232 5

      --with-libs
      --with-libs="dir1 dir2 … dirN"

      Deprecated in favor of --with-sysroot. d1234 1 a1234 1 libraries. These libraries will be copied into the gcc install d1237 2 a1238 4

      --with-newlib

      Specifies that ‘newlib’ is d1240 4 a1243 6 omitted from libgcc.a on the assumption that it will be provided by ‘newlib’.

      --with-avrlibc

      Specifies that ‘AVR-Libc’ is d1245 3 a1247 3 functions like __addsf3 to be omitted from libgcc.a on the assumption that it will be provided by libm.a. For more technical details, cf. PR54461. d1251 3 a1253 5

      --with-nds32-lib=library

      Specifies that library setting is used for building libgcc.a. Currently, the valid library is ‘newlib’ or ‘mculib’. d1255 2 a1256 4

      --with-build-time-tools=dir

      Specifies where to find the set of target tools (assembler, linker, etc.) d1260 3 a1262 3

      For example, on an ‘ia64-hp-hpux’ system, you may have the GNU assembler and linker in /usr/bin, and the native tools in a d1264 1 a1264 12 native tools in /usr/bin.

      When you use this option, you should ensure that dir includes ar, as, ld, nm, ranlib and strip if necessary, and possibly objdump. Otherwise, GCC may use an inconsistent set of tools.

      Overriding configure test results

      d1266 5 a1270 24

      Sometimes, it might be necessary to override the result of some configure test, for example in order to ease porting to a new system or work around a bug in a test. The toplevel configure script provides three variables for this:

      build_configargs

      The contents of this variable is passed to all build configure scripts.

      host_configargs

      The contents of this variable is passed to all host configure scripts.

      target_configargs

      The contents of this variable is passed to all target configure scripts.

      d1273 1 a1273 6

      In order to avoid shell and make quoting issues for complex overrides, you can pass a setting for CONFIG_SITE and set variables in the site file.

      Java-Specific Options

      d1276 3 a1278 4

      --disable-libgcj

      Specify that the run-time libraries d1280 1 a1280 1 to use GCJ with some other run-time, or you’re going to install it d1283 2 a1284 2 libraries will be enabled too, unless they’re known to not work on the target platform. If GCJ is enabled but ‘libgcj’ isn’t built, you d1286 8 a1293 5 configure.in so that ‘libgcj’ is enabled by default on this platform, you may use --enable-libgcj to override the default.

      d1295 5 a1299 11

      The following options apply to building ‘libgcj’.

      General Options

      --enable-java-maintainer-mode

      By default the ‘libjava’ build will not attempt to compile the .java source files to .class. Instead, it will use the .class files from the source tree. If you use this option you must have executables named ecj1 and gjavah in your path d1301 10 a1310 14 modify any .java files in libjava.

      --with-java-home=dirname

      This ‘libjava’ option overrides the default value of the ‘java.home’ system property. It is also used to set ‘sun.boot.class.path’ to dirname/lib/rt.jar. By default ‘java.home’ is set to prefix and ‘sun.boot.class.path’ to datadir/java/libgcj-version.jar.

      --with-ecj-jar=filename

      This option can be used to specify the location of an external jar d1312 3 a1314 3 version of this compiler is used by gcj to parse .java source files. If this option is given, the ‘libjava’ build will create and install an ecj1 executable d1316 8 a1323 8

      If this option is not given, but an ecj.jar file is found in the topmost source tree at configure time, then the ‘libgcj’ build will create and install ecj1, and will also install the discovered ecj.jar into a suitable place in the install tree.

      If ecj1 is not installed, then the user will have to supply one on his path in order for gcj to properly parse .java d1326 5 a1330 9

      --disable-getenv-properties

      Don’t set system properties from GCJ_PROPERTIES.

      --enable-hash-synchronization

      Use a global hash table for monitor locks. Ordinarily, ‘libgcj’’s ‘configure’ script automatically makes d1333 2 a1334 4

      --enable-interpreter

      Enable the Java interpreter. The interpreter is automatically d1337 3 a1339 5 (using --disable-interpreter).

      --disable-java-net

      Disable java.net. This disables the native part of java.net only, d1341 6 a1346 10

      --disable-jvmpi

      Disable JVMPI support.

      --disable-libgcj-bc

      Disable BC ABI compilation of certain parts of libgcj. By default, some portions of libgcj are compiled with -findirect-dispatch and -fno-indirect-classes, allowing them to be overridden at d1348 2 a1349 2

      If --disable-libgcj-bc is specified, libgcj is built without d1353 2 a1354 4

      --enable-reduced-reflection

      Build most of libgcj with -freduced-reflection. This reduces d1359 11 a1369 19

      --with-ecos

      Enable runtime eCos target support.

      --without-libffi

      Don’t use ‘libffi’. This will disable the interpreter and JNI support as well, as these require ‘libffi’ to work.

      --enable-libgcj-debug

      Enable runtime debugging code.

      --enable-libgcj-multifile

      If specified, causes all .java source files to be compiled into .class files in one invocation of ‘gcj’. This can speed up build time, but is more d1371 12 a1382 14 disabled, ‘gcj’ is invoked once for each .java file to compile into a .class file.

      --with-libiconv-prefix=DIR

      Search for libiconv in DIR/include and DIR/lib.

      --with-system-zlib

      Use installed ‘zlib’ rather than that included with GCC.

      --with-win32-nlsapi=ansi, unicows or unicode

      Indicates how MinGW ‘libgcj’ translates between UNICODE d1384 2 a1385 4

      --enable-java-home

      If enabled, this creates a JPackage compatible SDK environment during install. d1388 2 a1389 4

      --with-arch-directory=ARCH

      Specifies the name to use for the jre/lib/ARCH directory in the SDK d1392 5 a1396 9

      --with-os-directory=DIR

      Specifies the OS directory for the SDK include directory. This is set to auto detect, and is typically ’linux’.

      --with-origin-name=NAME

      Specifies the JPackage origin name. This defaults to the ’gcj’ in d1398 9 a1406 17

      --with-arch-suffix=SUFFIX

      Specifies the suffix for the sdk directory. Defaults to the empty string. Examples include ’.x86_64’ in ’java-1.5.0-gcj-1.5.0.0.x86_64’.

      --with-jvm-root-dir=DIR

      Specifies where to install the SDK. Default is $(prefix)/lib/jvm.

      --with-jvm-jar-dir=DIR

      Specifies where to install jars. Default is $(prefix)/lib/jvm-exports.

      --with-python-dir=DIR

      Specifies where to install the Python modules used for aot-compile. DIR should d1411 6 a1416 12

      --enable-aot-compile-rpm

      Adds aot-compile-rpm to the list of installed scripts.

      --enable-browser-plugin

      Build the gcjwebplugin web browser plugin.

      --enable-static-libjava

      Build static libraries in libjava. The default is to only build shared d1418 3 a1420 4

      ansi

      Use the single-byte char and the Win32 A functions natively, d1423 6 a1428 8

      unicows

      Use the WCHAR and Win32 W functions natively. Adds -lunicows to libgcj.spec to link with ‘libunicows’. unicows.dll needs to be deployed on Microsoft Windows 9X machines running built executables. libunicows.a, an open-source import library around Microsoft’s unicows.dll, is obtained from d1430 5 a1434 10 on getting unicows.dll from Microsoft.

      unicode

      Use the WCHAR and Win32 W functions natively. Does not add -lunicows to libgcj.spec. The built executables will only run on Microsoft Windows NT and above.

      d1436 18 d1455 1 a1455 2

      AWT-Specific Options

      d1457 1 a1457 42
      --with-x

      Use the X Window System.

      --enable-java-awt=PEER(S)

      Specifies the AWT peer library or libraries to build alongside ‘libgcj’. If this option is unspecified or disabled, AWT will be non-functional. Current valid values are gtk and xlib. Multiple libraries should be separated by a comma (i.e. --enable-java-awt=gtk,xlib).

      --enable-gtk-cairo

      Build the cairo Graphics2D implementation on GTK.

      --enable-java-gc=TYPE

      Choose garbage collector. Defaults to boehm if unspecified.

      --disable-gtktest

      Do not try to compile and run a test GTK+ program.

      --disable-glibtest

      Do not try to compile and run a test GLIB program.

      --with-libart-prefix=PFX

      Prefix where libart is installed (optional).

      --with-libart-exec-prefix=PFX

      Exec prefix where libart is installed (optional).

      --disable-libarttest

      Do not try to compile and run a test libart program.

      d1459 1 d1461 1 a1461 4

      Return to the GCC Installation page

      d1463 1 d1465 1 d1467 4 d1472 3 d1476 2 d1479 2 d1482 1 d1484 3 d1488 2 d1491 10 a1501 2 @ 1.1.1.8 log @import GCC 6.4.0. see this url for details which are too large to include here: http://gcc.gnu.org/gcc-6/changes.html the main visible changes appear to be: - The default mode for C++ is now -std=gnu++14 instead of -std=gnu++98. - The C and C++ compilers now support attributes on enumerators. - Diagnostics can now contain "fix-it hints" - more warnings (some added to -Wall) @ text @d1 3 a3 10 Installing GCC: Configuration d62 26 a87 4

      Installing GCC: Configuration

      Like most GNU software, GCC must be configured before it can be built. d90 2 a91 2

      We use srcdir to refer to the toplevel source directory for d93 7 a99 7

      If you obtained the sources via SVN, srcdir must refer to the top gcc directory, the one where the MAINTAINERS file can be found, and not its gcc subdirectory, otherwise the build will fail.

      If either srcdir or objdir is located on an automounted NFS file system, the shell's built-in pwd command will return d101 3 a103 3 problems. To avoid this issue, set the PWDCMD environment variable to an automounter-aware pwd command, e.g., pawd or ‘amq -w’, during the configuration and build d105 2 a106 2

      First, we highly recommend that GCC be built into a d109 1 a109 1 where srcdir == objdir should still work, but doesn't d112 6 a117 6

      If you have previously built GCC in the same directory for a different target machine, do ‘make distclean’ to delete all files that might be invalid. One of the files this deletes is Makefile; if ‘make distclean’ complains that Makefile does not exist or issues a message like “don't know how to make distclean” it probably d121 3 a123 3

      Second, when configuring a native system, either cc or gcc must be in your path or you must set CC in d126 1 d128 7 a134 1

      To configure GCC: d136 2 a137 5

           % mkdir objdir
           % cd objdir
           % srcdir/configure [options] [target]
      

      Distributor options

      d142 4 a145 3
      --with-pkgversion=version
      Specify a string that identifies your package. You may wish d147 8 a154 6 included in the output of gcc --version. This suffix does not replace the default version string, only the ‘GCC’ part.

      The default value is ‘GCC’.

      --with-bugurl=url
      Specify the URL that users should visit if they wish to report a bug. d157 5 d163 4 a166 8

      The default value refers to the FSF's GCC bug tracker.

      Target specification

      • GCC has code to correctly determine the correct value for target d170 1 a170 1
      • target must be specified as --target=target d174 4 a177 3
      • Specifying just target instead of --target=target implies that the host defaults to target.
      d179 2 a180 1

      Options specification

      d183 2 a184 2 GCC. A list of supported options follows; ‘configure --help’ may list other options, but those not listed below may not d186 8 a193 7

      Note that each --enable option has a corresponding --disable option and that each --with option has a corresponding --without option.

      --prefix=dirname
      Specify the toplevel installation d196 3 a198 3 /usr/local.

      We highly recommend against dirname being the same or a d200 5 a204 5 beneath a user's home directory tree, some shells will not expand dirname correctly if it contains the ‘~’ metacharacter; use $HOME instead.

      The following standard autoconf options are supported. Normally you d206 3 a208 2

      --exec-prefix=dirname
      Specify the toplevel installation directory for architecture-dependent d210 20 a229 12
      --bindir=dirname
      Specify the installation directory for the executables called by users (such as gcc and g++). The default is exec-prefix/bin.
      --libdir=dirname
      Specify the installation directory for object code libraries and internal data files of GCC. The default is exec-prefix/lib.
      --libexecdir=dirname
      Specify the installation directory for internal executables of GCC. The default is exec-prefix/libexec.
      --with-slibdir=dirname
      Specify the installation directory for the shared libgcc library. The d231 14 a244 8
      --datarootdir=dirname
      Specify the root of the directory tree for read-only architecture-independent data files referenced by GCC. The default is prefix/share.
      --infodir=dirname
      Specify the installation directory for documentation in info format. The default is datarootdir/info.
      --datadir=dirname
      Specify the installation directory for some architecture-independent d246 9 a254 5
      --docdir=dirname
      Specify the installation directory for documentation files (other than Info) for GCC. The default is datarootdir/doc.
      --htmldir=dirname
      Specify the installation directory for HTML documentation files. d256 4 a259 2
      --pdfdir=dirname
      Specify the installation directory for PDF documentation files. d261 5 a265 3
      --mandir=dirname
      Specify the installation directory for manual pages. The default is datarootdir/man. (Note that the manual pages are only extracts d269 4 a272 2
      --with-gxx-include-dir=dirname
      Specify d276 4 a279 2
      --with-specs=specs
      Specify additional command line driver SPECS. d281 2 a282 2 default without modifying the compiler's source code, for instance --with-specs=%{!fcommon:%{!fno-common:-fno-common}}. d284 3 d288 3 a290 3

      --program-prefix=prefix
      GCC supports some transformations of the names of its programs when d293 13 a305 9 --program-prefix=foo- would result in ‘gcc’ being installed as /usr/local/bin/foo-gcc.
      --program-suffix=suffix
      Appends suffix to the names of programs to install in bindir (see above). For example, specifying --program-suffix=-3.1 would result in ‘gcc’ being installed as /usr/local/bin/gcc-3.1.
      --program-transform-name=pattern
      Applies the ‘sed’ script pattern to be applied to the names d307 5 a311 5 consist of one or more basic ‘sed’ editing commands, separated by semicolons. For example, if you want the ‘gcc’ program name to be transformed to the installed program /usr/local/bin/myowngcc and the ‘g++’ program name to be transformed to /usr/local/bin/gspecial++ without changing other program names, d313 1 a313 1 --program-transform-name='s/^gcc$/myowngcc/; s/^g++$/gspecial++/' d315 2 a316 2

      All three options can be combined and used together, resulting in more d320 3 a322 3

      As currently implemented, this option only takes effect for native builds; cross compiler binaries' names are not transformed even when a d324 2 a325 2

      For native builds, some of the installed programs are also installed d327 1 a327 1 ‘i686-pc-linux-gnu-gcc’. All of the above transformations happen d329 1 a329 1 --program-prefix=foo- and program-suffix=-3.1, the d331 3 a333 3 /usr/local/bin/i686-pc-linux-gnu-foo-gcc-3.1.

      As a last shortcoming, none of the installed Ada programs are d335 4 a338 2

      --with-local-prefix=dirname
      Specify the d340 6 a345 6 /usr/local. Specify this option if you want the compiler to search directory dirname/include for locally installed header files instead of /usr/local/include.

      You should specify --with-local-prefix only if your site has a different convention (not /usr/local) for where to put d347 4 a350 4

      The default value for --with-local-prefix is /usr/local regardless of the value of --prefix. Specifying --prefix has no effect on which directory GCC searches for d353 3 a355 3

      The purpose of --prefix is to specify where to install GCC. The local header files in /usr/local/include—if you put d358 4 a361 4 another directory which is based on the --prefix value.)

      Both the local-prefix include directory and the GCC-prefix include directory are part of GCC's “system include” directories. Although these d367 2 a368 2

      Some autoconf macros add -I directory options to the d370 1 a370 1 packages' headers are searched. When directory is one of GCC's d375 3 a377 3

      GCC automatically searches for ordinary libraries using GCC_EXEC_PREFIX. Thus, when the same installation prefix is d381 3 a383 3 installed as a system compiler in /usr.

      Sites that need to install multiple versions of GCC may not want to d385 2 a386 2 --program-prefix, --program-suffix and --program-transform-name options to install multiple versions d388 1 a388 1 and the --with-local-prefix option to specify the location of the d391 9 a399 9 (e.g., with LIBRARY_PATH).

      The same value can be used for both --with-local-prefix and --prefix provided it is not /usr. This can be used to avoid the default search of /usr/local/include.

      Do not specify /usr as the --with-local-prefix! The directory you use for --with-local-prefix must not contain any of the system's standard header files. If it did contain d402 3 a404 3 file corrections made by the fixincludes script.

      Indications are that people who use this option use it based on mistaken d408 5 a412 3

      --with-native-system-header-dir=dirname
      Specifies that dirname is the directory that contains native system header files, rather than /usr/include. This option is most useful d415 1 a415 1 --with-sysroot option and will cause GCC to search d417 4 a420 2
      --enable-shared[=package[,...]]
      Build shared versions of libraries, if shared libraries are supported on d423 2 a424 2

      If a list of packages is given as an argument, build shared libraries d427 10 a436 10 ‘libgcc’ (also known as ‘gcc’), ‘libstdc++’ (not ‘libstdc++-v3’), ‘libffi’, ‘zlib’, ‘boehm-gc’, ‘ada’, ‘libada’, ‘libjava’, ‘libgo’, and ‘libobjc’. Note ‘libiberty’ does not support shared libraries at all.

      Use --disable-shared to build only static libraries. Note that --disable-shared does not accept a list of package names as argument, only --enable-shared does.

      Contrast with --enable-host-shared, which affects host d438 4 a441 2

      --enable-host-shared
      Specify that the host code should be built into position-independent d444 4 a447 4

      This option is required when building the libgccjit.so library.

      Contrast with --enable-shared, which affects target d449 4 a452 2

      --with-gnu-as
      Specify that the compiler should assume that the d457 1 a457 1 configured with --with-gnu-as.) If you have more than one d459 4 a462 4 connection with --with-as=pathname or --with-build-time-tools=pathname.

      The following systems are the only ones where it makes a difference d464 12 a475 10 --with-gnu-as has no effect.

      • ‘hppa1.0-any-any’
      • ‘hppa1.1-any-any’
      • ‘sparc-sun-solaris2.any’
      • ‘sparc64-any-solaris2.any’

      --with-as=pathname
      Specify that the compiler should use the assembler pointed to by d478 4 a481 4
      • Unless GCC is being built with a cross compiler, check the libexec/gcc/target/version directory. libexec defaults to exec-prefix/libexec; d483 3 a485 3 defaults to /usr/local unless overridden by the --prefix=pathname switch described above. target is the target system triple, such as ‘sparc-sun-solaris2.7’, and d488 2 a489 2
      • If the target system is the same that you are building on, check operating system specific directories (e.g. /usr/ccs/bin on d492 1 a492 1
      • Check in the PATH for a tool whose name is prefixed by the d495 1 a495 1
      • Check in the PATH for a tool whose name is not prefixed by the d498 2 a499 2 the target as well).
      d501 1 a501 1

      You may want to use --with-as if no assembler d505 4 a508 2

      --with-gnu-ld
      Same as --with-gnu-as d510 4 a513 2
      --with-ld=pathname
      Same as --with-as d515 4 a518 2
      --with-stabs
      Specify that stabs debugging d521 2 a522 2

      On MIPS based systems and on Alphas, you must specify whether you want d527 6 a532 6

      Normally, GCC uses the ECOFF debugging format by default; if you prefer BSD stabs, specify --with-stabs when you configure GCC.

      No matter which default you choose when you configure GCC, the user can use the -gcoff and -gstabs+ options to specify explicitly d534 3 a536 3

      --with-stabs is meaningful on the ISC system on the 386, also, if --with-gas is used. It selects use of stabs debugging d539 2 a540 2

      --with-stabs is also meaningful on 386 systems running SVR4. It d546 4 a549 2

      --with-tls=dialect
      Specify the default TLS dialect, for systems were there is a choice. d553 4 a556 2
      --enable-multiarch
      Specify whether to enable or disable multiarch support. The default is d559 2 a560 2 and for cross builds configured with --with-sysroot, and without --with-native-system-header-dir. d562 6 a567 4 https://wiki.debian.org/Multiarch.
      --enable-sjlj-exceptions
      Force use of the setjmp/longjmp-based scheme for exceptions. ‘configure’ ordinarily picks the correct value based on the platform. d569 4 a572 2
      --enable-vtable-verify
      Specify whether to enable or disable the vtable verification feature. d577 1 a577 1 the verifier will call stub functions (in libstdc++ itself) and do nothing. d580 6 a585 4 still be built (see --disable-libvtv to turn off building libvtv). --disable-vtable-verify is the default.
      --disable-multilib
      Specify that multiple target d589 18 a606 11

      Some targets provide finer-grained control over which multilibs are built (e.g., --disable-softfloat):

      arm-*-*
      fpu, 26bit, underscore, interwork, biendian, nofmult.
      m68*-*-*
      softfloat, m68881, m68000, m68020.
      mips*-*-*
      single-float, biendian, softfloat.
      powerpc*-*-*, rs6000*-*-*
      aix64, pthread, softfloat, powercpu, powerpccpu, powerpcos, biendian, d608 3 d612 9 a620 16

      --with-multilib-list=list
      --without-multilib-list
      Specify what multilibs to build. Currently only implemented for arm*-*-*, sh*-*-* and x86-64-*-linux*.
      arm*-*-*
      list is either default or aprofile. Specifying default is equivalent to omitting this option while specifying aprofile builds multilibs for each combination of ISA (-marm or -mthumb), architecture (-march=armv7-a, -march=armv7ve, or -march=armv8-a), FPU available (none, -mfpu=vfpv3-d16, -mfpu=neon, -mfpu=vfpv4-d16, -mfpu=neon-vfpv4 or -mfpu=neon-fp-armv8 depending on architecture) and floating-point ABI (-mfloat-abi=softfp or -mfloat-abi=hard).
      sh*-*-*
      list is a comma separated list of CPU names. These must be of the d623 3 a625 3 these are handled by --with-endian.

      If list is empty, then there will be no multilibs for extra d627 4 a630 4

      As a special case, if an entry in the list starts with a ! (exclamation point), then it is added to the list of excluded multilibs. Entries of this sort should be compatible with ‘MULTILIB_EXCLUDES’ d632 3 a634 3

      If --with-multilib-list is not given, then a default set of multilibs is selected based on the value of --target. This is d637 6 d644 1 a644 5

      Example 1: to configure a compiler for SH4A only, but supporting both endians, with little endian being the default:

                     --with-cpu=sh4a --with-endian=little,big --with-multilib-list=
      

      Example 2: to configure a compiler for both SH4A and SH4AL-DSP, but with d646 8 a653 4

                     --with-cpu=sh4a --with-endian=little,big \
                     --with-multilib-list=sh4al,!mb/m4al
      

      x86-64-*-linux*
      list is a comma separated list of m32, m64 and d657 4 a660 3

      If --with-multilib-list is not given, then only 32-bit and 64-bit run-time libraries will be enabled. d663 3 a665 1

      --with-endian=endians
      Specify what endians to use. d667 15 a681 7

      endians may be one of the following:

      big
      Use big endian exclusively.
      little
      Use little endian exclusively.
      big,little
      Use big endian by default. Provide a multilib for little endian.
      little,big
      Use little endian by default. Provide a multilib for big endian. d684 3 a686 1
      --enable-threads
      Specify that the target d688 1 a688 1 library, and exception handling for other languages like C++ and Java. d690 2 a691 2

      In general, the best (and, in many cases, the only known) threading d694 11 a704 7 available for the system. In this case, --enable-threads is an alias for --enable-threads=single.

      --disable-threads
      Specify that threading support should be disabled for the system. This is an alias for --enable-threads=single.
      --enable-threads=lib
      Specify that d708 35 a742 13
      aix
      AIX thread support.
      dce
      DCE thread support.
      lynx
      LynxOS thread support.
      mipssde
      MIPS SDE thread support.
      no
      This is an alias for ‘single’.
      posix
      Generic POSIX/Unix98 thread support.
      rtems
      RTEMS thread support.
      single
      Disable thread support, should work for all platforms.
      tpf
      TPF thread support.
      vxworks
      VxWorks thread support.
      win32
      Microsoft Win32 API thread support. d745 3 a747 1
      --enable-tls
      Specify that the target supports TLS (Thread Local Storage). Usually d750 1 a750 1 --enable-tls or --disable-tls. This can happen if d753 12 a764 6
      --disable-tls
      Specify that the target does not support TLS. This is an alias for --enable-tls=no.
      --with-cpu=cpu
      --with-cpu-32=cpu
      --with-cpu-64=cpu
      Specify which cpu variant the compiler should generate code for by default. cpu will be used as the default value of the -mcpu= switch. d766 2 a767 2 PowerPC, and SPARC. It is mandatory for ARC. The --with-cpu-32 and --with-cpu-64 options specify separate default CPUs for d769 17 a785 6 x86-64, PowerPC, and SPARC.
      --with-schedule=cpu
      --with-arch=cpu
      --with-arch-32=cpu
      --with-arch-64=cpu
      --with-tune=cpu
      --with-tune-32=cpu
      --with-tune-64=cpu
      --with-abi=abi
      --with-fpu=type
      --with-float=type
      These configure options provide default values for the -mschedule=, -march=, -mtune=, -mabi=, and -mfpu= options and for -mhard-float or -msoft-float. As with --with-cpu, which switches will be accepted and acceptable values d787 4 a790 2
      --with-mode=mode
      Specify if the compiler should default to -marm or -mthumb. d792 4 a795 2
      --with-stack-offset=num
      This option sets the default for the -mstack-offset=num option, d798 6 a803 4
      --with-fpmath=isa
      This options sets -mfpmath=sse by default and specifies the default ISA for floating-point arithmetics. You can select either ‘sse’ which enables -msse2 or ‘avx’ which enables -mavx by default. d805 4 a808 2
      --with-fp-32=mode
      On MIPS targets, set the default value for the -mfp option when using d810 13 a822 7
      32
      Use the o32 FP32 ABI extension, as with the -mfp32 command-line option.
      xx
      Use the o32 FPXX ABI extension, as with the -mfpxx command-line option.
      64
      Use the o32 FP64 ABI extension, as with the -mfp64 command-line option. d824 1 a824 1 In the absence of this configuration option the default is to use the o32 d826 4 a829 2
      --with-odd-spreg-32
      On MIPS targets, set the -modd-spreg option by default when using d831 4 a834 2
      --without-odd-spreg-32
      On MIPS targets, set the -mno-odd-spreg option by default when using d836 5 a840 3 --with-fp-32=64 in order to target the o32 FP64A ABI extension.
      --with-nan=encoding
      On MIPS targets, set the default encoding convention to use for the d843 9 a851 5
      legacy
      Use the legacy encoding, as with the -mnan=legacy command-line option.
      2008
      Use the 754-2008 encoding, as with the -mnan=2008 command-line option. d853 2 a854 2 To use this configuration option you must have an assembler version installed that supports the -mnan= command-line option too. d856 7 a862 5 the legacy encoding, as when neither of the -mnan=2008 and -mnan=legacy command-line options has been used.
      --with-divide=type
      Specify how the compiler should generate code for checking for division by zero. This option is only supported on the MIPS target. d864 8 a871 4
      traps
      Division by zero checks use conditional traps (this is the default on systems that support conditional traps).
      breaks
      Division by zero checks use the break instruction. d874 5 a878 4
      --with-llsc
      On MIPS targets, make -mllsc the default when no -mno-llsc option is passed. This is the default for d881 19 a899 11
      --without-llsc
      On MIPS targets, make -mno-llsc the default when no -mllsc option is passed.
      --with-synci
      On MIPS targets, make -msynci the default when no -mno-synci option is passed.
      --without-synci
      On MIPS targets, make -mno-synci the default when no -msynci option is passed. This is the default.
      --with-mips-plt
      On MIPS targets, make use of copy relocations and PLTs. d903 5 a907 3
      --enable-__cxa_atexit
      Define if you want to use __cxa_atexit, rather than atexit, to register C++ destructors for local statics and global objects. d911 5 a915 3 -fuse-cxa-atexit to be passed by default.
      --enable-gnu-indirect-function
      Define if you want to enable the ifunc attribute. This option is d917 5 a921 3
      --enable-target-optspace
      Specify that target libraries should be optimized for code space instead of code speed. d923 9 a931 5
      --with-cpp-install-dir=dirname
      Specify that the user visible cpp program should be installed in prefix/dirname/cpp, in addition to bindir.
      --enable-comdat
      Enable COMDAT group support. This is primarily used to override the d933 4 a936 2
      --enable-initfini-array
      Force the use of sections .init_array and .fini_array d938 1 a938 1 destructors. Option --disable-initfini-array has the d942 4 a945 2
      --enable-link-mutex
      When building GCC, use a mutex to avoid linking the compilers for d948 5 a952 3
      --enable-maintainer-mode
      The build rules that regenerate the Autoconf and Automake output files as well as the GCC master message catalog gcc.pot are normally d955 1 a955 1 catalog, configuring with --enable-maintainer-mode will enable d958 5 a962 3
      --disable-bootstrap
      For a native build, the default configuration is to perform a 3-stage bootstrap of the compiler when ‘make’ is invoked, d964 6 a969 4 this process, you can configure with --disable-bootstrap.
      --enable-bootstrap
      In special cases, you may want to perform a 3-stage build even if the target and host triplets are different. d971 1 a971 1 the target (e.g. host is i686-linux, target is i486-linux). d973 5 a977 3 with --enable-bootstrap.
      --enable-generated-files-in-srcdir
      Neither the .c and .h files that are generated from Bison and flex nor the d983 2 a984 2

      If you configure with --enable-generated-files-in-srcdir then those d989 4 a992 2

      --enable-version-specific-runtime-libs
      Specify d994 2 a995 2 subdirectory (libdir/gcc) rather than the usual places. In addition, ‘libstdc++’'s include files will be installed into d997 1 a997 1 --with-gxx-include-dir=dirname. Using this option is d999 6 a1004 4 parallel. This is currently supported by ‘libgfortran’, ‘libjava’, ‘libstdc++’, and ‘libobjc’.
      --with-aix-soname=‘aix’, ‘svr4’ or ‘both’
      Traditional AIX shared library versioning (versioned Shared Object d1006 1 a1006 1 ‘lib.a’) causes numerous headaches for package managers. However, d1009 1 a1009 1 where this is called the "SONAME". But as they prevent static linking, d1011 23 a1033 20 linker does search for ‘libNAME.so’ before ‘libNAME.a’ library filenames with the ‘-lNAME’ linker flag.

      For detailed information please refer to the AIX ld Command reference.

      As long as shared library creation is enabled, upon:

      --with-aix-soname=aix
      --with-aix-soname=both
      A (traditional AIX) Shared Archive Library file is created:
      • using the ‘libNAME.a’ filename scheme
      • with the Shared Object file as archive member named ‘libNAME.so.V’ (except for ‘libgcc_s’, where the Shared Object file is named ‘shr.o’ for backwards compatibility), which
        • is used for runtime loading from inside the ‘libNAME.a’ file
        • is used for dynamic loading via dlopen("libNAME.a(libNAME.so.V)", RTLD_MEMBER)
        • is used for shared linking
        • is used for static linking, so no separate Static Archive d1035 15 a1049 12

      --with-aix-soname=both
      --with-aix-soname=svr4
      A (second) Shared Archive Library file is created:
      • using the ‘libNAME.so.V’ filename scheme
      • with the Shared Object file as archive member named ‘shr.o’, which
        • is created with the -G linker flag
        • has the F_LOADONLY flag set
        • is used for runtime loading from inside the ‘libNAME.so.V’ file
        • is used for dynamic loading via dlopen("libNAME.so.V(shr.o)", d1051 2 a1052 2
      • with the Import File as archive member named ‘shr.imp’, d1054 2 a1055 2
        • refers to ‘libNAME.so.V(shr.o)’ as the "SONAME", to be recorded d1057 13 a1069 13
        • indicates whether ‘libNAME.so.V(shr.o)’ is 32 or 64 bit
        • lists all the public symbols exported by ‘lib.so.V(shr.o)’, eventually decorated with the ‘weak’ Keyword
        • is necessary for shared linking against ‘lib.so.V(shr.o)’
      A symbolic link using the ‘libNAME.so’ filename scheme is created:
      • pointing to the ‘libNAME.so.V’ Shared Archive Library file
      • to permit the ld Command to find ‘lib.so.V(shr.imp)’ via the ‘-lNAME’ argument (requires Runtime Linking to be enabled)
      • to permit dynamic loading of ‘lib.so.V(shr.o)’ without the need to specify the version number via dlopen("libNAME.so(shr.o)", d1071 3 a1073 2
      d1075 13 a1087 11

      As long as static library creation is enabled, upon:

      --with-aix-soname=svr4
      A Static Archive Library is created:
      • using the ‘libNAME.a’ filename scheme
      • with all the Static Object files as archive members, which
        • are used for static linking
      d1089 1 a1089 1

      While the aix-soname=‘svr4’ option does not create Shared Object d1096 2 a1097 2

      WARNING: Creating Shared Object files with Runtime Linking d1099 1 a1099 1 requiring the use of either the -Wl,-bbigtoc linker flag (seen to d1102 2 a1103 2

      --with-aix-soname is currently supported by ‘libgcc_s’ only, so d1105 6 a1110 4

      Default is the traditional behavior --with-aix-soname=‘aix’.

      --enable-languages=lang1,lang2,...
      Specify that only a particular subset of compilers and d1113 5 a1117 4 gcc directory of your GCC source tree:
                grep ^language= */config-lang.in
      

      Currently, you can use any of the following: d1119 2 a1120 2 go, java, jit, lto, objc, obj-c++. Building the Ada compiler has special requirements, see below. d1122 6 a1127 6 default languages available in the gcc sub-tree will be configured. Ada, Go, Jit, and Objective-C++ are not default languages. LTO is not a default language, but is built by default because --enable-lto is enabled by default. The other languages are default languages.

      --enable-stage1-languages=lang1,lang2,...
      Specify that a particular subset of compilers and their runtime d1131 2 a1132 2 --enable-languages, and the option all will select all of the languages enabled by --enable-languages. This option is d1137 7 a1143 5 specified languages with the stage-1 compiler by using make stage1-bubble all-target, or run the testsuite on the stage-1 compiler for the specified languages using make stage1-start check-gcc.
      --disable-libada
      Specify that the run-time libraries and tools used by GNAT should not d1146 5 a1150 3 do a ‘make -C gcc gnatlib_and_tools’.
      --disable-libsanitizer
      Specify that the run-time libraries for the various sanitizers should d1152 4 a1155 2
      --disable-libssp
      Specify that the run-time libraries for stack smashing protection d1157 4 a1160 2
      --disable-libquadmath
      Specify that the GCC quad-precision math library should not be built. d1162 1 a1162 1 the Fortran front end, unless --disable-libquadmath-support d1164 4 a1167 2
      --disable-libquadmath-support
      Specify that the Fortran front end and libgfortran do not add d1169 4 a1172 2
      --disable-libgomp
      Specify that the GNU Offloading and Multi Processing Runtime Library d1174 4 a1177 2
      --disable-libvtv
      Specify that the run-time libraries used by vtable verification d1179 4 a1182 2
      --with-dwarf2
      Specify that the compiler should d1184 5 a1188 9
      --with-advance-toolchain=at
      On 64-bit PowerPC Linux systems, configure the compiler to use the header files, library files, and the dynamic linker from the Advance Toolchain release at instead of the default versions that are provided by the Linux distribution. In general, this option is intended for the developers of GCC, and it is not intended for general use.
      --enable-targets=all
      --enable-targets=target_list
      Some GCC targets, e.g. powerpc64-linux, build bi-arch compilers. d1190 1 a1190 1 code. Typically, the corresponding 32-bit target, e.g. d1194 1 a1194 1 you are building a bi-arch or multi-arch binutils in a combined tree. d1196 1 a1196 1 defaulted to o32. d1199 4 a1202 4
      --enable-default-pie
      Turn on -fPIE and -pie by default.
      --enable-secureplt
      This option enables -msecure-plt by default for powerpc-linux. d1204 4 a1207 4
      --enable-default-ssp
      Turn on -fstack-protector-strong by default.
      --enable-cld
      This option enables -mcld by default for 32-bit x86 targets. d1209 6 a1214 2
      --enable-win32-registry
      --enable-win32-registry=key
      --disable-win32-registry
      The --enable-win32-registry option enables Microsoft Windows-hosted GCC d1216 4 d1221 2 a1222 4
                HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\key
      

      key defaults to GCC version number, and can be overridden by the --enable-win32-registry=key option. Vendors and distributors d1226 1 a1226 1 by default, and can be disabled by --disable-win32-registry d1228 15 a1242 8

      --nfp
      Specify that the machine does not have a floating point unit. This option only applies to ‘m68k-sun-sunosn’. On any other system, --nfp has no effect.
      --enable-werror
      --disable-werror
      --enable-werror=yes
      --enable-werror=no
      When you specify this option, it controls whether certain files in the compiler are built with -Werror in bootstrap stage2 and later. If you don't specify it, -Werror is turned on for the main d1244 1 a1244 1 final releases. The specific files which get -Werror are d1246 5 a1250 2
      --enable-checking
      --enable-checking=list
      When you specify this option, the compiler is built to perform internal d1254 3 a1256 3 the compiler with GCC. This is ‘yes’ by default when building from SVN or snapshots, but ‘release’ for releases. The default for building the stage1 compiler is ‘yes’. More control d1258 9 a1266 9 checks available are ‘yes’ (most common checks ‘assert,misc,tree,gc,rtlflag,runtime’), ‘no’ (no checks at all), ‘all’ (all but ‘valgrind’), ‘release’ (cheapest checks ‘assert,runtime’) or ‘none’ (same as ‘no’). Individual checks can be enabled with these flags ‘assert’, ‘df’, ‘fold’, ‘gc’, ‘gcac’ ‘misc’, ‘rtl’, ‘rtlflag’, ‘runtime’, ‘tree’, and ‘valgrind’.

      The ‘valgrind’ check requires the external valgrind d1268 3 a1270 3 ‘df’, ‘rtl’, ‘gcac’ and ‘valgrind’ checks are very expensive. To disable all checking, ‘--disable-checking’ or ‘--enable-checking=none’ must be explicitly requested. Disabling d1274 7 a1280 3

      --disable-stage1-checking
      --enable-stage1-checking
      --enable-stage1-checking=list
      If no --enable-checking option is specified the stage1 compiler will be built with ‘yes’ checking enabled, otherwise d1282 3 a1284 3 --enable-checking. To build the stage1 compiler with different checking options use --enable-stage1-checking. The list of checking options is the same as for --enable-checking. d1286 1 a1286 1 with checking for stage1 enabled, you can use ‘--disable-stage1-checking’ d1288 5 a1292 2
      --enable-coverage
      --enable-coverage=level
      With this option, the compiler is built to collect self coverage d1296 1 a1296 1 not, values are ‘opt’ and ‘noopt’. For coverage analysis you d1300 4 a1303 2
      --enable-gather-detailed-mem-stats
      When this option is specified more detailed information on memory d1305 6 a1310 6 -fmem-report.
      --enable-valgrind-annotations
      Mark selected memory related operations in the compiler when run under valgrind to suppress false positives.
      --enable-nls
      --disable-nls
      The --enable-nls option enables Native Language Support (NLS), d1313 10 a1322 6 canadian cross build. The --disable-nls option disables NLS.
      --with-included-gettext
      If NLS is enabled, the --with-included-gettext option causes the build procedure to prefer its copy of GNU gettext.
      --with-catgets
      If NLS is enabled, and if the host lacks gettext but has the d1324 12 a1335 8 ignores catgets and instead uses GCC's copy of the GNU gettext library. The --with-catgets option causes the build procedure to use the host's catgets in this situation.
      --with-libiconv-prefix=dir
      Search for libiconv header files in dir/include and libiconv library files in dir/lib.
      --enable-obsolete
      Enable configuration for an obsoleted system. If you attempt to d1339 2 a1340 2

      All support for systems which have been obsoleted in one release of GCC d1343 9 a1351 2

      --enable-decimal-float
      --enable-decimal-float=yes
      --enable-decimal-float=no
      --enable-decimal-float=bid
      --enable-decimal-float=dpd
      --disable-decimal-float
      Enable (or disable) support for the C decimal floating point extension d1356 2 a1357 2 ‘bid’ or ‘dpd’). The ‘bid’ (binary integer decimal) format is default on i386 and x86_64 systems, and the ‘dpd’ d1359 5 a1363 2
      --enable-fixed-point
      --disable-fixed-point
      Enable (or disable) support for C fixed-point arithmetic. d1367 4 a1370 2
      --with-long-double-128
      Specify if long double type should be 128-bit by default on selected d1372 1 a1372 1 long double will be by default 64-bit, the same as double type. d1376 12 a1387 4
      --enable-fdpic
      On SH Linux systems, generate ELF FDPIC code.
      --with-gmp=pathname
      --with-gmp-include=pathname
      --with-gmp-lib=pathname
      --with-mpfr=pathname
      --with-mpfr-include=pathname
      --with-mpfr-lib=pathname
      --with-mpc=pathname
      --with-mpc-include=pathname
      --with-mpc-lib=pathname
      If you want to build GCC but do not have the GMP library, the MPFR d1391 12 a1402 12 (‘--with-gmp=gmpinstalldir’, ‘--with-mpfr=mpfrinstalldir’, ‘--with-mpc=mpcinstalldir’). The --with-gmp=gmpinstalldir option is shorthand for --with-gmp-lib=gmpinstalldir/lib and --with-gmp-include=gmpinstalldir/include. Likewise the --with-mpfr=mpfrinstalldir option is shorthand for --with-mpfr-lib=mpfrinstalldir/lib and --with-mpfr-include=mpfrinstalldir/include, also the --with-mpc=mpcinstalldir option is shorthand for --with-mpc-lib=mpcinstalldir/lib and --with-mpc-include=mpcinstalldir/include. If these d1407 3 a1409 3 variable (LD_LIBRARY_PATH on GNU/Linux and Solaris systems).

      These flags are applicable to the host platform only. When building d1411 6 a1416 2

      --with-isl=pathname
      --with-isl-include=pathname
      --with-isl-lib=pathname
      If you do not have the isl library installed in a standard location and you d1418 4 a1421 4 installed (‘--with-isl=islinstalldir’). The --with-isl=islinstalldir option is shorthand for --with-isl-lib=islinstalldir/lib and --with-isl-include=islinstalldir/include. If this d1424 2 a1425 2

      These flags are applicable to the host platform only. When building d1427 14 a1440 2

      --with-stage1-ldflags=flags
      This option may be used to set linker flags to be used when linking d1442 5 a1446 5 --disable-bootstrap. If --with-stage1-libs is not set to a value, then the default is ‘-static-libstdc++ -static-libgcc’, if supported.
      --with-stage1-libs=libs
      This option may be used to set libraries to be used when linking stage 1 d1448 19 a1466 11 --disable-bootstrap.
      --with-boot-ldflags=flags
      This option may be used to set linker flags to be used when linking stage 2 and later when bootstrapping GCC. If –with-boot-libs is not is set to a value, then the default is ‘-static-libstdc++ -static-libgcc’.
      --with-boot-libs=libs
      This option may be used to set libraries to be used when linking stage 2 and later when bootstrapping GCC.
      --with-debug-prefix-map=map
      Convert source directory names using -fdebug-prefix-map when d1468 6 a1473 4 list of maps of the form ‘old=new’.
      --enable-linker-build-id
      Tells GCC to pass --build-id option to the linker for all final links (links performed without the -r or --relocatable d1475 7 a1481 5 --enable-linker-build-id, but your linker does not support --build-id option, a warning is issued and the --enable-linker-build-id option is ignored. The default is off.
      --with-linker-hash-style=choice
      Tells GCC to pass --hash-style=choice option to the d1483 6 a1488 3 ‘sysv’, ‘gnu’, and ‘both’ where ‘sysv’ is the default.
      --enable-gnu-unique-object
      --disable-gnu-unique-object
      Tells GCC to use the gnu_unique_object relocation for C++ template d1492 4 a1495 2
      --with-diagnostics-color=choice
      Tells GCC to use choice as the default for -fdiagnostics-color= d1497 3 a1499 3 can be one of ‘never’, ‘auto’, ‘always’, and ‘auto-if-env’ where ‘auto’ is the default. ‘auto-if-env’ means that -fdiagnostics-color=auto will be the default if GCC_COLORS d1501 12 a1512 6 -fdiagnostics-color=never otherwise.
      --enable-lto
      --disable-lto
      Enable support for link-time optimization (LTO). This is enabled by default, and may be disabled using --disable-lto.
      --enable-linker-plugin-configure-flags=FLAGS
      --enable-linker-plugin-flags=FLAGS
      By default, linker plugins (such as the LTO plugin) are built for the d1517 2 a1518 2 (‘x86_64-unknown-linux-gnu’) host system, but have a 32-bit x86 GNU/Linux (‘i686-pc-linux-gnu’) linker executable (which is d1521 12 a1532 8
                % srcdir/configure \
                    --host=x86_64-unknown-linux-gnu \
                    --enable-linker-plugin-configure-flags=--host=i686-pc-linux-gnu \
                    --enable-linker-plugin-flags='CC=gcc\ -m32\ -Wl,-rpath,[...]/i686-pc-linux-gnu/lib'
      

      --with-plugin-ld=pathname
      Enable an alternate linker to be used at link-time optimization (LTO) link time when -fuse-linker-plugin is enabled. d1534 7 a1540 4 version 2.20 or GNU ld starting with version 2.21. See -fuse-linker-plugin for details.
      --enable-canonical-system-headers
      --disable-canonical-system-headers
      Enable system header path canonicalization for libcpp. This can d1544 5 a1548 3 --disable-canonical-system-headers.
      --with-glibc-version=major.minor
      Tell GCC that when the GNU C Library (glibc) is used on the target it d1550 1 a1550 1 be detected from the C library's header files, but this option may be d1553 3 a1555 3

      If GCC is configured with some multilibs that use glibc and some that do not, this option applies only to the multilibs that use glibc. d1558 8 a1565 4

      --enable-as-accelerator-for=target
      Build as offload target compiler. Specify offload host triple by target.
      --enable-offload-targets=target1[=path1],...,targetN[=pathN]
      Enable offloading to targets target1, ..., targetN. d1568 7 a1574 22 specifying paths path1, ..., pathN.
                % srcdir/configure \
                    --enable-offload-target=i686-unknown-linux-gnu=/path/to/i686/compiler,x86_64-pc-linux-gnu
      

      If ‘hsa’ is specified as one of the targets, the compiler will be built with support for HSA GPU accelerators. Because the same compiler will emit the accelerator code, no path should be specified.

      --with-hsa-runtime=pathname
      --with-hsa-runtime-include=pathname
      --with-hsa-runtime-lib=pathname
      If you configure GCC with HSA offloading but do not have the HSA run-time library installed in a standard location then you can explicitly specify the directory where they are installed. The --with-hsa-runtime=hsainstalldir option is a shorthand for --with-hsa-runtime-lib=hsainstalldir/lib and --with-hsa-runtime-include=hsainstalldir/include.
      --with-hsa-kmt-lib=pathname
      If you configure GCC with HSA offloading but do not have the HSA KMT library installed in a standard location then you can explicitly specify the directory where it resides. d1577 2 a1578 2

      Cross-Compiler-Specific Options

      d1580 6 a1585 4
      --with-sysroot
      --with-sysroot=dir
      Tells GCC to consider dir as the root of a tree that contains (a subset of) the root filesystem of the target operating system. d1588 1 a1588 1 --sysroot=dir was added to the default options of the built d1590 5 a1594 5 install tree, unlike the options --with-headers and --with-libs that this option obsoletes. The default value, in case --with-sysroot is not given an argument, is ${gcc_tooldir}/sys-root. If the specified directory is a subdirectory of ${exec_prefix}, then it will be found relative to d1596 2 a1597 2

      This option affects the system root for the compiler used to build d1601 2 a1602 2

      If you specify the --with-native-system-header-dir=dirname d1604 11 a1614 8 native system headers rather than the default /usr/include.

      --with-build-sysroot
      --with-build-sysroot=dir
      Tells GCC to consider dir as the system root (see --with-sysroot) while building target libraries, instead of the directory specified with --with-sysroot. This option is only useful when you are already using --with-sysroot. You can use --with-build-sysroot when you are configuring with --prefix set to a directory that is different from the one in d1616 2 a1617 2

      This option affects the system root for the compiler used to build d1620 2 a1621 2

      If you specify the --with-native-system-header-dir=dirname d1623 7 a1629 4 native system headers rather than the default /usr/include.

      --with-headers
      --with-headers=dir
      Deprecated in favor of --with-sysroot. Specifies that target headers are available when building a cross compiler. d1631 5 a1635 5 files. These include files will be copied into the gcc install directory. This option with the dir argument is required when building a cross compiler, if prefix/target/sys-include doesn't pre-exist. If prefix/target/sys-include does pre-exist, the dir argument may be omitted. fixincludes d1637 4 a1640 2
      --without-headers
      Tells GCC not use any target headers from a libc when building a cross d1643 5 a1647 2
      --with-libs
      --with-libs="dir1 dir2 ... dirN"
      Deprecated in favor of --with-sysroot. d1649 1 a1649 1 libraries. These libraries will be copied into the gcc install d1652 4 a1655 2
      --with-newlib
      Specifies that ‘newlib’ is d1657 6 a1662 4 omitted from libgcc.a on the assumption that it will be provided by ‘newlib’.
      --with-avrlibc
      Specifies that ‘AVR-Libc’ is d1664 3 a1666 3 functions like __addsf3 to be omitted from libgcc.a on the assumption that it will be provided by libm.a. For more technical details, cf. PR54461. d1670 5 a1674 3
      --with-nds32-lib=library
      Specifies that library setting is used for building libgcc.a. Currently, the valid library is ‘newlib’ or ‘mculib’. d1676 4 a1679 2
      --with-build-time-tools=dir
      Specifies where to find the set of target tools (assembler, linker, etc.) d1683 3 a1685 3

      For example, on an ‘ia64-hp-hpux’ system, you may have the GNU assembler and linker in /usr/bin, and the native tools in a d1687 8 a1694 7 native tools in /usr/bin.

      When you use this option, you should ensure that dir includes ar, as, ld, nm, ranlib and strip if necessary, and possibly objdump. Otherwise, GCC may use an inconsistent set of tools. d1697 2 a1698 1

      Overriding configure test results
      d1701 2 a1702 2 configure test, for example in order to ease porting to a new system or work around a bug in a test. The toplevel configure d1704 5 a1708 3
      build_configargs
      The contents of this variable is passed to all build configure d1710 5 a1714 2
      host_configargs
      The contents of this variable is passed to all host configure d1716 5 a1720 2
      target_configargs
      The contents of this variable is passed to all target configure d1722 3 d1726 2 a1727 4

      In order to avoid shell and make quoting issues for complex overrides, you can pass a setting for CONFIG_SITE and set d1729 3 a1731 2

      Java-Specific Options

      d1734 4 a1737 3
      --disable-libgcj
      Specify that the run-time libraries d1739 1 a1739 1 to use GCJ with some other run-time, or you're going to install it d1742 2 a1743 2 libraries will be enabled too, unless they're known to not work on the target platform. If GCJ is enabled but ‘libgcj’ isn't built, you d1745 5 a1749 2 configure.ac so that ‘libgcj’ is enabled by default on this platform, you may use --enable-libgcj to override the default. d1751 11 a1761 11

      The following options apply to building ‘libgcj’.

      General Options
      --enable-java-maintainer-mode
      By default the ‘libjava’ build will not attempt to compile the .java source files to .class. Instead, it will use the .class files from the source tree. If you use this option you must have executables named ecj1 and gjavah in your path d1763 14 a1776 10 modify any .java files in libjava.
      --with-java-home=dirname
      This ‘libjava’ option overrides the default value of the ‘java.home’ system property. It is also used to set ‘sun.boot.class.path’ to dirname/lib/rt.jar. By default ‘java.home’ is set to prefix and ‘sun.boot.class.path’ to datadir/java/libgcj-version.jar.
      --with-ecj-jar=filename
      This option can be used to specify the location of an external jar d1778 3 a1780 3 version of this compiler is used by gcj to parse .java source files. If this option is given, the ‘libjava’ build will create and install an ecj1 executable d1782 8 a1789 8

      If this option is not given, but an ecj.jar file is found in the topmost source tree at configure time, then the ‘libgcj’ build will create and install ecj1, and will also install the discovered ecj.jar into a suitable place in the install tree.

      If ecj1 is not installed, then the user will have to supply one on his path in order for gcj to properly parse .java d1792 9 a1800 5

      --disable-getenv-properties
      Don't set system properties from GCJ_PROPERTIES.
      --enable-hash-synchronization
      Use a global hash table for monitor locks. Ordinarily, ‘libgcj’'s ‘configure’ script automatically makes d1803 4 a1806 2
      --enable-interpreter
      Enable the Java interpreter. The interpreter is automatically d1809 5 a1813 3 (using --disable-interpreter).
      --disable-java-net
      Disable java.net. This disables the native part of java.net only, d1815 10 a1824 6
      --disable-jvmpi
      Disable JVMPI support.
      --disable-libgcj-bc
      Disable BC ABI compilation of certain parts of libgcj. By default, some portions of libgcj are compiled with -findirect-dispatch and -fno-indirect-classes, allowing them to be overridden at d1826 2 a1827 2

      If --disable-libgcj-bc is specified, libgcj is built without d1831 4 a1834 2

      --enable-reduced-reflection
      Build most of libgcj with -freduced-reflection. This reduces d1839 19 a1857 11
      --with-ecos
      Enable runtime eCos target support.
      --without-libffi
      Don't use ‘libffi’. This will disable the interpreter and JNI support as well, as these require ‘libffi’ to work.
      --enable-libgcj-debug
      Enable runtime debugging code.
      --enable-libgcj-multifile
      If specified, causes all .java source files to be compiled into .class files in one invocation of ‘gcj’. This can speed up build time, but is more d1859 14 a1872 8 disabled, ‘gcj’ is invoked once for each .java file to compile into a .class file.
      --with-libiconv-prefix=DIR
      Search for libiconv in DIR/include and DIR/lib.
      --with-system-zlib
      Use installed ‘zlib’ rather than that included with GCC.
      --with-win32-nlsapi=ansi, unicows or unicode
      Indicates how MinGW ‘libgcj’ translates between UNICODE d1874 4 a1877 2
      --enable-java-home
      If enabled, this creates a JPackage compatible SDK environment during install. d1880 4 a1883 2
      --with-arch-directory=ARCH
      Specifies the name to use for the jre/lib/ARCH directory in the SDK d1886 9 a1894 5
      --with-os-directory=DIR
      Specifies the OS directory for the SDK include directory. This is set to auto detect, and is typically 'linux'.
      --with-origin-name=NAME
      Specifies the JPackage origin name. This defaults to the 'gcj' in d1896 17 a1912 9
      --with-arch-suffix=SUFFIX
      Specifies the suffix for the sdk directory. Defaults to the empty string. Examples include '.x86_64' in 'java-1.5.0-gcj-1.5.0.0.x86_64'.
      --with-jvm-root-dir=DIR
      Specifies where to install the SDK. Default is $(prefix)/lib/jvm.
      --with-jvm-jar-dir=DIR
      Specifies where to install jars. Default is $(prefix)/lib/jvm-exports.
      --with-python-dir=DIR
      Specifies where to install the Python modules used for aot-compile. DIR should d1917 12 a1928 6
      --enable-aot-compile-rpm
      Adds aot-compile-rpm to the list of installed scripts.
      --enable-browser-plugin
      Build the gcjwebplugin web browser plugin.
      --enable-static-libjava
      Build static libraries in libjava. The default is to only build shared d1930 4 a1933 3
      ansi
      Use the single-byte char and the Win32 A functions natively, d1936 20 d1957 2 a1958 7
      unicows
      Use the WCHAR and Win32 W functions natively. Adds -lunicows to libgcj.spec to link with ‘libunicows’. unicows.dll needs to be deployed on Microsoft Windows 9X machines running built executables. libunicows.a, an open-source import library around Microsoft's unicows.dll, is obtained from http://libunicows.sourceforge.net/, which also gives details on getting unicows.dll from Microsoft. d1960 41 a2000 3
      unicode
      Use the WCHAR and Win32 W functions natively. Does not add -lunicows to libgcj.spec. The built executables will only run on Microsoft Windows NT and above. a2001 1
      a2002 1
      AWT-Specific Options
      d2004 4 a2007 8
      --with-x
      Use the X Window System.
      --enable-java-awt=PEER(S)
      Specifies the AWT peer library or libraries to build alongside ‘libgcj’. If this option is unspecified or disabled, AWT will be non-functional. Current valid values are gtk and xlib. Multiple libraries should be separated by a comma (i.e. --enable-java-awt=gtk,xlib). a2008 1
      --enable-gtk-cairo
      Build the cairo Graphics2D implementation on GTK. a2009 1
      --enable-java-gc=TYPE
      Choose garbage collector. Defaults to boehm if unspecified. a2010 1
      --disable-gtktest
      Do not try to compile and run a test GTK+ program. a2011 1
      --disable-glibtest
      Do not try to compile and run a test GLIB program. a2012 1
      --with-libart-prefix=PFX
      Prefix where libart is installed (optional). a2013 1
      --with-libart-exec-prefix=PFX
      Exec prefix where libart is installed (optional). a2014 1
      --disable-libarttest
      Do not try to compile and run a test libart program. a2015 1
      a2016 2


      Return to the GCC Installation page a2017 10 d2019 2 @ 1.1.1.9 log @import GCC 6.5.0. this is largely a maint release with no particularly features listed here: http://gcc.gnu.org/gcc-6/changes.html this fixes over 250 PRs in the GCC bugzilla: https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=6.5 @ text @d1 10 a10 3 Installing GCC d41 6 d48 2 a49 10

      Installing GCC

      d51 3 d55 2 a56 25

      Like most GNU software, GCC must be configured before it can be built. This document describes the recommended configuration procedure for both native and cross targets.

      We use srcdir to refer to the toplevel source directory for GCC; we use objdir to refer to the toplevel build/object directory.

      If you obtained the sources via SVN, srcdir must refer to the top gcc directory, the one where the MAINTAINERS file can be found, and not its gcc subdirectory, otherwise the build will fail.

      If either srcdir or objdir is located on an automounted NFS file system, the shell’s built-in pwd command will return d58 3 a60 3 problems. To avoid this issue, set the PWDCMD environment variable to an automounter-aware pwd command, e.g., pawd or ‘amq -w’, during the configuration and build d62 2 a63 2

      First, we highly recommend that GCC be built into a d66 1 a66 1 where srcdir == objdir should still work, but doesn’t d69 6 a74 6

      If you have previously built GCC in the same directory for a different target machine, do ‘make distclean’ to delete all files that might be invalid. One of the files this deletes is Makefile; if ‘make distclean’ complains that Makefile does not exist or issues a message like “don’t know how to make distclean” it probably d78 3 a80 3

      Second, when configuring a native system, either cc or gcc must be in your path or you must set CC in a82 1

      d84 1 a84 7

      To configure GCC:

      % mkdir objdir
      % cd objdir
      % srcdir/configure [options] [target]
      
      d86 5 a90 2

      Distributor options

      d95 3 a97 4

      --with-pkgversion=version

      Specify a string that identifies your package. You may wish d99 6 a104 8 included in the output of gcc --version. This suffix does not replace the default version string, only the ‘GCC’ part.

      The default value is ‘GCC’.

      --with-bugurl=url

      Specify the URL that users should visit if they wish to report a bug. a106 5

      The default value refers to the FSF’s GCC bug tracker.

      d108 8 a115 4

      Target specification

      • GCC has code to correctly determine the correct value for target d119 1 a119 1
      • target must be specified as --target=target d123 3 a125 4
      • Specifying just target instead of --target=target implies that the host defaults to target.
      d127 1 a127 2

      Options specification

      d130 2 a131 2 GCC. A list of supported options follows; ‘configure --help’ may list other options, but those not listed below may not d133 7 a139 8

      Note that each --enable option has a corresponding --disable option and that each --with option has a corresponding --without option.

      --prefix=dirname

      Specify the toplevel installation d142 3 a144 3 /usr/local.

      We highly recommend against dirname being the same or a d146 5 a150 5 beneath a user’s home directory tree, some shells will not expand dirname correctly if it contains the ‘~’ metacharacter; use $HOME instead.

      The following standard autoconf options are supported. Normally you d152 2 a153 3

      --exec-prefix=dirname

      Specify the toplevel installation directory for architecture-dependent d155 12 a166 20

      --bindir=dirname

      Specify the installation directory for the executables called by users (such as gcc and g++). The default is exec-prefix/bin.

      --libdir=dirname

      Specify the installation directory for object code libraries and internal data files of GCC. The default is exec-prefix/lib.

      --libexecdir=dirname

      Specify the installation directory for internal executables of GCC. The default is exec-prefix/libexec.

      --with-slibdir=dirname

      Specify the installation directory for the shared libgcc library. The d168 8 a175 14

      --datarootdir=dirname

      Specify the root of the directory tree for read-only architecture-independent data files referenced by GCC. The default is prefix/share.

      --infodir=dirname

      Specify the installation directory for documentation in info format. The default is datarootdir/info.

      --datadir=dirname

      Specify the installation directory for some architecture-independent d177 5 a181 9

      --docdir=dirname

      Specify the installation directory for documentation files (other than Info) for GCC. The default is datarootdir/doc.

      --htmldir=dirname

      Specify the installation directory for HTML documentation files. d183 2 a184 4

      --pdfdir=dirname

      Specify the installation directory for PDF documentation files. d186 3 a188 5

      --mandir=dirname

      Specify the installation directory for manual pages. The default is datarootdir/man. (Note that the manual pages are only extracts d192 2 a193 4

      --with-gxx-include-dir=dirname

      Specify d197 2 a198 4

      --with-specs=specs

      Specify additional command line driver SPECS. d200 2 a201 2 default without modifying the compiler’s source code, for instance --with-specs=%{!fcommon:%{!fno-common:-fno-common}}. a202 3

      d204 3 a206 3
      --program-prefix=prefix

      GCC supports some transformations of the names of its programs when d209 9 a217 13 --program-prefix=foo- would result in ‘gcc’ being installed as /usr/local/bin/foo-gcc.

      --program-suffix=suffix

      Appends suffix to the names of programs to install in bindir (see above). For example, specifying --program-suffix=-3.1 would result in ‘gcc’ being installed as /usr/local/bin/gcc-3.1.

      --program-transform-name=pattern

      Applies the ‘sed’ script pattern to be applied to the names d219 5 a223 5 consist of one or more basic ‘sed’ editing commands, separated by semicolons. For example, if you want the ‘gcc’ program name to be transformed to the installed program /usr/local/bin/myowngcc and the ‘g++’ program name to be transformed to /usr/local/bin/gspecial++ without changing other program names, d225 1 a225 1 --program-transform-name='s/^gcc$/myowngcc/; s/^g++$/gspecial++/' d227 2 a228 2

      All three options can be combined and used together, resulting in more d232 3 a234 3

      As currently implemented, this option only takes effect for native builds; cross compiler binaries’ names are not transformed even when a d236 2 a237 2

      For native builds, some of the installed programs are also installed d239 1 a239 1 ‘i686-pc-linux-gnu-gcc’. All of the above transformations happen d241 1 a241 1 --program-prefix=foo- and program-suffix=-3.1, the d243 3 a245 3 /usr/local/bin/i686-pc-linux-gnu-foo-gcc-3.1.

      As a last shortcoming, none of the installed Ada programs are d247 2 a248 4

      --with-local-prefix=dirname

      Specify the d250 6 a255 6 /usr/local. Specify this option if you want the compiler to search directory dirname/include for locally installed header files instead of /usr/local/include.

      You should specify --with-local-prefix only if your site has a different convention (not /usr/local) for where to put d257 4 a260 4

      The default value for --with-local-prefix is /usr/local regardless of the value of --prefix. Specifying --prefix has no effect on which directory GCC searches for d263 3 a265 3

      The purpose of --prefix is to specify where to install GCC. The local header files in /usr/local/include—if you put d268 4 a271 4 another directory which is based on the --prefix value.)

      Both the local-prefix include directory and the GCC-prefix include directory are part of GCC’s “system include” directories. Although these d277 2 a278 2

      Some autoconf macros add -I directory options to the d280 1 a280 1 packages’ headers are searched. When directory is one of GCC’s d285 3 a287 3

      GCC automatically searches for ordinary libraries using GCC_EXEC_PREFIX. Thus, when the same installation prefix is d291 3 a293 3 installed as a system compiler in /usr.

      Sites that need to install multiple versions of GCC may not want to d295 2 a296 2 --program-prefix, --program-suffix and --program-transform-name options to install multiple versions d298 1 a298 1 and the --with-local-prefix option to specify the location of the d301 9 a309 9 (e.g., with LIBRARY_PATH).

      The same value can be used for both --with-local-prefix and --prefix provided it is not /usr. This can be used to avoid the default search of /usr/local/include.

      Do not specify /usr as the --with-local-prefix! The directory you use for --with-local-prefix must not contain any of the system’s standard header files. If it did contain d312 3 a314 3 file corrections made by the fixincludes script.

      Indications are that people who use this option use it based on mistaken d318 3 a320 5

      --with-native-system-header-dir=dirname

      Specifies that dirname is the directory that contains native system header files, rather than /usr/include. This option is most useful d323 1 a323 1 --with-sysroot option and will cause GCC to search d325 2 a326 4

      --enable-shared[=package[,…]]

      Build shared versions of libraries, if shared libraries are supported on d329 2 a330 2

      If a list of packages is given as an argument, build shared libraries d333 10 a342 10 ‘libgcc’ (also known as ‘gcc’), ‘libstdc++’ (not ‘libstdc++-v3’), ‘libffi’, ‘zlib’, ‘boehm-gc’, ‘ada’, ‘libada’, ‘libjava’, ‘libgo’, and ‘libobjc’. Note ‘libiberty’ does not support shared libraries at all.

      Use --disable-shared to build only static libraries. Note that --disable-shared does not accept a list of package names as argument, only --enable-shared does.

      Contrast with --enable-host-shared, which affects host d344 2 a345 4

      --enable-host-shared

      Specify that the host code should be built into position-independent d348 4 a351 4

      This option is required when building the libgccjit.so library.

      Contrast with --enable-shared, which affects target d353 2 a354 4

      --with-gnu-as

      Specify that the compiler should assume that the d359 1 a359 1 configured with --with-gnu-as.) If you have more than one d361 4 a364 4 connection with --with-as=pathname or --with-build-time-tools=pathname.

      The following systems are the only ones where it makes a difference d366 10 a375 12 --with-gnu-as has no effect.

      • ‘hppa1.0-any-any’
      • ‘hppa1.1-any-any’
      • ‘sparc-sun-solaris2.any’
      • ‘sparc64-any-solaris2.any’
      --with-as=pathname

      Specify that the compiler should use the assembler pointed to by d378 4 a381 4

      • Unless GCC is being built with a cross compiler, check the libexec/gcc/target/version directory. libexec defaults to exec-prefix/libexec; d383 3 a385 3 defaults to /usr/local unless overridden by the --prefix=pathname switch described above. target is the target system triple, such as ‘sparc-sun-solaris2.7’, and d388 2 a389 2
      • If the target system is the same that you are building on, check operating system specific directories (e.g. /usr/ccs/bin on d392 1 a392 1
      • Check in the PATH for a tool whose name is prefixed by the d395 1 a395 1
      • Check in the PATH for a tool whose name is not prefixed by the d398 2 a399 2 the target as well).
      d401 1 a401 1

      You may want to use --with-as if no assembler d405 2 a406 4

      --with-gnu-ld

      Same as --with-gnu-as d408 2 a409 4

      --with-ld=pathname

      Same as --with-as d411 2 a412 4

      --with-stabs

      Specify that stabs debugging d415 2 a416 2

      On MIPS based systems and on Alphas, you must specify whether you want d421 6 a426 6

      Normally, GCC uses the ECOFF debugging format by default; if you prefer BSD stabs, specify --with-stabs when you configure GCC.

      No matter which default you choose when you configure GCC, the user can use the -gcoff and -gstabs+ options to specify explicitly d428 3 a430 3

      --with-stabs is meaningful on the ISC system on the 386, also, if --with-gas is used. It selects use of stabs debugging d433 2 a434 2

      --with-stabs is also meaningful on 386 systems running SVR4. It d440 2 a441 4

      --with-tls=dialect

      Specify the default TLS dialect, for systems were there is a choice. d445 2 a446 4

      --enable-multiarch

      Specify whether to enable or disable multiarch support. The default is d449 2 a450 2 and for cross builds configured with --with-sysroot, and without --with-native-system-header-dir. d453 3 a455 5

      --enable-sjlj-exceptions

      Force use of the setjmp/longjmp-based scheme for exceptions. ‘configure’ ordinarily picks the correct value based on the platform. d457 2 a458 4

      --enable-vtable-verify

      Specify whether to enable or disable the vtable verification feature. d463 1 a463 1 the verifier will call stub functions (in libstdc++ itself) and do nothing. d466 4 a469 6 still be built (see --disable-libvtv to turn off building libvtv). --disable-vtable-verify is the default.

      --disable-multilib

      Specify that multiple target d473 11 a483 18

      Some targets provide finer-grained control over which multilibs are built (e.g., --disable-softfloat):

      arm-*-*

      fpu, 26bit, underscore, interwork, biendian, nofmult.

      m68*-*-*

      softfloat, m68881, m68000, m68020.

      mips*-*-*

      single-float, biendian, softfloat.

      powerpc*-*-*, rs6000*-*-*

      aix64, pthread, softfloat, powercpu, powerpccpu, powerpcos, biendian, a484 3

      d486 3 a488 4
      --with-multilib-list=list
      --without-multilib-list

      Specify what multilibs to build. d490 3 a492 4

      arm*-*-*

      list is either default or aprofile. Specifying d500 2 a501 4

      sh*-*-*

      list is a comma separated list of CPU names. These must be of the d504 3 a506 3 these are handled by --with-endian.

      If list is empty, then there will be no multilibs for extra d508 4 a511 4

      As a special case, if an entry in the list starts with a ! (exclamation point), then it is added to the list of excluded multilibs. Entries of this sort should be compatible with ‘MULTILIB_EXCLUDES’ d513 3 a515 3

      If --with-multilib-list is not given, then a default set of multilibs is selected based on the value of --target. This is d518 2 a519 2

      Example 1: to configure a compiler for SH4A only, but supporting both d521 3 a523 5

      --with-cpu=sh4a --with-endian=little,big --with-multilib-list=
      

      Example 2: to configure a compiler for both SH4A and SH4AL-DSP, but with d525 4 a528 8

      --with-cpu=sh4a --with-endian=little,big \
      --with-multilib-list=sh4al,!mb/m4al
      
      x86-64-*-linux*

      list is a comma separated list of m32, m64 and d532 3 a534 4

      If --with-multilib-list is not given, then only 32-bit and 64-bit run-time libraries will be enabled.

      d537 1 a537 3
      --with-endian=endians

      Specify what endians to use. d539 7 a545 15

      endians may be one of the following:

      big

      Use big endian exclusively.

      little

      Use little endian exclusively.

      big,little

      Use big endian by default. Provide a multilib for little endian.

      little,big

      Use little endian by default. Provide a multilib for big endian.

      d548 1 a548 3
      --enable-threads

      Specify that the target d550 1 a550 1 library, and exception handling for other languages like C++ and Java. d552 2 a553 2

      In general, the best (and, in many cases, the only known) threading d556 7 a562 11 available for the system. In this case, --enable-threads is an alias for --enable-threads=single.

      --disable-threads

      Specify that threading support should be disabled for the system. This is an alias for --enable-threads=single.

      --enable-threads=lib

      Specify that d566 13 a578 35

      aix

      AIX thread support.

      dce

      DCE thread support.

      lynx

      LynxOS thread support.

      mipssde

      MIPS SDE thread support.

      no

      This is an alias for ‘single’.

      posix

      Generic POSIX/Unix98 thread support.

      rtems

      RTEMS thread support.

      single

      Disable thread support, should work for all platforms.

      tpf

      TPF thread support.

      vxworks

      VxWorks thread support.

      win32

      Microsoft Win32 API thread support.

      d581 1 a581 3
      --enable-tls

      Specify that the target supports TLS (Thread Local Storage). Usually d584 1 a584 1 --enable-tls or --disable-tls. This can happen if d587 6 a592 12

      --disable-tls

      Specify that the target does not support TLS. This is an alias for --enable-tls=no.

      --with-cpu=cpu
      --with-cpu-32=cpu
      --with-cpu-64=cpu

      Specify which cpu variant the compiler should generate code for by default. cpu will be used as the default value of the -mcpu= switch. d594 2 a595 2 PowerPC, and SPARC. It is mandatory for ARC. The --with-cpu-32 and --with-cpu-64 options specify separate default CPUs for d598 5 a602 16

      --with-schedule=cpu
      --with-arch=cpu
      --with-arch-32=cpu
      --with-arch-64=cpu
      --with-tune=cpu
      --with-tune-32=cpu
      --with-tune-64=cpu
      --with-abi=abi
      --with-fpu=type
      --with-float=type

      These configure options provide default values for the -mschedule=, -march=, -mtune=, -mabi=, and -mfpu= options and for -mhard-float or -msoft-float. As with --with-cpu, which switches will be accepted and acceptable values d604 2 a605 4

      --with-mode=mode

      Specify if the compiler should default to -marm or -mthumb. d607 2 a608 4

      --with-stack-offset=num

      This option sets the default for the -mstack-offset=num option, d611 4 a614 6

      --with-fpmath=isa

      This options sets -mfpmath=sse by default and specifies the default ISA for floating-point arithmetics. You can select either ‘sse’ which enables -msse2 or ‘avx’ which enables -mavx by default. d616 2 a617 4

      --with-fp-32=mode

      On MIPS targets, set the default value for the -mfp option when using d619 7 a625 13

      32

      Use the o32 FP32 ABI extension, as with the -mfp32 command-line option.

      xx

      Use the o32 FPXX ABI extension, as with the -mfpxx command-line option.

      64

      Use the o32 FP64 ABI extension, as with the -mfp64 command-line option.

      d627 1 a627 1

      In the absence of this configuration option the default is to use the o32 d629 2 a630 4

      --with-odd-spreg-32

      On MIPS targets, set the -modd-spreg option by default when using d632 2 a633 4

      --without-odd-spreg-32

      On MIPS targets, set the -mno-odd-spreg option by default when using d635 3 a637 5 --with-fp-32=64 in order to target the o32 FP64A ABI extension.

      --with-nan=encoding

      On MIPS targets, set the default encoding convention to use for the d640 5 a644 9

      legacy

      Use the legacy encoding, as with the -mnan=legacy command-line option.

      2008

      Use the 754-2008 encoding, as with the -mnan=2008 command-line option.

      d646 2 a647 2

      To use this configuration option you must have an assembler version installed that supports the -mnan= command-line option too. d649 5 a653 7 the legacy encoding, as when neither of the -mnan=2008 and -mnan=legacy command-line options has been used.

      --with-divide=type

      Specify how the compiler should generate code for checking for division by zero. This option is only supported on the MIPS target. d655 4 a658 8

      traps

      Division by zero checks use conditional traps (this is the default on systems that support conditional traps).

      breaks

      Division by zero checks use the break instruction.

      d661 4 a664 5
      --with-llsc

      On MIPS targets, make -mllsc the default when no -mno-llsc option is passed. This is the default for d667 11 a677 19

      --without-llsc

      On MIPS targets, make -mno-llsc the default when no -mllsc option is passed.

      --with-synci

      On MIPS targets, make -msynci the default when no -mno-synci option is passed.

      --without-synci

      On MIPS targets, make -mno-synci the default when no -msynci option is passed. This is the default.

      --with-mips-plt

      On MIPS targets, make use of copy relocations and PLTs. d681 3 a683 5

      --enable-__cxa_atexit

      Define if you want to use __cxa_atexit, rather than atexit, to register C++ destructors for local statics and global objects. d687 3 a689 5 -fuse-cxa-atexit to be passed by default.

      --enable-gnu-indirect-function

      Define if you want to enable the ifunc attribute. This option is d691 3 a693 5

      --enable-target-optspace

      Specify that target libraries should be optimized for code space instead of code speed. d695 5 a699 9

      --with-cpp-install-dir=dirname

      Specify that the user visible cpp program should be installed in prefix/dirname/cpp, in addition to bindir.

      --enable-comdat

      Enable COMDAT group support. This is primarily used to override the d701 2 a702 4

      --enable-initfini-array

      Force the use of sections .init_array and .fini_array d704 1 a704 1 destructors. Option --disable-initfini-array has the d708 2 a709 4

      --enable-link-mutex

      When building GCC, use a mutex to avoid linking the compilers for d712 3 a714 5

      --enable-maintainer-mode

      The build rules that regenerate the Autoconf and Automake output files as well as the GCC master message catalog gcc.pot are normally d717 1 a717 1 catalog, configuring with --enable-maintainer-mode will enable d720 3 a722 5

      --disable-bootstrap

      For a native build, the default configuration is to perform a 3-stage bootstrap of the compiler when ‘make’ is invoked, d724 4 a727 6 this process, you can configure with --disable-bootstrap.

      --enable-bootstrap

      In special cases, you may want to perform a 3-stage build even if the target and host triplets are different. d729 1 a729 1 the target (e.g. host is i686-linux, target is i486-linux). d731 3 a733 5 with --enable-bootstrap.

      --enable-generated-files-in-srcdir

      Neither the .c and .h files that are generated from Bison and flex nor the d739 2 a740 2

      If you configure with --enable-generated-files-in-srcdir then those d745 2 a746 4

      --enable-version-specific-runtime-libs

      Specify d748 2 a749 2 subdirectory (libdir/gcc) rather than the usual places. In addition, ‘libstdc++’’s include files will be installed into d751 1 a751 1 --with-gxx-include-dir=dirname. Using this option is d753 4 a756 6 parallel. This is currently supported by ‘libgfortran’, ‘libjava’, ‘libstdc++’, and ‘libobjc’.

      --with-aix-soname=‘aix’, ‘svr4’ or ‘both’

      Traditional AIX shared library versioning (versioned Shared Object d758 1 a758 1 ‘lib.a’) causes numerous headaches for package managers. However, d761 1 a761 1 where this is called the "SONAME". But as they prevent static linking, d763 20 a782 23 linker does search for ‘libNAME.so’ before ‘libNAME.a’ library filenames with the ‘-lNAME’ linker flag.

      For detailed information please refer to the AIX ld Command reference.

      As long as shared library creation is enabled, upon:

      --with-aix-soname=aix
      --with-aix-soname=both

      A (traditional AIX) Shared Archive Library file is created:

      • using the ‘libNAME.a’ filename scheme
      • with the Shared Object file as archive member named ‘libNAME.so.V’ (except for ‘libgcc_s’, where the Shared Object file is named ‘shr.o’ for backwards compatibility), which
        • - is used for runtime loading from inside the ‘libNAME.a’ file
        • - is used for dynamic loading via dlopen("libNAME.a(libNAME.so.V)", RTLD_MEMBER)
        • - is used for shared linking
        • - is used for static linking, so no separate Static Archive d784 12 a795 15
      --with-aix-soname=both
      --with-aix-soname=svr4

      A (second) Shared Archive Library file is created:

      • using the ‘libNAME.so.V’ filename scheme
      • with the Shared Object file as archive member named ‘shr.o’, which
        • - is created with the -G linker flag
        • - has the F_LOADONLY flag set
        • - is used for runtime loading from inside the ‘libNAME.so.V’ file
        • - is used for dynamic loading via dlopen("libNAME.so.V(shr.o)", d797 2 a798 2
      • with the Import File as archive member named ‘shr.imp’, d800 2 a801 2
        • - refers to ‘libNAME.so.V(shr.o)’ as the "SONAME", to be recorded d803 13 a815 13
        • - indicates whether ‘libNAME.so.V(shr.o)’ is 32 or 64 bit
        • - lists all the public symbols exported by ‘lib.so.V(shr.o)’, eventually decorated with the ‘weak’ Keyword
        • - is necessary for shared linking against ‘lib.so.V(shr.o)’

      A symbolic link using the ‘libNAME.so’ filename scheme is created:

      • pointing to the ‘libNAME.so.V’ Shared Archive Library file
      • to permit the ld Command to find ‘lib.so.V(shr.imp)’ via the ‘-lNAME’ argument (requires Runtime Linking to be enabled)
      • to permit dynamic loading of ‘lib.so.V(shr.o)’ without the need to specify the version number via dlopen("libNAME.so(shr.o)", d817 2 a818 3
      d820 11 a830 13

      As long as static library creation is enabled, upon:

      --with-aix-soname=svr4

      A Static Archive Library is created:

      • using the ‘libNAME.a’ filename scheme
      • with all the Static Object files as archive members, which
        • - are used for static linking
      d832 1 a832 1

      While the aix-soname=‘svr4’ option does not create Shared Object d839 2 a840 2

      WARNING: Creating Shared Object files with Runtime Linking d842 1 a842 1 requiring the use of either the -Wl,-bbigtoc linker flag (seen to d845 2 a846 2

      --with-aix-soname is currently supported by ‘libgcc_s’ only, so d848 4 a851 6

      Default is the traditional behavior --with-aix-soname=‘aix’.

      --enable-languages=lang1,lang2,…

      Specify that only a particular subset of compilers and d854 4 a857 5 gcc directory of your GCC source tree:

      grep ^language= */config-lang.in
      

      Currently, you can use any of the following: d859 2 a860 2 go, java, jit, lto, objc, obj-c++. Building the Ada compiler has special requirements, see below. d862 1 a862 1 default languages available in the gcc sub-tree will be configured. d864 1 a864 1 default language, but is built by default because --enable-lto is d866 2 a867 4

      --enable-stage1-languages=lang1,lang2,…

      Specify that a particular subset of compilers and their runtime d871 2 a872 2 --enable-languages, and the option all will select all of the languages enabled by --enable-languages. This option is d877 5 a881 7 specified languages with the stage-1 compiler by using make stage1-bubble all-target, or run the testsuite on the stage-1 compiler for the specified languages using make stage1-start check-gcc.

      --disable-libada

      Specify that the run-time libraries and tools used by GNAT should not d884 3 a886 5 do a ‘make -C gcc gnatlib_and_tools’.

      --disable-libsanitizer

      Specify that the run-time libraries for the various sanitizers should d888 2 a889 4

      --disable-libssp

      Specify that the run-time libraries for stack smashing protection d891 2 a892 4

      --disable-libquadmath

      Specify that the GCC quad-precision math library should not be built. d894 1 a894 1 the Fortran front end, unless --disable-libquadmath-support d896 2 a897 4

      --disable-libquadmath-support

      Specify that the Fortran front end and libgfortran do not add d899 2 a900 4

      --disable-libgomp

      Specify that the GNU Offloading and Multi Processing Runtime Library d902 2 a903 4

      --disable-libvtv

      Specify that the run-time libraries used by vtable verification d905 2 a906 4

      --with-dwarf2

      Specify that the compiler should d908 2 a909 4

      --with-advance-toolchain=at

      On 64-bit PowerPC Linux systems, configure the compiler to use the d915 2 a916 5

      --enable-targets=all
      --enable-targets=target_list

      Some GCC targets, e.g. powerpc64-linux, build bi-arch compilers. d918 1 a918 1 code. Typically, the corresponding 32-bit target, e.g. d922 1 a922 1 you are building a bi-arch or multi-arch binutils in a combined tree. d924 1 a924 1 defaulted to o32. d927 4 a930 8

      --enable-default-pie

      Turn on -fPIE and -pie by default.

      --enable-secureplt

      This option enables -msecure-plt by default for powerpc-linux. d932 4 a935 8

      --enable-default-ssp

      Turn on -fstack-protector-strong by default.

      --enable-cld

      This option enables -mcld by default for 32-bit x86 targets. d937 2 a938 6

      --enable-win32-registry
      --enable-win32-registry=key
      --disable-win32-registry

      The --enable-win32-registry option enables Microsoft Windows-hosted GCC a939 4

      HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\key
      
      d941 4 a944 2

      key defaults to GCC version number, and can be overridden by the --enable-win32-registry=key option. Vendors and distributors d948 1 a948 1 by default, and can be disabled by --disable-win32-registry d950 8 a957 15

      --nfp

      Specify that the machine does not have a floating point unit. This option only applies to ‘m68k-sun-sunosn’. On any other system, --nfp has no effect.

      --enable-werror
      --disable-werror
      --enable-werror=yes
      --enable-werror=no

      When you specify this option, it controls whether certain files in the compiler are built with -Werror in bootstrap stage2 and later. If you don’t specify it, -Werror is turned on for the main d959 1 a959 1 final releases. The specific files which get -Werror are d961 2 a962 5

      --enable-checking
      --enable-checking=list

      When you specify this option, the compiler is built to perform internal d966 3 a968 3 the compiler with GCC. This is ‘yes’ by default when building from SVN or snapshots, but ‘release’ for releases. The default for building the stage1 compiler is ‘yes’. More control d970 9 a978 9 checks available are ‘yes’ (most common checks ‘assert,misc,tree,gc,rtlflag,runtime’), ‘no’ (no checks at all), ‘all’ (all but ‘valgrind’), ‘release’ (cheapest checks ‘assert,runtime’) or ‘none’ (same as ‘no’). Individual checks can be enabled with these flags ‘assert’, ‘df’, ‘fold’, ‘gc’, ‘gcac’ ‘misc’, ‘rtl’, ‘rtlflag’, ‘runtime’, ‘tree’, and ‘valgrind’.

      The ‘valgrind’ check requires the external valgrind d980 3 a982 3 ‘df’, ‘rtl’, ‘gcac’ and ‘valgrind’ checks are very expensive. To disable all checking, ‘--disable-checking’ or ‘--enable-checking=none’ must be explicitly requested. Disabling d986 3 a988 7

      --disable-stage1-checking
      --enable-stage1-checking
      --enable-stage1-checking=list

      If no --enable-checking option is specified the stage1 compiler will be built with ‘yes’ checking enabled, otherwise d990 3 a992 3 --enable-checking. To build the stage1 compiler with different checking options use --enable-stage1-checking. The list of checking options is the same as for --enable-checking. d994 1 a994 1 with checking for stage1 enabled, you can use ‘--disable-stage1-checking’ d996 2 a997 5

      --enable-coverage
      --enable-coverage=level

      With this option, the compiler is built to collect self coverage d1001 1 a1001 1 not, values are ‘opt’ and ‘noopt’. For coverage analysis you d1005 2 a1006 4

      --enable-gather-detailed-mem-stats

      When this option is specified more detailed information on memory d1008 3 a1010 5 -fmem-report.

      --enable-valgrind-annotations

      Mark selected memory related operations in the compiler when run under d1012 2 a1013 5

      --enable-nls
      --disable-nls

      The --enable-nls option enables Native Language Support (NLS), d1016 6 a1021 10 canadian cross build. The --disable-nls option disables NLS.

      --with-included-gettext

      If NLS is enabled, the --with-included-gettext option causes the build procedure to prefer its copy of GNU gettext.

      --with-catgets

      If NLS is enabled, and if the host lacks gettext but has the d1023 8 a1030 12 ignores catgets and instead uses GCC’s copy of the GNU gettext library. The --with-catgets option causes the build procedure to use the host’s catgets in this situation.

      --with-libiconv-prefix=dir

      Search for libiconv header files in dir/include and libiconv library files in dir/lib.

      --enable-obsolete

      Enable configuration for an obsoleted system. If you attempt to d1034 2 a1035 2

      All support for systems which have been obsoleted in one release of GCC d1038 2 a1039 9

      --enable-decimal-float
      --enable-decimal-float=yes
      --enable-decimal-float=no
      --enable-decimal-float=bid
      --enable-decimal-float=dpd
      --disable-decimal-float

      Enable (or disable) support for the C decimal floating point extension d1044 2 a1045 2 ‘bid’ or ‘dpd’). The ‘bid’ (binary integer decimal) format is default on i386 and x86_64 systems, and the ‘dpd’ d1047 2 a1048 5

      --enable-fixed-point
      --disable-fixed-point

      Enable (or disable) support for C fixed-point arithmetic. d1052 2 a1053 4

      --with-long-double-128

      Specify if long double type should be 128-bit by default on selected d1055 1 a1055 1 long double will be by default 64-bit, the same as double type. d1059 4 a1062 16

      --enable-fdpic

      On SH Linux systems, generate ELF FDPIC code.

      --with-gmp=pathname
      --with-gmp-include=pathname
      --with-gmp-lib=pathname
      --with-mpfr=pathname
      --with-mpfr-include=pathname
      --with-mpfr-lib=pathname
      --with-mpc=pathname
      --with-mpc-include=pathname
      --with-mpc-lib=pathname

      If you want to build GCC but do not have the GMP library, the MPFR d1066 12 a1077 12 (‘--with-gmp=gmpinstalldir’, ‘--with-mpfr=mpfrinstalldir’, ‘--with-mpc=mpcinstalldir’). The --with-gmp=gmpinstalldir option is shorthand for --with-gmp-lib=gmpinstalldir/lib and --with-gmp-include=gmpinstalldir/include. Likewise the --with-mpfr=mpfrinstalldir option is shorthand for --with-mpfr-lib=mpfrinstalldir/lib and --with-mpfr-include=mpfrinstalldir/include, also the --with-mpc=mpcinstalldir option is shorthand for --with-mpc-lib=mpcinstalldir/lib and --with-mpc-include=mpcinstalldir/include. If these d1082 3 a1084 3 variable (LD_LIBRARY_PATH on GNU/Linux and Solaris systems).

      These flags are applicable to the host platform only. When building d1086 2 a1087 6

      --with-isl=pathname
      --with-isl-include=pathname
      --with-isl-lib=pathname

      If you do not have the isl library installed in a standard location and you d1089 4 a1092 4 installed (‘--with-isl=islinstalldir’). The --with-isl=islinstalldir option is shorthand for --with-isl-lib=islinstalldir/lib and --with-isl-include=islinstalldir/include. If this d1095 2 a1096 2

      These flags are applicable to the host platform only. When building d1098 2 a1099 4

      --with-stage1-ldflags=flags

      This option may be used to set linker flags to be used when linking d1101 2 a1102 2 --disable-bootstrap. If --with-stage1-libs is not set to a value, then the default is ‘-static-libstdc++ -static-libgcc’, if d1104 2 a1105 4

      --with-stage1-libs=libs

      This option may be used to set libraries to be used when linking stage 1 d1107 3 a1109 5 --disable-bootstrap.

      --with-boot-ldflags=flags

      This option may be used to set linker flags to be used when linking d1112 3 a1114 5 ‘-static-libstdc++ -static-libgcc’.

      --with-boot-libs=libs

      This option may be used to set libraries to be used when linking stage 2 d1116 2 a1117 4

      --with-debug-prefix-map=map

      Convert source directory names using -fdebug-prefix-map when d1119 4 a1122 6 list of maps of the form ‘old=new’.

      --enable-linker-build-id

      Tells GCC to pass --build-id option to the linker for all final links (links performed without the -r or --relocatable d1124 5 a1128 7 --enable-linker-build-id, but your linker does not support --build-id option, a warning is issued and the --enable-linker-build-id option is ignored. The default is off.

      --with-linker-hash-style=choice

      Tells GCC to pass --hash-style=choice option to the d1130 3 a1132 6 ‘sysv’, ‘gnu’, and ‘both’ where ‘sysv’ is the default.

      --enable-gnu-unique-object
      --disable-gnu-unique-object

      Tells GCC to use the gnu_unique_object relocation for C++ template d1136 2 a1137 4

      --with-diagnostics-color=choice

      Tells GCC to use choice as the default for -fdiagnostics-color= d1139 3 a1141 3 can be one of ‘never’, ‘auto’, ‘always’, and ‘auto-if-env’ where ‘auto’ is the default. ‘auto-if-env’ means that -fdiagnostics-color=auto will be the default if GCC_COLORS d1143 6 a1148 12 -fdiagnostics-color=never otherwise.

      --enable-lto
      --disable-lto

      Enable support for link-time optimization (LTO). This is enabled by default, and may be disabled using --disable-lto.

      --enable-linker-plugin-configure-flags=FLAGS
      --enable-linker-plugin-flags=FLAGS

      By default, linker plugins (such as the LTO plugin) are built for the d1153 2 a1154 2 (‘x86_64-unknown-linux-gnu’) host system, but have a 32-bit x86 GNU/Linux (‘i686-pc-linux-gnu’) linker executable (which is d1157 8 a1164 12

      % srcdir/configure \
          --host=x86_64-unknown-linux-gnu \
          --enable-linker-plugin-configure-flags=--host=i686-pc-linux-gnu \
          --enable-linker-plugin-flags='CC=gcc\ -m32\ -Wl,-rpath,[...]/i686-pc-linux-gnu/lib'
      
      --with-plugin-ld=pathname

      Enable an alternate linker to be used at link-time optimization (LTO) link time when -fuse-linker-plugin is enabled. d1166 4 a1169 7 version 2.20 or GNU ld starting with version 2.21. See -fuse-linker-plugin for details.

      --enable-canonical-system-headers
      --disable-canonical-system-headers

      Enable system header path canonicalization for libcpp. This can d1173 3 a1175 5 --disable-canonical-system-headers.

      --with-glibc-version=major.minor

      Tell GCC that when the GNU C Library (glibc) is used on the target it d1177 1 a1177 1 be detected from the C library’s header files, but this option may be d1180 3 a1182 3

      If GCC is configured with some multilibs that use glibc and some that do not, this option applies only to the multilibs that use glibc. d1185 4 a1188 8

      --enable-as-accelerator-for=target

      Build as offload target compiler. Specify offload host triple by target.

      --enable-offload-targets=target1[=path1],…,targetN[=pathN]

      Enable offloading to targets target1, …, targetN. d1191 1 a1191 6 specifying paths path1, …, pathN.

      % srcdir/configure \
          --enable-offload-target=i686-unknown-linux-gnu=/path/to/i686/compiler,x86_64-pc-linux-gnu
      
      d1193 4 a1196 1

      If ‘hsa’ is specified as one of the targets, the compiler will be d1199 3 a1201 7

      --with-hsa-runtime=pathname
      --with-hsa-runtime-include=pathname
      --with-hsa-runtime-lib=pathname

      If you configure GCC with HSA offloading but do not have the HSA d1204 1 a1204 1 --with-hsa-runtime=hsainstalldir option is a d1206 5 a1210 7 --with-hsa-runtime-lib=hsainstalldir/lib and --with-hsa-runtime-include=hsainstalldir/include.

      --with-hsa-kmt-lib=pathname

      If you configure GCC with HSA offloading but do not have the HSA d1212 1 a1212 2 explicitly specify the directory where it resides.

      d1215 2 a1216 2

      Cross-Compiler-Specific Options

      d1218 4 a1221 6

      --with-sysroot
      --with-sysroot=dir

      Tells GCC to consider dir as the root of a tree that contains (a subset of) the root filesystem of the target operating system. d1224 1 a1224 1 --sysroot=dir was added to the default options of the built d1226 5 a1230 5 install tree, unlike the options --with-headers and --with-libs that this option obsoletes. The default value, in case --with-sysroot is not given an argument, is ${gcc_tooldir}/sys-root. If the specified directory is a subdirectory of ${exec_prefix}, then it will be found relative to d1232 2 a1233 2

      This option affects the system root for the compiler used to build d1237 2 a1238 2

      If you specify the --with-native-system-header-dir=dirname d1240 8 a1247 11 native system headers rather than the default /usr/include.

      --with-build-sysroot
      --with-build-sysroot=dir

      Tells GCC to consider dir as the system root (see --with-sysroot) while building target libraries, instead of the directory specified with --with-sysroot. This option is only useful when you are already using --with-sysroot. You can use --with-build-sysroot when you are configuring with --prefix set to a directory that is different from the one in d1249 2 a1250 2

      This option affects the system root for the compiler used to build d1253 2 a1254 2

      If you specify the --with-native-system-header-dir=dirname d1256 4 a1259 7 native system headers rather than the default /usr/include.

      --with-headers
      --with-headers=dir

      Deprecated in favor of --with-sysroot. Specifies that target headers are available when building a cross compiler. d1261 5 a1265 5 files. These include files will be copied into the gcc install directory. This option with the dir argument is required when building a cross compiler, if prefix/target/sys-include doesn’t pre-exist. If prefix/target/sys-include does pre-exist, the dir argument may be omitted. fixincludes d1267 2 a1268 4

      --without-headers

      Tells GCC not use any target headers from a libc when building a cross d1271 2 a1272 5

      --with-libs
      --with-libs="dir1 dir2 … dirN"

      Deprecated in favor of --with-sysroot. d1274 1 a1274 1 libraries. These libraries will be copied into the gcc install d1277 2 a1278 4

      --with-newlib

      Specifies that ‘newlib’ is d1280 4 a1283 6 omitted from libgcc.a on the assumption that it will be provided by ‘newlib’.

      --with-avrlibc

      Specifies that ‘AVR-Libc’ is d1285 3 a1287 3 functions like __addsf3 to be omitted from libgcc.a on the assumption that it will be provided by libm.a. For more technical details, cf. PR54461. d1291 3 a1293 5

      --with-nds32-lib=library

      Specifies that library setting is used for building libgcc.a. Currently, the valid library is ‘newlib’ or ‘mculib’. d1295 2 a1296 4

      --with-build-time-tools=dir

      Specifies where to find the set of target tools (assembler, linker, etc.) d1300 3 a1302 3

      For example, on an ‘ia64-hp-hpux’ system, you may have the GNU assembler and linker in /usr/bin, and the native tools in a d1304 7 a1310 8 native tools in /usr/bin.

      When you use this option, you should ensure that dir includes ar, as, ld, nm, ranlib and strip if necessary, and possibly objdump. Otherwise, GCC may use an inconsistent set of tools.

      d1313 1 a1313 2

      Overriding configure test results

      d1316 2 a1317 2 configure test, for example in order to ease porting to a new system or work around a bug in a test. The toplevel configure d1319 3 a1321 5

      build_configargs

      The contents of this variable is passed to all build configure d1323 2 a1324 5

      host_configargs

      The contents of this variable is passed to all host configure d1326 2 a1327 5

      target_configargs

      The contents of this variable is passed to all target configure a1328 3

      d1330 4 a1333 2

      In order to avoid shell and make quoting issues for complex overrides, you can pass a setting for CONFIG_SITE and set d1335 2 a1336 3

      Java-Specific Options

      d1339 3 a1341 4

      --disable-libgcj

      Specify that the run-time libraries d1343 1 a1343 1 to use GCJ with some other run-time, or you’re going to install it d1346 2 a1347 2 libraries will be enabled too, unless they’re known to not work on the target platform. If GCJ is enabled but ‘libgcj’ isn’t built, you d1349 8 a1356 5 configure.ac so that ‘libgcj’ is enabled by default on this platform, you may use --enable-libgcj to override the default.

      d1358 5 a1362 11

      The following options apply to building ‘libgcj’.

      General Options

      --enable-java-maintainer-mode

      By default the ‘libjava’ build will not attempt to compile the .java source files to .class. Instead, it will use the .class files from the source tree. If you use this option you must have executables named ecj1 and gjavah in your path d1364 10 a1373 14 modify any .java files in libjava.

      --with-java-home=dirname

      This ‘libjava’ option overrides the default value of the ‘java.home’ system property. It is also used to set ‘sun.boot.class.path’ to dirname/lib/rt.jar. By default ‘java.home’ is set to prefix and ‘sun.boot.class.path’ to datadir/java/libgcj-version.jar.

      --with-ecj-jar=filename

      This option can be used to specify the location of an external jar d1375 3 a1377 3 version of this compiler is used by gcj to parse .java source files. If this option is given, the ‘libjava’ build will create and install an ecj1 executable d1379 8 a1386 8

      If this option is not given, but an ecj.jar file is found in the topmost source tree at configure time, then the ‘libgcj’ build will create and install ecj1, and will also install the discovered ecj.jar into a suitable place in the install tree.

      If ecj1 is not installed, then the user will have to supply one on his path in order for gcj to properly parse .java d1389 5 a1393 9

      --disable-getenv-properties

      Don’t set system properties from GCJ_PROPERTIES.

      --enable-hash-synchronization

      Use a global hash table for monitor locks. Ordinarily, ‘libgcj’’s ‘configure’ script automatically makes d1396 2 a1397 4

      --enable-interpreter

      Enable the Java interpreter. The interpreter is automatically d1400 3 a1402 5 (using --disable-interpreter).

      --disable-java-net

      Disable java.net. This disables the native part of java.net only, d1404 6 a1409 10

      --disable-jvmpi

      Disable JVMPI support.

      --disable-libgcj-bc

      Disable BC ABI compilation of certain parts of libgcj. By default, some portions of libgcj are compiled with -findirect-dispatch and -fno-indirect-classes, allowing them to be overridden at d1411 2 a1412 2

      If --disable-libgcj-bc is specified, libgcj is built without d1416 2 a1417 4

      --enable-reduced-reflection

      Build most of libgcj with -freduced-reflection. This reduces d1422 11 a1432 19

      --with-ecos

      Enable runtime eCos target support.

      --without-libffi

      Don’t use ‘libffi’. This will disable the interpreter and JNI support as well, as these require ‘libffi’ to work.

      --enable-libgcj-debug

      Enable runtime debugging code.

      --enable-libgcj-multifile

      If specified, causes all .java source files to be compiled into .class files in one invocation of ‘gcj’. This can speed up build time, but is more d1434 8 a1441 14 disabled, ‘gcj’ is invoked once for each .java file to compile into a .class file.

      --with-libiconv-prefix=DIR

      Search for libiconv in DIR/include and DIR/lib.

      --with-system-zlib

      Use installed ‘zlib’ rather than that included with GCC.

      --with-win32-nlsapi=ansi, unicows or unicode

      Indicates how MinGW ‘libgcj’ translates between UNICODE d1443 2 a1444 4

      --enable-java-home

      If enabled, this creates a JPackage compatible SDK environment during install. d1447 2 a1448 4

      --with-arch-directory=ARCH

      Specifies the name to use for the jre/lib/ARCH directory in the SDK d1451 5 a1455 9

      --with-os-directory=DIR

      Specifies the OS directory for the SDK include directory. This is set to auto detect, and is typically ’linux’.

      --with-origin-name=NAME

      Specifies the JPackage origin name. This defaults to the ’gcj’ in d1457 9 a1465 17

      --with-arch-suffix=SUFFIX

      Specifies the suffix for the sdk directory. Defaults to the empty string. Examples include ’.x86_64’ in ’java-1.5.0-gcj-1.5.0.0.x86_64’.

      --with-jvm-root-dir=DIR

      Specifies where to install the SDK. Default is $(prefix)/lib/jvm.

      --with-jvm-jar-dir=DIR

      Specifies where to install jars. Default is $(prefix)/lib/jvm-exports.

      --with-python-dir=DIR

      Specifies where to install the Python modules used for aot-compile. DIR should d1470 6 a1475 12

      --enable-aot-compile-rpm

      Adds aot-compile-rpm to the list of installed scripts.

      --enable-browser-plugin

      Build the gcjwebplugin web browser plugin.

      --enable-static-libjava

      Build static libraries in libjava. The default is to only build shared d1477 3 a1479 4

      ansi

      Use the single-byte char and the Win32 A functions natively, d1482 6 a1487 8

      unicows

      Use the WCHAR and Win32 W functions natively. Adds -lunicows to libgcj.spec to link with ‘libunicows’. unicows.dll needs to be deployed on Microsoft Windows 9X machines running built executables. libunicows.a, an open-source import library around Microsoft’s unicows.dll, is obtained from d1489 5 a1493 8 on getting unicows.dll from Microsoft.

      unicode

      Use the WCHAR and Win32 W functions natively. Does not add -lunicows to libgcj.spec. The built executables will only run on Microsoft Windows NT and above.

      d1495 1 a1495 5

      AWT-Specific Options

      d1497 1 a1497 42
      --with-x

      Use the X Window System.

      --enable-java-awt=PEER(S)

      Specifies the AWT peer library or libraries to build alongside ‘libgcj’. If this option is unspecified or disabled, AWT will be non-functional. Current valid values are gtk and xlib. Multiple libraries should be separated by a comma (i.e. --enable-java-awt=gtk,xlib).

      --enable-gtk-cairo

      Build the cairo Graphics2D implementation on GTK.

      --enable-java-gc=TYPE

      Choose garbage collector. Defaults to boehm if unspecified.

      --disable-gtktest

      Do not try to compile and run a test GTK+ program.

      --disable-glibtest

      Do not try to compile and run a test GLIB program.

      --with-libart-prefix=PFX

      Prefix where libart is installed (optional).

      --with-libart-exec-prefix=PFX

      Exec prefix where libart is installed (optional).

      --disable-libarttest

      Do not try to compile and run a test libart program.

      d1499 2 d1502 5 a1506 4

      Return to the GCC Installation page

      d1508 1 d1510 1 d1512 1 d1514 1 d1516 1 d1518 1 d1520 1 d1522 1 d1524 2 d1527 10 a1537 2 @ 1.1.1.10 log @import GCC 7.4.0. main changes include: The non-standard C++0x type traits has_trivial_default_constructor, has_trivial_copy_constructor and has_trivial_copy_assign have been removed. On ARM targets (arm*-*-*), a bug introduced in GCC 5 that affects conformance to the procedure call standard (AAPCS) has been fixed. Many optimiser improvements DWARF-5 support. Many new and enhanced warnings. Warnings about format strings now underline the pertinent part of the string, and can offer suggested fixes. Several new warnings related to buffer overflows and buffer truncation. New __builtin_add_overflow_p, __builtin_sub_overflow_p, __builtin_mul_overflow_p built-ins added that test for overflow. The C++ front end has experimental support for all of the current C++17 draft. The -fverbose-asm option has been expanded to prints comments showing the source lines that correspond to the assembly. The gcc and g++ driver programs will now provide suggestions for misspelled arguments to command-line options. AArch64 specific: GCC has been updated to the latest revision of the procedure call standard (AAPCS64) to provide support for parameter passing when data types have been over-aligned. The ARMv8.2-A and ARMv8.3-A architecture are now supported. ARM specific: Support for the ARMv5 and ARMv5E architectures has been deprecated (which have no known implementations). A new command-line option -mpure-code has been added. It does not allow constant data to be placed in code sections. x86 specific: Support for the AVX-512 4FMAPS, 4VNNIW, VPOPCNTDQ and Software Guard Extensions (SGX) ISA extensions has been added. PPC specific: GCC now diagnoses inline assembly that clobbers register r2. RISC-V specific: Support for the RISC-V instruction set has been added. SH specific: Support for SH5/SH64 has been removed. Support for SH2A has been enhanced. @ text @d1 3 a3 10 Installing GCC: Configuration d62 26 a87 4

      Installing GCC: Configuration

      Like most GNU software, GCC must be configured before it can be built. d90 2 a91 2

      We use srcdir to refer to the toplevel source directory for d93 7 a99 7

      If you obtained the sources via SVN, srcdir must refer to the top gcc directory, the one where the MAINTAINERS file can be found, and not its gcc subdirectory, otherwise the build will fail.

      If either srcdir or objdir is located on an automounted NFS file system, the shell's built-in pwd command will return d101 3 a103 3 problems. To avoid this issue, set the PWDCMD environment variable to an automounter-aware pwd command, e.g., pawd or ‘amq -w’, during the configuration and build d105 2 a106 2

      First, we highly recommend that GCC be built into a d109 1 a109 1 where srcdir == objdir should still work, but doesn't d112 6 a117 6

      If you have previously built GCC in the same directory for a different target machine, do ‘make distclean’ to delete all files that might be invalid. One of the files this deletes is Makefile; if ‘make distclean’ complains that Makefile does not exist or issues a message like “don't know how to make distclean” it probably d121 3 a123 3

      Second, when configuring a native system, either cc or gcc must be in your path or you must set CC in d126 1 d128 7 a134 1

      To configure GCC: d136 2 a137 5

           % mkdir objdir
           % cd objdir
           % srcdir/configure [options] [target]
      

      Distributor options

      d142 4 a145 3
      --with-pkgversion=version
      Specify a string that identifies your package. You may wish d147 8 a154 6 included in the output of gcc --version. This suffix does not replace the default version string, only the ‘GCC’ part.

      The default value is ‘GCC’.

      --with-bugurl=url
      Specify the URL that users should visit if they wish to report a bug. d157 5 d163 4 a166 8

      The default value refers to the FSF's GCC bug tracker.

      Target specification

      • GCC has code to correctly determine the correct value for target d170 1 a170 1
      • target must be specified as --target=target d174 4 a177 3
      • Specifying just target instead of --target=target implies that the host defaults to target.
      d179 2 a180 1

      Options specification

      d183 2 a184 2 GCC. A list of supported options follows; ‘configure --help’ may list other options, but those not listed below may not d186 8 a193 7

      Note that each --enable option has a corresponding --disable option and that each --with option has a corresponding --without option.

      --prefix=dirname
      Specify the toplevel installation d196 3 a198 3 /usr/local.

      We highly recommend against dirname being the same or a d200 5 a204 5 beneath a user's home directory tree, some shells will not expand dirname correctly if it contains the ‘~’ metacharacter; use $HOME instead.

      The following standard autoconf options are supported. Normally you d206 3 a208 2

      --exec-prefix=dirname
      Specify the toplevel installation directory for architecture-dependent d210 20 a229 12
      --bindir=dirname
      Specify the installation directory for the executables called by users (such as gcc and g++). The default is exec-prefix/bin.
      --libdir=dirname
      Specify the installation directory for object code libraries and internal data files of GCC. The default is exec-prefix/lib.
      --libexecdir=dirname
      Specify the installation directory for internal executables of GCC. The default is exec-prefix/libexec.
      --with-slibdir=dirname
      Specify the installation directory for the shared libgcc library. The d231 14 a244 8
      --datarootdir=dirname
      Specify the root of the directory tree for read-only architecture-independent data files referenced by GCC. The default is prefix/share.
      --infodir=dirname
      Specify the installation directory for documentation in info format. The default is datarootdir/info.
      --datadir=dirname
      Specify the installation directory for some architecture-independent d246 9 a254 5
      --docdir=dirname
      Specify the installation directory for documentation files (other than Info) for GCC. The default is datarootdir/doc.
      --htmldir=dirname
      Specify the installation directory for HTML documentation files. d256 4 a259 2
      --pdfdir=dirname
      Specify the installation directory for PDF documentation files. d261 5 a265 3
      --mandir=dirname
      Specify the installation directory for manual pages. The default is datarootdir/man. (Note that the manual pages are only extracts d269 4 a272 2
      --with-gxx-include-dir=dirname
      Specify d276 4 a279 2
      --with-specs=specs
      Specify additional command line driver SPECS. d281 2 a282 2 default without modifying the compiler's source code, for instance --with-specs=%{!fcommon:%{!fno-common:-fno-common}}. d284 3 d288 3 a290 3

      --program-prefix=prefix
      GCC supports some transformations of the names of its programs when d293 13 a305 9 --program-prefix=foo- would result in ‘gcc’ being installed as /usr/local/bin/foo-gcc.
      --program-suffix=suffix
      Appends suffix to the names of programs to install in bindir (see above). For example, specifying --program-suffix=-3.1 would result in ‘gcc’ being installed as /usr/local/bin/gcc-3.1.
      --program-transform-name=pattern
      Applies the ‘sed’ script pattern to be applied to the names d307 5 a311 5 consist of one or more basic ‘sed’ editing commands, separated by semicolons. For example, if you want the ‘gcc’ program name to be transformed to the installed program /usr/local/bin/myowngcc and the ‘g++’ program name to be transformed to /usr/local/bin/gspecial++ without changing other program names, d313 1 a313 1 --program-transform-name='s/^gcc$/myowngcc/; s/^g++$/gspecial++/' d315 2 a316 2

      All three options can be combined and used together, resulting in more d320 3 a322 3

      As currently implemented, this option only takes effect for native builds; cross compiler binaries' names are not transformed even when a d324 2 a325 2

      For native builds, some of the installed programs are also installed d327 1 a327 1 ‘i686-pc-linux-gnu-gcc’. All of the above transformations happen d329 1 a329 1 --program-prefix=foo- and program-suffix=-3.1, the d331 3 a333 3 /usr/local/bin/i686-pc-linux-gnu-foo-gcc-3.1.

      As a last shortcoming, none of the installed Ada programs are d335 4 a338 2

      --with-local-prefix=dirname
      Specify the d340 6 a345 6 /usr/local. Specify this option if you want the compiler to search directory dirname/include for locally installed header files instead of /usr/local/include.

      You should specify --with-local-prefix only if your site has a different convention (not /usr/local) for where to put d347 4 a350 4

      The default value for --with-local-prefix is /usr/local regardless of the value of --prefix. Specifying --prefix has no effect on which directory GCC searches for d353 3 a355 3

      The purpose of --prefix is to specify where to install GCC. The local header files in /usr/local/include—if you put d358 4 a361 4 another directory which is based on the --prefix value.)

      Both the local-prefix include directory and the GCC-prefix include directory are part of GCC's “system include” directories. Although these d367 2 a368 2

      Some autoconf macros add -I directory options to the d370 1 a370 1 packages' headers are searched. When directory is one of GCC's d375 3 a377 3

      GCC automatically searches for ordinary libraries using GCC_EXEC_PREFIX. Thus, when the same installation prefix is d381 3 a383 3 installed as a system compiler in /usr.

      Sites that need to install multiple versions of GCC may not want to d385 2 a386 2 --program-prefix, --program-suffix and --program-transform-name options to install multiple versions d388 1 a388 1 and the --with-local-prefix option to specify the location of the d391 9 a399 9 (e.g., with LIBRARY_PATH).

      The same value can be used for both --with-local-prefix and --prefix provided it is not /usr. This can be used to avoid the default search of /usr/local/include.

      Do not specify /usr as the --with-local-prefix! The directory you use for --with-local-prefix must not contain any of the system's standard header files. If it did contain d402 3 a404 3 file corrections made by the fixincludes script.

      Indications are that people who use this option use it based on mistaken d408 5 a412 6

      --with-gcc-major-version-only
      Specifies that GCC should use only the major number rather than major.minor.patchlevel in filesystem paths.
      --with-native-system-header-dir=dirname
      Specifies that dirname is the directory that contains native system header files, rather than /usr/include. This option is most useful d415 1 a415 1 --with-sysroot option and will cause GCC to search d417 4 a420 2
      --enable-shared[=package[,...]]
      Build shared versions of libraries, if shared libraries are supported on d423 2 a424 2

      If a list of packages is given as an argument, build shared libraries d427 10 a436 10 ‘libgcc’ (also known as ‘gcc’), ‘libstdc++’ (not ‘libstdc++-v3’), ‘libffi’, ‘zlib’, ‘boehm-gc’, ‘ada’, ‘libada’, ‘libgo’, and ‘libobjc’. Note ‘libiberty’ does not support shared libraries at all.

      Use --disable-shared to build only static libraries. Note that --disable-shared does not accept a list of package names as argument, only --enable-shared does.

      Contrast with --enable-host-shared, which affects host d438 4 a441 2

      --enable-host-shared
      Specify that the host code should be built into position-independent d444 4 a447 4

      This option is required when building the libgccjit.so library.

      Contrast with --enable-shared, which affects target d449 4 a452 2

      --with-gnu-as
      Specify that the compiler should assume that the d457 1 a457 1 configured with --with-gnu-as.) If you have more than one d459 4 a462 4 connection with --with-as=pathname or --with-build-time-tools=pathname.

      The following systems are the only ones where it makes a difference d464 12 a475 10 --with-gnu-as has no effect.

      • ‘hppa1.0-any-any’
      • ‘hppa1.1-any-any’
      • ‘sparc-sun-solaris2.any’
      • ‘sparc64-any-solaris2.any’

      --with-as=pathname
      Specify that the compiler should use the assembler pointed to by d478 4 a481 4
      • Unless GCC is being built with a cross compiler, check the libexec/gcc/target/version directory. libexec defaults to exec-prefix/libexec; d483 3 a485 3 defaults to /usr/local unless overridden by the --prefix=pathname switch described above. target is the target system triple, such as ‘sparc-sun-solaris2.7’, and d488 2 a489 2
      • If the target system is the same that you are building on, check operating system specific directories (e.g. /usr/ccs/bin on d492 1 a492 1
      • Check in the PATH for a tool whose name is prefixed by the d495 1 a495 1
      • Check in the PATH for a tool whose name is not prefixed by the d498 2 a499 2 the target as well).
      d501 1 a501 1

      You may want to use --with-as if no assembler d505 4 a508 2

      --with-gnu-ld
      Same as --with-gnu-as d510 4 a513 2
      --with-ld=pathname
      Same as --with-as d515 4 a518 2
      --with-stabs
      Specify that stabs debugging d521 2 a522 2

      On MIPS based systems and on Alphas, you must specify whether you want d527 6 a532 6

      Normally, GCC uses the ECOFF debugging format by default; if you prefer BSD stabs, specify --with-stabs when you configure GCC.

      No matter which default you choose when you configure GCC, the user can use the -gcoff and -gstabs+ options to specify explicitly d534 3 a536 3

      --with-stabs is meaningful on the ISC system on the 386, also, if --with-gas is used. It selects use of stabs debugging d539 2 a540 2

      --with-stabs is also meaningful on 386 systems running SVR4. It d546 4 a549 2

      --with-tls=dialect
      Specify the default TLS dialect, for systems were there is a choice. d553 4 a556 2
      --enable-multiarch
      Specify whether to enable or disable multiarch support. The default is d559 2 a560 2 and for cross builds configured with --with-sysroot, and without --with-native-system-header-dir. d563 5 a567 3
      --enable-sjlj-exceptions
      Force use of the setjmp/longjmp-based scheme for exceptions. ‘configure’ ordinarily picks the correct value based on the platform. d569 4 a572 2
      --enable-vtable-verify
      Specify whether to enable or disable the vtable verification feature. d577 1 a577 1 the verifier will call stub functions (in libstdc++ itself) and do nothing. d580 6 a585 4 still be built (see --disable-libvtv to turn off building libvtv). --disable-vtable-verify is the default.
      --disable-multilib
      Specify that multiple target d589 18 a606 11

      Some targets provide finer-grained control over which multilibs are built (e.g., --disable-softfloat):

      arm-*-*
      fpu, 26bit, underscore, interwork, biendian, nofmult.
      m68*-*-*
      softfloat, m68881, m68000, m68020.
      mips*-*-*
      single-float, biendian, softfloat.
      powerpc*-*-*, rs6000*-*-*
      aix64, pthread, softfloat, powercpu, powerpccpu, powerpcos, biendian, d608 3 d612 20 a631 55

      --with-multilib-list=list
      --without-multilib-list
      Specify what multilibs to build. list is a comma separated list of values, possibly consisting of a single value. Currently only implemented for arm*-*-*, sh*-*-* and x86-64-*-linux*. The accepted values and meaning for each target is given below.
      arm*-*-*
      list is one ofdefault, aprofile or rmprofile. Specifying default is equivalent to omitting this option, ie. only the default runtime library will be enabled. Specifying aprofile or rmprofile builds multilibs for a combination of ISA, architecture, FPU available and floating-point ABI.

      The table below gives the combination of ISAs, architectures, FPUs and floating-point ABIs for which multilibs are built for each accepted value.

      Option aprofile rmprofile
      ISAs -marm and -mthumb -mthumb
      Architectures





      default architecture
      -march=armv7-a
      -march=armv7ve
      -march=armv8-a


      default architecture
      -march=armv6s-m
      -march=armv7-m
      -march=armv7e-m
      -march=armv8-m.base
      -march=armv8-m.main
      -march=armv7
      FPUs




      none
      -mfpu=vfpv3-d16
      -mfpu=neon
      -mfpu=vfpv4-d16
      -mfpu=neon-vfpv4
      -mfpu=neon-fp-armv8
      none
      -mfpu=vfpv3-d16
      -mfpu=fpv4-sp-d16
      -mfpu=fpv5-sp-d16
      -mfpu=fpv5-d16

      floating-point ABIs

      -mfloat-abi=soft
      -mfloat-abi=softfp
      -mfloat-abi=hard
      -mfloat-abi=soft
      -mfloat-abi=softfp
      -mfloat-abi=hard

      sh*-*-*
      list is a comma separated list of CPU names. These must be of the d634 3 a636 3 these are handled by --with-endian.

      If list is empty, then there will be no multilibs for extra d638 4 a641 4

      As a special case, if an entry in the list starts with a ! (exclamation point), then it is added to the list of excluded multilibs. Entries of this sort should be compatible with ‘MULTILIB_EXCLUDES’ d643 3 a645 3

      If --with-multilib-list is not given, then a default set of multilibs is selected based on the value of --target. This is d648 6 d655 1 a655 5

      Example 1: to configure a compiler for SH4A only, but supporting both endians, with little endian being the default:

                     --with-cpu=sh4a --with-endian=little,big --with-multilib-list=
      

      Example 2: to configure a compiler for both SH4A and SH4AL-DSP, but with d657 8 a664 4

                     --with-cpu=sh4a --with-endian=little,big \
                     --with-multilib-list=sh4al,!mb/m4al
      

      x86-64-*-linux*
      list is a comma separated list of m32, m64 and d668 4 a671 3

      If --with-multilib-list is not given, then only 32-bit and 64-bit run-time libraries will be enabled. d674 3 a676 1

      --with-endian=endians
      Specify what endians to use. d678 15 a692 7

      endians may be one of the following:

      big
      Use big endian exclusively.
      little
      Use little endian exclusively.
      big,little
      Use big endian by default. Provide a multilib for little endian.
      little,big
      Use little endian by default. Provide a multilib for big endian. d695 3 a697 1
      --enable-threads
      Specify that the target d699 1 a699 1 library, and exception handling for other languages like C++. d701 2 a702 2

      In general, the best (and, in many cases, the only known) threading d705 11 a715 7 available for the system. In this case, --enable-threads is an alias for --enable-threads=single.

      --disable-threads
      Specify that threading support should be disabled for the system. This is an alias for --enable-threads=single.
      --enable-threads=lib
      Specify that d718 36 a753 14 like C++. The possibilities for lib are:
      aix
      AIX thread support.
      dce
      DCE thread support.
      lynx
      LynxOS thread support.
      mipssde
      MIPS SDE thread support.
      no
      This is an alias for ‘single’.
      posix
      Generic POSIX/Unix98 thread support.
      rtems
      RTEMS thread support.
      single
      Disable thread support, should work for all platforms.
      tpf
      TPF thread support.
      vxworks
      VxWorks thread support.
      win32
      Microsoft Win32 API thread support. d756 3 a758 1
      --enable-tls
      Specify that the target supports TLS (Thread Local Storage). Usually d761 1 a761 1 --enable-tls or --disable-tls. This can happen if d764 12 a775 6
      --disable-tls
      Specify that the target does not support TLS. This is an alias for --enable-tls=no.
      --with-cpu=cpu
      --with-cpu-32=cpu
      --with-cpu-64=cpu
      Specify which cpu variant the compiler should generate code for by default. cpu will be used as the default value of the -mcpu= switch. d777 2 a778 2 PowerPC, and SPARC. It is mandatory for ARC. The --with-cpu-32 and --with-cpu-64 options specify separate default CPUs for d781 16 a796 5
      --with-schedule=cpu
      --with-arch=cpu
      --with-arch-32=cpu
      --with-arch-64=cpu
      --with-tune=cpu
      --with-tune-32=cpu
      --with-tune-64=cpu
      --with-abi=abi
      --with-fpu=type
      --with-float=type
      These configure options provide default values for the -mschedule=, -march=, -mtune=, -mabi=, and -mfpu= options and for -mhard-float or -msoft-float. As with --with-cpu, which switches will be accepted and acceptable values d798 4 a801 2
      --with-mode=mode
      Specify if the compiler should default to -marm or -mthumb. d803 4 a806 2
      --with-stack-offset=num
      This option sets the default for the -mstack-offset=num option, d809 6 a814 4
      --with-fpmath=isa
      This options sets -mfpmath=sse by default and specifies the default ISA for floating-point arithmetics. You can select either ‘sse’ which enables -msse2 or ‘avx’ which enables -mavx by default. d816 4 a819 2
      --with-fp-32=mode
      On MIPS targets, set the default value for the -mfp option when using d821 13 a833 7
      32
      Use the o32 FP32 ABI extension, as with the -mfp32 command-line option.
      xx
      Use the o32 FPXX ABI extension, as with the -mfpxx command-line option.
      64
      Use the o32 FP64 ABI extension, as with the -mfp64 command-line option. d835 1 a835 1 In the absence of this configuration option the default is to use the o32 d837 4 a840 2
      --with-odd-spreg-32
      On MIPS targets, set the -modd-spreg option by default when using d842 4 a845 2
      --without-odd-spreg-32
      On MIPS targets, set the -mno-odd-spreg option by default when using d847 5 a851 3 --with-fp-32=64 in order to target the o32 FP64A ABI extension.
      --with-nan=encoding
      On MIPS targets, set the default encoding convention to use for the d854 9 a862 5
      legacy
      Use the legacy encoding, as with the -mnan=legacy command-line option.
      2008
      Use the 754-2008 encoding, as with the -mnan=2008 command-line option. d864 2 a865 2 To use this configuration option you must have an assembler version installed that supports the -mnan= command-line option too. d867 7 a873 5 the legacy encoding, as when neither of the -mnan=2008 and -mnan=legacy command-line options has been used.
      --with-divide=type
      Specify how the compiler should generate code for checking for division by zero. This option is only supported on the MIPS target. d875 8 a882 4
      traps
      Division by zero checks use conditional traps (this is the default on systems that support conditional traps).
      breaks
      Division by zero checks use the break instruction. d885 5 a889 4
      --with-llsc
      On MIPS targets, make -mllsc the default when no -mno-llsc option is passed. This is the default for d892 19 a910 40
      --without-llsc
      On MIPS targets, make -mno-llsc the default when no -mllsc option is passed.
      --with-synci
      On MIPS targets, make -msynci the default when no -mno-synci option is passed.
      --without-synci
      On MIPS targets, make -mno-synci the default when no -msynci option is passed. This is the default.
      --with-lxc1-sxc1
      On MIPS targets, make -mlxc1-sxc1 the default when no -mno-lxc1-sxc1 option is passed. This is the default.
      --without-lxc1-sxc1
      On MIPS targets, make -mno-lxc1-sxc1 the default when no -mlxc1-sxc1 option is passed. The indexed load/store instructions are not directly a problem but can lead to unexpected behaviour when deployed in an application intended for a 32-bit address space but run on a 64-bit processor. The issue is seen because all known MIPS 64-bit Linux kernels execute o32 and n32 applications with 64-bit addressing enabled which affects the overflow behaviour of the indexed addressing mode. GCC will assume that ordinary 32-bit arithmetic overflow behaviour is the same whether performed as an addu instruction or as part of the address calculation in lwxc1 type instructions. This assumption holds true in a pure 32-bit environment and can hold true in a 64-bit environment if the address space is accurately set to be 32-bit for o32 and n32.
      --with-madd4
      On MIPS targets, make -mmadd4 the default when no -mno-madd4 option is passed. This is the default.
      --without-madd4
      On MIPS targets, make -mno-madd4 the default when no -mmadd4 option is passed. The madd4 instruction family can be problematic when targeting a combination of cores that implement these instructions differently. There are two known cores that implement these as fused operations instead of unfused (where unfused is normally expected). Disabling these instructions is the only way to ensure compatible code is generated; this will incur a performance penalty.
      --with-mips-plt
      On MIPS targets, make use of copy relocations and PLTs. d914 5 a918 3
      --enable-__cxa_atexit
      Define if you want to use __cxa_atexit, rather than atexit, to register C++ destructors for local statics and global objects. d922 5 a926 3 -fuse-cxa-atexit to be passed by default.
      --enable-gnu-indirect-function
      Define if you want to enable the ifunc attribute. This option is d928 5 a932 3
      --enable-target-optspace
      Specify that target libraries should be optimized for code space instead of code speed. d934 9 a942 5
      --with-cpp-install-dir=dirname
      Specify that the user visible cpp program should be installed in prefix/dirname/cpp, in addition to bindir.
      --enable-comdat
      Enable COMDAT group support. This is primarily used to override the d944 4 a947 2
      --enable-initfini-array
      Force the use of sections .init_array and .fini_array d949 1 a949 1 destructors. Option --disable-initfini-array has the d953 4 a956 2
      --enable-link-mutex
      When building GCC, use a mutex to avoid linking the compilers for d959 5 a963 3
      --enable-maintainer-mode
      The build rules that regenerate the Autoconf and Automake output files as well as the GCC master message catalog gcc.pot are normally d966 1 a966 1 catalog, configuring with --enable-maintainer-mode will enable d969 5 a973 3
      --disable-bootstrap
      For a native build, the default configuration is to perform a 3-stage bootstrap of the compiler when ‘make’ is invoked, d975 6 a980 4 this process, you can configure with --disable-bootstrap.
      --enable-bootstrap
      In special cases, you may want to perform a 3-stage build even if the target and host triplets are different. d982 1 a982 1 the target (e.g. host is i686-linux, target is i486-linux). d984 5 a988 3 with --enable-bootstrap.
      --enable-generated-files-in-srcdir
      Neither the .c and .h files that are generated from Bison and flex nor the d994 2 a995 2

      If you configure with --enable-generated-files-in-srcdir then those d1000 4 a1003 2

      --enable-version-specific-runtime-libs
      Specify d1005 2 a1006 2 subdirectory (libdir/gcc) rather than the usual places. In addition, ‘libstdc++’'s include files will be installed into d1008 1 a1008 1 --with-gxx-include-dir=dirname. Using this option is d1010 6 a1015 4 parallel. This is currently supported by ‘libgfortran’, ‘libstdc++’, and ‘libobjc’.
      --with-aix-soname=‘aix’, ‘svr4’ or ‘both’
      Traditional AIX shared library versioning (versioned Shared Object d1017 1 a1017 1 ‘lib.a’) causes numerous headaches for package managers. However, d1020 1 a1020 1 where this is called the "SONAME". But as they prevent static linking, d1022 23 a1044 20 linker does search for ‘libNAME.so’ before ‘libNAME.a’ library filenames with the ‘-lNAME’ linker flag.

      For detailed information please refer to the AIX ld Command reference.

      As long as shared library creation is enabled, upon:

      --with-aix-soname=aix
      --with-aix-soname=both
      A (traditional AIX) Shared Archive Library file is created:
      • using the ‘libNAME.a’ filename scheme
      • with the Shared Object file as archive member named ‘libNAME.so.V’ (except for ‘libgcc_s’, where the Shared Object file is named ‘shr.o’ for backwards compatibility), which
        • is used for runtime loading from inside the ‘libNAME.a’ file
        • is used for dynamic loading via dlopen("libNAME.a(libNAME.so.V)", RTLD_MEMBER)
        • is used for shared linking
        • is used for static linking, so no separate Static Archive d1046 15 a1060 12

      --with-aix-soname=both
      --with-aix-soname=svr4
      A (second) Shared Archive Library file is created:
      • using the ‘libNAME.so.V’ filename scheme
      • with the Shared Object file as archive member named ‘shr.o’, which
        • is created with the -G linker flag
        • has the F_LOADONLY flag set
        • is used for runtime loading from inside the ‘libNAME.so.V’ file
        • is used for dynamic loading via dlopen("libNAME.so.V(shr.o)", d1062 2 a1063 2
      • with the Import File as archive member named ‘shr.imp’, d1065 2 a1066 2
        • refers to ‘libNAME.so.V(shr.o)’ as the "SONAME", to be recorded d1068 13 a1080 13
        • indicates whether ‘libNAME.so.V(shr.o)’ is 32 or 64 bit
        • lists all the public symbols exported by ‘lib.so.V(shr.o)’, eventually decorated with the ‘weak’ Keyword
        • is necessary for shared linking against ‘lib.so.V(shr.o)’
      A symbolic link using the ‘libNAME.so’ filename scheme is created:
      • pointing to the ‘libNAME.so.V’ Shared Archive Library file
      • to permit the ld Command to find ‘lib.so.V(shr.imp)’ via the ‘-lNAME’ argument (requires Runtime Linking to be enabled)
      • to permit dynamic loading of ‘lib.so.V(shr.o)’ without the need to specify the version number via dlopen("libNAME.so(shr.o)", d1082 3 a1084 2
      d1086 13 a1098 11

      As long as static library creation is enabled, upon:

      --with-aix-soname=svr4
      A Static Archive Library is created:
      • using the ‘libNAME.a’ filename scheme
      • with all the Static Object files as archive members, which
        • are used for static linking
      d1100 1 a1100 1

      While the aix-soname=‘svr4’ option does not create Shared Object d1107 2 a1108 2

      WARNING: Creating Shared Object files with Runtime Linking d1110 1 a1110 1 requiring the use of either the -Wl,-bbigtoc linker flag (seen to d1113 2 a1114 2

      --with-aix-soname is currently supported by ‘libgcc_s’ only, so d1116 6 a1121 4

      Default is the traditional behavior --with-aix-soname=‘aix’.

      --enable-languages=lang1,lang2,...
      Specify that only a particular subset of compilers and d1124 5 a1128 4 gcc directory of your GCC source tree:
                grep ^language= */config-lang.in
      

      Currently, you can use any of the following: d1130 2 a1131 2 go, jit, lto, objc, obj-c++. Building the Ada compiler has special requirements, see below. d1133 1 a1133 1 default languages available in the gcc sub-tree will be configured. d1135 1 a1135 1 default language, but is built by default because --enable-lto is d1137 4 a1140 2

      --enable-stage1-languages=lang1,lang2,...
      Specify that a particular subset of compilers and their runtime d1144 2 a1145 2 --enable-languages, and the option all will select all of the languages enabled by --enable-languages. This option is d1150 7 a1156 5 specified languages with the stage-1 compiler by using make stage1-bubble all-target, or run the testsuite on the stage-1 compiler for the specified languages using make stage1-start check-gcc.
      --disable-libada
      Specify that the run-time libraries and tools used by GNAT should not d1159 5 a1163 3 do a ‘make -C gcc gnatlib_and_tools’.
      --disable-libsanitizer
      Specify that the run-time libraries for the various sanitizers should d1165 4 a1168 2
      --disable-libssp
      Specify that the run-time libraries for stack smashing protection d1170 4 a1173 2
      --disable-libquadmath
      Specify that the GCC quad-precision math library should not be built. d1175 1 a1175 1 the Fortran front end, unless --disable-libquadmath-support d1177 4 a1180 2
      --disable-libquadmath-support
      Specify that the Fortran front end and libgfortran do not add d1182 4 a1185 2
      --disable-libgomp
      Specify that the GNU Offloading and Multi Processing Runtime Library d1187 4 a1190 2
      --disable-libvtv
      Specify that the run-time libraries used by vtable verification d1192 4 a1195 2
      --with-dwarf2
      Specify that the compiler should d1197 4 a1200 2
      --with-advance-toolchain=at
      On 64-bit PowerPC Linux systems, configure the compiler to use the d1206 5 a1210 2
      --enable-targets=all
      --enable-targets=target_list
      Some GCC targets, e.g. powerpc64-linux, build bi-arch compilers. d1212 1 a1212 1 code. Typically, the corresponding 32-bit target, e.g. d1216 1 a1216 1 you are building a bi-arch or multi-arch binutils in a combined tree. d1218 1 a1218 1 defaulted to o32. d1221 8 a1228 4
      --enable-default-pie
      Turn on -fPIE and -pie by default.
      --enable-secureplt
      This option enables -msecure-plt by default for powerpc-linux. d1230 8 a1237 4
      --enable-default-ssp
      Turn on -fstack-protector-strong by default.
      --enable-cld
      This option enables -mcld by default for 32-bit x86 targets. d1239 6 a1244 2
      --enable-win32-registry
      --enable-win32-registry=key
      --disable-win32-registry
      The --enable-win32-registry option enables Microsoft Windows-hosted GCC d1246 4 d1251 2 a1252 4
                HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\key
      

      key defaults to GCC version number, and can be overridden by the --enable-win32-registry=key option. Vendors and distributors d1256 1 a1256 1 by default, and can be disabled by --disable-win32-registry d1258 15 a1272 8

      --nfp
      Specify that the machine does not have a floating point unit. This option only applies to ‘m68k-sun-sunosn’. On any other system, --nfp has no effect.
      --enable-werror
      --disable-werror
      --enable-werror=yes
      --enable-werror=no
      When you specify this option, it controls whether certain files in the compiler are built with -Werror in bootstrap stage2 and later. If you don't specify it, -Werror is turned on for the main d1274 1 a1274 1 final releases. The specific files which get -Werror are d1276 5 a1280 2
      --enable-checking
      --enable-checking=list
      When you specify this option, the compiler is built to perform internal d1284 3 a1286 3 the compiler with GCC. This is ‘yes,extra’ by default when building from SVN or snapshots, but ‘release’ for releases. The default for building the stage1 compiler is ‘yes’. More control d1288 9 a1296 12 checks available are ‘yes’ (most common checks ‘assert,misc,tree,gc,rtlflag,runtime’), ‘no’ (no checks at all), ‘all’ (all but ‘valgrind’), ‘release’ (cheapest checks ‘assert,runtime’) or ‘none’ (same as ‘no’). Individual checks can be enabled with these flags ‘assert’, ‘df’, ‘fold’, ‘gc’, ‘gcac’, ‘misc’, ‘rtl’, ‘rtlflag’, ‘runtime’, ‘tree’, ‘extra’ and ‘valgrind’. ‘extra’ adds for ‘misc’ checking extra checks that might affect code generation and should therefore not differ between stage1 and later stages.

      The ‘valgrind’ check requires the external valgrind d1298 3 a1300 3 ‘df’, ‘rtl’, ‘gcac’ and ‘valgrind’ checks are very expensive. To disable all checking, ‘--disable-checking’ or ‘--enable-checking=none’ must be explicitly requested. Disabling d1304 7 a1310 3

      --disable-stage1-checking
      --enable-stage1-checking
      --enable-stage1-checking=list
      If no --enable-checking option is specified the stage1 compiler will be built with ‘yes’ checking enabled, otherwise d1312 3 a1314 3 --enable-checking. To build the stage1 compiler with different checking options use --enable-stage1-checking. The list of checking options is the same as for --enable-checking. d1316 1 a1316 1 with checking for stage1 enabled, you can use ‘--disable-stage1-checking’ d1318 5 a1322 2
      --enable-coverage
      --enable-coverage=level
      With this option, the compiler is built to collect self coverage d1326 1 a1326 1 not, values are ‘opt’ and ‘noopt’. For coverage analysis you d1330 4 a1333 2
      --enable-gather-detailed-mem-stats
      When this option is specified more detailed information on memory d1335 5 a1339 3 -fmem-report.
      --enable-valgrind-annotations
      Mark selected memory related operations in the compiler when run under d1341 5 a1345 2
      --enable-nls
      --disable-nls
      The --enable-nls option enables Native Language Support (NLS), d1348 10 a1357 6 canadian cross build. The --disable-nls option disables NLS.
      --with-included-gettext
      If NLS is enabled, the --with-included-gettext option causes the build procedure to prefer its copy of GNU gettext.
      --with-catgets
      If NLS is enabled, and if the host lacks gettext but has the d1359 12 a1370 8 ignores catgets and instead uses GCC's copy of the GNU gettext library. The --with-catgets option causes the build procedure to use the host's catgets in this situation.
      --with-libiconv-prefix=dir
      Search for libiconv header files in dir/include and libiconv library files in dir/lib.
      --enable-obsolete
      Enable configuration for an obsoleted system. If you attempt to d1374 2 a1375 2

      All support for systems which have been obsoleted in one release of GCC d1378 9 a1386 2

      --enable-decimal-float
      --enable-decimal-float=yes
      --enable-decimal-float=no
      --enable-decimal-float=bid
      --enable-decimal-float=dpd
      --disable-decimal-float
      Enable (or disable) support for the C decimal floating point extension d1391 2 a1392 2 ‘bid’ or ‘dpd’). The ‘bid’ (binary integer decimal) format is default on i386 and x86_64 systems, and the ‘dpd’ d1394 5 a1398 2
      --enable-fixed-point
      --disable-fixed-point
      Enable (or disable) support for C fixed-point arithmetic. d1402 4 a1405 2
      --with-long-double-128
      Specify if long double type should be 128-bit by default on selected d1407 1 a1407 1 long double will be by default 64-bit, the same as double type. d1411 16 a1426 4
      --enable-fdpic
      On SH Linux systems, generate ELF FDPIC code.
      --with-gmp=pathname
      --with-gmp-include=pathname
      --with-gmp-lib=pathname
      --with-mpfr=pathname
      --with-mpfr-include=pathname
      --with-mpfr-lib=pathname
      --with-mpc=pathname
      --with-mpc-include=pathname
      --with-mpc-lib=pathname
      If you want to build GCC but do not have the GMP library, the MPFR d1430 12 a1441 12 (‘--with-gmp=gmpinstalldir’, ‘--with-mpfr=mpfrinstalldir’, ‘--with-mpc=mpcinstalldir’). The --with-gmp=gmpinstalldir option is shorthand for --with-gmp-lib=gmpinstalldir/lib and --with-gmp-include=gmpinstalldir/include. Likewise the --with-mpfr=mpfrinstalldir option is shorthand for --with-mpfr-lib=mpfrinstalldir/lib and --with-mpfr-include=mpfrinstalldir/include, also the --with-mpc=mpcinstalldir option is shorthand for --with-mpc-lib=mpcinstalldir/lib and --with-mpc-include=mpcinstalldir/include. If these d1446 3 a1448 3 variable (LD_LIBRARY_PATH on GNU/Linux and Solaris systems).

      These flags are applicable to the host platform only. When building d1450 6 a1455 2

      --with-isl=pathname
      --with-isl-include=pathname
      --with-isl-lib=pathname
      If you do not have the isl library installed in a standard location and you d1457 4 a1460 4 installed (‘--with-isl=islinstalldir’). The --with-isl=islinstalldir option is shorthand for --with-isl-lib=islinstalldir/lib and --with-isl-include=islinstalldir/include. If this d1463 2 a1464 2

      These flags are applicable to the host platform only. When building d1466 4 a1469 2

      --with-stage1-ldflags=flags
      This option may be used to set linker flags to be used when linking d1471 2 a1472 2 --disable-bootstrap. If --with-stage1-libs is not set to a value, then the default is ‘-static-libstdc++ -static-libgcc’, if d1474 4 a1477 2
      --with-stage1-libs=libs
      This option may be used to set libraries to be used when linking stage 1 d1479 5 a1483 3 --disable-bootstrap.
      --with-boot-ldflags=flags
      This option may be used to set linker flags to be used when linking d1486 5 a1490 3 ‘-static-libstdc++ -static-libgcc’.
      --with-boot-libs=libs
      This option may be used to set libraries to be used when linking stage 2 d1492 4 a1495 2
      --with-debug-prefix-map=map
      Convert source directory names using -fdebug-prefix-map when d1497 6 a1502 4 list of maps of the form ‘old=new’.
      --enable-linker-build-id
      Tells GCC to pass --build-id option to the linker for all final links (links performed without the -r or --relocatable d1504 7 a1510 5 --enable-linker-build-id, but your linker does not support --build-id option, a warning is issued and the --enable-linker-build-id option is ignored. The default is off.
      --with-linker-hash-style=choice
      Tells GCC to pass --hash-style=choice option to the d1512 6 a1517 3 ‘sysv’, ‘gnu’, and ‘both’ where ‘sysv’ is the default.
      --enable-gnu-unique-object
      --disable-gnu-unique-object
      Tells GCC to use the gnu_unique_object relocation for C++ template d1521 4 a1524 2
      --with-diagnostics-color=choice
      Tells GCC to use choice as the default for -fdiagnostics-color= d1526 3 a1528 3 can be one of ‘never’, ‘auto’, ‘always’, and ‘auto-if-env’ where ‘auto’ is the default. ‘auto-if-env’ means that -fdiagnostics-color=auto will be the default if GCC_COLORS d1530 12 a1541 6 -fdiagnostics-color=never otherwise.
      --enable-lto
      --disable-lto
      Enable support for link-time optimization (LTO). This is enabled by default, and may be disabled using --disable-lto.
      --enable-linker-plugin-configure-flags=FLAGS
      --enable-linker-plugin-flags=FLAGS
      By default, linker plugins (such as the LTO plugin) are built for the d1546 2 a1547 2 (‘x86_64-unknown-linux-gnu’) host system, but have a 32-bit x86 GNU/Linux (‘i686-pc-linux-gnu’) linker executable (which is d1550 12 a1561 8
                % srcdir/configure \
                    --host=x86_64-unknown-linux-gnu \
                    --enable-linker-plugin-configure-flags=--host=i686-pc-linux-gnu \
                    --enable-linker-plugin-flags='CC=gcc\ -m32\ -Wl,-rpath,[...]/i686-pc-linux-gnu/lib'
      

      --with-plugin-ld=pathname
      Enable an alternate linker to be used at link-time optimization (LTO) link time when -fuse-linker-plugin is enabled. d1563 7 a1569 4 version 2.20 or GNU ld starting with version 2.21. See -fuse-linker-plugin for details.
      --enable-canonical-system-headers
      --disable-canonical-system-headers
      Enable system header path canonicalization for libcpp. This can d1573 5 a1577 3 --disable-canonical-system-headers.
      --with-glibc-version=major.minor
      Tell GCC that when the GNU C Library (glibc) is used on the target it d1579 1 a1579 1 be detected from the C library's header files, but this option may be d1582 3 a1584 3

      If GCC is configured with some multilibs that use glibc and some that do not, this option applies only to the multilibs that use glibc. d1587 8 a1594 4

      --enable-as-accelerator-for=target
      Build as offload target compiler. Specify offload host triple by target.
      --enable-offload-targets=target1[=path1],...,targetN[=pathN]
      Enable offloading to targets target1, ..., targetN. d1597 6 a1602 1 specifying paths path1, ..., pathN. d1604 1 a1604 4
                % srcdir/configure \
                    --enable-offload-target=i686-unknown-linux-gnu=/path/to/i686/compiler,x86_64-pc-linux-gnu
      

      If ‘hsa’ is specified as one of the targets, the compiler will be d1607 7 a1613 3

      --with-hsa-runtime=pathname
      --with-hsa-runtime-include=pathname
      --with-hsa-runtime-lib=pathname
      If you configure GCC with HSA offloading but do not have the HSA d1616 1 a1616 1 --with-hsa-runtime=hsainstalldir option is a d1618 10 a1627 2 --with-hsa-runtime-lib=hsainstalldir/lib and --with-hsa-runtime-include=hsainstalldir/include. d1630 2 a1631 2

      Cross-Compiler-Specific Options

      d1633 6 a1638 4
      --with-sysroot
      --with-sysroot=dir
      Tells GCC to consider dir as the root of a tree that contains (a subset of) the root filesystem of the target operating system. d1641 1 a1641 1 --sysroot=dir was added to the default options of the built d1643 5 a1647 5 install tree, unlike the options --with-headers and --with-libs that this option obsoletes. The default value, in case --with-sysroot is not given an argument, is ${gcc_tooldir}/sys-root. If the specified directory is a subdirectory of ${exec_prefix}, then it will be found relative to d1649 2 a1650 2

      This option affects the system root for the compiler used to build d1654 2 a1655 2

      If you specify the --with-native-system-header-dir=dirname d1657 11 a1667 8 native system headers rather than the default /usr/include.

      --with-build-sysroot
      --with-build-sysroot=dir
      Tells GCC to consider dir as the system root (see --with-sysroot) while building target libraries, instead of the directory specified with --with-sysroot. This option is only useful when you are already using --with-sysroot. You can use --with-build-sysroot when you are configuring with --prefix set to a directory that is different from the one in d1669 2 a1670 2

      This option affects the system root for the compiler used to build d1673 2 a1674 2

      If you specify the --with-native-system-header-dir=dirname d1676 7 a1682 4 native system headers rather than the default /usr/include.

      --with-headers
      --with-headers=dir
      Deprecated in favor of --with-sysroot. Specifies that target headers are available when building a cross compiler. d1684 5 a1688 5 files. These include files will be copied into the gcc install directory. This option with the dir argument is required when building a cross compiler, if prefix/target/sys-include doesn't pre-exist. If prefix/target/sys-include does pre-exist, the dir argument may be omitted. fixincludes d1690 4 a1693 2
      --without-headers
      Tells GCC not use any target headers from a libc when building a cross d1696 5 a1700 2
      --with-libs
      --with-libs="dir1 dir2 ... dirN"
      Deprecated in favor of --with-sysroot. d1702 1 a1702 1 libraries. These libraries will be copied into the gcc install d1705 4 a1708 2
      --with-newlib
      Specifies that ‘newlib’ is d1710 6 a1715 4 omitted from libgcc.a on the assumption that it will be provided by ‘newlib’.
      --with-avrlibc
      Specifies that ‘AVR-Libc’ is d1717 3 a1719 3 functions like __addsf3 to be omitted from libgcc.a on the assumption that it will be provided by libm.a. For more technical details, cf. PR54461. d1723 5 a1727 3
      --with-nds32-lib=library
      Specifies that library setting is used for building libgcc.a. Currently, the valid library is ‘newlib’ or ‘mculib’. d1729 4 a1732 2
      --with-build-time-tools=dir
      Specifies where to find the set of target tools (assembler, linker, etc.) d1736 3 a1738 3

      For example, on an ‘ia64-hp-hpux’ system, you may have the GNU assembler and linker in /usr/bin, and the native tools in a d1740 8 a1747 7 native tools in /usr/bin.

      When you use this option, you should ensure that dir includes ar, as, ld, nm, ranlib and strip if necessary, and possibly objdump. Otherwise, GCC may use an inconsistent set of tools. d1750 2 a1751 1

      Overriding configure test results
      d1754 2 a1755 2 configure test, for example in order to ease porting to a new system or work around a bug in a test. The toplevel configure d1757 5 a1761 3
      build_configargs
      The contents of this variable is passed to all build configure d1763 5 a1767 2
      host_configargs
      The contents of this variable is passed to all host configure d1769 5 a1773 2
      target_configargs
      The contents of this variable is passed to all target configure d1775 3 d1779 2 a1780 4

      In order to avoid shell and make quoting issues for complex overrides, you can pass a setting for CONFIG_SITE and set d1782 21 d1804 205 a2008 1

      Objective-C-Specific Options

      d2010 2 a2011 1

      The following options apply to the build of the Objective-C runtime library. d2013 41 a2053 24

      --enable-objc-gc
      Specify that an additional variant of the GNU Objective-C runtime library is built, using an external build of the Boehm-Demers-Weiser garbage collector (http://www.hboehm.info/gc/). This library needs to be available for each multilib variant, unless configured with --enable-objc-gc=‘auto’ in which case the build of the additional runtime library is skipped when not available and the build continues.
      --with-target-bdw-gc=list
      --with-target-bdw-gc-include=list
      --with-target-bdw-gc-lib=list
      Specify search directories for the garbage collector header files and libraries. list is a comma separated list of key value pairs of the form ‘multilibdir=path’, where the default multilib key is named as ‘.’ (dot), or is omitted (e.g. ‘--with-target-bdw-gc=/opt/bdw-gc,32=/opt-bdw-gc32’).

      The options --with-target-bdw-gc-include and --with-target-bdw-gc-lib must always be specified together for each multilib variant and they take precedence over --with-target-bdw-gc. If --with-target-bdw-gc-include is missing values for a multilib, then the value for the default multilib is used (e.g. ‘--with-target-bdw-gc-include=/opt/bdw-gc/include’ ‘--with-target-bdw-gc-lib=/opt/bdw-gc/lib64,32=/opt-bdw-gc/lib32’). If none of these options are specified, the library is assumed in default locations. d2056 3 a2058 1


      d2060 10 a2070 10 d2072 2 @ 1.1.1.11 log @import GCC 8.3. it includes these new features: - many optimisations improved: inter-procedural, profile-directed, LTO, loops including user-controllable unroll support, and more. - columns numbers added to line numbers in dwarf - gcov extended significantly - many sanitizer updates - many new warning messages - many better hints and more useful error messages - minor ABI changes on x86-64 libstdc++, and some c++17 modes - draft c++2a features - better c++17 experimental support - Armv8.4-A supported, better 8.2-A and 8.3-A support, including 32 bit arm port. cortex a-55, a-75 and a-55.a-75 combo support. - in the GCC bugzilla, 8.1 shows 1149 bugs fixed, 8.2 shows 100, and 8.3 shows 158. @ text @d1 10 a10 3 Installing GCC d41 6 d48 2 a49 8

      Installing GCC

      d51 3 d55 2 a56 27

      Like most GNU software, GCC must be configured before it can be built. This document describes the recommended configuration procedure for both native and cross targets.

      We use srcdir to refer to the toplevel source directory for GCC; we use objdir to refer to the toplevel build/object directory.

      If you obtained the sources via SVN, srcdir must refer to the top gcc directory, the one where the MAINTAINERS file can be found, and not its gcc subdirectory, otherwise the build will fail.

      If either srcdir or objdir is located on an automounted NFS file system, the shell’s built-in pwd command will return d58 3 a60 3 problems. To avoid this issue, set the PWDCMD environment variable to an automounter-aware pwd command, e.g., pawd or ‘amq -w’, during the configuration and build d62 2 a63 2

      First, we highly recommend that GCC be built into a d66 1 a66 1 where srcdir == objdir should still work, but doesn’t d69 6 a74 6

      If you have previously built GCC in the same directory for a different target machine, do ‘make distclean’ to delete all files that might be invalid. One of the files this deletes is Makefile; if ‘make distclean’ complains that Makefile does not exist or issues a message like “don’t know how to make distclean” it probably d78 3 a80 3

      Second, when configuring a native system, either cc or gcc must be in your path or you must set CC in a82 1

      d84 1 a84 7

      To configure GCC:

      % mkdir objdir
      % cd objdir
      % srcdir/configure [options] [target]
      
      d86 5 a90 2

      Distributor options

      d95 3 a97 4

      --with-pkgversion=version

      Specify a string that identifies your package. You may wish d99 6 a104 8 included in the output of gcc --version. This suffix does not replace the default version string, only the ‘GCC’ part.

      The default value is ‘GCC’.

      --with-bugurl=url

      Specify the URL that users should visit if they wish to report a bug. a106 5

      The default value refers to the FSF’s GCC bug tracker.

      d108 8 a115 4

      Target specification

      • GCC has code to correctly determine the correct value for target d119 1 a119 1
      • target must be specified as --target=target d123 3 a125 4
      • Specifying just target instead of --target=target implies that the host defaults to target.
      d127 1 a127 2

      Options specification

      d130 2 a131 2 GCC. A list of supported options follows; ‘configure --help’ may list other options, but those not listed below may not d133 7 a139 8

      Note that each --enable option has a corresponding --disable option and that each --with option has a corresponding --without option.

      --prefix=dirname

      Specify the toplevel installation d142 3 a144 3 /usr/local.

      We highly recommend against dirname being the same or a d146 5 a150 5 beneath a user’s home directory tree, some shells will not expand dirname correctly if it contains the ‘~’ metacharacter; use $HOME instead.

      The following standard autoconf options are supported. Normally you d152 2 a153 3

      --exec-prefix=dirname

      Specify the toplevel installation directory for architecture-dependent d155 12 a166 20

      --bindir=dirname

      Specify the installation directory for the executables called by users (such as gcc and g++). The default is exec-prefix/bin.

      --libdir=dirname

      Specify the installation directory for object code libraries and internal data files of GCC. The default is exec-prefix/lib.

      --libexecdir=dirname

      Specify the installation directory for internal executables of GCC. The default is exec-prefix/libexec.

      --with-slibdir=dirname

      Specify the installation directory for the shared libgcc library. The d168 8 a175 14

      --datarootdir=dirname

      Specify the root of the directory tree for read-only architecture-independent data files referenced by GCC. The default is prefix/share.

      --infodir=dirname

      Specify the installation directory for documentation in info format. The default is datarootdir/info.

      --datadir=dirname

      Specify the installation directory for some architecture-independent d177 5 a181 9

      --docdir=dirname

      Specify the installation directory for documentation files (other than Info) for GCC. The default is datarootdir/doc.

      --htmldir=dirname

      Specify the installation directory for HTML documentation files. d183 2 a184 4

      --pdfdir=dirname

      Specify the installation directory for PDF documentation files. d186 3 a188 5

      --mandir=dirname

      Specify the installation directory for manual pages. The default is datarootdir/man. (Note that the manual pages are only extracts d192 2 a193 4

      --with-gxx-include-dir=dirname

      Specify d197 2 a198 4

      --with-specs=specs

      Specify additional command line driver SPECS. d200 2 a201 2 default without modifying the compiler’s source code, for instance --with-specs=%{!fcommon:%{!fno-common:-fno-common}}. a202 3

      d204 3 a206 3
      --program-prefix=prefix

      GCC supports some transformations of the names of its programs when d209 9 a217 13 --program-prefix=foo- would result in ‘gcc’ being installed as /usr/local/bin/foo-gcc.

      --program-suffix=suffix

      Appends suffix to the names of programs to install in bindir (see above). For example, specifying --program-suffix=-3.1 would result in ‘gcc’ being installed as /usr/local/bin/gcc-3.1.

      --program-transform-name=pattern

      Applies the ‘sed’ script pattern to be applied to the names d219 5 a223 5 consist of one or more basic ‘sed’ editing commands, separated by semicolons. For example, if you want the ‘gcc’ program name to be transformed to the installed program /usr/local/bin/myowngcc and the ‘g++’ program name to be transformed to /usr/local/bin/gspecial++ without changing other program names, d225 1 a225 1 --program-transform-name='s/^gcc$/myowngcc/; s/^g++$/gspecial++/' d227 2 a228 2

      All three options can be combined and used together, resulting in more d232 3 a234 3

      As currently implemented, this option only takes effect for native builds; cross compiler binaries’ names are not transformed even when a d236 2 a237 2

      For native builds, some of the installed programs are also installed d239 1 a239 1 ‘i686-pc-linux-gnu-gcc’. All of the above transformations happen d241 1 a241 1 --program-prefix=foo- and program-suffix=-3.1, the d243 3 a245 3 /usr/local/bin/i686-pc-linux-gnu-foo-gcc-3.1.

      As a last shortcoming, none of the installed Ada programs are d247 2 a248 4

      --with-local-prefix=dirname

      Specify the d250 6 a255 6 /usr/local. Specify this option if you want the compiler to search directory dirname/include for locally installed header files instead of /usr/local/include.

      You should specify --with-local-prefix only if your site has a different convention (not /usr/local) for where to put d257 4 a260 4

      The default value for --with-local-prefix is /usr/local regardless of the value of --prefix. Specifying --prefix has no effect on which directory GCC searches for d263 3 a265 3

      The purpose of --prefix is to specify where to install GCC. The local header files in /usr/local/include—if you put d268 4 a271 4 another directory which is based on the --prefix value.)

      Both the local-prefix include directory and the GCC-prefix include directory are part of GCC’s “system include” directories. Although these d277 2 a278 2

      Some autoconf macros add -I directory options to the d280 1 a280 1 packages’ headers are searched. When directory is one of GCC’s d285 3 a287 3

      GCC automatically searches for ordinary libraries using GCC_EXEC_PREFIX. Thus, when the same installation prefix is d291 3 a293 3 installed as a system compiler in /usr.

      Sites that need to install multiple versions of GCC may not want to d295 2 a296 2 --program-prefix, --program-suffix and --program-transform-name options to install multiple versions d298 1 a298 1 and the --with-local-prefix option to specify the location of the d301 9 a309 9 (e.g., with LIBRARY_PATH).

      The same value can be used for both --with-local-prefix and --prefix provided it is not /usr. This can be used to avoid the default search of /usr/local/include.

      Do not specify /usr as the --with-local-prefix! The directory you use for --with-local-prefix must not contain any of the system’s standard header files. If it did contain d312 3 a314 3 file corrections made by the fixincludes script.

      Indications are that people who use this option use it based on mistaken d318 2 a319 4

      --with-gcc-major-version-only

      Specifies that GCC should use only the major number rather than d321 3 a323 5

      --with-native-system-header-dir=dirname

      Specifies that dirname is the directory that contains native system header files, rather than /usr/include. This option is most useful d326 1 a326 1 --with-sysroot option and will cause GCC to search d328 2 a329 4

      --enable-shared[=package[,…]]

      Build shared versions of libraries, if shared libraries are supported on d332 2 a333 2

      If a list of packages is given as an argument, build shared libraries d336 10 a345 10 ‘libgcc’ (also known as ‘gcc’), ‘libstdc++’ (not ‘libstdc++-v3’), ‘libffi’, ‘zlib’, ‘boehm-gc’, ‘ada’, ‘libada’, ‘libgo’, and ‘libobjc’. Note ‘libiberty’ does not support shared libraries at all.

      Use --disable-shared to build only static libraries. Note that --disable-shared does not accept a list of package names as argument, only --enable-shared does.

      Contrast with --enable-host-shared, which affects host d347 2 a348 4

      --enable-host-shared

      Specify that the host code should be built into position-independent d351 4 a354 4

      This option is required when building the libgccjit.so library.

      Contrast with --enable-shared, which affects target d356 2 a357 4

      --with-gnu-as

      Specify that the compiler should assume that the d362 1 a362 1 configured with --with-gnu-as.) If you have more than one d364 4 a367 4 connection with --with-as=pathname or --with-build-time-tools=pathname.

      The following systems are the only ones where it makes a difference d369 10 a378 12 --with-gnu-as has no effect.

      • ‘hppa1.0-any-any’
      • ‘hppa1.1-any-any’
      • ‘sparc-sun-solaris2.any’
      • ‘sparc64-any-solaris2.any’
      --with-as=pathname

      Specify that the compiler should use the assembler pointed to by d381 4 a384 4

      • Unless GCC is being built with a cross compiler, check the libexec/gcc/target/version directory. libexec defaults to exec-prefix/libexec; d386 3 a388 3 defaults to /usr/local unless overridden by the --prefix=pathname switch described above. target is the target system triple, such as ‘sparc-sun-solaris2.7’, and d391 2 a392 2
      • If the target system is the same that you are building on, check operating system specific directories (e.g. /usr/ccs/bin on d395 1 a395 1
      • Check in the PATH for a tool whose name is prefixed by the d398 1 a398 1
      • Check in the PATH for a tool whose name is not prefixed by the d401 2 a402 2 the target as well).
      d404 1 a404 1

      You may want to use --with-as if no assembler d408 2 a409 4

      --with-gnu-ld

      Same as --with-gnu-as d411 2 a412 4

      --with-ld=pathname

      Same as --with-as d414 2 a415 4

      --with-stabs

      Specify that stabs debugging d418 27 a444 4

      --with-tls=dialect

      Specify the default TLS dialect, for systems were there is a choice. d448 2 a449 4

      --enable-multiarch

      Specify whether to enable or disable multiarch support. The default is d452 2 a453 2 and for cross builds configured with --with-sysroot, and without --with-native-system-header-dir. d456 3 a458 5

      --enable-sjlj-exceptions

      Force use of the setjmp/longjmp-based scheme for exceptions. ‘configure’ ordinarily picks the correct value based on the platform. d460 2 a461 4

      --enable-vtable-verify

      Specify whether to enable or disable the vtable verification feature. d466 1 a466 1 the verifier will call stub functions (in libstdc++ itself) and do nothing. d469 4 a472 6 still be built (see --disable-libvtv to turn off building libvtv). --disable-vtable-verify is the default.

      --disable-multilib

      Specify that multiple target d476 11 a486 18

      Some targets provide finer-grained control over which multilibs are built (e.g., --disable-softfloat):

      arm-*-*

      fpu, 26bit, underscore, interwork, biendian, nofmult.

      m68*-*-*

      softfloat, m68881, m68000, m68020.

      mips*-*-*

      single-float, biendian, softfloat.

      powerpc*-*-*, rs6000*-*-*

      aix64, pthread, softfloat, powercpu, powerpccpu, powerpcos, biendian, a487 3

      d489 3 a491 4
      --with-multilib-list=list
      --without-multilib-list

      Specify what multilibs to build. list is a comma separated list of d493 11 a503 24 for aarch64*-*-*, arm*-*-*, sh*-*-* and x86-64-*-linux*. The accepted alues and meaning for each target is given below.

      aarch64*-*-*

      list is a comma separated list of ilp32, and lp64 to enable ILP32 and LP64 run-time libraries, respectively. If list is empty, then there will be no multilibs and only the default run-time library will be built. If list is default or –with-multilib-list= is not specified, then the default set of libraries is selected based on the value of --target.

      arm*-*-*

      list is a comma separated list of aprofile and rmprofile to build multilibs for A or R and M architecture profiles respectively. Note that, due to some limitation of the current multilib framework, using the combined aprofile,rmprofile multilibs selects in some cases a less optimal multilib than when using the multilib profile for the architecture targetted. The special value default is also accepted and is equivalent to omitting the option, ie. only the default run-time library will be enabled.

      The table below gives the combination of ISAs, architectures, FPUs and d505 7 a511 7 The union of these options is considered when specifying both aprofile and rmprofile.

      Optionaprofilermprofile
      ISAs-marm and -mthumb-mthumb
      Architectures





      default architecture
      d514 2 a515 1 -march=armv8-a


      default architecture
      d521 3 a523 2 -march=armv7
      FPUs




      none
      d528 2 a529 1 -mfpu=neon-fp-armv8
      none
      d533 3 a535 2 -mfpu=fpv5-d16
      floating-point ABIs

      -mfloat-abi=soft
      d537 2 a538 1 -mfloat-abi=hard
      -mfloat-abi=soft
      d540 2 a541 2 -mfloat-abi=hard
      d543 1 a543 3
      sh*-*-*

      list is a comma separated list of CPU names. These must be of the d546 3 a548 3 these are handled by --with-endian.

      If list is empty, then there will be no multilibs for extra d550 4 a553 4

      As a special case, if an entry in the list starts with a ! (exclamation point), then it is added to the list of excluded multilibs. Entries of this sort should be compatible with ‘MULTILIB_EXCLUDES’ d555 3 a557 3

      If --with-multilib-list is not given, then a default set of multilibs is selected based on the value of --target. This is d560 2 a561 2

      Example 1: to configure a compiler for SH4A only, but supporting both d563 3 a565 5

      --with-cpu=sh4a --with-endian=little,big --with-multilib-list=
      

      Example 2: to configure a compiler for both SH4A and SH4AL-DSP, but with d567 4 a570 8

      --with-cpu=sh4a --with-endian=little,big \
      --with-multilib-list=sh4al,!mb/m4al
      
      x86-64-*-linux*

      list is a comma separated list of m32, m64 and d574 3 a576 4

      If --with-multilib-list is not given, then only 32-bit and 64-bit run-time libraries will be enabled.

      d579 1 a579 3
      --with-endian=endians

      Specify what endians to use. d581 7 a587 15

      endians may be one of the following:

      big

      Use big endian exclusively.

      little

      Use little endian exclusively.

      big,little

      Use big endian by default. Provide a multilib for little endian.

      little,big

      Use little endian by default. Provide a multilib for big endian.

      d590 1 a590 3
      --enable-threads

      Specify that the target d592 1 a592 1 library, and exception handling for other languages like C++. d594 2 a595 2

      In general, the best (and, in many cases, the only known) threading d598 7 a604 11 available for the system. In this case, --enable-threads is an alias for --enable-threads=single.

      --disable-threads

      Specify that threading support should be disabled for the system. This is an alias for --enable-threads=single.

      --enable-threads=lib

      Specify that d608 13 a620 35

      aix

      AIX thread support.

      dce

      DCE thread support.

      lynx

      LynxOS thread support.

      mipssde

      MIPS SDE thread support.

      no

      This is an alias for ‘single’.

      posix

      Generic POSIX/Unix98 thread support.

      rtems

      RTEMS thread support.

      single

      Disable thread support, should work for all platforms.

      tpf

      TPF thread support.

      vxworks

      VxWorks thread support.

      win32

      Microsoft Win32 API thread support.

      d623 1 a623 3
      --enable-tls

      Specify that the target supports TLS (Thread Local Storage). Usually d626 1 a626 1 --enable-tls or --disable-tls. This can happen if d629 6 a634 12

      --disable-tls

      Specify that the target does not support TLS. This is an alias for --enable-tls=no.

      --with-cpu=cpu
      --with-cpu-32=cpu
      --with-cpu-64=cpu

      Specify which cpu variant the compiler should generate code for by default. cpu will be used as the default value of the -mcpu= switch. d636 2 a637 2 PowerPC, and SPARC. It is mandatory for ARC. The --with-cpu-32 and --with-cpu-64 options specify separate default CPUs for d640 5 a644 16

      --with-schedule=cpu
      --with-arch=cpu
      --with-arch-32=cpu
      --with-arch-64=cpu
      --with-tune=cpu
      --with-tune-32=cpu
      --with-tune-64=cpu
      --with-abi=abi
      --with-fpu=type
      --with-float=type

      These configure options provide default values for the -mschedule=, -march=, -mtune=, -mabi=, and -mfpu= options and for -mhard-float or -msoft-float. As with --with-cpu, which switches will be accepted and acceptable values d646 2 a647 4

      --with-mode=mode

      Specify if the compiler should default to -marm or -mthumb. d649 2 a650 4

      --with-stack-offset=num

      This option sets the default for the -mstack-offset=num option, d653 4 a656 6

      --with-fpmath=isa

      This options sets -mfpmath=sse by default and specifies the default ISA for floating-point arithmetics. You can select either ‘sse’ which enables -msse2 or ‘avx’ which enables -mavx by default. d658 2 a659 4

      --with-fp-32=mode

      On MIPS targets, set the default value for the -mfp option when using d661 7 a667 13

      32

      Use the o32 FP32 ABI extension, as with the -mfp32 command-line option.

      xx

      Use the o32 FPXX ABI extension, as with the -mfpxx command-line option.

      64

      Use the o32 FP64 ABI extension, as with the -mfp64 command-line option.

      d669 1 a669 1

      In the absence of this configuration option the default is to use the o32 d671 2 a672 4

      --with-odd-spreg-32

      On MIPS targets, set the -modd-spreg option by default when using d674 2 a675 4

      --without-odd-spreg-32

      On MIPS targets, set the -mno-odd-spreg option by default when using d677 3 a679 5 --with-fp-32=64 in order to target the o32 FP64A ABI extension.

      --with-nan=encoding

      On MIPS targets, set the default encoding convention to use for the d682 5 a686 9

      legacy

      Use the legacy encoding, as with the -mnan=legacy command-line option.

      2008

      Use the 754-2008 encoding, as with the -mnan=2008 command-line option.

      d688 2 a689 2

      To use this configuration option you must have an assembler version installed that supports the -mnan= command-line option too. d691 5 a695 7 the legacy encoding, as when neither of the -mnan=2008 and -mnan=legacy command-line options has been used.

      --with-divide=type

      Specify how the compiler should generate code for checking for division by zero. This option is only supported on the MIPS target. d697 4 a700 8

      traps

      Division by zero checks use conditional traps (this is the default on systems that support conditional traps).

      breaks

      Division by zero checks use the break instruction.

      d703 4 a706 5
      --with-llsc

      On MIPS targets, make -mllsc the default when no -mno-llsc option is passed. This is the default for d709 15 a723 25

      --without-llsc

      On MIPS targets, make -mno-llsc the default when no -mllsc option is passed.

      --with-synci

      On MIPS targets, make -msynci the default when no -mno-synci option is passed.

      --without-synci

      On MIPS targets, make -mno-synci the default when no -msynci option is passed. This is the default.

      --with-lxc1-sxc1

      On MIPS targets, make -mlxc1-sxc1 the default when no -mno-lxc1-sxc1 option is passed. This is the default.

      --without-lxc1-sxc1

      On MIPS targets, make -mno-lxc1-sxc1 the default when no -mlxc1-sxc1 option is passed. The indexed load/store d735 6 a740 10

      --with-madd4

      On MIPS targets, make -mmadd4 the default when no -mno-madd4 option is passed. This is the default.

      --without-madd4

      On MIPS targets, make -mno-madd4 the default when no -mmadd4 option is passed. The madd4 instruction d747 2 a748 4

      --with-mips-plt

      On MIPS targets, make use of copy relocations and PLTs. d752 3 a754 5

      --enable-__cxa_atexit

      Define if you want to use __cxa_atexit, rather than atexit, to register C++ destructors for local statics and global objects. d758 3 a760 5 -fuse-cxa-atexit to be passed by default.

      --enable-gnu-indirect-function

      Define if you want to enable the ifunc attribute. This option is d762 3 a764 5

      --enable-target-optspace

      Specify that target libraries should be optimized for code space instead of code speed. d766 5 a770 9

      --with-cpp-install-dir=dirname

      Specify that the user visible cpp program should be installed in prefix/dirname/cpp, in addition to bindir.

      --enable-comdat

      Enable COMDAT group support. This is primarily used to override the d772 2 a773 4

      --enable-initfini-array

      Force the use of sections .init_array and .fini_array d775 1 a775 1 destructors. Option --disable-initfini-array has the d779 2 a780 4

      --enable-link-mutex

      When building GCC, use a mutex to avoid linking the compilers for d783 3 a785 5

      --enable-maintainer-mode

      The build rules that regenerate the Autoconf and Automake output files as well as the GCC master message catalog gcc.pot are normally d788 1 a788 1 catalog, configuring with --enable-maintainer-mode will enable d791 3 a793 5

      --disable-bootstrap

      For a native build, the default configuration is to perform a 3-stage bootstrap of the compiler when ‘make’ is invoked, d795 4 a798 6 this process, you can configure with --disable-bootstrap.

      --enable-bootstrap

      In special cases, you may want to perform a 3-stage build even if the target and host triplets are different. d800 1 a800 1 the target (e.g. host is i686-linux, target is i486-linux). d802 3 a804 5 with --enable-bootstrap.

      --enable-generated-files-in-srcdir

      Neither the .c and .h files that are generated from Bison and flex nor the d810 2 a811 2

      If you configure with --enable-generated-files-in-srcdir then those d816 2 a817 4

      --enable-version-specific-runtime-libs

      Specify d819 2 a820 2 subdirectory (libdir/gcc) rather than the usual places. In addition, ‘libstdc++’’s include files will be installed into d822 1 a822 1 --with-gxx-include-dir=dirname. Using this option is d824 4 a827 6 parallel. This is currently supported by ‘libgfortran’, ‘libstdc++’, and ‘libobjc’.

      --with-aix-soname=‘aix’, ‘svr4’ or ‘both’

      Traditional AIX shared library versioning (versioned Shared Object d829 1 a829 1 ‘lib.a’) causes numerous headaches for package managers. However, d832 1 a832 1 where this is called the "SONAME". But as they prevent static linking, d834 20 a853 23 linker does search for ‘libNAME.so’ before ‘libNAME.a’ library filenames with the ‘-lNAME’ linker flag.

      For detailed information please refer to the AIX ld Command reference.

      As long as shared library creation is enabled, upon:

      --with-aix-soname=aix
      --with-aix-soname=both

      A (traditional AIX) Shared Archive Library file is created:

      • using the ‘libNAME.a’ filename scheme
      • with the Shared Object file as archive member named ‘libNAME.so.V’ (except for ‘libgcc_s’, where the Shared Object file is named ‘shr.o’ for backwards compatibility), which
        • - is used for runtime loading from inside the ‘libNAME.a’ file
        • - is used for dynamic loading via dlopen("libNAME.a(libNAME.so.V)", RTLD_MEMBER)
        • - is used for shared linking
        • - is used for static linking, so no separate Static Archive d855 12 a866 15
      --with-aix-soname=both
      --with-aix-soname=svr4

      A (second) Shared Archive Library file is created:

      • using the ‘libNAME.so.V’ filename scheme
      • with the Shared Object file as archive member named ‘shr.o’, which
        • - is created with the -G linker flag
        • - has the F_LOADONLY flag set
        • - is used for runtime loading from inside the ‘libNAME.so.V’ file
        • - is used for dynamic loading via dlopen("libNAME.so.V(shr.o)", d868 2 a869 2
      • with the Import File as archive member named ‘shr.imp’, d871 2 a872 2
        • - refers to ‘libNAME.so.V(shr.o)’ as the "SONAME", to be recorded d874 13 a886 13
        • - indicates whether ‘libNAME.so.V(shr.o)’ is 32 or 64 bit
        • - lists all the public symbols exported by ‘lib.so.V(shr.o)’, eventually decorated with the ‘weak’ Keyword
        • - is necessary for shared linking against ‘lib.so.V(shr.o)’

      A symbolic link using the ‘libNAME.so’ filename scheme is created:

      • pointing to the ‘libNAME.so.V’ Shared Archive Library file
      • to permit the ld Command to find ‘lib.so.V(shr.imp)’ via the ‘-lNAME’ argument (requires Runtime Linking to be enabled)
      • to permit dynamic loading of ‘lib.so.V(shr.o)’ without the need to specify the version number via dlopen("libNAME.so(shr.o)", d888 2 a889 3
      d891 11 a901 13

      As long as static library creation is enabled, upon:

      --with-aix-soname=svr4

      A Static Archive Library is created:

      • using the ‘libNAME.a’ filename scheme
      • with all the Static Object files as archive members, which
        • - are used for static linking
      d903 1 a903 1

      While the aix-soname=‘svr4’ option does not create Shared Object d910 2 a911 2

      WARNING: Creating Shared Object files with Runtime Linking d913 1 a913 1 requiring the use of either the -Wl,-bbigtoc linker flag (seen to d916 2 a917 2

      --with-aix-soname is currently supported by ‘libgcc_s’ only, so d919 4 a922 6

      Default is the traditional behavior --with-aix-soname=‘aix’.

      --enable-languages=lang1,lang2,…

      Specify that only a particular subset of compilers and d925 9 a933 10 gcc directory of your GCC source tree:

      grep ^language= */config-lang.in
      

      Currently, you can use any of the following: all, default, ada, c, c++, fortran, go, jit, lto, objc, obj-c++. Building the Ada compiler has special requirements, see below. If you do not pass this flag, or specify the option default, then the default languages available in the gcc sub-tree will be configured. d935 4 a938 9 default language, but is built by default because --enable-lto is enabled by default. The other languages are default languages. If all is specified, then all available languages are built. An exception is jit language, which requires --enable-host-shared to be included with all.

      --enable-stage1-languages=lang1,lang2,…

      Specify that a particular subset of compilers and their runtime d942 2 a943 2 --enable-languages, and the option all will select all of the languages enabled by --enable-languages. This option is d948 5 a952 7 specified languages with the stage-1 compiler by using make stage1-bubble all-target, or run the testsuite on the stage-1 compiler for the specified languages using make stage1-start check-gcc.

      --disable-libada

      Specify that the run-time libraries and tools used by GNAT should not d955 3 a957 5 do a ‘make -C gcc gnatlib_and_tools’.

      --disable-libsanitizer

      Specify that the run-time libraries for the various sanitizers should d959 5 a963 10

      --disable-libssp

      Specify that the run-time libraries for stack smashing protection should not be built or linked against. On many targets library support is provided by the C library instead.

      --disable-libquadmath

      Specify that the GCC quad-precision math library should not be built. d965 1 a965 1 the Fortran front end, unless --disable-libquadmath-support d967 2 a968 4

      --disable-libquadmath-support

      Specify that the Fortran front end and libgfortran do not add d970 2 a971 4

      --disable-libgomp

      Specify that the GNU Offloading and Multi Processing Runtime Library d973 2 a974 4

      --disable-libvtv

      Specify that the run-time libraries used by vtable verification d976 2 a977 4

      --with-dwarf2

      Specify that the compiler should d979 2 a980 4

      --with-advance-toolchain=at

      On 64-bit PowerPC Linux systems, configure the compiler to use the d986 2 a987 5

      --enable-targets=all
      --enable-targets=target_list

      Some GCC targets, e.g. powerpc64-linux, build bi-arch compilers. d989 1 a989 1 code. Typically, the corresponding 32-bit target, e.g. d993 1 a993 1 you are building a bi-arch or multi-arch binutils in a combined tree. d995 1 a995 1 defaulted to o32. d998 4 a1001 8

      --enable-default-pie

      Turn on -fPIE and -pie by default.

      --enable-secureplt

      This option enables -msecure-plt by default for powerpc-linux. d1003 4 a1006 8

      --enable-default-ssp

      Turn on -fstack-protector-strong by default.

      --enable-cld

      This option enables -mcld by default for 32-bit x86 targets. d1008 2 a1009 6

      --enable-win32-registry
      --enable-win32-registry=key
      --disable-win32-registry

      The --enable-win32-registry option enables Microsoft Windows-hosted GCC a1010 4

      HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\key
      
      d1012 4 a1015 2

      key defaults to GCC version number, and can be overridden by the --enable-win32-registry=key option. Vendors and distributors d1019 1 a1019 1 by default, and can be disabled by --disable-win32-registry d1021 8 a1028 15

      --nfp

      Specify that the machine does not have a floating point unit. This option only applies to ‘m68k-sun-sunosn’. On any other system, --nfp has no effect.

      --enable-werror
      --disable-werror
      --enable-werror=yes
      --enable-werror=no

      When you specify this option, it controls whether certain files in the compiler are built with -Werror in bootstrap stage2 and later. If you don’t specify it, -Werror is turned on for the main d1030 1 a1030 1 final releases. The specific files which get -Werror are d1032 2 a1033 5

      --enable-checking
      --enable-checking=list

      When you specify this option, the compiler is built to perform internal d1037 3 a1039 3 the compiler with GCC. This is ‘yes,extra’ by default when building from SVN or snapshots, but ‘release’ for releases. The default for building the stage1 compiler is ‘yes’. More control d1041 8 a1048 8 checks available are ‘yes’ (most common checks ‘assert,misc,tree,gc,rtlflag,runtime’), ‘no’ (no checks at all), ‘all’ (all but ‘valgrind’), ‘release’ (cheapest checks ‘assert,runtime’) or ‘none’ (same as ‘no’). Individual checks can be enabled with these flags ‘assert’, ‘df’, ‘fold’, ‘gc’, ‘gcac’, ‘misc’, ‘rtl’, ‘rtlflag’, ‘runtime’, ‘tree’, ‘extra’ and ‘valgrind’. ‘extra’ adds for ‘misc’ checking extra checks that might affect d1051 2 a1052 2

      The ‘valgrind’ check requires the external valgrind d1054 3 a1056 3 ‘df’, ‘rtl’, ‘gcac’ and ‘valgrind’ checks are very expensive. To disable all checking, ‘--disable-checking’ or ‘--enable-checking=none’ must be explicitly requested. Disabling d1060 3 a1062 7

      --disable-stage1-checking
      --enable-stage1-checking
      --enable-stage1-checking=list

      If no --enable-checking option is specified the stage1 compiler will be built with ‘yes’ checking enabled, otherwise d1064 3 a1066 3 --enable-checking. To build the stage1 compiler with different checking options use --enable-stage1-checking. The list of checking options is the same as for --enable-checking. d1068 1 a1068 1 with checking for stage1 enabled, you can use ‘--disable-stage1-checking’ d1070 2 a1071 5

      --enable-coverage
      --enable-coverage=level

      With this option, the compiler is built to collect self coverage d1075 1 a1075 1 not, values are ‘opt’ and ‘noopt’. For coverage analysis you d1079 2 a1080 4

      --enable-gather-detailed-mem-stats

      When this option is specified more detailed information on memory d1082 3 a1084 5 -fmem-report.

      --enable-valgrind-annotations

      Mark selected memory related operations in the compiler when run under d1086 2 a1087 5

      --enable-nls
      --disable-nls

      The --enable-nls option enables Native Language Support (NLS), d1090 6 a1095 10 canadian cross build. The --disable-nls option disables NLS.

      --with-included-gettext

      If NLS is enabled, the --with-included-gettext option causes the build procedure to prefer its copy of GNU gettext.

      --with-catgets

      If NLS is enabled, and if the host lacks gettext but has the d1097 8 a1104 12 ignores catgets and instead uses GCC’s copy of the GNU gettext library. The --with-catgets option causes the build procedure to use the host’s catgets in this situation.

      --with-libiconv-prefix=dir

      Search for libiconv header files in dir/include and libiconv library files in dir/lib.

      --enable-obsolete

      Enable configuration for an obsoleted system. If you attempt to d1108 2 a1109 2

      All support for systems which have been obsoleted in one release of GCC d1112 2 a1113 9

      --enable-decimal-float
      --enable-decimal-float=yes
      --enable-decimal-float=no
      --enable-decimal-float=bid
      --enable-decimal-float=dpd
      --disable-decimal-float

      Enable (or disable) support for the C decimal floating point extension d1118 2 a1119 2 ‘bid’ or ‘dpd’). The ‘bid’ (binary integer decimal) format is default on i386 and x86_64 systems, and the ‘dpd’ d1121 2 a1122 5

      --enable-fixed-point
      --disable-fixed-point

      Enable (or disable) support for C fixed-point arithmetic. d1126 2 a1127 4

      --with-long-double-128

      Specify if long double type should be 128-bit by default on selected d1129 1 a1129 1 long double will be by default 64-bit, the same as double type. d1133 4 a1136 46

      --with-long-double-format=ibm
      --with-long-double-format=ieee

      Specify whether long double uses the IBM extended double format or the IEEE 128-bit floating point format on PowerPC Linux systems. This configuration switch will only work on little endian PowerPC Linux systems and on big endian 64-bit systems where the default cpu is at least power7 (i.e. --with-cpu=power7, --with-cpu=power8, or --with-cpu=power9 is used).

      If you use the --with-long-double-64 configuration option, the --with-long-double-format=ibm and --with-long-double-format=ieee options are ignored.

      The default long double format is to use IBM extended double. Until all of the libraries are converted to use IEEE 128-bit floating point, it is not recommended to use --with-long-double-format=ieee.

      On little endian PowerPC Linux systems, if you explicitly set the long double type, it will build multilibs to allow you to select either long double format, unless you disable multilibs with the --disable-multilib option. At present, long double multilibs are not built on big endian PowerPC Linux systems. If you are building multilibs, you will need to configure the compiler using the --with-system-zlib option.

      If you do not set the long double type explicitly, no multilibs will be generated.

      --enable-fdpic

      On SH Linux systems, generate ELF FDPIC code.

      --with-gmp=pathname
      --with-gmp-include=pathname
      --with-gmp-lib=pathname
      --with-mpfr=pathname
      --with-mpfr-include=pathname
      --with-mpfr-lib=pathname
      --with-mpc=pathname
      --with-mpc-include=pathname
      --with-mpc-lib=pathname

      If you want to build GCC but do not have the GMP library, the MPFR d1140 12 a1151 12 (‘--with-gmp=gmpinstalldir’, ‘--with-mpfr=mpfrinstalldir’, ‘--with-mpc=mpcinstalldir’). The --with-gmp=gmpinstalldir option is shorthand for --with-gmp-lib=gmpinstalldir/lib and --with-gmp-include=gmpinstalldir/include. Likewise the --with-mpfr=mpfrinstalldir option is shorthand for --with-mpfr-lib=mpfrinstalldir/lib and --with-mpfr-include=mpfrinstalldir/include, also the --with-mpc=mpcinstalldir option is shorthand for --with-mpc-lib=mpcinstalldir/lib and --with-mpc-include=mpcinstalldir/include. If these d1156 3 a1158 3 variable (LD_LIBRARY_PATH on GNU/Linux and Solaris systems).

      These flags are applicable to the host platform only. When building d1160 2 a1161 6

      --with-isl=pathname
      --with-isl-include=pathname
      --with-isl-lib=pathname

      If you do not have the isl library installed in a standard location and you d1163 4 a1166 4 installed (‘--with-isl=islinstalldir’). The --with-isl=islinstalldir option is shorthand for --with-isl-lib=islinstalldir/lib and --with-isl-include=islinstalldir/include. If this d1169 2 a1170 2

      These flags are applicable to the host platform only. When building d1172 2 a1173 4

      --with-stage1-ldflags=flags

      This option may be used to set linker flags to be used when linking d1175 2 a1176 2 --disable-bootstrap. If --with-stage1-libs is not set to a value, then the default is ‘-static-libstdc++ -static-libgcc’, if d1178 2 a1179 4

      --with-stage1-libs=libs

      This option may be used to set libraries to be used when linking stage 1 d1181 3 a1183 5 --disable-bootstrap.

      --with-boot-ldflags=flags

      This option may be used to set linker flags to be used when linking d1186 3 a1188 5 ‘-static-libstdc++ -static-libgcc’.

      --with-boot-libs=libs

      This option may be used to set libraries to be used when linking stage 2 d1190 2 a1191 4

      --with-debug-prefix-map=map

      Convert source directory names using -fdebug-prefix-map when d1193 4 a1196 6 list of maps of the form ‘old=new’.

      --enable-linker-build-id

      Tells GCC to pass --build-id option to the linker for all final links (links performed without the -r or --relocatable d1198 5 a1202 7 --enable-linker-build-id, but your linker does not support --build-id option, a warning is issued and the --enable-linker-build-id option is ignored. The default is off.

      --with-linker-hash-style=choice

      Tells GCC to pass --hash-style=choice option to the d1204 3 a1206 6 ‘sysv’, ‘gnu’, and ‘both’ where ‘sysv’ is the default.

      --enable-gnu-unique-object
      --disable-gnu-unique-object

      Tells GCC to use the gnu_unique_object relocation for C++ template d1210 2 a1211 4

      --with-diagnostics-color=choice

      Tells GCC to use choice as the default for -fdiagnostics-color= d1213 3 a1215 3 can be one of ‘never’, ‘auto’, ‘always’, and ‘auto-if-env’ where ‘auto’ is the default. ‘auto-if-env’ means that -fdiagnostics-color=auto will be the default if GCC_COLORS d1217 6 a1222 12 -fdiagnostics-color=never otherwise.

      --enable-lto
      --disable-lto

      Enable support for link-time optimization (LTO). This is enabled by default, and may be disabled using --disable-lto.

      --enable-linker-plugin-configure-flags=FLAGS
      --enable-linker-plugin-flags=FLAGS

      By default, linker plugins (such as the LTO plugin) are built for the d1227 2 a1228 2 (‘x86_64-unknown-linux-gnu’) host system, but have a 32-bit x86 GNU/Linux (‘i686-pc-linux-gnu’) linker executable (which is d1231 8 a1238 12

      % srcdir/configure \
          --host=x86_64-unknown-linux-gnu \
          --enable-linker-plugin-configure-flags=--host=i686-pc-linux-gnu \
          --enable-linker-plugin-flags='CC=gcc\ -m32\ -Wl,-rpath,[...]/i686-pc-linux-gnu/lib'
      
      --with-plugin-ld=pathname

      Enable an alternate linker to be used at link-time optimization (LTO) link time when -fuse-linker-plugin is enabled. d1240 4 a1243 7 version 2.20 or GNU ld starting with version 2.21. See -fuse-linker-plugin for details.

      --enable-canonical-system-headers
      --disable-canonical-system-headers

      Enable system header path canonicalization for libcpp. This can d1247 3 a1249 5 --disable-canonical-system-headers.

      --with-glibc-version=major.minor

      Tell GCC that when the GNU C Library (glibc) is used on the target it d1251 1 a1251 1 be detected from the C library’s header files, but this option may be d1254 3 a1256 3

      If GCC is configured with some multilibs that use glibc and some that do not, this option applies only to the multilibs that use glibc. d1259 4 a1262 8

      --enable-as-accelerator-for=target

      Build as offload target compiler. Specify offload host triple by target.

      --enable-offload-targets=target1[=path1],…,targetN[=pathN]

      Enable offloading to targets target1, …, targetN. d1265 1 a1265 6 specifying paths path1, …, pathN.

      % srcdir/configure \
          --enable-offload-target=i686-unknown-linux-gnu=/path/to/i686/compiler,x86_64-pc-linux-gnu
      
      d1267 4 a1270 1

      If ‘hsa’ is specified as one of the targets, the compiler will be d1273 3 a1275 7

      --with-hsa-runtime=pathname
      --with-hsa-runtime-include=pathname
      --with-hsa-runtime-lib=pathname

      If you configure GCC with HSA offloading but do not have the HSA d1278 1 a1278 1 --with-hsa-runtime=hsainstalldir option is a d1280 2 a1281 18 --with-hsa-runtime-lib=hsainstalldir/lib and --with-hsa-runtime-include=hsainstalldir/include.

      --enable-cet
      --disable-cet

      Enable building target run-time libraries with control-flow instrumentation, see -fcf-protection option. When --enable-cet is specified target libraries are configured to add -fcf-protection and, if needed, other target specific options to a set of building options.

      The option is disabled by default. When --enable-cet=auto is used, it is enabled on Linux/x86 if target binutils supports Intel CET instructions and disabled otherwise. In this case the target libraries are configured to get additional -fcf-protection option.

      d1284 2 a1285 2

      Cross-Compiler-Specific Options

      d1287 4 a1290 6

      --with-sysroot
      --with-sysroot=dir

      Tells GCC to consider dir as the root of a tree that contains (a subset of) the root filesystem of the target operating system. d1293 1 a1293 1 --sysroot=dir was added to the default options of the built d1295 5 a1299 5 install tree, unlike the options --with-headers and --with-libs that this option obsoletes. The default value, in case --with-sysroot is not given an argument, is ${gcc_tooldir}/sys-root. If the specified directory is a subdirectory of ${exec_prefix}, then it will be found relative to d1301 2 a1302 2

      This option affects the system root for the compiler used to build d1306 2 a1307 2

      If you specify the --with-native-system-header-dir=dirname d1309 8 a1316 11 native system headers rather than the default /usr/include.

      --with-build-sysroot
      --with-build-sysroot=dir

      Tells GCC to consider dir as the system root (see --with-sysroot) while building target libraries, instead of the directory specified with --with-sysroot. This option is only useful when you are already using --with-sysroot. You can use --with-build-sysroot when you are configuring with --prefix set to a directory that is different from the one in d1318 2 a1319 2

      This option affects the system root for the compiler used to build d1322 2 a1323 2

      If you specify the --with-native-system-header-dir=dirname d1325 4 a1328 7 native system headers rather than the default /usr/include.

      --with-headers
      --with-headers=dir

      Deprecated in favor of --with-sysroot. Specifies that target headers are available when building a cross compiler. d1330 5 a1334 5 files. These include files will be copied into the gcc install directory. This option with the dir argument is required when building a cross compiler, if prefix/target/sys-include doesn’t pre-exist. If prefix/target/sys-include does pre-exist, the dir argument may be omitted. fixincludes d1336 2 a1337 4

      --without-headers

      Tells GCC not use any target headers from a libc when building a cross d1340 2 a1341 5

      --with-libs
      --with-libs="dir1 dir2 … dirN"

      Deprecated in favor of --with-sysroot. d1343 1 a1343 1 libraries. These libraries will be copied into the gcc install d1346 2 a1347 4

      --with-newlib

      Specifies that ‘newlib’ is d1349 4 a1352 6 omitted from libgcc.a on the assumption that it will be provided by ‘newlib’.

      --with-avrlibc

      Specifies that ‘AVR-Libc’ is d1354 3 a1356 3 functions like __addsf3 to be omitted from libgcc.a on the assumption that it will be provided by libm.a. For more technical details, cf. PR54461. d1360 3 a1362 5

      --with-nds32-lib=library

      Specifies that library setting is used for building libgcc.a. Currently, the valid library is ‘newlib’ or ‘mculib’. d1364 2 a1365 4

      --with-build-time-tools=dir

      Specifies where to find the set of target tools (assembler, linker, etc.) d1369 3 a1371 3

      For example, on an ‘ia64-hp-hpux’ system, you may have the GNU assembler and linker in /usr/bin, and the native tools in a d1373 7 a1379 8 native tools in /usr/bin.

      When you use this option, you should ensure that dir includes ar, as, ld, nm, ranlib and strip if necessary, and possibly objdump. Otherwise, GCC may use an inconsistent set of tools.

      d1382 1 a1382 2

      Overriding configure test results

      d1385 2 a1386 2 configure test, for example in order to ease porting to a new system or work around a bug in a test. The toplevel configure d1388 3 a1390 5

      build_configargs

      The contents of this variable is passed to all build configure d1392 2 a1393 5

      host_configargs

      The contents of this variable is passed to all host configure d1395 2 a1396 5

      target_configargs

      The contents of this variable is passed to all target configure a1397 3

      d1399 4 a1402 2

      In order to avoid shell and make quoting issues for complex overrides, you can pass a setting for CONFIG_SITE and set d1404 2 a1405 3

      Objective-C-Specific Options

      d1408 3 a1410 4

      --enable-objc-gc

      Specify that an additional variant of the GNU Objective-C runtime library d1414 1 a1414 1 --enable-objc-gc=‘auto’ in which case the build of the d1417 2 a1418 6

      --with-target-bdw-gc=list
      --with-target-bdw-gc-include=list
      --with-target-bdw-gc-lib=list

      Specify search directories for the garbage collector header files and d1420 6 a1425 6 form ‘multilibdir=path’, where the default multilib key is named as ‘.’ (dot), or is omitted (e.g. ‘--with-target-bdw-gc=/opt/bdw-gc,32=/opt-bdw-gc32’).

      The options --with-target-bdw-gc-include and --with-target-bdw-gc-lib must always be specified together d1427 1 a1427 1 --with-target-bdw-gc. If --with-target-bdw-gc-include d1429 2 a1430 2 multilib is used (e.g. ‘--with-target-bdw-gc-include=/opt/bdw-gc/include’ ‘--with-target-bdw-gc-lib=/opt/bdw-gc/lib64,32=/opt-bdw-gc/lib32’). d1432 1 a1432 2 default locations.

      d1435 1 a1435 2

      a1436 10

      d1438 10 a1448 2 @ 1.1.1.12 log @import GCC 8.4. it fixes at least these 210 PRs in GCC bugzilla: 90095 93348 89906 89766 86747 87770 89588 89753 88235 89762 89684 89946 89965 90010 90026 90733 90810 90840 90842 90867 91623 92930 93073 93402 93505 93576 93744 93820 93908 85762 86429 86521 87327 87480 87513 87554 87685 87748 88183 88380 88394 88419 88690 88820 89381 89422 89576 89831 89917 90951 92003 92852 93140 80791 89358 89970 90899 89212 89419 92745 93684 93789 88273 91826 92376 84746 89497 89595 89664 89711 89725 90018 90316 90900 91108 91293 91772 92763 93054 93246 90313 92420 93434 93767 88530 89517 91838 79262 84680 85459 85711 85860 86567 87008 87651 87652 88469 89546 89827 90197 93072 93241 81800 89190 85400 91472 91854 92095 92131 92575 93704 60228 61414 65782 89405 89498 89703 89752 90187 90193 90898 91401 91450 91665 92296 92384 92438 92615 92648 92723 92732 92904 93087 93228 93515 93905 82081 92859 89712 89876 92106 82645 78552 81266 85965 89102 90165 90299 90532 91436 92059 93205 93325 93562 90359 91280 91375 92674 92704 93439 92768 80938 83361 90563 92113 92961 87833 89848 89902 89903 92022 93828 78179 79221 82920 84016 87015 88075 89077 89266 90454 90634 91226 92154 92664 92886 93065 92692 92629 80590 91944 92899 92977 93463 89601 88025 91660 91845 90498 91077 84487 86119 89174 89981 91550 92569 84135 84974 90872 93714 @ text @d94 3 a96 4

      If you obtained the sources by cloning the repository, srcdir must refer to the top gcc directory, the one where the MAINTAINERS file can be found, and not its gcc subdirectory, otherwise the build will fail. d1053 1 a1053 1 in the repository development tree. When building GCC from that development tree, a1345 1

      --disable-checking
      d1347 27 a1373 35

      This option controls performing internal consistency checks in the compiler. It does not change the generated code, but adds error checking of the requested complexity. This slows down the compiler and may only work properly if you are building the compiler with GCC.

      When the option is not specified, the active set of checks depends on context. Namely, bootstrap stage 1 defaults to ‘--enable-checking=yes’, builds from release branches or release archives default to ‘--enable-checking=release’, and otherwise ‘--enable-checking=yes,extra’ is used. When the option is specified without a list, the result is the same as ‘--enable-checking=yes’. Likewise, ‘--disable-checking’ is equivalent to ‘--enable-checking=no’.

      The categories of checks available in list are ‘yes’ (most common checks ‘assert,misc,gc,gimple,rtlflag,runtime,tree,types’), ‘no’ (no checks at all), ‘all’ (all but ‘valgrind’), ‘release’ (cheapest checks ‘assert,runtime’) or ‘none’ (same as ‘no’). ‘release’ checks are always on and to disable them ‘--disable-checking’ or ‘--enable-checking=no[,<other checks>]’ must be explicitly requested. Disabling assertions makes the compiler and runtime slightly faster but increases the risk of undetected internal errors causing wrong code to be generated.

      Individual checks can be enabled with these flags: ‘assert’, ‘df’, ‘extra’, ‘fold’, ‘gc’, ‘gcac’, ‘gimple’, ‘misc’, ‘rtl’, ‘rtlflag’, ‘runtime’, ‘tree’, ‘types’ and ‘valgrind’. ‘extra’ extends ‘misc’ checking with extra checks that might affect code generation and should therefore not differ between stage1 and later stages in bootstrap.

      The ‘valgrind’ check requires the external valgrind simulator, available from http://valgrind.org/. The ‘rtl’ checks are expensive and the ‘df’, ‘gcac’ and ‘valgrind’ checks are very expensive. d1379 3 a1381 3

      This option affects only bootstrap build. If no --enable-checking option is specified the stage1 compiler is built with ‘yes’ checking enabled, otherwise the stage1 checking flags are the same as specified by @ 1.1.1.13 log @import GCC 7.5.0. doing this here so that the vendor branch has the code we'll merge into gcc.old and the netbsd-9 tree gcc tree. GCC 8.4.0 will be imported immediately on top of this again, restoring the current status. these PRs in the GCC bugzilla are fixed with this update: 89869 80693 89795 84272 85593 86669 87148 87647 87895 88103 88107 88563 88870 88976 89002 89187 89195 89234 89303 89314 89354 89361 89403 89412 89512 89520 89590 89621 89663 89679 89704 89734 89872 89933 90090 90208 87075 85870 89009 89242 88167 80864 81933 85890 86608 87145 88857 89024 89119 89214 89511 89612 89705 89400 81740 82186 84552 86554 87609 88105 88149 88415 88739 88903 89135 89223 89296 89505 89572 89677 89698 89710 90006 90020 90071 90328 90474 91126 91162 91812 91887 90075 88998 89945 87047 87506 88074 88656 88740 91137 89008 84010 89349 91136 91347 91995 89397 87030 60702 78884 85594 87649 87725 88181 88470 88553 88568 88588 88620 88644 88906 88949 89246 89587 89726 89768 89796 89998 90108 90756 90950 91704 88825 88983 86538 51333 89446 90220 91308 92143 89392 90213 90278 91131 91200 91510 89037 91481 87673 88418 88938 88948 90547 27221 58321 61250 67183 67958 77583 83531 86215 88648 88720 88726 89091 89466 89629 90105 90329 90585 90760 90924 91087 89222 81956 71861 35031 69455 81849 82993 85798 88138 88155 88169 88205 88206 88228 88249 88269 88376 77703 80260 82077 86248 88393 90786 57048 66089 66695 67679 68009 71723 72714 84394 85544 87734 88298 90937 91557 63891 64132 65342 68649 68717 71066 71860 71935 77746 78421 78645 78865 78983 79485 79540 85953 88326 89651 90744 @ text @d1 3 a3 10 Installing GCC: Configuration d62 26 a87 4

      Installing GCC: Configuration

      Like most GNU software, GCC must be configured before it can be built. d90 2 a91 2

      We use srcdir to refer to the toplevel source directory for d93 8 a100 7

      If you obtained the sources via SVN, srcdir must refer to the top gcc directory, the one where the MAINTAINERS file can be found, and not its gcc subdirectory, otherwise the build will fail.

      If either srcdir or objdir is located on an automounted NFS file system, the shell's built-in pwd command will return d102 3 a104 3 problems. To avoid this issue, set the PWDCMD environment variable to an automounter-aware pwd command, e.g., pawd or ‘amq -w’, during the configuration and build d106 2 a107 2

      First, we highly recommend that GCC be built into a d110 1 a110 1 where srcdir == objdir should still work, but doesn't d113 6 a118 6

      If you have previously built GCC in the same directory for a different target machine, do ‘make distclean’ to delete all files that might be invalid. One of the files this deletes is Makefile; if ‘make distclean’ complains that Makefile does not exist or issues a message like “don't know how to make distclean” it probably d122 3 a124 3

      Second, when configuring a native system, either cc or gcc must be in your path or you must set CC in d127 1 d129 7 a135 1

      To configure GCC: d137 2 a138 5

           % mkdir objdir
           % cd objdir
           % srcdir/configure [options] [target]
      

      Distributor options

      d143 4 a146 3
      --with-pkgversion=version
      Specify a string that identifies your package. You may wish d148 8 a155 6 included in the output of gcc --version. This suffix does not replace the default version string, only the ‘GCC’ part.

      The default value is ‘GCC’.

      --with-bugurl=url
      Specify the URL that users should visit if they wish to report a bug. d158 5 d164 4 a167 8

      The default value refers to the FSF's GCC bug tracker.

      Target specification

      • GCC has code to correctly determine the correct value for target d171 1 a171 1
      • target must be specified as --target=target d175 3 a177 3
      • Specifying just target instead of --target=target implies that the host defaults to target.
      d179 3 a181 1

      Options specification

      d184 2 a185 2 GCC. A list of supported options follows; ‘configure --help’ may list other options, but those not listed below may not d187 8 a194 7

      Note that each --enable option has a corresponding --disable option and that each --with option has a corresponding --without option.

      --prefix=dirname
      Specify the toplevel installation d197 3 a199 3 /usr/local.

      We highly recommend against dirname being the same or a d201 5 a205 5 beneath a user's home directory tree, some shells will not expand dirname correctly if it contains the ‘~’ metacharacter; use $HOME instead.

      The following standard autoconf options are supported. Normally you d207 3 a209 2

      --exec-prefix=dirname
      Specify the toplevel installation directory for architecture-dependent d211 20 a230 12
      --bindir=dirname
      Specify the installation directory for the executables called by users (such as gcc and g++). The default is exec-prefix/bin.
      --libdir=dirname
      Specify the installation directory for object code libraries and internal data files of GCC. The default is exec-prefix/lib.
      --libexecdir=dirname
      Specify the installation directory for internal executables of GCC. The default is exec-prefix/libexec.
      --with-slibdir=dirname
      Specify the installation directory for the shared libgcc library. The d232 14 a245 8
      --datarootdir=dirname
      Specify the root of the directory tree for read-only architecture-independent data files referenced by GCC. The default is prefix/share.
      --infodir=dirname
      Specify the installation directory for documentation in info format. The default is datarootdir/info.
      --datadir=dirname
      Specify the installation directory for some architecture-independent d247 9 a255 5
      --docdir=dirname
      Specify the installation directory for documentation files (other than Info) for GCC. The default is datarootdir/doc.
      --htmldir=dirname
      Specify the installation directory for HTML documentation files. d257 4 a260 2
      --pdfdir=dirname
      Specify the installation directory for PDF documentation files. d262 5 a266 3
      --mandir=dirname
      Specify the installation directory for manual pages. The default is datarootdir/man. (Note that the manual pages are only extracts d270 4 a273 2
      --with-gxx-include-dir=dirname
      Specify d277 4 a280 2
      --with-specs=specs
      Specify additional command line driver SPECS. d282 2 a283 2 default without modifying the compiler's source code, for instance --with-specs=%{!fcommon:%{!fno-common:-fno-common}}. d285 3 d289 3 a291 3

      --program-prefix=prefix
      GCC supports some transformations of the names of its programs when d294 13 a306 9 --program-prefix=foo- would result in ‘gcc’ being installed as /usr/local/bin/foo-gcc.
      --program-suffix=suffix
      Appends suffix to the names of programs to install in bindir (see above). For example, specifying --program-suffix=-3.1 would result in ‘gcc’ being installed as /usr/local/bin/gcc-3.1.
      --program-transform-name=pattern
      Applies the ‘sed’ script pattern to be applied to the names d308 5 a312 5 consist of one or more basic ‘sed’ editing commands, separated by semicolons. For example, if you want the ‘gcc’ program name to be transformed to the installed program /usr/local/bin/myowngcc and the ‘g++’ program name to be transformed to /usr/local/bin/gspecial++ without changing other program names, d314 1 a314 1 --program-transform-name='s/^gcc$/myowngcc/; s/^g++$/gspecial++/' d316 2 a317 2

      All three options can be combined and used together, resulting in more d321 3 a323 3

      As currently implemented, this option only takes effect for native builds; cross compiler binaries' names are not transformed even when a d325 2 a326 2

      For native builds, some of the installed programs are also installed d328 1 a328 1 ‘i686-pc-linux-gnu-gcc’. All of the above transformations happen d330 1 a330 1 --program-prefix=foo- and program-suffix=-3.1, the d332 3 a334 3 /usr/local/bin/i686-pc-linux-gnu-foo-gcc-3.1.

      As a last shortcoming, none of the installed Ada programs are d336 4 a339 2

      --with-local-prefix=dirname
      Specify the d341 6 a346 6 /usr/local. Specify this option if you want the compiler to search directory dirname/include for locally installed header files instead of /usr/local/include.

      You should specify --with-local-prefix only if your site has a different convention (not /usr/local) for where to put d348 4 a351 4

      The default value for --with-local-prefix is /usr/local regardless of the value of --prefix. Specifying --prefix has no effect on which directory GCC searches for d354 3 a356 3

      The purpose of --prefix is to specify where to install GCC. The local header files in /usr/local/include—if you put d359 4 a362 4 another directory which is based on the --prefix value.)

      Both the local-prefix include directory and the GCC-prefix include directory are part of GCC's “system include” directories. Although these d368 2 a369 2

      Some autoconf macros add -I directory options to the d371 1 a371 1 packages' headers are searched. When directory is one of GCC's d376 3 a378 3

      GCC automatically searches for ordinary libraries using GCC_EXEC_PREFIX. Thus, when the same installation prefix is d382 3 a384 3 installed as a system compiler in /usr.

      Sites that need to install multiple versions of GCC may not want to d386 2 a387 2 --program-prefix, --program-suffix and --program-transform-name options to install multiple versions d389 1 a389 1 and the --with-local-prefix option to specify the location of the d392 9 a400 9 (e.g., with LIBRARY_PATH).

      The same value can be used for both --with-local-prefix and --prefix provided it is not /usr. This can be used to avoid the default search of /usr/local/include.

      Do not specify /usr as the --with-local-prefix! The directory you use for --with-local-prefix must not contain any of the system's standard header files. If it did contain d403 3 a405 3 file corrections made by the fixincludes script.

      Indications are that people who use this option use it based on mistaken d409 4 a412 2

      --with-gcc-major-version-only
      Specifies that GCC should use only the major number rather than d414 5 a418 3
      --with-native-system-header-dir=dirname
      Specifies that dirname is the directory that contains native system header files, rather than /usr/include. This option is most useful d421 1 a421 1 --with-sysroot option and will cause GCC to search d423 4 a426 2
      --enable-shared[=package[,...]]
      Build shared versions of libraries, if shared libraries are supported on d429 2 a430 2

      If a list of packages is given as an argument, build shared libraries d433 10 a442 10 ‘libgcc’ (also known as ‘gcc’), ‘libstdc++’ (not ‘libstdc++-v3’), ‘libffi’, ‘zlib’, ‘boehm-gc’, ‘ada’, ‘libada’, ‘libgo’, and ‘libobjc’. Note ‘libiberty’ does not support shared libraries at all.

      Use --disable-shared to build only static libraries. Note that --disable-shared does not accept a list of package names as argument, only --enable-shared does.

      Contrast with --enable-host-shared, which affects host d444 4 a447 2

      --enable-host-shared
      Specify that the host code should be built into position-independent d450 4 a453 4

      This option is required when building the libgccjit.so library.

      Contrast with --enable-shared, which affects target d455 4 a458 2

      --with-gnu-as
      Specify that the compiler should assume that the d463 1 a463 1 configured with --with-gnu-as.) If you have more than one d465 4 a468 4 connection with --with-as=pathname or --with-build-time-tools=pathname.

      The following systems are the only ones where it makes a difference d470 12 a481 10 --with-gnu-as has no effect.

      • ‘hppa1.0-any-any’
      • ‘hppa1.1-any-any’
      • ‘sparc-sun-solaris2.any’
      • ‘sparc64-any-solaris2.any’

      --with-as=pathname
      Specify that the compiler should use the assembler pointed to by d484 4 a487 4
      • Unless GCC is being built with a cross compiler, check the libexec/gcc/target/version directory. libexec defaults to exec-prefix/libexec; d489 3 a491 3 defaults to /usr/local unless overridden by the --prefix=pathname switch described above. target is the target system triple, such as ‘sparc-sun-solaris2.7’, and d494 2 a495 2
      • If the target system is the same that you are building on, check operating system specific directories (e.g. /usr/ccs/bin on d498 1 a498 1
      • Check in the PATH for a tool whose name is prefixed by the d501 1 a501 1
      • Check in the PATH for a tool whose name is not prefixed by the d504 2 a505 2 the target as well).
      d507 1 a507 1

      You may want to use --with-as if no assembler d511 4 a514 2

      --with-gnu-ld
      Same as --with-gnu-as d516 4 a519 2
      --with-ld=pathname
      Same as --with-as d521 4 a524 2
      --with-stabs
      Specify that stabs debugging d527 4 a530 27

      On MIPS based systems and on Alphas, you must specify whether you want GCC to create the normal ECOFF debugging format, or to use BSD-style stabs passed through the ECOFF symbol table. The normal ECOFF debug format cannot fully handle languages other than C. BSD stabs format can handle other languages, but it only works with the GNU debugger GDB.

      Normally, GCC uses the ECOFF debugging format by default; if you prefer BSD stabs, specify --with-stabs when you configure GCC.

      No matter which default you choose when you configure GCC, the user can use the -gcoff and -gstabs+ options to specify explicitly the debug format for a particular compilation.

      --with-stabs is meaningful on the ISC system on the 386, also, if --with-gas is used. It selects use of stabs debugging information embedded in COFF output. This kind of debugging information supports C++ well; ordinary COFF debugging information does not.

      --with-stabs is also meaningful on 386 systems running SVR4. It selects use of stabs debugging information embedded in ELF output. The C++ compiler currently (2.6.0) does not support the DWARF debugging information normally used on 386 SVR4 platforms; stabs provide a workable alternative. This requires gas and gdb, as the normal SVR4 tools can not generate or interpret stabs.

      --with-tls=dialect
      Specify the default TLS dialect, for systems were there is a choice. d534 4 a537 2
      --enable-multiarch
      Specify whether to enable or disable multiarch support. The default is d540 2 a541 2 and for cross builds configured with --with-sysroot, and without --with-native-system-header-dir. d544 5 a548 3
      --enable-sjlj-exceptions
      Force use of the setjmp/longjmp-based scheme for exceptions. ‘configure’ ordinarily picks the correct value based on the platform. d550 4 a553 2
      --enable-vtable-verify
      Specify whether to enable or disable the vtable verification feature. d558 1 a558 1 the verifier will call stub functions (in libstdc++ itself) and do nothing. d561 6 a566 4 still be built (see --disable-libvtv to turn off building libvtv). --disable-vtable-verify is the default.
      --disable-multilib
      Specify that multiple target d570 18 a587 11

      Some targets provide finer-grained control over which multilibs are built (e.g., --disable-softfloat):

      arm-*-*
      fpu, 26bit, underscore, interwork, biendian, nofmult.
      m68*-*-*
      softfloat, m68881, m68000, m68020.
      mips*-*-*
      single-float, biendian, softfloat.
      powerpc*-*-*, rs6000*-*-*
      aix64, pthread, softfloat, powercpu, powerpccpu, powerpcos, biendian, d589 3 d593 4 a596 3

      --with-multilib-list=list
      --without-multilib-list
      Specify what multilibs to build. list is a comma separated list of d598 24 a621 11 for arm*-*-*, sh*-*-* and x86-64-*-linux*. The accepted values and meaning for each target is given below.
      arm*-*-*
      list is one ofdefault, aprofile or rmprofile. Specifying default is equivalent to omitting this option, ie. only the default runtime library will be enabled. Specifying aprofile or rmprofile builds multilibs for a combination of ISA, architecture, FPU available and floating-point ABI.

      The table below gives the combination of ISAs, architectures, FPUs and d623 7 a629 7

      Option aprofile rmprofile
      ISAs -marm and -mthumb -mthumb
      Architectures





      default architecture
      d632 1 a632 2 -march=armv8-a


      default architecture
      d638 2 a639 3 -march=armv7
      FPUs




      none
      d644 1 a644 2 -mfpu=neon-fp-armv8
      none
      d648 2 a649 3 -mfpu=fpv5-d16

      floating-point ABIs

      -mfloat-abi=soft
      d651 1 a651 2 -mfloat-abi=hard
      -mfloat-abi=soft
      d653 2 a654 2 -mfloat-abi=hard
      d656 3 a658 1

      sh*-*-*
      list is a comma separated list of CPU names. These must be of the d661 3 a663 3 these are handled by --with-endian.

      If list is empty, then there will be no multilibs for extra d665 4 a668 4

      As a special case, if an entry in the list starts with a ! (exclamation point), then it is added to the list of excluded multilibs. Entries of this sort should be compatible with ‘MULTILIB_EXCLUDES’ d670 3 a672 3

      If --with-multilib-list is not given, then a default set of multilibs is selected based on the value of --target. This is d675 6 d682 1 a682 5

      Example 1: to configure a compiler for SH4A only, but supporting both endians, with little endian being the default:

                     --with-cpu=sh4a --with-endian=little,big --with-multilib-list=
      

      Example 2: to configure a compiler for both SH4A and SH4AL-DSP, but with d684 8 a691 4

                     --with-cpu=sh4a --with-endian=little,big \
                     --with-multilib-list=sh4al,!mb/m4al
      

      x86-64-*-linux*
      list is a comma separated list of m32, m64 and d695 4 a698 3

      If --with-multilib-list is not given, then only 32-bit and 64-bit run-time libraries will be enabled. d701 3 a703 1

      --with-endian=endians
      Specify what endians to use. d705 15 a719 7

      endians may be one of the following:

      big
      Use big endian exclusively.
      little
      Use little endian exclusively.
      big,little
      Use big endian by default. Provide a multilib for little endian.
      little,big
      Use little endian by default. Provide a multilib for big endian. d722 3 a724 1
      --enable-threads
      Specify that the target d726 1 a726 1 library, and exception handling for other languages like C++. d728 2 a729 2

      In general, the best (and, in many cases, the only known) threading d732 11 a742 7 available for the system. In this case, --enable-threads is an alias for --enable-threads=single.

      --disable-threads
      Specify that threading support should be disabled for the system. This is an alias for --enable-threads=single.
      --enable-threads=lib
      Specify that d746 35 a780 13
      aix
      AIX thread support.
      dce
      DCE thread support.
      lynx
      LynxOS thread support.
      mipssde
      MIPS SDE thread support.
      no
      This is an alias for ‘single’.
      posix
      Generic POSIX/Unix98 thread support.
      rtems
      RTEMS thread support.
      single
      Disable thread support, should work for all platforms.
      tpf
      TPF thread support.
      vxworks
      VxWorks thread support.
      win32
      Microsoft Win32 API thread support. d783 3 a785 1
      --enable-tls
      Specify that the target supports TLS (Thread Local Storage). Usually d788 1 a788 1 --enable-tls or --disable-tls. This can happen if d791 12 a802 6
      --disable-tls
      Specify that the target does not support TLS. This is an alias for --enable-tls=no.
      --with-cpu=cpu
      --with-cpu-32=cpu
      --with-cpu-64=cpu
      Specify which cpu variant the compiler should generate code for by default. cpu will be used as the default value of the -mcpu= switch. d804 2 a805 2 PowerPC, and SPARC. It is mandatory for ARC. The --with-cpu-32 and --with-cpu-64 options specify separate default CPUs for d808 16 a823 5
      --with-schedule=cpu
      --with-arch=cpu
      --with-arch-32=cpu
      --with-arch-64=cpu
      --with-tune=cpu
      --with-tune-32=cpu
      --with-tune-64=cpu
      --with-abi=abi
      --with-fpu=type
      --with-float=type
      These configure options provide default values for the -mschedule=, -march=, -mtune=, -mabi=, and -mfpu= options and for -mhard-float or -msoft-float. As with --with-cpu, which switches will be accepted and acceptable values d825 4 a828 2
      --with-mode=mode
      Specify if the compiler should default to -marm or -mthumb. d830 4 a833 2
      --with-stack-offset=num
      This option sets the default for the -mstack-offset=num option, d836 6 a841 4
      --with-fpmath=isa
      This options sets -mfpmath=sse by default and specifies the default ISA for floating-point arithmetics. You can select either ‘sse’ which enables -msse2 or ‘avx’ which enables -mavx by default. d843 4 a846 2
      --with-fp-32=mode
      On MIPS targets, set the default value for the -mfp option when using d848 13 a860 7
      32
      Use the o32 FP32 ABI extension, as with the -mfp32 command-line option.
      xx
      Use the o32 FPXX ABI extension, as with the -mfpxx command-line option.
      64
      Use the o32 FP64 ABI extension, as with the -mfp64 command-line option. d862 1 a862 1 In the absence of this configuration option the default is to use the o32 d864 4 a867 2
      --with-odd-spreg-32
      On MIPS targets, set the -modd-spreg option by default when using d869 4 a872 2
      --without-odd-spreg-32
      On MIPS targets, set the -mno-odd-spreg option by default when using d874 5 a878 3 --with-fp-32=64 in order to target the o32 FP64A ABI extension.
      --with-nan=encoding
      On MIPS targets, set the default encoding convention to use for the d881 9 a889 5
      legacy
      Use the legacy encoding, as with the -mnan=legacy command-line option.
      2008
      Use the 754-2008 encoding, as with the -mnan=2008 command-line option. d891 2 a892 2 To use this configuration option you must have an assembler version installed that supports the -mnan= command-line option too. d894 7 a900 5 the legacy encoding, as when neither of the -mnan=2008 and -mnan=legacy command-line options has been used.
      --with-divide=type
      Specify how the compiler should generate code for checking for division by zero. This option is only supported on the MIPS target. d902 8 a909 4
      traps
      Division by zero checks use conditional traps (this is the default on systems that support conditional traps).
      breaks
      Division by zero checks use the break instruction. d912 5 a916 4
      --with-llsc
      On MIPS targets, make -mllsc the default when no -mno-llsc option is passed. This is the default for d919 25 a943 15
      --without-llsc
      On MIPS targets, make -mno-llsc the default when no -mllsc option is passed.
      --with-synci
      On MIPS targets, make -msynci the default when no -mno-synci option is passed.
      --without-synci
      On MIPS targets, make -mno-synci the default when no -msynci option is passed. This is the default.
      --with-lxc1-sxc1
      On MIPS targets, make -mlxc1-sxc1 the default when no -mno-lxc1-sxc1 option is passed. This is the default.
      --without-lxc1-sxc1
      On MIPS targets, make -mno-lxc1-sxc1 the default when no -mlxc1-sxc1 option is passed. The indexed load/store d955 10 a964 6
      --with-madd4
      On MIPS targets, make -mmadd4 the default when no -mno-madd4 option is passed. This is the default.
      --without-madd4
      On MIPS targets, make -mno-madd4 the default when no -mmadd4 option is passed. The madd4 instruction d971 4 a974 2
      --with-mips-plt
      On MIPS targets, make use of copy relocations and PLTs. d978 5 a982 3
      --enable-__cxa_atexit
      Define if you want to use __cxa_atexit, rather than atexit, to register C++ destructors for local statics and global objects. d986 5 a990 3 -fuse-cxa-atexit to be passed by default.
      --enable-gnu-indirect-function
      Define if you want to enable the ifunc attribute. This option is d992 5 a996 3
      --enable-target-optspace
      Specify that target libraries should be optimized for code space instead of code speed. d998 9 a1006 5
      --with-cpp-install-dir=dirname
      Specify that the user visible cpp program should be installed in prefix/dirname/cpp, in addition to bindir.
      --enable-comdat
      Enable COMDAT group support. This is primarily used to override the d1008 4 a1011 2
      --enable-initfini-array
      Force the use of sections .init_array and .fini_array d1013 1 a1013 1 destructors. Option --disable-initfini-array has the d1017 4 a1020 2
      --enable-link-mutex
      When building GCC, use a mutex to avoid linking the compilers for d1023 5 a1027 3
      --enable-maintainer-mode
      The build rules that regenerate the Autoconf and Automake output files as well as the GCC master message catalog gcc.pot are normally d1030 1 a1030 1 catalog, configuring with --enable-maintainer-mode will enable d1033 5 a1037 3
      --disable-bootstrap
      For a native build, the default configuration is to perform a 3-stage bootstrap of the compiler when ‘make’ is invoked, d1039 6 a1044 4 this process, you can configure with --disable-bootstrap.
      --enable-bootstrap
      In special cases, you may want to perform a 3-stage build even if the target and host triplets are different. d1046 1 a1046 1 the target (e.g. host is i686-linux, target is i486-linux). d1048 5 a1052 3 with --enable-bootstrap.
      --enable-generated-files-in-srcdir
      Neither the .c and .h files that are generated from Bison and flex nor the d1054 1 a1054 1 in the SVN development tree. When building GCC from that development tree, d1058 2 a1059 2

      If you configure with --enable-generated-files-in-srcdir then those d1064 4 a1067 2

      --enable-version-specific-runtime-libs
      Specify d1069 2 a1070 2 subdirectory (libdir/gcc) rather than the usual places. In addition, ‘libstdc++’'s include files will be installed into d1072 1 a1072 1 --with-gxx-include-dir=dirname. Using this option is d1074 6 a1079 4 parallel. This is currently supported by ‘libgfortran’, ‘libstdc++’, and ‘libobjc’.
      --with-aix-soname=‘aix’, ‘svr4’ or ‘both’
      Traditional AIX shared library versioning (versioned Shared Object d1081 1 a1081 1 ‘lib.a’) causes numerous headaches for package managers. However, d1084 1 a1084 1 where this is called the "SONAME". But as they prevent static linking, d1086 23 a1108 20 linker does search for ‘libNAME.so’ before ‘libNAME.a’ library filenames with the ‘-lNAME’ linker flag.

      For detailed information please refer to the AIX ld Command reference.

      As long as shared library creation is enabled, upon:

      --with-aix-soname=aix
      --with-aix-soname=both
      A (traditional AIX) Shared Archive Library file is created:
      • using the ‘libNAME.a’ filename scheme
      • with the Shared Object file as archive member named ‘libNAME.so.V’ (except for ‘libgcc_s’, where the Shared Object file is named ‘shr.o’ for backwards compatibility), which
        • is used for runtime loading from inside the ‘libNAME.a’ file
        • is used for dynamic loading via dlopen("libNAME.a(libNAME.so.V)", RTLD_MEMBER)
        • is used for shared linking
        • is used for static linking, so no separate Static Archive d1110 15 a1124 12

      --with-aix-soname=both
      --with-aix-soname=svr4
      A (second) Shared Archive Library file is created:
      • using the ‘libNAME.so.V’ filename scheme
      • with the Shared Object file as archive member named ‘shr.o’, which
        • is created with the -G linker flag
        • has the F_LOADONLY flag set
        • is used for runtime loading from inside the ‘libNAME.so.V’ file
        • is used for dynamic loading via dlopen("libNAME.so.V(shr.o)", d1126 2 a1127 2
      • with the Import File as archive member named ‘shr.imp’, d1129 2 a1130 2
        • refers to ‘libNAME.so.V(shr.o)’ as the "SONAME", to be recorded d1132 13 a1144 13
        • indicates whether ‘libNAME.so.V(shr.o)’ is 32 or 64 bit
        • lists all the public symbols exported by ‘lib.so.V(shr.o)’, eventually decorated with the ‘weak’ Keyword
        • is necessary for shared linking against ‘lib.so.V(shr.o)’
      A symbolic link using the ‘libNAME.so’ filename scheme is created:
      • pointing to the ‘libNAME.so.V’ Shared Archive Library file
      • to permit the ld Command to find ‘lib.so.V(shr.imp)’ via the ‘-lNAME’ argument (requires Runtime Linking to be enabled)
      • to permit dynamic loading of ‘lib.so.V(shr.o)’ without the need to specify the version number via dlopen("libNAME.so(shr.o)", d1146 3 a1148 2
      d1150 13 a1162 11

      As long as static library creation is enabled, upon:

      --with-aix-soname=svr4
      A Static Archive Library is created:
      • using the ‘libNAME.a’ filename scheme
      • with all the Static Object files as archive members, which
        • are used for static linking
      d1164 1 a1164 1

      While the aix-soname=‘svr4’ option does not create Shared Object d1171 2 a1172 2

      WARNING: Creating Shared Object files with Runtime Linking d1174 1 a1174 1 requiring the use of either the -Wl,-bbigtoc linker flag (seen to d1177 2 a1178 2

      --with-aix-soname is currently supported by ‘libgcc_s’ only, so d1180 6 a1185 4

      Default is the traditional behavior --with-aix-soname=‘aix’.

      --enable-languages=lang1,lang2,...
      Specify that only a particular subset of compilers and d1188 10 a1197 9 gcc directory of your GCC source tree:
                grep ^language= */config-lang.in
      

      Currently, you can use any of the following: all, ada, c, c++, fortran, go, jit, lto, objc, obj-c++. Building the Ada compiler has special requirements, see below. If you do not pass this flag, or specify the option all, then all default languages available in the gcc sub-tree will be configured. d1199 9 a1207 4 default language, but is built by default because --enable-lto is enabled by default. The other languages are default languages.

      --enable-stage1-languages=lang1,lang2,...
      Specify that a particular subset of compilers and their runtime d1211 2 a1212 2 --enable-languages, and the option all will select all of the languages enabled by --enable-languages. This option is d1217 7 a1223 5 specified languages with the stage-1 compiler by using make stage1-bubble all-target, or run the testsuite on the stage-1 compiler for the specified languages using make stage1-start check-gcc.
      --disable-libada
      Specify that the run-time libraries and tools used by GNAT should not d1226 5 a1230 3 do a ‘make -C gcc gnatlib_and_tools’.
      --disable-libsanitizer
      Specify that the run-time libraries for the various sanitizers should d1232 10 a1241 5
      --disable-libssp
      Specify that the run-time libraries for stack smashing protection should not be built.
      --disable-libquadmath
      Specify that the GCC quad-precision math library should not be built. d1243 1 a1243 1 the Fortran front end, unless --disable-libquadmath-support d1245 4 a1248 2
      --disable-libquadmath-support
      Specify that the Fortran front end and libgfortran do not add d1250 4 a1253 2
      --disable-libgomp
      Specify that the GNU Offloading and Multi Processing Runtime Library d1255 4 a1258 2
      --disable-libvtv
      Specify that the run-time libraries used by vtable verification d1260 4 a1263 2
      --with-dwarf2
      Specify that the compiler should d1265 4 a1268 2
      --with-advance-toolchain=at
      On 64-bit PowerPC Linux systems, configure the compiler to use the d1274 5 a1278 2
      --enable-targets=all
      --enable-targets=target_list
      Some GCC targets, e.g. powerpc64-linux, build bi-arch compilers. d1280 1 a1280 1 code. Typically, the corresponding 32-bit target, e.g. d1284 1 a1284 1 you are building a bi-arch or multi-arch binutils in a combined tree. d1286 1 a1286 1 defaulted to o32. d1289 8 a1296 4
      --enable-default-pie
      Turn on -fPIE and -pie by default.
      --enable-secureplt
      This option enables -msecure-plt by default for powerpc-linux. d1298 8 a1305 4
      --enable-default-ssp
      Turn on -fstack-protector-strong by default.
      --enable-cld
      This option enables -mcld by default for 32-bit x86 targets. d1307 6 a1312 2
      --enable-win32-registry
      --enable-win32-registry=key
      --disable-win32-registry
      The --enable-win32-registry option enables Microsoft Windows-hosted GCC d1314 4 d1319 2 a1320 4
                HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\key
      

      key defaults to GCC version number, and can be overridden by the --enable-win32-registry=key option. Vendors and distributors d1324 1 a1324 1 by default, and can be disabled by --disable-win32-registry d1326 15 a1340 8

      --nfp
      Specify that the machine does not have a floating point unit. This option only applies to ‘m68k-sun-sunosn’. On any other system, --nfp has no effect.
      --enable-werror
      --disable-werror
      --enable-werror=yes
      --enable-werror=no
      When you specify this option, it controls whether certain files in the compiler are built with -Werror in bootstrap stage2 and later. If you don't specify it, -Werror is turned on for the main d1342 1 a1342 1 final releases. The specific files which get -Werror are d1344 51 a1394 35
      --enable-checking
      --enable-checking=list
      When you specify this option, the compiler is built to perform internal consistency checks of the requested complexity. This does not change the generated code, but adds error checking within the compiler. This will slow down the compiler and may only work properly if you are building the compiler with GCC. This is ‘yes,extra’ by default when building from SVN or snapshots, but ‘release’ for releases. The default for building the stage1 compiler is ‘yes’. More control over the checks may be had by specifying list. The categories of checks available are ‘yes’ (most common checks ‘assert,misc,tree,gc,rtlflag,runtime’), ‘no’ (no checks at all), ‘all’ (all but ‘valgrind’), ‘release’ (cheapest checks ‘assert,runtime’) or ‘none’ (same as ‘no’). Individual checks can be enabled with these flags ‘assert’, ‘df’, ‘fold’, ‘gc’, ‘gcac’, ‘misc’, ‘rtl’, ‘rtlflag’, ‘runtime’, ‘tree’, ‘extra’ and ‘valgrind’. ‘extra’ adds for ‘misc’ checking extra checks that might affect code generation and should therefore not differ between stage1 and later stages.

      The ‘valgrind’ check requires the external valgrind simulator, available from http://valgrind.org/. The ‘df’, ‘rtl’, ‘gcac’ and ‘valgrind’ checks are very expensive. To disable all checking, ‘--disable-checking’ or ‘--enable-checking=none’ must be explicitly requested. Disabling assertions will make the compiler and runtime slightly faster but increase the risk of undetected internal errors causing wrong code to be generated.

      --disable-stage1-checking
      --enable-stage1-checking
      --enable-stage1-checking=list
      If no --enable-checking option is specified the stage1 compiler will be built with ‘yes’ checking enabled, otherwise the stage1 checking flags are the same as specified by --enable-checking. To build the stage1 compiler with different checking options use --enable-stage1-checking. The list of checking options is the same as for --enable-checking. d1396 1 a1396 1 with checking for stage1 enabled, you can use ‘--disable-stage1-checking’ d1398 5 a1402 2
      --enable-coverage
      --enable-coverage=level
      With this option, the compiler is built to collect self coverage d1406 1 a1406 1 not, values are ‘opt’ and ‘noopt’. For coverage analysis you d1410 4 a1413 2
      --enable-gather-detailed-mem-stats
      When this option is specified more detailed information on memory d1415 5 a1419 3 -fmem-report.
      --enable-valgrind-annotations
      Mark selected memory related operations in the compiler when run under d1421 5 a1425 2
      --enable-nls
      --disable-nls
      The --enable-nls option enables Native Language Support (NLS), d1428 10 a1437 6 canadian cross build. The --disable-nls option disables NLS.
      --with-included-gettext
      If NLS is enabled, the --with-included-gettext option causes the build procedure to prefer its copy of GNU gettext.
      --with-catgets
      If NLS is enabled, and if the host lacks gettext but has the d1439 12 a1450 8 ignores catgets and instead uses GCC's copy of the GNU gettext library. The --with-catgets option causes the build procedure to use the host's catgets in this situation.
      --with-libiconv-prefix=dir
      Search for libiconv header files in dir/include and libiconv library files in dir/lib.
      --enable-obsolete
      Enable configuration for an obsoleted system. If you attempt to d1454 2 a1455 2

      All support for systems which have been obsoleted in one release of GCC d1458 9 a1466 2

      --enable-decimal-float
      --enable-decimal-float=yes
      --enable-decimal-float=no
      --enable-decimal-float=bid
      --enable-decimal-float=dpd
      --disable-decimal-float
      Enable (or disable) support for the C decimal floating point extension d1471 2 a1472 2 ‘bid’ or ‘dpd’). The ‘bid’ (binary integer decimal) format is default on i386 and x86_64 systems, and the ‘dpd’ d1474 5 a1478 2
      --enable-fixed-point
      --disable-fixed-point
      Enable (or disable) support for C fixed-point arithmetic. d1482 4 a1485 2
      --with-long-double-128
      Specify if long double type should be 128-bit by default on selected d1487 1 a1487 1 long double will be by default 64-bit, the same as double type. d1491 46 a1536 4
      --enable-fdpic
      On SH Linux systems, generate ELF FDPIC code.
      --with-gmp=pathname
      --with-gmp-include=pathname
      --with-gmp-lib=pathname
      --with-mpfr=pathname
      --with-mpfr-include=pathname
      --with-mpfr-lib=pathname
      --with-mpc=pathname
      --with-mpc-include=pathname
      --with-mpc-lib=pathname
      If you want to build GCC but do not have the GMP library, the MPFR d1540 12 a1551 12 (‘--with-gmp=gmpinstalldir’, ‘--with-mpfr=mpfrinstalldir’, ‘--with-mpc=mpcinstalldir’). The --with-gmp=gmpinstalldir option is shorthand for --with-gmp-lib=gmpinstalldir/lib and --with-gmp-include=gmpinstalldir/include. Likewise the --with-mpfr=mpfrinstalldir option is shorthand for --with-mpfr-lib=mpfrinstalldir/lib and --with-mpfr-include=mpfrinstalldir/include, also the --with-mpc=mpcinstalldir option is shorthand for --with-mpc-lib=mpcinstalldir/lib and --with-mpc-include=mpcinstalldir/include. If these d1556 3 a1558 3 variable (LD_LIBRARY_PATH on GNU/Linux and Solaris systems).

      These flags are applicable to the host platform only. When building d1560 6 a1565 2

      --with-isl=pathname
      --with-isl-include=pathname
      --with-isl-lib=pathname
      If you do not have the isl library installed in a standard location and you d1567 4 a1570 4 installed (‘--with-isl=islinstalldir’). The --with-isl=islinstalldir option is shorthand for --with-isl-lib=islinstalldir/lib and --with-isl-include=islinstalldir/include. If this d1573 2 a1574 2

      These flags are applicable to the host platform only. When building d1576 4 a1579 2

      --with-stage1-ldflags=flags
      This option may be used to set linker flags to be used when linking d1581 2 a1582 2 --disable-bootstrap. If --with-stage1-libs is not set to a value, then the default is ‘-static-libstdc++ -static-libgcc’, if d1584 4 a1587 2
      --with-stage1-libs=libs
      This option may be used to set libraries to be used when linking stage 1 d1589 5 a1593 3 --disable-bootstrap.
      --with-boot-ldflags=flags
      This option may be used to set linker flags to be used when linking d1596 5 a1600 3 ‘-static-libstdc++ -static-libgcc’.
      --with-boot-libs=libs
      This option may be used to set libraries to be used when linking stage 2 d1602 4 a1605 2
      --with-debug-prefix-map=map
      Convert source directory names using -fdebug-prefix-map when d1607 6 a1612 4 list of maps of the form ‘old=new’.
      --enable-linker-build-id
      Tells GCC to pass --build-id option to the linker for all final links (links performed without the -r or --relocatable d1614 7 a1620 5 --enable-linker-build-id, but your linker does not support --build-id option, a warning is issued and the --enable-linker-build-id option is ignored. The default is off.
      --with-linker-hash-style=choice
      Tells GCC to pass --hash-style=choice option to the d1622 6 a1627 3 ‘sysv’, ‘gnu’, and ‘both’ where ‘sysv’ is the default.
      --enable-gnu-unique-object
      --disable-gnu-unique-object
      Tells GCC to use the gnu_unique_object relocation for C++ template d1631 4 a1634 2
      --with-diagnostics-color=choice
      Tells GCC to use choice as the default for -fdiagnostics-color= d1636 3 a1638 3 can be one of ‘never’, ‘auto’, ‘always’, and ‘auto-if-env’ where ‘auto’ is the default. ‘auto-if-env’ means that -fdiagnostics-color=auto will be the default if GCC_COLORS d1640 12 a1651 6 -fdiagnostics-color=never otherwise.
      --enable-lto
      --disable-lto
      Enable support for link-time optimization (LTO). This is enabled by default, and may be disabled using --disable-lto.
      --enable-linker-plugin-configure-flags=FLAGS
      --enable-linker-plugin-flags=FLAGS
      By default, linker plugins (such as the LTO plugin) are built for the d1656 2 a1657 2 (‘x86_64-unknown-linux-gnu’) host system, but have a 32-bit x86 GNU/Linux (‘i686-pc-linux-gnu’) linker executable (which is d1660 12 a1671 8
                % srcdir/configure \
                    --host=x86_64-unknown-linux-gnu \
                    --enable-linker-plugin-configure-flags=--host=i686-pc-linux-gnu \
                    --enable-linker-plugin-flags='CC=gcc\ -m32\ -Wl,-rpath,[...]/i686-pc-linux-gnu/lib'
      

      --with-plugin-ld=pathname
      Enable an alternate linker to be used at link-time optimization (LTO) link time when -fuse-linker-plugin is enabled. d1673 7 a1679 4 version 2.20 or GNU ld starting with version 2.21. See -fuse-linker-plugin for details.
      --enable-canonical-system-headers
      --disable-canonical-system-headers
      Enable system header path canonicalization for libcpp. This can d1683 5 a1687 3 --disable-canonical-system-headers.
      --with-glibc-version=major.minor
      Tell GCC that when the GNU C Library (glibc) is used on the target it d1689 1 a1689 1 be detected from the C library's header files, but this option may be d1692 3 a1694 3

      If GCC is configured with some multilibs that use glibc and some that do not, this option applies only to the multilibs that use glibc. d1697 8 a1704 4

      --enable-as-accelerator-for=target
      Build as offload target compiler. Specify offload host triple by target.
      --enable-offload-targets=target1[=path1],...,targetN[=pathN]
      Enable offloading to targets target1, ..., targetN. d1707 6 a1712 1 specifying paths path1, ..., pathN. d1714 1 a1714 4
                % srcdir/configure \
                    --enable-offload-target=i686-unknown-linux-gnu=/path/to/i686/compiler,x86_64-pc-linux-gnu
      

      If ‘hsa’ is specified as one of the targets, the compiler will be d1717 7 a1723 3

      --with-hsa-runtime=pathname
      --with-hsa-runtime-include=pathname
      --with-hsa-runtime-lib=pathname
      If you configure GCC with HSA offloading but do not have the HSA d1726 1 a1726 1 --with-hsa-runtime=hsainstalldir option is a d1728 18 a1745 2 --with-hsa-runtime-lib=hsainstalldir/lib and --with-hsa-runtime-include=hsainstalldir/include. d1748 2 a1749 2

      Cross-Compiler-Specific Options

      d1751 6 a1756 4
      --with-sysroot
      --with-sysroot=dir
      Tells GCC to consider dir as the root of a tree that contains (a subset of) the root filesystem of the target operating system. d1759 1 a1759 1 --sysroot=dir was added to the default options of the built d1761 5 a1765 5 install tree, unlike the options --with-headers and --with-libs that this option obsoletes. The default value, in case --with-sysroot is not given an argument, is ${gcc_tooldir}/sys-root. If the specified directory is a subdirectory of ${exec_prefix}, then it will be found relative to d1767 2 a1768 2

      This option affects the system root for the compiler used to build d1772 2 a1773 2

      If you specify the --with-native-system-header-dir=dirname d1775 11 a1785 8 native system headers rather than the default /usr/include.

      --with-build-sysroot
      --with-build-sysroot=dir
      Tells GCC to consider dir as the system root (see --with-sysroot) while building target libraries, instead of the directory specified with --with-sysroot. This option is only useful when you are already using --with-sysroot. You can use --with-build-sysroot when you are configuring with --prefix set to a directory that is different from the one in d1787 2 a1788 2

      This option affects the system root for the compiler used to build d1791 2 a1792 2

      If you specify the --with-native-system-header-dir=dirname d1794 7 a1800 4 native system headers rather than the default /usr/include.

      --with-headers
      --with-headers=dir
      Deprecated in favor of --with-sysroot. Specifies that target headers are available when building a cross compiler. d1802 5 a1806 5 files. These include files will be copied into the gcc install directory. This option with the dir argument is required when building a cross compiler, if prefix/target/sys-include doesn't pre-exist. If prefix/target/sys-include does pre-exist, the dir argument may be omitted. fixincludes d1808 4 a1811 2
      --without-headers
      Tells GCC not use any target headers from a libc when building a cross d1814 5 a1818 2
      --with-libs
      --with-libs="dir1 dir2 ... dirN"
      Deprecated in favor of --with-sysroot. d1820 1 a1820 1 libraries. These libraries will be copied into the gcc install d1823 4 a1826 2
      --with-newlib
      Specifies that ‘newlib’ is d1828 6 a1833 4 omitted from libgcc.a on the assumption that it will be provided by ‘newlib’.
      --with-avrlibc
      Specifies that ‘AVR-Libc’ is d1835 3 a1837 3 functions like __addsf3 to be omitted from libgcc.a on the assumption that it will be provided by libm.a. For more technical details, cf. PR54461. d1841 5 a1845 3
      --with-nds32-lib=library
      Specifies that library setting is used for building libgcc.a. Currently, the valid library is ‘newlib’ or ‘mculib’. d1847 4 a1850 2
      --with-build-time-tools=dir
      Specifies where to find the set of target tools (assembler, linker, etc.) d1854 3 a1856 3

      For example, on an ‘ia64-hp-hpux’ system, you may have the GNU assembler and linker in /usr/bin, and the native tools in a d1858 8 a1865 7 native tools in /usr/bin.

      When you use this option, you should ensure that dir includes ar, as, ld, nm, ranlib and strip if necessary, and possibly objdump. Otherwise, GCC may use an inconsistent set of tools. d1868 2 a1869 1

      Overriding configure test results
      d1872 2 a1873 2 configure test, for example in order to ease porting to a new system or work around a bug in a test. The toplevel configure d1875 5 a1879 3
      build_configargs
      The contents of this variable is passed to all build configure d1881 5 a1885 2
      host_configargs
      The contents of this variable is passed to all host configure d1887 5 a1891 2
      target_configargs
      The contents of this variable is passed to all target configure d1893 3 d1897 2 a1898 4

      In order to avoid shell and make quoting issues for complex overrides, you can pass a setting for CONFIG_SITE and set d1900 3 a1902 2

      Objective-C-Specific Options

      d1905 4 a1908 3
      --enable-objc-gc
      Specify that an additional variant of the GNU Objective-C runtime library d1912 1 a1912 1 --enable-objc-gc=‘auto’ in which case the build of the d1915 6 a1920 2
      --with-target-bdw-gc=list
      --with-target-bdw-gc-include=list
      --with-target-bdw-gc-lib=list
      Specify search directories for the garbage collector header files and d1922 6 a1927 6 form ‘multilibdir=path’, where the default multilib key is named as ‘.’ (dot), or is omitted (e.g. ‘--with-target-bdw-gc=/opt/bdw-gc,32=/opt-bdw-gc32’).

      The options --with-target-bdw-gc-include and --with-target-bdw-gc-lib must always be specified together d1929 1 a1929 1 --with-target-bdw-gc. If --with-target-bdw-gc-include d1931 2 a1932 2 multilib is used (e.g. ‘--with-target-bdw-gc-include=/opt/bdw-gc/include’ ‘--with-target-bdw-gc-lib=/opt/bdw-gc/lib64,32=/opt-bdw-gc/lib32’). d1934 2 a1935 1 default locations. d1938 2 a1939 1


      d1941 10 a1951 10 d1953 2 @ 1.1.1.14 log @re-import GCC 8.4.0. @ text @d1 10 a10 3 Installing GCC d41 6 d48 2 a49 8

      Installing GCC

      d51 3 d55 2 a56 28

      Like most GNU software, GCC must be configured before it can be built. This document describes the recommended configuration procedure for both native and cross targets.

      We use srcdir to refer to the toplevel source directory for GCC; we use objdir to refer to the toplevel build/object directory.

      If you obtained the sources by cloning the repository, srcdir must refer to the top gcc directory, the one where the MAINTAINERS file can be found, and not its gcc subdirectory, otherwise the build will fail.

      If either srcdir or objdir is located on an automounted NFS file system, the shell’s built-in pwd command will return d58 3 a60 3 problems. To avoid this issue, set the PWDCMD environment variable to an automounter-aware pwd command, e.g., pawd or ‘amq -w’, during the configuration and build d62 2 a63 2

      First, we highly recommend that GCC be built into a d66 1 a66 1 where srcdir == objdir should still work, but doesn’t d69 6 a74 6

      If you have previously built GCC in the same directory for a different target machine, do ‘make distclean’ to delete all files that might be invalid. One of the files this deletes is Makefile; if ‘make distclean’ complains that Makefile does not exist or issues a message like “don’t know how to make distclean” it probably d78 3 a80 3

      Second, when configuring a native system, either cc or gcc must be in your path or you must set CC in a82 1

      d84 1 a84 7

      To configure GCC:

      % mkdir objdir
      % cd objdir
      % srcdir/configure [options] [target]
      
      d86 5 a90 2

      Distributor options

      d95 3 a97 4

      --with-pkgversion=version

      Specify a string that identifies your package. You may wish d99 6 a104 8 included in the output of gcc --version. This suffix does not replace the default version string, only the ‘GCC’ part.

      The default value is ‘GCC’.

      --with-bugurl=url

      Specify the URL that users should visit if they wish to report a bug. a106 5

      The default value refers to the FSF’s GCC bug tracker.

      d108 8 a115 4

      Target specification

      • GCC has code to correctly determine the correct value for target d119 1 a119 1
      • target must be specified as --target=target d123 3 a125 3
      • Specifying just target instead of --target=target implies that the host defaults to target.
      d127 1 a127 3

      Options specification

      d130 2 a131 2 GCC. A list of supported options follows; ‘configure --help’ may list other options, but those not listed below may not d133 7 a139 8

      Note that each --enable option has a corresponding --disable option and that each --with option has a corresponding --without option.

      --prefix=dirname

      Specify the toplevel installation d142 3 a144 3 /usr/local.

      We highly recommend against dirname being the same or a d146 5 a150 5 beneath a user’s home directory tree, some shells will not expand dirname correctly if it contains the ‘~’ metacharacter; use $HOME instead.

      The following standard autoconf options are supported. Normally you d152 2 a153 3

      --exec-prefix=dirname

      Specify the toplevel installation directory for architecture-dependent d155 12 a166 20

      --bindir=dirname

      Specify the installation directory for the executables called by users (such as gcc and g++). The default is exec-prefix/bin.

      --libdir=dirname

      Specify the installation directory for object code libraries and internal data files of GCC. The default is exec-prefix/lib.

      --libexecdir=dirname

      Specify the installation directory for internal executables of GCC. The default is exec-prefix/libexec.

      --with-slibdir=dirname

      Specify the installation directory for the shared libgcc library. The d168 8 a175 14

      --datarootdir=dirname

      Specify the root of the directory tree for read-only architecture-independent data files referenced by GCC. The default is prefix/share.

      --infodir=dirname

      Specify the installation directory for documentation in info format. The default is datarootdir/info.

      --datadir=dirname

      Specify the installation directory for some architecture-independent d177 5 a181 9

      --docdir=dirname

      Specify the installation directory for documentation files (other than Info) for GCC. The default is datarootdir/doc.

      --htmldir=dirname

      Specify the installation directory for HTML documentation files. d183 2 a184 4

      --pdfdir=dirname

      Specify the installation directory for PDF documentation files. d186 3 a188 5

      --mandir=dirname

      Specify the installation directory for manual pages. The default is datarootdir/man. (Note that the manual pages are only extracts d192 2 a193 4

      --with-gxx-include-dir=dirname

      Specify d197 2 a198 4

      --with-specs=specs

      Specify additional command line driver SPECS. d200 2 a201 2 default without modifying the compiler’s source code, for instance --with-specs=%{!fcommon:%{!fno-common:-fno-common}}. a202 3

      d204 3 a206 3
      --program-prefix=prefix

      GCC supports some transformations of the names of its programs when d209 9 a217 13 --program-prefix=foo- would result in ‘gcc’ being installed as /usr/local/bin/foo-gcc.

      --program-suffix=suffix

      Appends suffix to the names of programs to install in bindir (see above). For example, specifying --program-suffix=-3.1 would result in ‘gcc’ being installed as /usr/local/bin/gcc-3.1.

      --program-transform-name=pattern

      Applies the ‘sed’ script pattern to be applied to the names d219 5 a223 5 consist of one or more basic ‘sed’ editing commands, separated by semicolons. For example, if you want the ‘gcc’ program name to be transformed to the installed program /usr/local/bin/myowngcc and the ‘g++’ program name to be transformed to /usr/local/bin/gspecial++ without changing other program names, d225 1 a225 1 --program-transform-name='s/^gcc$/myowngcc/; s/^g++$/gspecial++/' d227 2 a228 2

      All three options can be combined and used together, resulting in more d232 3 a234 3

      As currently implemented, this option only takes effect for native builds; cross compiler binaries’ names are not transformed even when a d236 2 a237 2

      For native builds, some of the installed programs are also installed d239 1 a239 1 ‘i686-pc-linux-gnu-gcc’. All of the above transformations happen d241 1 a241 1 --program-prefix=foo- and program-suffix=-3.1, the d243 3 a245 3 /usr/local/bin/i686-pc-linux-gnu-foo-gcc-3.1.

      As a last shortcoming, none of the installed Ada programs are d247 2 a248 4

      --with-local-prefix=dirname

      Specify the d250 6 a255 6 /usr/local. Specify this option if you want the compiler to search directory dirname/include for locally installed header files instead of /usr/local/include.

      You should specify --with-local-prefix only if your site has a different convention (not /usr/local) for where to put d257 4 a260 4

      The default value for --with-local-prefix is /usr/local regardless of the value of --prefix. Specifying --prefix has no effect on which directory GCC searches for d263 3 a265 3

      The purpose of --prefix is to specify where to install GCC. The local header files in /usr/local/include—if you put d268 4 a271 4 another directory which is based on the --prefix value.)

      Both the local-prefix include directory and the GCC-prefix include directory are part of GCC’s “system include” directories. Although these d277 2 a278 2

      Some autoconf macros add -I directory options to the d280 1 a280 1 packages’ headers are searched. When directory is one of GCC’s d285 3 a287 3

      GCC automatically searches for ordinary libraries using GCC_EXEC_PREFIX. Thus, when the same installation prefix is d291 3 a293 3 installed as a system compiler in /usr.

      Sites that need to install multiple versions of GCC may not want to d295 2 a296 2 --program-prefix, --program-suffix and --program-transform-name options to install multiple versions d298 1 a298 1 and the --with-local-prefix option to specify the location of the d301 9 a309 9 (e.g., with LIBRARY_PATH).

      The same value can be used for both --with-local-prefix and --prefix provided it is not /usr. This can be used to avoid the default search of /usr/local/include.

      Do not specify /usr as the --with-local-prefix! The directory you use for --with-local-prefix must not contain any of the system’s standard header files. If it did contain d312 3 a314 3 file corrections made by the fixincludes script.

      Indications are that people who use this option use it based on mistaken d318 2 a319 4

      --with-gcc-major-version-only

      Specifies that GCC should use only the major number rather than d321 3 a323 5

      --with-native-system-header-dir=dirname

      Specifies that dirname is the directory that contains native system header files, rather than /usr/include. This option is most useful d326 1 a326 1 --with-sysroot option and will cause GCC to search d328 2 a329 4

      --enable-shared[=package[,…]]

      Build shared versions of libraries, if shared libraries are supported on d332 2 a333 2

      If a list of packages is given as an argument, build shared libraries d336 10 a345 10 ‘libgcc’ (also known as ‘gcc’), ‘libstdc++’ (not ‘libstdc++-v3’), ‘libffi’, ‘zlib’, ‘boehm-gc’, ‘ada’, ‘libada’, ‘libgo’, and ‘libobjc’. Note ‘libiberty’ does not support shared libraries at all.

      Use --disable-shared to build only static libraries. Note that --disable-shared does not accept a list of package names as argument, only --enable-shared does.

      Contrast with --enable-host-shared, which affects host d347 2 a348 4

      --enable-host-shared

      Specify that the host code should be built into position-independent d351 4 a354 4

      This option is required when building the libgccjit.so library.

      Contrast with --enable-shared, which affects target d356 2 a357 4

      --with-gnu-as

      Specify that the compiler should assume that the d362 1 a362 1 configured with --with-gnu-as.) If you have more than one d364 4 a367 4 connection with --with-as=pathname or --with-build-time-tools=pathname.

      The following systems are the only ones where it makes a difference d369 10 a378 12 --with-gnu-as has no effect.

      • ‘hppa1.0-any-any’
      • ‘hppa1.1-any-any’
      • ‘sparc-sun-solaris2.any’
      • ‘sparc64-any-solaris2.any’
      --with-as=pathname

      Specify that the compiler should use the assembler pointed to by d381 4 a384 4

      • Unless GCC is being built with a cross compiler, check the libexec/gcc/target/version directory. libexec defaults to exec-prefix/libexec; d386 3 a388 3 defaults to /usr/local unless overridden by the --prefix=pathname switch described above. target is the target system triple, such as ‘sparc-sun-solaris2.7’, and d391 2 a392 2
      • If the target system is the same that you are building on, check operating system specific directories (e.g. /usr/ccs/bin on d395 1 a395 1
      • Check in the PATH for a tool whose name is prefixed by the d398 1 a398 1
      • Check in the PATH for a tool whose name is not prefixed by the d401 2 a402 2 the target as well).
      d404 1 a404 1

      You may want to use --with-as if no assembler d408 2 a409 4

      --with-gnu-ld

      Same as --with-gnu-as d411 2 a412 4

      --with-ld=pathname

      Same as --with-as d414 2 a415 4

      --with-stabs

      Specify that stabs debugging d418 27 a444 4

      --with-tls=dialect

      Specify the default TLS dialect, for systems were there is a choice. d448 2 a449 4

      --enable-multiarch

      Specify whether to enable or disable multiarch support. The default is d452 2 a453 2 and for cross builds configured with --with-sysroot, and without --with-native-system-header-dir. d456 3 a458 5

      --enable-sjlj-exceptions

      Force use of the setjmp/longjmp-based scheme for exceptions. ‘configure’ ordinarily picks the correct value based on the platform. d460 2 a461 4

      --enable-vtable-verify

      Specify whether to enable or disable the vtable verification feature. d466 1 a466 1 the verifier will call stub functions (in libstdc++ itself) and do nothing. d469 4 a472 6 still be built (see --disable-libvtv to turn off building libvtv). --disable-vtable-verify is the default.

      --disable-multilib

      Specify that multiple target d476 11 a486 18

      Some targets provide finer-grained control over which multilibs are built (e.g., --disable-softfloat):

      arm-*-*

      fpu, 26bit, underscore, interwork, biendian, nofmult.

      m68*-*-*

      softfloat, m68881, m68000, m68020.

      mips*-*-*

      single-float, biendian, softfloat.

      powerpc*-*-*, rs6000*-*-*

      aix64, pthread, softfloat, powercpu, powerpccpu, powerpcos, biendian, a487 3

      d489 3 a491 4
      --with-multilib-list=list
      --without-multilib-list

      Specify what multilibs to build. list is a comma separated list of d493 11 a503 24 for aarch64*-*-*, arm*-*-*, sh*-*-* and x86-64-*-linux*. The accepted alues and meaning for each target is given below.

      aarch64*-*-*

      list is a comma separated list of ilp32, and lp64 to enable ILP32 and LP64 run-time libraries, respectively. If list is empty, then there will be no multilibs and only the default run-time library will be built. If list is default or –with-multilib-list= is not specified, then the default set of libraries is selected based on the value of --target.

      arm*-*-*

      list is a comma separated list of aprofile and rmprofile to build multilibs for A or R and M architecture profiles respectively. Note that, due to some limitation of the current multilib framework, using the combined aprofile,rmprofile multilibs selects in some cases a less optimal multilib than when using the multilib profile for the architecture targetted. The special value default is also accepted and is equivalent to omitting the option, ie. only the default run-time library will be enabled.

      The table below gives the combination of ISAs, architectures, FPUs and d505 7 a511 7 The union of these options is considered when specifying both aprofile and rmprofile.

      Optionaprofilermprofile
      ISAs-marm and -mthumb-mthumb
      Architectures





      default architecture
      d514 2 a515 1 -march=armv8-a


      default architecture
      d521 3 a523 2 -march=armv7
      FPUs




      none
      d528 2 a529 1 -mfpu=neon-fp-armv8
      none
      d533 3 a535 2 -mfpu=fpv5-d16
      floating-point ABIs

      -mfloat-abi=soft
      d537 2 a538 1 -mfloat-abi=hard
      -mfloat-abi=soft
      d540 2 a541 2 -mfloat-abi=hard
      d543 1 a543 3
      sh*-*-*

      list is a comma separated list of CPU names. These must be of the d546 3 a548 3 these are handled by --with-endian.

      If list is empty, then there will be no multilibs for extra d550 4 a553 4

      As a special case, if an entry in the list starts with a ! (exclamation point), then it is added to the list of excluded multilibs. Entries of this sort should be compatible with ‘MULTILIB_EXCLUDES’ d555 3 a557 3

      If --with-multilib-list is not given, then a default set of multilibs is selected based on the value of --target. This is d560 2 a561 2

      Example 1: to configure a compiler for SH4A only, but supporting both d563 3 a565 5

      --with-cpu=sh4a --with-endian=little,big --with-multilib-list=
      

      Example 2: to configure a compiler for both SH4A and SH4AL-DSP, but with d567 4 a570 8

      --with-cpu=sh4a --with-endian=little,big \
      --with-multilib-list=sh4al,!mb/m4al
      
      x86-64-*-linux*

      list is a comma separated list of m32, m64 and d574 3 a576 4

      If --with-multilib-list is not given, then only 32-bit and 64-bit run-time libraries will be enabled.

      d579 1 a579 3
      --with-endian=endians

      Specify what endians to use. d581 7 a587 15

      endians may be one of the following:

      big

      Use big endian exclusively.

      little

      Use little endian exclusively.

      big,little

      Use big endian by default. Provide a multilib for little endian.

      little,big

      Use little endian by default. Provide a multilib for big endian.

      d590 1 a590 3
      --enable-threads

      Specify that the target d592 1 a592 1 library, and exception handling for other languages like C++. d594 2 a595 2

      In general, the best (and, in many cases, the only known) threading d598 7 a604 11 available for the system. In this case, --enable-threads is an alias for --enable-threads=single.

      --disable-threads

      Specify that threading support should be disabled for the system. This is an alias for --enable-threads=single.

      --enable-threads=lib

      Specify that d608 13 a620 35

      aix

      AIX thread support.

      dce

      DCE thread support.

      lynx

      LynxOS thread support.

      mipssde

      MIPS SDE thread support.

      no

      This is an alias for ‘single’.

      posix

      Generic POSIX/Unix98 thread support.

      rtems

      RTEMS thread support.

      single

      Disable thread support, should work for all platforms.

      tpf

      TPF thread support.

      vxworks

      VxWorks thread support.

      win32

      Microsoft Win32 API thread support.

      d623 1 a623 3
      --enable-tls

      Specify that the target supports TLS (Thread Local Storage). Usually d626 1 a626 1 --enable-tls or --disable-tls. This can happen if d629 6 a634 12

      --disable-tls

      Specify that the target does not support TLS. This is an alias for --enable-tls=no.

      --with-cpu=cpu
      --with-cpu-32=cpu
      --with-cpu-64=cpu

      Specify which cpu variant the compiler should generate code for by default. cpu will be used as the default value of the -mcpu= switch. d636 2 a637 2 PowerPC, and SPARC. It is mandatory for ARC. The --with-cpu-32 and --with-cpu-64 options specify separate default CPUs for d640 5 a644 16

      --with-schedule=cpu
      --with-arch=cpu
      --with-arch-32=cpu
      --with-arch-64=cpu
      --with-tune=cpu
      --with-tune-32=cpu
      --with-tune-64=cpu
      --with-abi=abi
      --with-fpu=type
      --with-float=type

      These configure options provide default values for the -mschedule=, -march=, -mtune=, -mabi=, and -mfpu= options and for -mhard-float or -msoft-float. As with --with-cpu, which switches will be accepted and acceptable values d646 2 a647 4

      --with-mode=mode

      Specify if the compiler should default to -marm or -mthumb. d649 2 a650 4

      --with-stack-offset=num

      This option sets the default for the -mstack-offset=num option, d653 4 a656 6

      --with-fpmath=isa

      This options sets -mfpmath=sse by default and specifies the default ISA for floating-point arithmetics. You can select either ‘sse’ which enables -msse2 or ‘avx’ which enables -mavx by default. d658 2 a659 4

      --with-fp-32=mode

      On MIPS targets, set the default value for the -mfp option when using d661 7 a667 13

      32

      Use the o32 FP32 ABI extension, as with the -mfp32 command-line option.

      xx

      Use the o32 FPXX ABI extension, as with the -mfpxx command-line option.

      64

      Use the o32 FP64 ABI extension, as with the -mfp64 command-line option.

      d669 1 a669 1

      In the absence of this configuration option the default is to use the o32 d671 2 a672 4

      --with-odd-spreg-32

      On MIPS targets, set the -modd-spreg option by default when using d674 2 a675 4

      --without-odd-spreg-32

      On MIPS targets, set the -mno-odd-spreg option by default when using d677 3 a679 5 --with-fp-32=64 in order to target the o32 FP64A ABI extension.

      --with-nan=encoding

      On MIPS targets, set the default encoding convention to use for the d682 5 a686 9

      legacy

      Use the legacy encoding, as with the -mnan=legacy command-line option.

      2008

      Use the 754-2008 encoding, as with the -mnan=2008 command-line option.

      d688 2 a689 2

      To use this configuration option you must have an assembler version installed that supports the -mnan= command-line option too. d691 5 a695 7 the legacy encoding, as when neither of the -mnan=2008 and -mnan=legacy command-line options has been used.

      --with-divide=type

      Specify how the compiler should generate code for checking for division by zero. This option is only supported on the MIPS target. d697 4 a700 8

      traps

      Division by zero checks use conditional traps (this is the default on systems that support conditional traps).

      breaks

      Division by zero checks use the break instruction.

      d703 4 a706 5
      --with-llsc

      On MIPS targets, make -mllsc the default when no -mno-llsc option is passed. This is the default for d709 15 a723 25

      --without-llsc

      On MIPS targets, make -mno-llsc the default when no -mllsc option is passed.

      --with-synci

      On MIPS targets, make -msynci the default when no -mno-synci option is passed.

      --without-synci

      On MIPS targets, make -mno-synci the default when no -msynci option is passed. This is the default.

      --with-lxc1-sxc1

      On MIPS targets, make -mlxc1-sxc1 the default when no -mno-lxc1-sxc1 option is passed. This is the default.

      --without-lxc1-sxc1

      On MIPS targets, make -mno-lxc1-sxc1 the default when no -mlxc1-sxc1 option is passed. The indexed load/store d735 6 a740 10

      --with-madd4

      On MIPS targets, make -mmadd4 the default when no -mno-madd4 option is passed. This is the default.

      --without-madd4

      On MIPS targets, make -mno-madd4 the default when no -mmadd4 option is passed. The madd4 instruction d747 2 a748 4

      --with-mips-plt

      On MIPS targets, make use of copy relocations and PLTs. d752 3 a754 5

      --enable-__cxa_atexit

      Define if you want to use __cxa_atexit, rather than atexit, to register C++ destructors for local statics and global objects. d758 3 a760 5 -fuse-cxa-atexit to be passed by default.

      --enable-gnu-indirect-function

      Define if you want to enable the ifunc attribute. This option is d762 3 a764 5

      --enable-target-optspace

      Specify that target libraries should be optimized for code space instead of code speed. d766 5 a770 9

      --with-cpp-install-dir=dirname

      Specify that the user visible cpp program should be installed in prefix/dirname/cpp, in addition to bindir.

      --enable-comdat

      Enable COMDAT group support. This is primarily used to override the d772 2 a773 4

      --enable-initfini-array

      Force the use of sections .init_array and .fini_array d775 1 a775 1 destructors. Option --disable-initfini-array has the d779 2 a780 4

      --enable-link-mutex

      When building GCC, use a mutex to avoid linking the compilers for d783 3 a785 5

      --enable-maintainer-mode

      The build rules that regenerate the Autoconf and Automake output files as well as the GCC master message catalog gcc.pot are normally d788 1 a788 1 catalog, configuring with --enable-maintainer-mode will enable d791 3 a793 5

      --disable-bootstrap

      For a native build, the default configuration is to perform a 3-stage bootstrap of the compiler when ‘make’ is invoked, d795 4 a798 6 this process, you can configure with --disable-bootstrap.

      --enable-bootstrap

      In special cases, you may want to perform a 3-stage build even if the target and host triplets are different. d800 1 a800 1 the target (e.g. host is i686-linux, target is i486-linux). d802 3 a804 5 with --enable-bootstrap.

      --enable-generated-files-in-srcdir

      Neither the .c and .h files that are generated from Bison and flex nor the d806 1 a806 1 in the repository development tree. When building GCC from that development tree, d810 2 a811 2

      If you configure with --enable-generated-files-in-srcdir then those d816 2 a817 4

      --enable-version-specific-runtime-libs

      Specify d819 2 a820 2 subdirectory (libdir/gcc) rather than the usual places. In addition, ‘libstdc++’’s include files will be installed into d822 1 a822 1 --with-gxx-include-dir=dirname. Using this option is d824 4 a827 6 parallel. This is currently supported by ‘libgfortran’, ‘libstdc++’, and ‘libobjc’.

      --with-aix-soname=‘aix’, ‘svr4’ or ‘both’

      Traditional AIX shared library versioning (versioned Shared Object d829 1 a829 1 ‘lib.a’) causes numerous headaches for package managers. However, d832 1 a832 1 where this is called the "SONAME". But as they prevent static linking, d834 20 a853 23 linker does search for ‘libNAME.so’ before ‘libNAME.a’ library filenames with the ‘-lNAME’ linker flag.

      For detailed information please refer to the AIX ld Command reference.

      As long as shared library creation is enabled, upon:

      --with-aix-soname=aix
      --with-aix-soname=both

      A (traditional AIX) Shared Archive Library file is created:

      • using the ‘libNAME.a’ filename scheme
      • with the Shared Object file as archive member named ‘libNAME.so.V’ (except for ‘libgcc_s’, where the Shared Object file is named ‘shr.o’ for backwards compatibility), which
        • - is used for runtime loading from inside the ‘libNAME.a’ file
        • - is used for dynamic loading via dlopen("libNAME.a(libNAME.so.V)", RTLD_MEMBER)
        • - is used for shared linking
        • - is used for static linking, so no separate Static Archive d855 12 a866 15
      --with-aix-soname=both
      --with-aix-soname=svr4

      A (second) Shared Archive Library file is created:

      • using the ‘libNAME.so.V’ filename scheme
      • with the Shared Object file as archive member named ‘shr.o’, which
        • - is created with the -G linker flag
        • - has the F_LOADONLY flag set
        • - is used for runtime loading from inside the ‘libNAME.so.V’ file
        • - is used for dynamic loading via dlopen("libNAME.so.V(shr.o)", d868 2 a869 2
      • with the Import File as archive member named ‘shr.imp’, d871 2 a872 2
        • - refers to ‘libNAME.so.V(shr.o)’ as the "SONAME", to be recorded d874 13 a886 13
        • - indicates whether ‘libNAME.so.V(shr.o)’ is 32 or 64 bit
        • - lists all the public symbols exported by ‘lib.so.V(shr.o)’, eventually decorated with the ‘weak’ Keyword
        • - is necessary for shared linking against ‘lib.so.V(shr.o)’

      A symbolic link using the ‘libNAME.so’ filename scheme is created:

      • pointing to the ‘libNAME.so.V’ Shared Archive Library file
      • to permit the ld Command to find ‘lib.so.V(shr.imp)’ via the ‘-lNAME’ argument (requires Runtime Linking to be enabled)
      • to permit dynamic loading of ‘lib.so.V(shr.o)’ without the need to specify the version number via dlopen("libNAME.so(shr.o)", d888 2 a889 3
      d891 11 a901 13

      As long as static library creation is enabled, upon:

      --with-aix-soname=svr4

      A Static Archive Library is created:

      • using the ‘libNAME.a’ filename scheme
      • with all the Static Object files as archive members, which
        • - are used for static linking
      d903 1 a903 1

      While the aix-soname=‘svr4’ option does not create Shared Object d910 2 a911 2

      WARNING: Creating Shared Object files with Runtime Linking d913 1 a913 1 requiring the use of either the -Wl,-bbigtoc linker flag (seen to d916 2 a917 2

      --with-aix-soname is currently supported by ‘libgcc_s’ only, so d919 4 a922 6

      Default is the traditional behavior --with-aix-soname=‘aix’.

      --enable-languages=lang1,lang2,…

      Specify that only a particular subset of compilers and d925 9 a933 10 gcc directory of your GCC source tree:

      grep ^language= */config-lang.in
      

      Currently, you can use any of the following: all, default, ada, c, c++, fortran, go, jit, lto, objc, obj-c++. Building the Ada compiler has special requirements, see below. If you do not pass this flag, or specify the option default, then the default languages available in the gcc sub-tree will be configured. d935 4 a938 9 default language, but is built by default because --enable-lto is enabled by default. The other languages are default languages. If all is specified, then all available languages are built. An exception is jit language, which requires --enable-host-shared to be included with all.

      --enable-stage1-languages=lang1,lang2,…

      Specify that a particular subset of compilers and their runtime d942 2 a943 2 --enable-languages, and the option all will select all of the languages enabled by --enable-languages. This option is d948 5 a952 7 specified languages with the stage-1 compiler by using make stage1-bubble all-target, or run the testsuite on the stage-1 compiler for the specified languages using make stage1-start check-gcc.

      --disable-libada

      Specify that the run-time libraries and tools used by GNAT should not d955 3 a957 5 do a ‘make -C gcc gnatlib_and_tools’.

      --disable-libsanitizer

      Specify that the run-time libraries for the various sanitizers should d959 5 a963 10

      --disable-libssp

      Specify that the run-time libraries for stack smashing protection should not be built or linked against. On many targets library support is provided by the C library instead.

      --disable-libquadmath

      Specify that the GCC quad-precision math library should not be built. d965 1 a965 1 the Fortran front end, unless --disable-libquadmath-support d967 2 a968 4

      --disable-libquadmath-support

      Specify that the Fortran front end and libgfortran do not add d970 2 a971 4

      --disable-libgomp

      Specify that the GNU Offloading and Multi Processing Runtime Library d973 2 a974 4

      --disable-libvtv

      Specify that the run-time libraries used by vtable verification d976 2 a977 4

      --with-dwarf2

      Specify that the compiler should d979 2 a980 4

      --with-advance-toolchain=at

      On 64-bit PowerPC Linux systems, configure the compiler to use the d986 2 a987 5

      --enable-targets=all
      --enable-targets=target_list

      Some GCC targets, e.g. powerpc64-linux, build bi-arch compilers. d989 1 a989 1 code. Typically, the corresponding 32-bit target, e.g. d993 1 a993 1 you are building a bi-arch or multi-arch binutils in a combined tree. d995 1 a995 1 defaulted to o32. d998 4 a1001 8

      --enable-default-pie

      Turn on -fPIE and -pie by default.

      --enable-secureplt

      This option enables -msecure-plt by default for powerpc-linux. d1003 4 a1006 8

      --enable-default-ssp

      Turn on -fstack-protector-strong by default.

      --enable-cld

      This option enables -mcld by default for 32-bit x86 targets. d1008 2 a1009 6

      --enable-win32-registry
      --enable-win32-registry=key
      --disable-win32-registry

      The --enable-win32-registry option enables Microsoft Windows-hosted GCC a1010 4

      HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\key
      
      d1012 4 a1015 2

      key defaults to GCC version number, and can be overridden by the --enable-win32-registry=key option. Vendors and distributors d1019 1 a1019 1 by default, and can be disabled by --disable-win32-registry d1021 8 a1028 15

      --nfp

      Specify that the machine does not have a floating point unit. This option only applies to ‘m68k-sun-sunosn’. On any other system, --nfp has no effect.

      --enable-werror
      --disable-werror
      --enable-werror=yes
      --enable-werror=no

      When you specify this option, it controls whether certain files in the compiler are built with -Werror in bootstrap stage2 and later. If you don’t specify it, -Werror is turned on for the main d1030 1 a1030 1 final releases. The specific files which get -Werror are d1032 35 a1066 51

      --enable-checking
      --disable-checking
      --enable-checking=list

      This option controls performing internal consistency checks in the compiler. It does not change the generated code, but adds error checking of the requested complexity. This slows down the compiler and may only work properly if you are building the compiler with GCC.

      When the option is not specified, the active set of checks depends on context. Namely, bootstrap stage 1 defaults to ‘--enable-checking=yes’, builds from release branches or release archives default to ‘--enable-checking=release’, and otherwise ‘--enable-checking=yes,extra’ is used. When the option is specified without a list, the result is the same as ‘--enable-checking=yes’. Likewise, ‘--disable-checking’ is equivalent to ‘--enable-checking=no’.

      The categories of checks available in list are ‘yes’ (most common checks ‘assert,misc,gc,gimple,rtlflag,runtime,tree,types’), ‘no’ (no checks at all), ‘all’ (all but ‘valgrind’), ‘release’ (cheapest checks ‘assert,runtime’) or ‘none’ (same as ‘no’). ‘release’ checks are always on and to disable them ‘--disable-checking’ or ‘--enable-checking=no[,<other checks>]’ must be explicitly requested. Disabling assertions makes the compiler and runtime slightly faster but increases the risk of undetected internal errors causing wrong code to be generated.

      Individual checks can be enabled with these flags: ‘assert’, ‘df’, ‘extra’, ‘fold’, ‘gc’, ‘gcac’, ‘gimple’, ‘misc’, ‘rtl’, ‘rtlflag’, ‘runtime’, ‘tree’, ‘types’ and ‘valgrind’. ‘extra’ extends ‘misc’ checking with extra checks that might affect code generation and should therefore not differ between stage1 and later stages in bootstrap.

      The ‘valgrind’ check requires the external valgrind simulator, available from http://valgrind.org/. The ‘rtl’ checks are expensive and the ‘df’, ‘gcac’ and ‘valgrind’ checks are very expensive.

      --disable-stage1-checking
      --enable-stage1-checking
      --enable-stage1-checking=list

      This option affects only bootstrap build. If no --enable-checking option is specified the stage1 compiler is built with ‘yes’ checking enabled, otherwise the stage1 checking flags are the same as specified by --enable-checking. To build the stage1 compiler with different checking options use --enable-stage1-checking. The list of checking options is the same as for --enable-checking. d1068 1 a1068 1 with checking for stage1 enabled, you can use ‘--disable-stage1-checking’ d1070 2 a1071 5

      --enable-coverage
      --enable-coverage=level

      With this option, the compiler is built to collect self coverage d1075 1 a1075 1 not, values are ‘opt’ and ‘noopt’. For coverage analysis you d1079 2 a1080 4

      --enable-gather-detailed-mem-stats

      When this option is specified more detailed information on memory d1082 3 a1084 5 -fmem-report.

      --enable-valgrind-annotations

      Mark selected memory related operations in the compiler when run under d1086 2 a1087 5

      --enable-nls
      --disable-nls

      The --enable-nls option enables Native Language Support (NLS), d1090 6 a1095 10 canadian cross build. The --disable-nls option disables NLS.

      --with-included-gettext

      If NLS is enabled, the --with-included-gettext option causes the build procedure to prefer its copy of GNU gettext.

      --with-catgets

      If NLS is enabled, and if the host lacks gettext but has the d1097 8 a1104 12 ignores catgets and instead uses GCC’s copy of the GNU gettext library. The --with-catgets option causes the build procedure to use the host’s catgets in this situation.

      --with-libiconv-prefix=dir

      Search for libiconv header files in dir/include and libiconv library files in dir/lib.

      --enable-obsolete

      Enable configuration for an obsoleted system. If you attempt to d1108 2 a1109 2

      All support for systems which have been obsoleted in one release of GCC d1112 2 a1113 9

      --enable-decimal-float
      --enable-decimal-float=yes
      --enable-decimal-float=no
      --enable-decimal-float=bid
      --enable-decimal-float=dpd
      --disable-decimal-float

      Enable (or disable) support for the C decimal floating point extension d1118 2 a1119 2 ‘bid’ or ‘dpd’). The ‘bid’ (binary integer decimal) format is default on i386 and x86_64 systems, and the ‘dpd’ d1121 2 a1122 5

      --enable-fixed-point
      --disable-fixed-point

      Enable (or disable) support for C fixed-point arithmetic. d1126 2 a1127 4

      --with-long-double-128

      Specify if long double type should be 128-bit by default on selected d1129 1 a1129 1 long double will be by default 64-bit, the same as double type. d1133 4 a1136 46

      --with-long-double-format=ibm
      --with-long-double-format=ieee

      Specify whether long double uses the IBM extended double format or the IEEE 128-bit floating point format on PowerPC Linux systems. This configuration switch will only work on little endian PowerPC Linux systems and on big endian 64-bit systems where the default cpu is at least power7 (i.e. --with-cpu=power7, --with-cpu=power8, or --with-cpu=power9 is used).

      If you use the --with-long-double-64 configuration option, the --with-long-double-format=ibm and --with-long-double-format=ieee options are ignored.

      The default long double format is to use IBM extended double. Until all of the libraries are converted to use IEEE 128-bit floating point, it is not recommended to use --with-long-double-format=ieee.

      On little endian PowerPC Linux systems, if you explicitly set the long double type, it will build multilibs to allow you to select either long double format, unless you disable multilibs with the --disable-multilib option. At present, long double multilibs are not built on big endian PowerPC Linux systems. If you are building multilibs, you will need to configure the compiler using the --with-system-zlib option.

      If you do not set the long double type explicitly, no multilibs will be generated.

      --enable-fdpic

      On SH Linux systems, generate ELF FDPIC code.

      --with-gmp=pathname
      --with-gmp-include=pathname
      --with-gmp-lib=pathname
      --with-mpfr=pathname
      --with-mpfr-include=pathname
      --with-mpfr-lib=pathname
      --with-mpc=pathname
      --with-mpc-include=pathname
      --with-mpc-lib=pathname

      If you want to build GCC but do not have the GMP library, the MPFR d1140 12 a1151 12 (‘--with-gmp=gmpinstalldir’, ‘--with-mpfr=mpfrinstalldir’, ‘--with-mpc=mpcinstalldir’). The --with-gmp=gmpinstalldir option is shorthand for --with-gmp-lib=gmpinstalldir/lib and --with-gmp-include=gmpinstalldir/include. Likewise the --with-mpfr=mpfrinstalldir option is shorthand for --with-mpfr-lib=mpfrinstalldir/lib and --with-mpfr-include=mpfrinstalldir/include, also the --with-mpc=mpcinstalldir option is shorthand for --with-mpc-lib=mpcinstalldir/lib and --with-mpc-include=mpcinstalldir/include. If these d1156 3 a1158 3 variable (LD_LIBRARY_PATH on GNU/Linux and Solaris systems).

      These flags are applicable to the host platform only. When building d1160 2 a1161 6

      --with-isl=pathname
      --with-isl-include=pathname
      --with-isl-lib=pathname

      If you do not have the isl library installed in a standard location and you d1163 4 a1166 4 installed (‘--with-isl=islinstalldir’). The --with-isl=islinstalldir option is shorthand for --with-isl-lib=islinstalldir/lib and --with-isl-include=islinstalldir/include. If this d1169 2 a1170 2

      These flags are applicable to the host platform only. When building d1172 2 a1173 4

      --with-stage1-ldflags=flags

      This option may be used to set linker flags to be used when linking d1175 2 a1176 2 --disable-bootstrap. If --with-stage1-libs is not set to a value, then the default is ‘-static-libstdc++ -static-libgcc’, if d1178 2 a1179 4

      --with-stage1-libs=libs

      This option may be used to set libraries to be used when linking stage 1 d1181 3 a1183 5 --disable-bootstrap.

      --with-boot-ldflags=flags

      This option may be used to set linker flags to be used when linking d1186 3 a1188 5 ‘-static-libstdc++ -static-libgcc’.

      --with-boot-libs=libs

      This option may be used to set libraries to be used when linking stage 2 d1190 2 a1191 4

      --with-debug-prefix-map=map

      Convert source directory names using -fdebug-prefix-map when d1193 4 a1196 6 list of maps of the form ‘old=new’.

      --enable-linker-build-id

      Tells GCC to pass --build-id option to the linker for all final links (links performed without the -r or --relocatable d1198 5 a1202 7 --enable-linker-build-id, but your linker does not support --build-id option, a warning is issued and the --enable-linker-build-id option is ignored. The default is off.

      --with-linker-hash-style=choice

      Tells GCC to pass --hash-style=choice option to the d1204 3 a1206 6 ‘sysv’, ‘gnu’, and ‘both’ where ‘sysv’ is the default.

      --enable-gnu-unique-object
      --disable-gnu-unique-object

      Tells GCC to use the gnu_unique_object relocation for C++ template d1210 2 a1211 4

      --with-diagnostics-color=choice

      Tells GCC to use choice as the default for -fdiagnostics-color= d1213 3 a1215 3 can be one of ‘never’, ‘auto’, ‘always’, and ‘auto-if-env’ where ‘auto’ is the default. ‘auto-if-env’ means that -fdiagnostics-color=auto will be the default if GCC_COLORS d1217 6 a1222 12 -fdiagnostics-color=never otherwise.

      --enable-lto
      --disable-lto

      Enable support for link-time optimization (LTO). This is enabled by default, and may be disabled using --disable-lto.

      --enable-linker-plugin-configure-flags=FLAGS
      --enable-linker-plugin-flags=FLAGS

      By default, linker plugins (such as the LTO plugin) are built for the d1227 2 a1228 2 (‘x86_64-unknown-linux-gnu’) host system, but have a 32-bit x86 GNU/Linux (‘i686-pc-linux-gnu’) linker executable (which is d1231 8 a1238 12

      % srcdir/configure \
          --host=x86_64-unknown-linux-gnu \
          --enable-linker-plugin-configure-flags=--host=i686-pc-linux-gnu \
          --enable-linker-plugin-flags='CC=gcc\ -m32\ -Wl,-rpath,[...]/i686-pc-linux-gnu/lib'
      
      --with-plugin-ld=pathname

      Enable an alternate linker to be used at link-time optimization (LTO) link time when -fuse-linker-plugin is enabled. d1240 4 a1243 7 version 2.20 or GNU ld starting with version 2.21. See -fuse-linker-plugin for details.

      --enable-canonical-system-headers
      --disable-canonical-system-headers

      Enable system header path canonicalization for libcpp. This can d1247 3 a1249 5 --disable-canonical-system-headers.

      --with-glibc-version=major.minor

      Tell GCC that when the GNU C Library (glibc) is used on the target it d1251 1 a1251 1 be detected from the C library’s header files, but this option may be d1254 3 a1256 3

      If GCC is configured with some multilibs that use glibc and some that do not, this option applies only to the multilibs that use glibc. d1259 4 a1262 8

      --enable-as-accelerator-for=target

      Build as offload target compiler. Specify offload host triple by target.

      --enable-offload-targets=target1[=path1],…,targetN[=pathN]

      Enable offloading to targets target1, …, targetN. d1265 1 a1265 6 specifying paths path1, …, pathN.

      % srcdir/configure \
          --enable-offload-target=i686-unknown-linux-gnu=/path/to/i686/compiler,x86_64-pc-linux-gnu
      
      d1267 4 a1270 1

      If ‘hsa’ is specified as one of the targets, the compiler will be d1273 3 a1275 7

      --with-hsa-runtime=pathname
      --with-hsa-runtime-include=pathname
      --with-hsa-runtime-lib=pathname

      If you configure GCC with HSA offloading but do not have the HSA d1278 1 a1278 1 --with-hsa-runtime=hsainstalldir option is a d1280 2 a1281 18 --with-hsa-runtime-lib=hsainstalldir/lib and --with-hsa-runtime-include=hsainstalldir/include.

      --enable-cet
      --disable-cet

      Enable building target run-time libraries with control-flow instrumentation, see -fcf-protection option. When --enable-cet is specified target libraries are configured to add -fcf-protection and, if needed, other target specific options to a set of building options.

      The option is disabled by default. When --enable-cet=auto is used, it is enabled on Linux/x86 if target binutils supports Intel CET instructions and disabled otherwise. In this case the target libraries are configured to get additional -fcf-protection option.

      d1284 2 a1285 2

      Cross-Compiler-Specific Options

      d1287 4 a1290 6

      --with-sysroot
      --with-sysroot=dir

      Tells GCC to consider dir as the root of a tree that contains (a subset of) the root filesystem of the target operating system. d1293 1 a1293 1 --sysroot=dir was added to the default options of the built d1295 5 a1299 5 install tree, unlike the options --with-headers and --with-libs that this option obsoletes. The default value, in case --with-sysroot is not given an argument, is ${gcc_tooldir}/sys-root. If the specified directory is a subdirectory of ${exec_prefix}, then it will be found relative to d1301 2 a1302 2

      This option affects the system root for the compiler used to build d1306 2 a1307 2

      If you specify the --with-native-system-header-dir=dirname d1309 8 a1316 11 native system headers rather than the default /usr/include.

      --with-build-sysroot
      --with-build-sysroot=dir

      Tells GCC to consider dir as the system root (see --with-sysroot) while building target libraries, instead of the directory specified with --with-sysroot. This option is only useful when you are already using --with-sysroot. You can use --with-build-sysroot when you are configuring with --prefix set to a directory that is different from the one in d1318 2 a1319 2

      This option affects the system root for the compiler used to build d1322 2 a1323 2

      If you specify the --with-native-system-header-dir=dirname d1325 4 a1328 7 native system headers rather than the default /usr/include.

      --with-headers
      --with-headers=dir

      Deprecated in favor of --with-sysroot. Specifies that target headers are available when building a cross compiler. d1330 5 a1334 5 files. These include files will be copied into the gcc install directory. This option with the dir argument is required when building a cross compiler, if prefix/target/sys-include doesn’t pre-exist. If prefix/target/sys-include does pre-exist, the dir argument may be omitted. fixincludes d1336 2 a1337 4

      --without-headers

      Tells GCC not use any target headers from a libc when building a cross d1340 2 a1341 5

      --with-libs
      --with-libs="dir1 dir2 … dirN"

      Deprecated in favor of --with-sysroot. d1343 1 a1343 1 libraries. These libraries will be copied into the gcc install d1346 2 a1347 4

      --with-newlib

      Specifies that ‘newlib’ is d1349 4 a1352 6 omitted from libgcc.a on the assumption that it will be provided by ‘newlib’.

      --with-avrlibc

      Specifies that ‘AVR-Libc’ is d1354 3 a1356 3 functions like __addsf3 to be omitted from libgcc.a on the assumption that it will be provided by libm.a. For more technical details, cf. PR54461. d1360 3 a1362 5

      --with-nds32-lib=library

      Specifies that library setting is used for building libgcc.a. Currently, the valid library is ‘newlib’ or ‘mculib’. d1364 2 a1365 4

      --with-build-time-tools=dir

      Specifies where to find the set of target tools (assembler, linker, etc.) d1369 3 a1371 3

      For example, on an ‘ia64-hp-hpux’ system, you may have the GNU assembler and linker in /usr/bin, and the native tools in a d1373 7 a1379 8 native tools in /usr/bin.

      When you use this option, you should ensure that dir includes ar, as, ld, nm, ranlib and strip if necessary, and possibly objdump. Otherwise, GCC may use an inconsistent set of tools.

      d1382 1 a1382 2

      Overriding configure test results

      d1385 2 a1386 2 configure test, for example in order to ease porting to a new system or work around a bug in a test. The toplevel configure d1388 3 a1390 5

      build_configargs

      The contents of this variable is passed to all build configure d1392 2 a1393 5

      host_configargs

      The contents of this variable is passed to all host configure d1395 2 a1396 5

      target_configargs

      The contents of this variable is passed to all target configure a1397 3

      d1399 4 a1402 2

      In order to avoid shell and make quoting issues for complex overrides, you can pass a setting for CONFIG_SITE and set d1404 2 a1405 3

      Objective-C-Specific Options

      d1408 3 a1410 4

      --enable-objc-gc

      Specify that an additional variant of the GNU Objective-C runtime library d1414 1 a1414 1 --enable-objc-gc=‘auto’ in which case the build of the d1417 2 a1418 6

      --with-target-bdw-gc=list
      --with-target-bdw-gc-include=list
      --with-target-bdw-gc-lib=list

      Specify search directories for the garbage collector header files and d1420 6 a1425 6 form ‘multilibdir=path’, where the default multilib key is named as ‘.’ (dot), or is omitted (e.g. ‘--with-target-bdw-gc=/opt/bdw-gc,32=/opt-bdw-gc32’).

      The options --with-target-bdw-gc-include and --with-target-bdw-gc-lib must always be specified together d1427 1 a1427 1 --with-target-bdw-gc. If --with-target-bdw-gc-include d1429 2 a1430 2 multilib is used (e.g. ‘--with-target-bdw-gc-include=/opt/bdw-gc/include’ ‘--with-target-bdw-gc-lib=/opt/bdw-gc/lib64,32=/opt-bdw-gc/lib32’). d1432 1 a1432 2 default locations.

      d1435 1 a1435 2

      a1436 10

      d1438 10 a1448 2 @ 1.1.1.15 log @initial import of GCC 9.3.0. changes include: - live patching support - shell completion help - generally better diagnostic output (less verbose/more useful) - diagnostics and optimisation choices can be emitted in json - asan memory usage reduction - many general, and specific to switch, inter-procedure, profile and link-time optimisations. from the release notes: "Overall compile time of Firefox 66 and LibreOffice 6.2.3 on an 8-core machine was reduced by about 5% compared to GCC 8.3" - OpenMP 5.0 support - better spell-guesser - partial experimental support for c2x and c++2a - c++17 is no longer experimental - arm AAPCS GCC 6-8 structure passing bug fixed, may cause incompatibility (restored compat with GCC 5 and earlier.) - openrisc support @ text @d3 1 a3 1 d22 3 a31 2 a33 1 a.copiable-anchor {visibility: hidden; text-decoration: none; line-height: 0em} d36 2 d40 4 d49 4 a55 1 span:hover a.copiable-anchor {visibility: visible} d84 2 a85 2 d131 2 a132 2
      % mkdir objdir
      d137 2
      a138 1
      

      Distributor options

      d145 1 a145 1
      --with-pkgversion=version
      d154 1 a154 1
      --with-bugurl=url
      d162 1 a162 1
      --with-documentation-root-url=url
      d169 1 a169 1
      --with-changes-root-url=url
      d179 2 a180 1

      Target specification

      d195 2 a196 1

      Options specification

      d208 1 a208 1
      --prefix=dirname
      d223 1 a223 1
      --exec-prefix=dirname
      d228 1 a228 1
      --bindir=dirname
      d234 1 a234 1
      --libdir=dirname
      d239 1 a239 1
      --libexecdir=dirname
      d244 1 a244 1
      --with-slibdir=dirname
      d249 1 a249 1
      --datarootdir=dirname
      d254 1 a254 1
      --infodir=dirname
      d259 1 a259 1
      --datadir=dirname
      d264 1 a264 1
      --docdir=dirname
      d269 1 a269 1
      --htmldir=dirname
      d274 1 a274 1
      --pdfdir=dirname
      d279 1 a279 1
      --mandir=dirname
      d287 1 a287 1
      --with-gxx-include-dir=dirname
      d294 1 a294 1
      --with-specs=specs
      d305 1 a305 1
      --program-prefix=prefix
      d313 1 a313 1
      --program-suffix=suffix
      d320 1 a320 1
      --program-transform-name=pattern
      d353 1 a353 1
      --with-local-prefix=dirname
      d426 1 a426 1
      --with-gcc-major-version-only
      d431 1 a431 1
      --with-native-system-header-dir=dirname
      d440 1 a440 1
      --enable-shared[=package[,…]]
      d461 1 a461 1
      --enable-host-shared
      d472 1 a472 1
      --with-gnu-as
      d495 1 a495 1
      --with-as=pathname
      d528 1 a528 1
      --with-gnu-ld
      d533 1 a533 1
      --with-ld=pathname
      d538 1 a538 6
      --with-dsymutil=pathname

      Same as --with-as but for the debug linker (only used on Darwin platforms so far).

      --with-stabs
      d544 1 a544 1
      --with-tls=dialect
      d551 1 a551 1
      --enable-multiarch
      d561 1 a561 1
      --enable-sjlj-exceptions
      d567 1 a567 1
      --enable-vtable-verify
      d580 1 a580 1
      --disable-gcov
      d585 1 a585 1
      --disable-multilib
      d594 1 a594 1
      arm-*-*
      d598 1 a598 1
      m68*-*-*
      d602 1 a602 1
      mips*-*-*
      d606 1 a606 1
      msp430-*-*
      d610 1 a610 1
      powerpc*-*-*, rs6000*-*-*
      d618 2 a619 2
      --with-multilib-list=list
      --without-multilib-list
      d626 1 a626 1
      aarch64*-*-*
      d636 1 a636 1
      arm*-*-*
      d698 1 a698 1
      riscv*-*-*
      d706 1 a706 1
      sh*-*-*
      d727 2 a728 2

      --with-cpu=sh4a --with-endian=little,big --with-multilib-list=
      d733 2
      a734 2
      

      --with-cpu=sh4a --with-endian=little,big \
      d739 1
      a739 1
      
      x86-64-*-linux*
      d751 1 a751 1
      --with-endian=endians
      d757 1 a757 1
      big
      d760 1 a760 1
      little
      d763 1 a763 1
      big,little
      d766 1 a766 1
      little,big
      d772 1 a772 1
      --enable-threads
      d785 1 a785 1
      --disable-threads
      d790 1 a790 1
      --enable-threads=lib
      d797 1 a797 1
      aix
      d800 1 a800 1
      dce
      d803 1 a803 1
      lynx
      d806 1 a806 1
      mipssde
      d809 1 a809 1
      no
      d812 1 a812 1
      posix
      d815 1 a815 1
      rtems
      d818 1 a818 1
      single
      d821 1 a821 1
      tpf
      d824 1 a824 1
      vxworks
      d827 1 a827 1
      win32
      d833 1 a833 1
      --enable-tls
      d842 1 a842 1
      --disable-tls
      d847 1 a847 1
      --disable-tm-clone-registry
      d853 3 a855 3
      --with-cpu=cpu
      --with-cpu-32=cpu
      --with-cpu-64=cpu
      d865 10 a874 10
      --with-schedule=cpu
      --with-arch=cpu
      --with-arch-32=cpu
      --with-arch-64=cpu
      --with-tune=cpu
      --with-tune-32=cpu
      --with-tune-64=cpu
      --with-abi=abi
      --with-fpu=type
      --with-float=type
      d882 1 a882 1
      --with-mode=mode
      d887 1 a887 1
      --with-stack-offset=num
      d893 1 a893 1
      --with-fpmath=isa
      d900 1 a900 1
      --with-fp-32=mode
      d904 1 a904 1
      32
      d908 1 a908 1
      xx
      d912 1 a912 1
      64
      d921 1 a921 1
      --with-odd-spreg-32
      d926 1 a926 1
      --without-odd-spreg-32
      d932 1 a932 1
      --with-nan=encoding
      d937 1 a937 1
      legacy
      d941 1 a941 1
      2008
      d953 1 a953 1
      --with-divide=type
      d958 1 a958 1
      traps
      d962 1 a962 1
      breaks
      d969 1 a969 1
      --with-llsc
      d976 1 a976 1
      --without-llsc
      d981 1 a981 1
      --with-synci
      d986 1 a986 1
      --without-synci
      d991 1 a991 1
      --with-lxc1-sxc1
      d996 1 a996 1
      --without-lxc1-sxc1
      d1012 1 a1012 1
      --with-madd4
      d1017 1 a1017 1
      --without-madd4
      d1028 1 a1028 1
      --with-mips-plt
      d1035 1 a1035 1
      --with-stack-clash-protection-guard-size=size
      d1041 1 a1041 1
      --enable-__cxa_atexit
      d1050 1 a1050 1
      --enable-gnu-indirect-function
      d1055 1 a1055 1
      --enable-target-optspace
      d1061 1 a1061 1
      --with-cpp-install-dir=dirname
      d1066 1 a1066 1
      --enable-comdat
      d1071 1 a1071 1
      --enable-initfini-array
      d1080 1 a1080 1
      --enable-link-mutex
      d1086 1 a1086 1
      --enable-maintainer-mode
      d1096 1 a1096 1
      --disable-bootstrap
      d1103 1 a1103 1
      --enable-bootstrap
      d1112 1 a1112 1
      --enable-generated-files-in-srcdir
      d1127 1 a1127 1
      --enable-version-specific-runtime-libs
      d1139 1 a1139 1
      --with-aix-soname=‘aix’, ‘svr4’ or ‘both’
      d1150 1 a1150 1

      For detailed information please refer to the AIX d1156 2 a1157 2

      --with-aix-soname=aix
      --with-aix-soname=both
      d1174 2 a1175 2
      --with-aix-soname=both
      --with-aix-soname=svr4
      d1213 1 a1213 1
      --with-aix-soname=svr4
      d1245 1 a1245 1
      --enable-languages=lang1,lang2,…
      d1250 2 a1251 2

      grep ^language= */config-lang.in
      d1267 1
      a1267 1
      
      --enable-stage1-languages=lang1,lang2,…
      d1283 1 a1283 1
      --disable-libada
      d1290 1 a1290 1
      --disable-libsanitizer
      d1295 1 a1295 1
      --disable-libssp
      d1301 1 a1301 1
      --disable-libquadmath
      d1308 1 a1308 1
      --disable-libquadmath-support
      d1313 1 a1313 1
      --disable-libgomp
      d1318 1 a1318 1
      --disable-libvtv
      d1323 1 a1323 1
      --with-dwarf2
      d1328 1 a1328 1
      --with-advance-toolchain=at
      d1337 2 a1338 2
      --enable-targets=all
      --enable-targets=target_list
      d1352 1 a1352 1
      --enable-default-pie
      d1356 1 a1356 1
      --enable-secureplt
      d1361 1 a1361 1
      --enable-default-ssp
      d1365 1 a1365 1
      --enable-cld
      d1370 1 a1370 1
      --enable-large-address-aware
      d1379 3 a1381 3
      --enable-win32-registry
      --enable-win32-registry=key
      --disable-win32-registry
      d1385 2 a1386 2
      HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\key
      d1398 1
      a1398 1
      
      --nfp
      d1404 4 a1407 4
      --enable-werror
      --disable-werror
      --enable-werror=yes
      --enable-werror=no
      d1416 3 a1418 3
      --enable-checking
      --disable-checking
      --enable-checking=list
      d1456 3 a1458 3
      --disable-stage1-checking
      --enable-stage1-checking
      --enable-stage1-checking=list
      d1470 2 a1471 2
      --enable-coverage
      --enable-coverage=level
      d1482 1 a1482 1
      --enable-gather-detailed-mem-stats
      d1488 1 a1488 1
      --enable-valgrind-annotations
      d1493 2 a1494 2
      --enable-nls
      --disable-nls
      d1501 1 a1501 1
      --with-included-gettext
      d1506 1 a1506 1
      --with-catgets
      d1514 1 a1514 1
      --with-libiconv-prefix=dir
      d1519 1 a1519 1
      --enable-obsolete
      d1530 6 a1535 6
      --enable-decimal-float
      --enable-decimal-float=yes
      --enable-decimal-float=no
      --enable-decimal-float=bid
      --enable-decimal-float=dpd
      --disable-decimal-float
      d1546 2 a1547 2
      --enable-fixed-point
      --disable-fixed-point
      d1554 1 a1554 1
      --with-long-double-128
      d1563 2 a1564 2
      --with-long-double-format=ibm
      --with-long-double-format=ieee
      d1593 1 a1593 1
      --enable-fdpic
      d1597 9 a1605 9
      --with-gmp=pathname
      --with-gmp-include=pathname
      --with-gmp-lib=pathname
      --with-mpfr=pathname
      --with-mpfr-include=pathname
      --with-mpfr-lib=pathname
      --with-mpc=pathname
      --with-mpc-include=pathname
      --with-mpc-lib=pathname
      d1632 3 a1634 3
      --with-isl=pathname
      --with-isl-include=pathname
      --with-isl-lib=pathname
      d1648 1 a1648 1
      --with-stage1-ldflags=flags
      d1656 1 a1656 1
      --with-stage1-libs=libs
      d1662 1 a1662 1
      --with-boot-ldflags=flags
      d1669 1 a1669 1
      --with-boot-libs=libs
      d1674 1 a1674 1
      --with-debug-prefix-map=map
      d1680 1 a1680 1
      --enable-linker-build-id
      d1689 1 a1689 1
      --with-linker-hash-style=choice
      d1695 2 a1696 2
      --enable-gnu-unique-object
      --disable-gnu-unique-object
      d1703 1 a1703 1
      --with-diagnostics-color=choice
      d1713 1 a1713 1
      --with-diagnostics-urls=choice
      d1723 2 a1724 2
      --enable-lto
      --disable-lto
      d1729 2 a1730 2
      --enable-linker-plugin-configure-flags=FLAGS
      --enable-linker-plugin-flags=FLAGS
      d1741 2 a1742 2
      % srcdir/configure \
      d1749 1
      a1749 1
      
      --with-plugin-ld=pathname
      d1757 2 a1758 2
      --enable-canonical-system-headers
      --disable-canonical-system-headers
      d1766 1 a1766 1
      --with-glibc-version=major.minor
      d1779 1 a1779 1
      --enable-as-accelerator-for=target
      d1783 1 a1783 1
      --enable-offload-targets=target1[=path1],…,targetN[=pathN]
      d1789 2 a1790 2
      % srcdir/configure \
      d1799 3
      a1801 3
      
      --with-hsa-runtime=pathname
      --with-hsa-runtime-include=pathname
      --with-hsa-runtime-lib=pathname
      d1812 2 a1813 2
      --enable-cet
      --disable-cet
      d1827 1 a1827 1
      --with-riscv-attribute=‘yes’, ‘no’ or ‘default’
      d1836 2 a1837 1

      Cross-Compiler-Specific Options

      d1841 1 a1841 1
      --with-toolexeclibdir=dir
      d1846 2 a1847 2
      --with-sysroot
      --with-sysroot=dir
      d1871 2 a1872 2
      --with-build-sysroot
      --with-build-sysroot=dir
      d1890 2 a1891 2
      --with-headers
      --with-headers=dir
      d1903 1 a1903 1
      --without-headers
      d1909 2 a1910 2
      --with-libs
      --with-libs="dir1 dir2 … dirN"
      d1918 1 a1918 1
      --with-newlib
      d1926 1 a1926 1
      --with-avrlibc
      d1937 2 a1938 2
      --with-double={32|64|32,64|64,32}
      --with-long-double={32|64|32,64|64,32|double}
      d1965 1 a1965 1
      --with-double-comparison={tristate|bool|libf7}
      d1973 1 a1973 1
      --with-libf7={libgcc|math|math-symbols|no}
      d1989 1 a1989 1
      --with-nds32-lib=library
      d1995 1 a1995 1
      --with-build-time-tools=dir
      d2014 2 a2015 1

      Overriding configure test results

      d2023 3 a2025 2
      build_configargs

      The contents of this variable is passed to all build configure d2029 3 a2031 2

      host_configargs

      The contents of this variable is passed to all host configure d2035 3 a2037 2

      target_configargs

      The contents of this variable is passed to all target configure d2047 2 a2048 1

      Objective-C-Specific Options

      d2053 1 a2053 1
      --enable-objc-gc
      d2063 3 a2065 3
      --with-target-bdw-gc=list
      --with-target-bdw-gc-include=list
      --with-target-bdw-gc-lib=list
      d2084 2 a2085 1

      D-Specific Options

      d2090 3 a2092 3
      --enable-libphobos-checking
      --disable-libphobos-checking
      --enable-libphobos-checking=list
      d2109 2 a2110 2
      --with-libphobos-druntime-only
      --with-libphobos-druntime-only=choice
      d2123 1 a2123 1
      --with-target-system-zlib
      @ 1.1.1.18 log @initial import of GCC 10.5.0. (we plan to import 12.3 soon as well, this is mostly so it can be pulled up to netbsd-10 branch more easily.) the list of PR's fixed since 10.4.0 can be found here: https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=10.5 which includes 3 C, 25 C++, 4 debug, 17 libstdc++, and many others for the internals. @ text @d3 3 a24 3 d32 2 d36 1 a38 2 blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} blockquote.smallquotation {font-size: smaller} a40 4 div.lisp {margin-left: 3.2em} div.smalldisplay {margin-left: 3.2em} div.smallexample {margin-left: 3.2em} div.smalllisp {margin-left: 3.2em} a45 4 pre.smalldisplay {font-family: inherit; font-size: smaller} pre.smallexample {font-size: smaller} pre.smallformat {font-family: inherit; font-size: smaller} pre.smalllisp {font-size: smaller} d49 1 d78 2 a79 2 d125 2 a126 2
      % mkdir objdir
      d131 1
      a131 2
      
      

      Distributor options

      d138 1 a138 1
      --with-pkgversion=version
      d147 1 a147 1
      --with-bugurl=url
      d155 1 a155 1
      --with-documentation-root-url=url
      d162 1 a162 1
      --with-changes-root-url=url
      d172 1 a172 2

      Target specification

      d187 1 a187 2

      Options specification

      d199 1 a199 1
      --prefix=dirname
      d214 1 a214 1
      --exec-prefix=dirname
      d219 1 a219 1
      --bindir=dirname
      d225 1 a225 1
      --libdir=dirname
      d230 1 a230 1
      --libexecdir=dirname
      d235 1 a235 1
      --with-slibdir=dirname
      d240 1 a240 1
      --datarootdir=dirname
      d245 1 a245 1
      --infodir=dirname
      d250 1 a250 1
      --datadir=dirname
      d255 1 a255 1
      --docdir=dirname
      d260 1 a260 1
      --htmldir=dirname
      d265 1 a265 1
      --pdfdir=dirname
      d270 1 a270 1
      --mandir=dirname
      d278 1 a278 1
      --with-gxx-include-dir=dirname
      d285 1 a285 1
      --with-specs=specs
      d296 1 a296 1
      --program-prefix=prefix
      d304 1 a304 1
      --program-suffix=suffix
      d311 1 a311 1
      --program-transform-name=pattern
      d344 1 a344 1
      --with-local-prefix=dirname
      d417 1 a417 1
      --with-gcc-major-version-only
      d422 1 a422 1
      --with-native-system-header-dir=dirname
      d431 1 a431 1
      --enable-shared[=package[,…]]
      d452 1 a452 1
      --enable-host-shared
      d463 1 a463 1
      --with-gnu-as
      d486 1 a486 1
      --with-as=pathname
      d519 1 a519 1
      --with-gnu-ld
      d524 1 a524 1
      --with-ld=pathname
      d529 1 a529 1
      --with-dsymutil=pathname
      d534 1 a534 1
      --with-stabs
      d540 1 a540 1
      --with-tls=dialect
      d547 1 a547 1
      --enable-multiarch
      d557 1 a557 1
      --enable-sjlj-exceptions
      d563 1 a563 1
      --enable-vtable-verify
      d576 1 a576 1
      --disable-gcov
      d581 1 a581 1
      --disable-multilib
      d590 1 a590 1
      arm-*-*
      d594 1 a594 1
      m68*-*-*
      d598 1 a598 1
      mips*-*-*
      d602 1 a602 1
      msp430-*-*
      d606 1 a606 1
      powerpc*-*-*, rs6000*-*-*
      d614 2 a615 2
      --with-multilib-list=list
      --without-multilib-list
      d622 1 a622 1
      aarch64*-*-*
      d632 1 a632 1
      arm*-*-*
      d694 1 a694 1
      riscv*-*-*
      d702 1 a702 1
      sh*-*-*
      d723 2 a724 2

      --with-cpu=sh4a --with-endian=little,big --with-multilib-list=
      d729 2
      a730 2
      

      --with-cpu=sh4a --with-endian=little,big \
      d735 1
      a735 1
      
      x86-64-*-linux*
      d747 1 a747 1
      --with-endian=endians
      d753 1 a753 1
      big
      d756 1 a756 1
      little
      d759 1 a759 1
      big,little
      d762 1 a762 1
      little,big
      d768 1 a768 1
      --enable-threads
      d781 1 a781 1
      --disable-threads
      d786 1 a786 1
      --enable-threads=lib
      d793 1 a793 1
      aix
      d796 1 a796 1
      dce
      d799 1 a799 1
      lynx
      d802 1 a802 1
      mipssde
      d805 1 a805 1
      no
      d808 1 a808 1
      posix
      d811 1 a811 1
      rtems
      d814 1 a814 1
      single
      d817 1 a817 1
      tpf
      d820 1 a820 1
      vxworks
      d823 1 a823 1
      win32
      d829 1 a829 1
      --enable-tls
      d838 1 a838 1
      --disable-tls
      d843 1 a843 1
      --disable-tm-clone-registry
      d849 3 a851 3
      --with-cpu=cpu
      --with-cpu-32=cpu
      --with-cpu-64=cpu
      d861 10 a870 10
      --with-schedule=cpu
      --with-arch=cpu
      --with-arch-32=cpu
      --with-arch-64=cpu
      --with-tune=cpu
      --with-tune-32=cpu
      --with-tune-64=cpu
      --with-abi=abi
      --with-fpu=type
      --with-float=type
      d878 1 a878 1
      --with-mode=mode
      d883 1 a883 1
      --with-stack-offset=num
      d889 1 a889 1
      --with-fpmath=isa
      d896 1 a896 1
      --with-fp-32=mode
      d900 1 a900 1
      32
      d904 1 a904 1
      xx
      d908 1 a908 1
      64
      d917 1 a917 1
      --with-odd-spreg-32
      d922 1 a922 1
      --without-odd-spreg-32
      d928 1 a928 1
      --with-nan=encoding
      d933 1 a933 1
      legacy
      d937 1 a937 1
      2008
      d949 1 a949 1
      --with-divide=type
      d954 1 a954 1
      traps
      d958 1 a958 1
      breaks
      d965 1 a965 1
      --with-llsc
      d972 1 a972 1
      --without-llsc
      d977 1 a977 1
      --with-synci
      d982 1 a982 1
      --without-synci
      d987 1 a987 1
      --with-lxc1-sxc1
      d992 1 a992 1
      --without-lxc1-sxc1
      d1008 1 a1008 1
      --with-madd4
      d1013 1 a1013 1
      --without-madd4
      d1024 1 a1024 1
      --with-mips-plt
      d1031 1 a1031 1
      --with-stack-clash-protection-guard-size=size
      d1037 1 a1037 1
      --enable-__cxa_atexit
      d1046 1 a1046 1
      --enable-gnu-indirect-function
      d1051 1 a1051 1
      --enable-target-optspace
      d1057 1 a1057 1
      --with-cpp-install-dir=dirname
      d1062 1 a1062 1
      --enable-comdat
      d1067 1 a1067 1
      --enable-initfini-array
      d1076 1 a1076 1
      --enable-link-mutex
      d1082 1 a1082 1
      --enable-maintainer-mode
      d1092 1 a1092 1
      --disable-bootstrap
      d1099 1 a1099 1
      --enable-bootstrap
      d1108 1 a1108 1
      --enable-generated-files-in-srcdir
      d1123 1 a1123 1
      --enable-version-specific-runtime-libs
      d1135 1 a1135 1
      --with-aix-soname=‘aix’, ‘svr4’ or ‘both’
      d1146 1 a1146 1

      For detailed information please refer to the AIX d1152 2 a1153 2

      --with-aix-soname=aix
      --with-aix-soname=both
      d1170 2 a1171 2
      --with-aix-soname=both
      --with-aix-soname=svr4
      d1209 1 a1209 1
      --with-aix-soname=svr4
      d1241 1 a1241 1
      --enable-languages=lang1,lang2,…
      d1246 2 a1247 2

      grep ^language= */config-lang.in
      d1263 1
      a1263 1
      
      --enable-stage1-languages=lang1,lang2,…
      d1279 1 a1279 1
      --disable-libada
      d1286 1 a1286 1
      --disable-libsanitizer
      d1291 1 a1291 1
      --disable-libssp
      d1297 1 a1297 1
      --disable-libquadmath
      d1304 1 a1304 1
      --disable-libquadmath-support
      d1309 1 a1309 1
      --disable-libgomp
      d1314 1 a1314 1
      --disable-libvtv
      d1319 1 a1319 1
      --with-dwarf2
      d1324 1 a1324 1
      --with-advance-toolchain=at
      d1333 2 a1334 2
      --enable-targets=all
      --enable-targets=target_list
      d1348 1 a1348 1
      --enable-default-pie
      d1352 1 a1352 1
      --enable-secureplt
      d1357 1 a1357 1
      --enable-default-ssp
      d1361 1 a1361 1
      --enable-cld
      d1366 1 a1366 1
      --enable-large-address-aware
      d1375 3 a1377 3
      --enable-win32-registry
      --enable-win32-registry=key
      --disable-win32-registry
      d1381 2 a1382 2
      HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\key
      d1394 1
      a1394 1
      
      --nfp
      d1400 4 a1403 4
      --enable-werror
      --disable-werror
      --enable-werror=yes
      --enable-werror=no
      d1412 3 a1414 3
      --enable-checking
      --disable-checking
      --enable-checking=list
      d1452 3 a1454 3
      --disable-stage1-checking
      --enable-stage1-checking
      --enable-stage1-checking=list
      d1466 2 a1467 2
      --enable-coverage
      --enable-coverage=level
      d1478 1 a1478 1
      --enable-gather-detailed-mem-stats
      d1484 1 a1484 1
      --enable-valgrind-annotations
      d1489 2 a1490 2
      --enable-nls
      --disable-nls
      d1497 1 a1497 1
      --with-included-gettext
      d1502 1 a1502 1
      --with-catgets
      d1510 1 a1510 1
      --with-libiconv-prefix=dir
      d1515 1 a1515 1
      --enable-obsolete
      d1526 6 a1531 6
      --enable-decimal-float
      --enable-decimal-float=yes
      --enable-decimal-float=no
      --enable-decimal-float=bid
      --enable-decimal-float=dpd
      --disable-decimal-float
      d1542 2 a1543 2
      --enable-fixed-point
      --disable-fixed-point
      d1550 1 a1550 1
      --with-long-double-128
      d1559 2 a1560 2
      --with-long-double-format=ibm
      --with-long-double-format=ieee
      d1589 1 a1589 1
      --enable-fdpic
      d1593 9 a1601 9
      --with-gmp=pathname
      --with-gmp-include=pathname
      --with-gmp-lib=pathname
      --with-mpfr=pathname
      --with-mpfr-include=pathname
      --with-mpfr-lib=pathname
      --with-mpc=pathname
      --with-mpc-include=pathname
      --with-mpc-lib=pathname
      d1628 3 a1630 3
      --with-isl=pathname
      --with-isl-include=pathname
      --with-isl-lib=pathname
      d1644 1 a1644 1
      --with-stage1-ldflags=flags
      d1652 1 a1652 1
      --with-stage1-libs=libs
      d1658 1 a1658 1
      --with-boot-ldflags=flags
      d1665 1 a1665 1
      --with-boot-libs=libs
      d1670 1 a1670 1
      --with-debug-prefix-map=map
      d1676 1 a1676 1
      --enable-linker-build-id
      d1685 1 a1685 1
      --with-linker-hash-style=choice
      d1691 2 a1692 2
      --enable-gnu-unique-object
      --disable-gnu-unique-object
      d1699 1 a1699 1
      --with-diagnostics-color=choice
      d1709 1 a1709 1
      --with-diagnostics-urls=choice
      d1719 2 a1720 2
      --enable-lto
      --disable-lto
      d1725 2 a1726 2
      --enable-linker-plugin-configure-flags=FLAGS
      --enable-linker-plugin-flags=FLAGS
      d1737 2 a1738 2
      % srcdir/configure \
      d1745 1
      a1745 1
      
      --with-plugin-ld=pathname
      d1753 2 a1754 2
      --enable-canonical-system-headers
      --disable-canonical-system-headers
      d1762 1 a1762 1
      --with-glibc-version=major.minor
      d1775 1 a1775 1
      --enable-as-accelerator-for=target
      d1779 1 a1779 1
      --enable-offload-targets=target1[=path1],…,targetN[=pathN]
      d1785 2 a1786 2
      % srcdir/configure \
      d1795 3
      a1797 3
      
      --with-hsa-runtime=pathname
      --with-hsa-runtime-include=pathname
      --with-hsa-runtime-lib=pathname
      d1808 2 a1809 2
      --enable-cet
      --disable-cet
      d1823 1 a1823 1
      --with-riscv-attribute=‘yes’, ‘no’ or ‘default’
      d1832 1 a1832 2

      Cross-Compiler-Specific Options

      d1836 1 a1836 1
      --with-toolexeclibdir=dir
      d1841 2 a1842 2
      --with-sysroot
      --with-sysroot=dir
      d1866 2 a1867 2
      --with-build-sysroot
      --with-build-sysroot=dir
      d1885 2 a1886 2
      --with-headers
      --with-headers=dir
      d1898 1 a1898 1
      --without-headers
      d1904 2 a1905 2
      --with-libs
      --with-libs="dir1 dir2 … dirN"
      d1913 1 a1913 1
      --with-newlib
      d1921 1 a1921 1
      --with-avrlibc
      d1932 2 a1933 2
      --with-double={32|64|32,64|64,32}
      --with-long-double={32|64|32,64|64,32|double}
      d1960 1 a1960 1
      --with-double-comparison={tristate|bool|libf7}
      d1968 1 a1968 1
      --with-libf7={libgcc|math|math-symbols|no}
      d1984 1 a1984 1
      --with-nds32-lib=library
      d1990 1 a1990 1
      --with-build-time-tools=dir
      d2009 1 a2009 2

      Overriding configure test results

      d2017 2 a2018 3
      build_configargs

      The contents of this variable is passed to all build configure d2022 2 a2023 3

      host_configargs

      The contents of this variable is passed to all host configure d2027 2 a2028 3

      target_configargs

      The contents of this variable is passed to all target configure d2038 1 a2038 2

      Objective-C-Specific Options

      d2043 1 a2043 1
      --enable-objc-gc
      d2053 3 a2055 3
      --with-target-bdw-gc=list
      --with-target-bdw-gc-include=list
      --with-target-bdw-gc-lib=list
      d2074 1 a2074 2

      D-Specific Options

      d2079 3 a2081 3
      --enable-libphobos-checking
      --disable-libphobos-checking
      --enable-libphobos-checking=list
      d2098 2 a2099 2
      --with-libphobos-druntime-only
      --with-libphobos-druntime-only=choice
      d2112 1 a2112 1
      --with-target-system-zlib
      @ 1.1.1.19 log @initial import of GCC 12.3.0. major changes in GCC 11 included: - The default mode for C++ is now -std=gnu++17 instead of -std=gnu++14. - When building GCC itself, the host compiler must now support C++11, rather than C++98. - Some short options of the gcov tool have been renamed: -i to -j and -j to -H. - ThreadSanitizer improvements. - Introduce Hardware-assisted AddressSanitizer support. - For targets that produce DWARF debugging information GCC now defaults to DWARF version 5. This can produce up to 25% more compact debug information compared to earlier versions. - Many optimisations. - The existing malloc attribute has been extended so that it can be used to identify allocator/deallocator API pairs. A pair of new -Wmismatched-dealloc and -Wmismatched-new-delete warnings are added. - Other new warnings: -Wsizeof-array-div, enabled by -Wall, warns about divisions of two sizeof operators when the first one is applied to an array and the divisor does not equal the size of the array element. -Wstringop-overread, enabled by default, warns about calls to string functions reading past the end of the arrays passed to them as arguments. -Wtsan, enabled by default, warns about unsupported features in ThreadSanitizer (currently std::atomic_thread_fence). - Enchanced warnings: -Wfree-nonheap-object detects many more instances of calls to deallocation functions with pointers not returned from a dynamic memory allocation function. -Wmaybe-uninitialized diagnoses passing pointers or references to uninitialized memory to functions taking const-qualified arguments. -Wuninitialized detects reads from uninitialized dynamically allocated memory. -Warray-parameter warns about functions with inconsistent array forms. -Wvla-parameter warns about functions with inconsistent VLA forms. - Several new features from the upcoming C2X revision of the ISO C standard are supported with -std=c2x and -std=gnu2x. - Several C++20 features have been implemented. - The C++ front end has experimental support for some of the upcoming C++23 draft. - Several new C++ warnings. - Enhanced Arm, AArch64, x86, and RISC-V CPU support. - The implementation of how program state is tracked within -fanalyzer has been completely rewritten with many enhancements. see https://gcc.gnu.org/gcc-11/changes.html for a full list. major changes in GCC 12 include: - An ABI incompatibility between C and C++ when passing or returning by value certain aggregates containing zero width bit-fields has been discovered on various targets. x86-64, ARM and AArch64 will always ignore them (so there is a C ABI incompatibility between GCC 11 and earlier with GCC 12 or later), PowerPC64 ELFv2 always take them into account (so there is a C++ ABI incompatibility, GCC 4.4 and earlier compatible with GCC 12 or later, incompatible with GCC 4.5 through GCC 11). RISC-V has changed the handling of these already starting with GCC 10. As the ABI requires, MIPS takes them into account handling function return values so there is a C++ ABI incompatibility with GCC 4.5 through 11. - STABS: Support for emitting the STABS debugging format is deprecated and will be removed in the next release. All ports now default to emit DWARF (version 2 or later) debugging info or are obsoleted. - Vectorization is enabled at -O2 which is now equivalent to the original -O2 -ftree-vectorize -fvect-cost-model=very-cheap. - GCC now supports the ShadowCallStack sanitizer. - Support for __builtin_shufflevector compatible with the clang language extension was added. - Support for attribute unavailable was added. - Support for __builtin_dynamic_object_size compatible with the clang language extension was added. - New warnings: -Wbidi-chars warns about potentially misleading UTF-8 bidirectional control characters. -Warray-compare warns about comparisons between two operands of array type. - Some new features from the upcoming C2X revision of the ISO C standard are supported with -std=c2x and -std=gnu2x. - Several C++23 features have been implemented. - Many C++ enhancements across warnings and -f options. see https://gcc.gnu.org/gcc-12/changes.html for a full list. @ text @d3 1 a3 1 d22 3 a31 2 a33 1 a.copiable-anchor {visibility: hidden; text-decoration: none; line-height: 0em} d36 2 d40 4 d49 4 a55 1 span:hover a.copiable-anchor {visibility: visible} d84 2 a85 2 d131 2 a132 2
      % mkdir objdir
      d137 2
      a138 1
      

      Distributor options

      d145 1 a145 1
      --with-pkgversion=version
      d154 1 a154 1
      --with-bugurl=url
      d162 1 a162 1
      --with-documentation-root-url=url
      d169 1 a169 1
      --with-changes-root-url=url
      d179 2 a180 1

      Host, Build and Target specification

      d204 2 a205 2
      ./configure --host=x86_64-pc-linux-gnu
      d242 2
      a243 1
      

      Options specification

      d255 1 a255 1
      --prefix=dirname
      d270 1 a270 1
      --exec-prefix=dirname
      d275 1 a275 1
      --bindir=dirname
      d281 1 a281 1
      --libdir=dirname
      d286 1 a286 1
      --libexecdir=dirname
      d291 1 a291 1
      --with-slibdir=dirname
      d296 1 a296 1
      --datarootdir=dirname
      d301 1 a301 1
      --infodir=dirname
      d306 1 a306 1
      --datadir=dirname
      d311 1 a311 1
      --docdir=dirname
      d316 1 a316 1
      --htmldir=dirname
      d321 1 a321 1
      --pdfdir=dirname
      d326 1 a326 1
      --mandir=dirname
      d334 1 a334 1
      --with-gxx-include-dir=dirname
      d341 1 a341 1
      --with-specs=specs
      d352 1 a352 1
      --program-prefix=prefix
      d360 1 a360 1
      --program-suffix=suffix
      d367 1 a367 1
      --program-transform-name=pattern
      d400 1 a400 1
      --with-local-prefix=dirname
      d473 1 a473 1
      --with-gcc-major-version-only
      d478 1 a478 1
      --with-native-system-header-dir=dirname
      d487 1 a487 1
      --enable-shared[=package[,…]]
      d508 1 a508 1
      --enable-host-shared
      d519 1 a519 1
      --with-gnu-as
      d542 1 a542 1
      --with-as=pathname
      d575 1 a575 1
      --with-gnu-ld
      d580 1 a580 1
      --with-ld=pathname
      d585 1 a585 1
      --with-dsymutil=pathname
      d590 1 a590 1
      --with-tls=dialect
      d597 1 a597 1
      --enable-multiarch
      d607 1 a607 1
      --enable-sjlj-exceptions
      d613 1 a613 1
      --enable-vtable-verify
      d626 1 a626 1
      --disable-gcov
      d631 1 a631 1
      --disable-multilib
      d640 1 a640 1
      arm-*-*
      d644 1 a644 1
      m68*-*-*
      d648 1 a648 1
      mips*-*-*
      d652 1 a652 1
      msp430-*-*
      d656 1 a656 1
      powerpc*-*-*, rs6000*-*-*
      d664 2 a665 2
      --with-multilib-list=list
      --without-multilib-list
      d673 1 a673 1
      aarch64*-*-*
      d683 1 a683 1
      arm*-*-*
      d745 1 a745 1
      loongarch*-*-*
      d754 1 a754 1
      riscv*-*-*
      d762 1 a762 1
      sh*-*-*
      d783 2 a784 2

      --with-cpu=sh4a --with-endian=little,big --with-multilib-list=
      d789 2
      a790 2
      

      --with-cpu=sh4a --with-endian=little,big \
      d795 1
      a795 1
      
      x86-64-*-linux*
      d807 1 a807 1
      --with-multilib-generator=config
      d817 2 a818 2

      rv32i-ilp32--
      d822 2
      a823 2
      

      rv32i-ilp32--;rv32imafd-ilp32--
      d828 2
      a829 2
      

      rv32i-ilp32-rv32im-c
      d834 2
      a835 2
      

      rv64ima-lp64--f,c,fc
      d845 2
      a846 2
      

      rv64ima-lp64--;--cmodel=medlow
      d851 2
      a852 2
      

      rv64ima-lp64--;--cmodel=medlow,medany
      d856 1
      a856 1
      
      --with-endian=endians
      d862 1 a862 1
      big
      d865 1 a865 1
      little
      d868 1 a868 1
      big,little
      d871 1 a871 1
      little,big
      d877 1 a877 1
      --enable-threads
      d890 1 a890 1
      --disable-threads
      d895 1 a895 1
      --enable-threads=lib
      d902 1 a902 1
      aix
      d905 1 a905 1
      dce
      d908 1 a908 1
      lynx
      d911 1 a911 1
      mipssde
      d914 1 a914 1
      no
      d917 1 a917 1
      posix
      d920 1 a920 1
      rtems
      d923 1 a923 1
      single
      d926 1 a926 1
      tpf
      d929 1 a929 1
      vxworks
      d932 1 a932 1
      win32
      d938 1 a938 1
      --enable-tls
      d947 1 a947 1
      --disable-tls
      d952 1 a952 1
      --disable-tm-clone-registry
      d958 3 a960 3
      --with-cpu=cpu
      --with-cpu-32=cpu
      --with-cpu-64=cpu
      d970 10 a979 10
      --with-schedule=cpu
      --with-arch=cpu
      --with-arch-32=cpu
      --with-arch-64=cpu
      --with-tune=cpu
      --with-tune-32=cpu
      --with-tune-64=cpu
      --with-abi=abi
      --with-fpu=type
      --with-float=type
      d987 1 a987 1
      --with-mode=mode
      d992 1 a992 1
      --with-stack-offset=num
      d998 1 a998 1
      --with-fpmath=isa
      d1005 1 a1005 1
      --with-fp-32=mode
      d1009 1 a1009 1
      32
      d1013 1 a1013 1
      xx
      d1017 1 a1017 1
      64
      d1026 1 a1026 1
      --with-odd-spreg-32
      d1031 1 a1031 1
      --without-odd-spreg-32
      d1037 1 a1037 1
      --with-nan=encoding
      d1042 1 a1042 1
      legacy
      d1046 1 a1046 1
      2008
      d1058 1 a1058 1
      --with-divide=type
      d1063 1 a1063 1
      traps
      d1067 1 a1067 1
      breaks
      d1074 1 a1074 1
      --with-llsc
      d1081 1 a1081 1
      --without-llsc
      d1086 1 a1086 1
      --with-synci
      d1091 1 a1091 1
      --without-synci
      d1096 1 a1096 1
      --with-lxc1-sxc1
      d1101 1 a1101 1
      --without-lxc1-sxc1
      d1117 1 a1117 1
      --with-madd4
      d1122 1 a1122 1
      --without-madd4
      d1133 1 a1133 1
      --with-mips-plt
      d1140 1 a1140 1
      --with-stack-clash-protection-guard-size=size
      d1146 1 a1146 1
      --with-isa-spec=ISA-spec-string
      d1151 1 a1151 1
      2.2
      d1154 1 a1154 1
      20190608
      d1157 1 a1157 1
      20191213
      d1164 1 a1164 1
      --enable-__cxa_atexit
      d1173 1 a1173 1
      --enable-gnu-indirect-function
      d1178 1 a1178 1
      --enable-target-optspace
      d1184 1 a1184 1
      --with-cpp-install-dir=dirname
      d1189 1 a1189 1
      --enable-comdat
      d1194 1 a1194 1
      --enable-initfini-array
      d1203 1 a1203 1
      --enable-link-mutex
      d1209 1 a1209 1
      --enable-link-serialization
      d1218 1 a1218 1
      --enable-maintainer-mode
      d1228 1 a1228 1
      --disable-bootstrap
      d1235 1 a1235 1
      --enable-bootstrap
      d1244 1 a1244 1
      --enable-generated-files-in-srcdir
      d1259 1 a1259 1
      --enable-version-specific-runtime-libs
      d1271 1 a1271 1
      --with-aix-soname=‘aix’, ‘svr4’ or ‘both’
      d1282 1 a1282 1

      For detailed information please refer to the AIX d1288 2 a1289 2

      --with-aix-soname=aix
      --with-aix-soname=both
      d1306 2 a1307 2
      --with-aix-soname=both
      --with-aix-soname=svr4
      d1345 1 a1345 1
      --with-aix-soname=svr4
      d1377 1 a1377 1
      --enable-languages=lang1,lang2,…
      d1382 2 a1383 2

      grep ^language= */config-lang.in
      d1399 1
      a1399 1
      
      --enable-stage1-languages=lang1,lang2,…
      d1415 1 a1415 1
      --disable-libada
      d1422 1 a1422 1
      --disable-libsanitizer
      d1427 1 a1427 1
      --disable-libssp
      d1433 1 a1433 1
      --disable-libquadmath
      d1440 1 a1440 1
      --disable-libquadmath-support
      d1445 1 a1445 1
      --disable-libgomp
      d1450 1 a1450 1
      --disable-libvtv
      d1455 1 a1455 1
      --with-dwarf2
      d1460 1 a1460 1
      --with-advance-toolchain=at
      d1469 2 a1470 2
      --enable-targets=all
      --enable-targets=target_list
      d1484 1 a1484 1
      --enable-default-pie
      d1488 1 a1488 1
      --enable-secureplt
      d1493 1 a1493 1
      --enable-default-ssp
      d1497 1 a1497 1
      --enable-cld
      d1502 1 a1502 1
      --enable-large-address-aware
      d1511 3 a1513 3
      --enable-win32-registry
      --enable-win32-registry=key
      --disable-win32-registry
      d1517 2 a1518 2
      HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\key
      d1530 1
      a1530 1
      
      --nfp
      d1536 4 a1539 4
      --enable-werror
      --disable-werror
      --enable-werror=yes
      --enable-werror=no
      d1548 3 a1550 3
      --enable-checking
      --disable-checking
      --enable-checking=list
      d1588 3 a1590 3
      --disable-stage1-checking
      --enable-stage1-checking
      --enable-stage1-checking=list
      d1602 2 a1603 2
      --enable-coverage
      --enable-coverage=level
      d1614 1 a1614 1
      --enable-gather-detailed-mem-stats
      d1620 1 a1620 1
      --enable-valgrind-annotations
      d1625 2 a1626 2
      --enable-nls
      --disable-nls
      d1633 1 a1633 1
      --with-included-gettext
      d1638 1 a1638 1
      --with-catgets
      d1646 1 a1646 1
      --with-libiconv-prefix=dir
      d1651 1 a1651 1
      --enable-obsolete
      d1662 6 a1667 6
      --enable-decimal-float
      --enable-decimal-float=yes
      --enable-decimal-float=no
      --enable-decimal-float=bid
      --enable-decimal-float=dpd
      --disable-decimal-float
      d1678 2 a1679 2
      --enable-fixed-point
      --disable-fixed-point
      d1686 1 a1686 1
      --with-long-double-128
      d1695 2 a1696 2
      --with-long-double-format=ibm
      --with-long-double-format=ieee
      d1714 1 a1714 1
      --enable-fdpic
      d1718 9 a1726 9
      --with-gmp=pathname
      --with-gmp-include=pathname
      --with-gmp-lib=pathname
      --with-mpfr=pathname
      --with-mpfr-include=pathname
      --with-mpfr-lib=pathname
      --with-mpc=pathname
      --with-mpc-include=pathname
      --with-mpc-lib=pathname
      d1753 3 a1755 3
      --with-isl=pathname
      --with-isl-include=pathname
      --with-isl-lib=pathname
      d1769 1 a1769 1
      --with-stage1-ldflags=flags
      d1777 1 a1777 1
      --with-stage1-libs=libs
      d1783 1 a1783 1
      --with-boot-ldflags=flags
      d1790 1 a1790 1
      --with-boot-libs=libs
      d1795 1 a1795 1
      --with-debug-prefix-map=map
      d1801 1 a1801 1
      --enable-linker-build-id
      d1810 1 a1810 1
      --with-linker-hash-style=choice
      d1816 2 a1817 2
      --enable-gnu-unique-object
      --disable-gnu-unique-object
      d1824 1 a1824 1
      --with-diagnostics-color=choice
      d1834 1 a1834 1
      --with-diagnostics-urls=choice
      d1844 2 a1845 2
      --enable-lto
      --disable-lto
      d1850 2 a1851 2
      --enable-linker-plugin-configure-flags=FLAGS
      --enable-linker-plugin-flags=FLAGS
      d1862 2 a1863 2
      % srcdir/configure \
      d1870 1
      a1870 1
      
      --with-plugin-ld=pathname
      d1878 2 a1879 2
      --enable-canonical-system-headers
      --disable-canonical-system-headers
      d1887 1 a1887 1
      --with-glibc-version=major.minor
      d1900 1 a1900 1
      --enable-as-accelerator-for=target
      d1904 1 a1904 1
      --enable-offload-targets=target1[=path1],…,targetN[=pathN]
      d1910 2 a1911 2
      % srcdir/configure \
      d1916 1
      a1916 1
      
      --enable-offload-defaulted
      d1925 3 a1927 3
      --with-hsa-runtime=pathname
      --with-hsa-runtime-include=pathname
      --with-hsa-runtime-lib=pathname
      d1938 2 a1939 2
      --enable-cet
      --disable-cet
      d1952 1 a1952 1
      --with-riscv-attribute=‘yes’, ‘no’ or ‘default’
      d1960 2 a1961 2
      --enable-s390-excess-float-precision
      --disable-s390-excess-float-precision
      d1972 3 a1974 3
      --with-zstd=pathname
      --with-zstd-include=pathname
      --with-zstd-lib=pathname
      d1989 2 a1990 1

      Cross-Compiler-Specific Options

      d1994 1 a1994 1
      --with-toolexeclibdir=dir
      d1999 2 a2000 2
      --with-sysroot
      --with-sysroot=dir
      d2024 2 a2025 2
      --with-build-sysroot
      --with-build-sysroot=dir
      d2043 2 a2044 2
      --with-headers
      --with-headers=dir
      d2056 1 a2056 1
      --without-headers
      d2062 2 a2063 2
      --with-libs
      --with-libs="dir1 dir2 … dirN"
      d2071 1 a2071 1
      --with-newlib
      d2079 1 a2079 1
      --with-avrlibc
      d2090 2 a2091 2
      --with-double={32|64|32,64|64,32}
      --with-long-double={32|64|32,64|64,32|double}
      d2118 1 a2118 1
      --with-double-comparison={tristate|bool|libf7}
      d2126 1 a2126 1
      --with-libf7={libgcc|math|math-symbols|no}
      d2142 1 a2142 1
      --with-nds32-lib=library
      d2148 1 a2148 1
      --with-build-time-tools=dir
      d2167 2 a2168 1

      Overriding configure test results

      d2176 3 a2178 2
      build_configargs

      The contents of this variable is passed to all build configure d2182 3 a2184 2

      host_configargs

      The contents of this variable is passed to all host configure d2188 3 a2190 2

      target_configargs

      The contents of this variable is passed to all target configure d2200 2 a2201 1

      Objective-C-Specific Options

      d2206 1 a2206 1
      --enable-objc-gc
      d2216 3 a2218 3
      --with-target-bdw-gc=list
      --with-target-bdw-gc-include=list
      --with-target-bdw-gc-lib=list
      d2237 2 a2238 1

      D-Specific Options

      d2243 3 a2245 3
      --enable-libphobos-checking
      --disable-libphobos-checking
      --enable-libphobos-checking=list
      d2262 2 a2263 2
      --with-libphobos-druntime-only
      --with-libphobos-druntime-only=choice
      d2276 1 a2276 1
      --with-target-system-zlib
      @ 1.1.1.21 log @initial import of GCC 12.5.0. this is the final GCC 12 release, and fixes at least 241 specific bugs in the GCC bugzilla: https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=12.5 though many are in components we don't ship in base (ada, fortran, etc.) @ text @d3 3 a24 3 d32 2 d36 1 a38 2 blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} blockquote.smallquotation {font-size: smaller} a40 4 div.lisp {margin-left: 3.2em} div.smalldisplay {margin-left: 3.2em} div.smallexample {margin-left: 3.2em} div.smalllisp {margin-left: 3.2em} a45 4 pre.smalldisplay {font-family: inherit; font-size: smaller} pre.smallexample {font-size: smaller} pre.smallformat {font-family: inherit; font-size: smaller} pre.smalllisp {font-size: smaller} d49 1 d78 2 a79 2 d125 2 a126 2
      % mkdir objdir
      d131 1
      a131 2
      
      

      Distributor options

      d138 1 a138 1
      --with-pkgversion=version
      d147 1 a147 1
      --with-bugurl=url
      d155 1 a155 1
      --with-documentation-root-url=url
      d162 1 a162 1
      --with-changes-root-url=url
      d172 1 a172 2

      Host, Build and Target specification

      d196 2 a197 2
      ./configure --host=x86_64-pc-linux-gnu
      d234 1
      a234 2
      
      

      Options specification

      d246 1 a246 1
      --prefix=dirname
      d261 1 a261 1
      --exec-prefix=dirname
      d266 1 a266 1
      --bindir=dirname
      d272 1 a272 1
      --libdir=dirname
      d277 1 a277 1
      --libexecdir=dirname
      d282 1 a282 1
      --with-slibdir=dirname
      d287 1 a287 1
      --datarootdir=dirname
      d292 1 a292 1
      --infodir=dirname
      d297 1 a297 1
      --datadir=dirname
      d302 1 a302 1
      --docdir=dirname
      d307 1 a307 1
      --htmldir=dirname
      d312 1 a312 1
      --pdfdir=dirname
      d317 1 a317 1
      --mandir=dirname
      d325 1 a325 1
      --with-gxx-include-dir=dirname
      d332 1 a332 1
      --with-specs=specs
      d343 1 a343 1
      --program-prefix=prefix
      d351 1 a351 1
      --program-suffix=suffix
      d358 1 a358 1
      --program-transform-name=pattern
      d391 1 a391 1
      --with-local-prefix=dirname
      d464 1 a464 1
      --with-gcc-major-version-only
      d469 1 a469 1
      --with-native-system-header-dir=dirname
      d478 1 a478 1
      --enable-shared[=package[,…]]
      d499 1 a499 1
      --enable-host-shared
      d510 1 a510 1
      --with-gnu-as
      d533 1 a533 1
      --with-as=pathname
      d566 1 a566 1
      --with-gnu-ld
      d571 1 a571 1
      --with-ld=pathname
      d576 1 a576 1
      --with-dsymutil=pathname
      d581 1 a581 1
      --with-tls=dialect
      d588 1 a588 1
      --enable-multiarch
      d598 1 a598 1
      --enable-sjlj-exceptions
      d604 1 a604 1
      --enable-vtable-verify
      d617 1 a617 1
      --disable-gcov
      d622 1 a622 1
      --disable-multilib
      d631 1 a631 1
      arm-*-*
      d635 1 a635 1
      m68*-*-*
      d639 1 a639 1
      mips*-*-*
      d643 1 a643 1
      msp430-*-*
      d647 1 a647 1
      powerpc*-*-*, rs6000*-*-*
      d655 2 a656 2
      --with-multilib-list=list
      --without-multilib-list
      d664 1 a664 1
      aarch64*-*-*
      d674 1 a674 1
      arm*-*-*
      d736 1 a736 1
      loongarch*-*-*
      d745 1 a745 1
      riscv*-*-*
      d753 1 a753 1
      sh*-*-*
      d774 2 a775 2

      --with-cpu=sh4a --with-endian=little,big --with-multilib-list=
      d780 2
      a781 2
      

      --with-cpu=sh4a --with-endian=little,big \
      d786 1
      a786 1
      
      x86-64-*-linux*
      d798 1 a798 1
      --with-multilib-generator=config
      d808 2 a809 2

      rv32i-ilp32--
      d813 2
      a814 2
      

      rv32i-ilp32--;rv32imafd-ilp32--
      d819 2
      a820 2
      

      rv32i-ilp32-rv32im-c
      d825 2
      a826 2
      

      rv64ima-lp64--f,c,fc
      d836 2
      a837 2
      

      rv64ima-lp64--;--cmodel=medlow
      d842 2
      a843 2
      

      rv64ima-lp64--;--cmodel=medlow,medany
      d847 1
      a847 1
      
      --with-endian=endians
      d853 1 a853 1
      big
      d856 1 a856 1
      little
      d859 1 a859 1
      big,little
      d862 1 a862 1
      little,big
      d868 1 a868 1
      --enable-threads
      d881 1 a881 1
      --disable-threads
      d886 1 a886 1
      --enable-threads=lib
      d893 1 a893 1
      aix
      d896 1 a896 1
      dce
      d899 1 a899 1
      lynx
      d902 1 a902 1
      mipssde
      d905 1 a905 1
      no
      d908 1 a908 1
      posix
      d911 1 a911 1
      rtems
      d914 1 a914 1
      single
      d917 1 a917 1
      tpf
      d920 1 a920 1
      vxworks
      d923 1 a923 1
      win32
      d929 1 a929 1
      --enable-tls
      d938 1 a938 1
      --disable-tls
      d943 1 a943 1
      --disable-tm-clone-registry
      d949 3 a951 3
      --with-cpu=cpu
      --with-cpu-32=cpu
      --with-cpu-64=cpu
      d961 10 a970 10
      --with-schedule=cpu
      --with-arch=cpu
      --with-arch-32=cpu
      --with-arch-64=cpu
      --with-tune=cpu
      --with-tune-32=cpu
      --with-tune-64=cpu
      --with-abi=abi
      --with-fpu=type
      --with-float=type
      d978 1 a978 1
      --with-mode=mode
      d983 1 a983 1
      --with-stack-offset=num
      d989 1 a989 1
      --with-fpmath=isa
      d996 1 a996 1
      --with-fp-32=mode
      d1000 1 a1000 1
      32
      d1004 1 a1004 1
      xx
      d1008 1 a1008 1
      64
      d1017 1 a1017 1
      --with-odd-spreg-32
      d1022 1 a1022 1
      --without-odd-spreg-32
      d1028 1 a1028 1
      --with-nan=encoding
      d1033 1 a1033 1
      legacy
      d1037 1 a1037 1
      2008
      d1049 1 a1049 1
      --with-divide=type
      d1054 1 a1054 1
      traps
      d1058 1 a1058 1
      breaks
      d1065 1 a1065 1
      --with-llsc
      d1072 1 a1072 1
      --without-llsc
      d1077 1 a1077 1
      --with-synci
      d1082 1 a1082 1
      --without-synci
      d1087 1 a1087 1
      --with-lxc1-sxc1
      d1092 1 a1092 1
      --without-lxc1-sxc1
      d1108 1 a1108 1
      --with-madd4
      d1113 1 a1113 1
      --without-madd4
      d1124 1 a1124 1
      --with-mips-plt
      d1131 1 a1131 1
      --with-stack-clash-protection-guard-size=size
      d1137 1 a1137 1
      --with-isa-spec=ISA-spec-string
      d1142 1 a1142 1
      2.2
      d1145 1 a1145 1
      20190608
      d1148 1 a1148 1
      20191213
      d1155 1 a1155 1
      --enable-__cxa_atexit
      d1164 1 a1164 1
      --enable-gnu-indirect-function
      d1169 1 a1169 1
      --enable-target-optspace
      d1175 1 a1175 1
      --with-cpp-install-dir=dirname
      d1180 1 a1180 1
      --enable-comdat
      d1185 1 a1185 1
      --enable-initfini-array
      d1194 1 a1194 1
      --enable-link-mutex
      d1200 1 a1200 1
      --enable-link-serialization
      d1209 1 a1209 1
      --enable-maintainer-mode
      d1219 1 a1219 1
      --disable-bootstrap
      d1226 1 a1226 1
      --enable-bootstrap
      d1235 1 a1235 1
      --enable-generated-files-in-srcdir
      d1250 1 a1250 1
      --enable-version-specific-runtime-libs
      d1262 1 a1262 1
      --with-aix-soname=‘aix’, ‘svr4’ or ‘both’
      d1273 1 a1273 1

      For detailed information please refer to the AIX d1279 2 a1280 2

      --with-aix-soname=aix
      --with-aix-soname=both
      d1297 2 a1298 2
      --with-aix-soname=both
      --with-aix-soname=svr4
      d1336 1 a1336 1
      --with-aix-soname=svr4
      d1368 1 a1368 1
      --enable-languages=lang1,lang2,…
      d1373 2 a1374 2

      grep ^language= */config-lang.in
      d1390 1
      a1390 1
      
      --enable-stage1-languages=lang1,lang2,…
      d1406 1 a1406 1
      --disable-libada
      d1413 1 a1413 1
      --disable-libsanitizer
      d1418 1 a1418 1
      --disable-libssp
      d1424 1 a1424 1
      --disable-libquadmath
      d1431 1 a1431 1
      --disable-libquadmath-support
      d1436 1 a1436 1
      --disable-libgomp
      d1441 1 a1441 1
      --disable-libvtv
      d1446 1 a1446 1
      --with-dwarf2
      d1451 1 a1451 1
      --with-advance-toolchain=at
      d1460 2 a1461 2
      --enable-targets=all
      --enable-targets=target_list
      d1475 1 a1475 1
      --enable-default-pie
      d1479 1 a1479 1
      --enable-secureplt
      d1484 1 a1484 1
      --enable-default-ssp
      d1488 1 a1488 1
      --enable-cld
      d1493 1 a1493 1
      --enable-large-address-aware
      d1502 3 a1504 3
      --enable-win32-registry
      --enable-win32-registry=key
      --disable-win32-registry
      d1508 2 a1509 2
      HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\key
      d1521 1
      a1521 1
      
      --nfp
      d1527 4 a1530 4
      --enable-werror
      --disable-werror
      --enable-werror=yes
      --enable-werror=no
      d1539 3 a1541 3
      --enable-checking
      --disable-checking
      --enable-checking=list
      d1579 3 a1581 3
      --disable-stage1-checking
      --enable-stage1-checking
      --enable-stage1-checking=list
      d1593 2 a1594 2
      --enable-coverage
      --enable-coverage=level
      d1605 1 a1605 1
      --enable-gather-detailed-mem-stats
      d1611 1 a1611 1
      --enable-valgrind-annotations
      d1616 2 a1617 2
      --enable-nls
      --disable-nls
      d1624 1 a1624 1
      --with-included-gettext
      d1629 1 a1629 1
      --with-catgets
      d1637 1 a1637 1
      --with-libiconv-prefix=dir
      d1642 1 a1642 1
      --enable-obsolete
      d1653 6 a1658 6
      --enable-decimal-float
      --enable-decimal-float=yes
      --enable-decimal-float=no
      --enable-decimal-float=bid
      --enable-decimal-float=dpd
      --disable-decimal-float
      d1669 2 a1670 2
      --enable-fixed-point
      --disable-fixed-point
      d1677 1 a1677 1
      --with-long-double-128
      d1686 2 a1687 2
      --with-long-double-format=ibm
      --with-long-double-format=ieee
      d1705 1 a1705 1
      --enable-fdpic
      d1709 9 a1717 9
      --with-gmp=pathname
      --with-gmp-include=pathname
      --with-gmp-lib=pathname
      --with-mpfr=pathname
      --with-mpfr-include=pathname
      --with-mpfr-lib=pathname
      --with-mpc=pathname
      --with-mpc-include=pathname
      --with-mpc-lib=pathname
      d1744 3 a1746 3
      --with-isl=pathname
      --with-isl-include=pathname
      --with-isl-lib=pathname
      d1760 1 a1760 1
      --with-stage1-ldflags=flags
      d1768 1 a1768 1
      --with-stage1-libs=libs
      d1774 1 a1774 1
      --with-boot-ldflags=flags
      d1781 1 a1781 1
      --with-boot-libs=libs
      d1786 1 a1786 1
      --with-debug-prefix-map=map
      d1792 1 a1792 1
      --enable-linker-build-id
      d1801 1 a1801 1
      --with-linker-hash-style=choice
      d1807 2 a1808 2
      --enable-gnu-unique-object
      --disable-gnu-unique-object
      d1815 1 a1815 1
      --with-diagnostics-color=choice
      d1825 1 a1825 1
      --with-diagnostics-urls=choice
      d1835 2 a1836 2
      --enable-lto
      --disable-lto
      d1841 2 a1842 2
      --enable-linker-plugin-configure-flags=FLAGS
      --enable-linker-plugin-flags=FLAGS
      d1853 2 a1854 2
      % srcdir/configure \
      d1861 1
      a1861 1
      
      --with-plugin-ld=pathname
      d1869 2 a1870 2
      --enable-canonical-system-headers
      --disable-canonical-system-headers
      d1878 1 a1878 1
      --with-glibc-version=major.minor
      d1891 1 a1891 1
      --enable-as-accelerator-for=target
      d1895 1 a1895 1
      --enable-offload-targets=target1[=path1],…,targetN[=pathN]
      d1901 2 a1902 2
      % srcdir/configure \
      d1907 1
      a1907 1
      
      --enable-offload-defaulted
      d1916 3 a1918 3
      --with-hsa-runtime=pathname
      --with-hsa-runtime-include=pathname
      --with-hsa-runtime-lib=pathname
      d1929 2 a1930 2
      --enable-cet
      --disable-cet
      d1943 1 a1943 1
      --with-riscv-attribute=‘yes’, ‘no’ or ‘default’
      d1951 2 a1952 2
      --enable-s390-excess-float-precision
      --disable-s390-excess-float-precision
      d1963 3 a1965 3
      --with-zstd=pathname
      --with-zstd-include=pathname
      --with-zstd-lib=pathname
      d1980 1 a1980 2

      Cross-Compiler-Specific Options

      d1984 1 a1984 1
      --with-toolexeclibdir=dir
      d1989 2 a1990 2
      --with-sysroot
      --with-sysroot=dir
      d2014 2 a2015 2
      --with-build-sysroot
      --with-build-sysroot=dir
      d2033 2 a2034 2
      --with-headers
      --with-headers=dir
      d2046 1 a2046 1
      --without-headers
      d2052 2 a2053 2
      --with-libs
      --with-libs="dir1 dir2 … dirN"
      d2061 1 a2061 1
      --with-newlib
      d2069 1 a2069 1
      --with-avrlibc
      d2080 2 a2081 2
      --with-double={32|64|32,64|64,32}
      --with-long-double={32|64|32,64|64,32|double}
      d2108 1 a2108 1
      --with-double-comparison={tristate|bool|libf7}
      d2116 1 a2116 1
      --with-libf7={libgcc|math|math-symbols|no}
      d2132 1 a2132 1
      --with-nds32-lib=library
      d2138 1 a2138 1
      --with-build-time-tools=dir
      d2157 1 a2157 2

      Overriding configure test results

      d2165 2 a2166 3
      build_configargs

      The contents of this variable is passed to all build configure d2170 2 a2171 3

      host_configargs

      The contents of this variable is passed to all host configure d2175 2 a2176 3

      target_configargs

      The contents of this variable is passed to all target configure d2186 1 a2186 2

      Objective-C-Specific Options

      d2191 1 a2191 1
      --enable-objc-gc
      d2201 3 a2203 3
      --with-target-bdw-gc=list
      --with-target-bdw-gc-include=list
      --with-target-bdw-gc-lib=list
      d2222 1 a2222 2

      D-Specific Options

      d2227 3 a2229 3
      --enable-libphobos-checking
      --disable-libphobos-checking
      --enable-libphobos-checking=list
      d2246 2 a2247 2
      --with-libphobos-druntime-only
      --with-libphobos-druntime-only=choice
      d2260 1 a2260 1
      --with-target-system-zlib
      @ 1.1.1.22 log @initial import of GCC 14.3.0. major changes in GCC 13: - improved sanitizer - zstd debug info compression - LTO improvements - SARIF based diagnostic support - new warnings: -Wxor-used-as-pow, -Wenum-int-mismatch, -Wself-move, -Wdangling-reference - many new -Wanalyzer* specific warnings - enhanced warnings: -Wpessimizing-move, -Wredundant-move - new attributes to mark file descriptors, c++23 "assume" - several C23 features added - several C++23 features added - many new features for Arm, x86, RISC-V major changes in GCC 14: - more strict C99 or newer support - ia64* marked deprecated (but seemingly still in GCC 15.) - several new hardening features - support for "hardbool", which can have user supplied values of true/false - explicit support for stack scrubbing upon function exit - better auto-vectorisation support - added clang-compatible __has_feature and __has_extension - more C23, including -std=c23 - several C++26 features added - better diagnostics in C++ templates - new warnings: -Wnrvo, Welaborated-enum-base - many new features for Arm, x86, RISC-V - possible ABI breaking change for SPARC64 and small structures with arrays of floats. @ text @d3 1 a3 1