mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-30 05:23:49 +08:00
2967219a21
This update brings in the following commits from the gcc mainline: commit b7e5a29602143b53267efcd9c8d5ecc78cd5a62f Author: Tom Tromey <tom@tromey.com> Date: Tue Jan 9 06:25:26 2024 -0700 Pass GUILE down to subdirectories When I enable cgen rebuilding in the binutils-gdb tree, the default is to run cgen using 'guile'. However, on my host, guile is guile 2.2, which doesn't work for me -- I have to use guile3.0. This patch arranges to pass "GUILE" down to subdirectories, so I can use 'make GUILE=guile3.0'. commit 725fb3595622a4ad8cd078a42fab1c395cbf90cb Author: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> Date: Wed Oct 25 13:06:48 2023 +0200 build: Add libgrust as compilation modules Define the libgrust directory as a host compilation module as well as for targets. Disable target libgrust if we're not building target libstdc++. commit 56ca59a03150cf44cea340f58967c990ed6bf43c Author: Lewis Hyatt <lhyatt@gmail.com> Date: Thu Nov 16 11:18:37 2023 -0500 Makefile.tpl: Avoid race condition in generating site.exp from the top level A command like "make -j 2 check-gcc-c check-gcc-c++" run in the top level of a fresh build directory does not work reliably. That will spawn two independent make processes inside the "gcc" directory, and each of those will attempt to create site.exp if it doesn't exist and will interfere with each other, producing often a corrupted or empty site.exp. Resolve that by making these targets depend on a new phony target which makes sure site.exp is created first before starting the recursive makes. commit 6a6d3817afa02bbcd2388c8e005da6faf88932f1 Author: Iain Sandoe <iain@sandoe.co.uk> Date: Sun Mar 28 14:48:17 2021 +0100 Config,Darwin: Allow for configuring Darwin to use embedded runpath. Recent Darwin versions place contraints on the use of run paths specified in environment variables. This breaks some assumptions in the GCC build. This change allows the user to configure a Darwin build to use '@rpath/libraryname.dylib' in library names and then to add an embedded runpath to executables (and libraries with dependents). The embedded runpath is added by default unless the user adds '-nodefaultrpaths' to the link line. For an installed compiler, it means that any executable built with that compiler will reference the runtimes installed with the compiler (equivalent to hard-coding the library path into the name of the library). During build-time configurations any "-B" entries will be added to the runpath thus the newly-built libraries will be found by exes. Since the install name is set in libtool, that decision needs to be available here (but might also cause dependent ones in Makefiles, so we need to export a conditional). This facility is not available for Darwin 8 or earlier, however the existing environment variable runpath does work there. We default this on for systems where the external DYLD_LIBRARY_PATH does not work and off for Darwin 8 or earlier. For systems that can use either method, if the value is unset, we use the default (which is currently DYLD_LIBRARY_PATH). commit 2551e10038a70901f30b2168e6e3af4536748f3c Author: Sergei Trofimovich <siarheit@google.com> Date: Mon Oct 2 12:08:17 2023 +0100 Makefile.tpl: disable -Werror for feedback stage [PR111663] Without the change profiled bootstrap fails for various warnings on master branch as: $ ../gcc/configure $ make profiledbootstrap ... gcc/genmodes.cc: In function ‘int main(int, char**)’: gcc/genmodes.cc:2152:1: error: ‘gcc/build/genmodes.gcda’ profile count data file not found [-Werror=missing-profile] ... gcc/gengtype-parse.cc: In function ‘void parse_error(const char*, ...)’: gcc/gengtype-parse.cc:142:21: error: ‘%s’ directive argument is null [-Werror=format-overflow=] The change removes -Werror just like autofeedback does today. commit d1bff1ba4d470f6723be83c0e3c4d5083e51877a Author: Thomas Schwinge <thomas@codesourcery.com> Date: Thu Jun 1 23:07:37 2023 +0200 Pass 'SYSROOT_CFLAGS_FOR_TARGET' down to target libraries [PR109951] ..., where we need to use it (separate commits) for build-tree testing, similar to 'gcc/Makefile.in:site.exp': # TEST_ALWAYS_FLAGS are flags that should be passed to every compilation. # They are passed first to allow individual tests to override them. @echo "set TEST_ALWAYS_FLAGS \"$(SYSROOT_CFLAGS_FOR_TARGET)\"" >> ./site.tmp PR testsuite/109951 * Makefile.tpl (BASE_TARGET_EXPORTS): Add 'SYSROOT_CFLAGS_FOR_TARGET'. * Makefile.in: Regenerate.
758 lines
34 KiB
Makefile
758 lines
34 KiB
Makefile
#! /usr/bin/autogen
|
|
AutoGen definitions Makefile.tpl;
|
|
|
|
// Makefile.in is generated from Makefile.tpl by 'autogen Makefile.def'.
|
|
// This file was originally written by Nathanael Nerode.
|
|
//
|
|
// Copyright 2002-2022 Free Software Foundation
|
|
//
|
|
// This file is free software; you can redistribute it and/or modify
|
|
// it under the terms of the GNU General Public License as published by
|
|
// the Free Software Foundation; either version 3 of the License, or
|
|
// (at your option) any later version.
|
|
//
|
|
// This program is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU General Public License for more details.
|
|
//
|
|
// You should have received a copy of the GNU General Public License
|
|
// along with this program; see the file COPYING3. If not see
|
|
// <http://www.gnu.org/licenses/>.
|
|
|
|
|
|
// "missing" indicates that that module doesn't supply
|
|
// that recursive target in its Makefile.
|
|
|
|
build_modules= { module= libiberty; };
|
|
build_modules= { module= bison; };
|
|
build_modules= { module= flex; };
|
|
build_modules= { module= m4; };
|
|
build_modules= { module= texinfo; };
|
|
build_modules= { module= fixincludes; };
|
|
build_modules= { module= libcpp;
|
|
extra_configure_flags='--disable-nls am_cv_func_iconv=no';};
|
|
|
|
host_modules= { module= bfd; bootstrap=true; };
|
|
host_modules= { module= opcodes; bootstrap=true; };
|
|
host_modules= { module= binutils; bootstrap=true; };
|
|
host_modules= { module= bison; no_check_cross= true; };
|
|
host_modules= { module= cgen; };
|
|
host_modules= { module= dejagnu; };
|
|
host_modules= { module= etc; };
|
|
host_modules= { module= fastjar; no_check_cross= true; };
|
|
host_modules= { module= fixincludes; bootstrap=true;
|
|
missing= TAGS;
|
|
missing= install-dvi; };
|
|
host_modules= { module= flex; no_check_cross= true; };
|
|
host_modules= { module= gas; bootstrap=true; };
|
|
host_modules= { module= gcc; bootstrap=true;
|
|
extra_make_flags="$(EXTRA_GCC_FLAGS)";
|
|
extra_configure_flags='@gcc_host_pie@'; };
|
|
host_modules= { module= gmp; lib_path=.libs; bootstrap=true;
|
|
// Work around in-tree gmp configure bug with missing flex.
|
|
extra_configure_flags='--disable-shared LEX="touch lex.yy.c" @host_libs_picflag@';
|
|
extra_make_flags='AM_CFLAGS="-DNO_ASM"';
|
|
no_install= true;
|
|
// none-*-* disables asm optimizations, bootstrap-testing
|
|
// the compiler more thoroughly.
|
|
host="none-${host_vendor}-${host_os}";
|
|
// gmp's configure will complain if given anything
|
|
// different from host for target.
|
|
target="none-${host_vendor}-${host_os}"; };
|
|
host_modules= { module= mpfr; lib_path=src/.libs; bootstrap=true;
|
|
extra_configure_flags='--disable-shared @extra_mpfr_configure_flags@ @host_libs_picflag@';
|
|
extra_make_flags='AM_CFLAGS="-DNO_ASM"';
|
|
no_install= true; };
|
|
host_modules= { module= mpc; lib_path=src/.libs; bootstrap=true;
|
|
extra_configure_flags='--disable-shared @extra_mpc_gmp_configure_flags@ @extra_mpc_mpfr_configure_flags@ @host_libs_picflag@ --disable-maintainer-mode';
|
|
no_install= true; };
|
|
host_modules= { module= isl; lib_path=.libs; bootstrap=true;
|
|
extra_configure_flags='--disable-shared @extra_isl_gmp_configure_flags@ @host_libs_picflag@';
|
|
extra_make_flags='V=1';
|
|
no_install= true; };
|
|
host_modules= { module= gold; bootstrap=true; };
|
|
host_modules= { module= gprof; };
|
|
host_modules= { module= gprofng; };
|
|
host_modules= { module= gettext; bootstrap=true; no_install=true;
|
|
module_srcdir= "gettext/gettext-runtime";
|
|
// We always build gettext with pic, because some packages (e.g. gdbserver)
|
|
// need it in some configuratons, which is determined via nontrivial tests.
|
|
// Always enabling pic seems to make sense for something tied to
|
|
// user-facing output.
|
|
extra_configure_flags='--disable-shared --disable-threads --disable-java --disable-csharp --with-pic --disable-libasprintf';
|
|
missing= pdf;
|
|
missing= html;
|
|
missing= info;
|
|
missing= dvi;
|
|
missing= install-pdf;
|
|
missing= install-html;
|
|
missing= install-info;
|
|
missing= install-dvi;
|
|
missing= TAGS;
|
|
no_install= true; };
|
|
host_modules= { module= tcl;
|
|
missing=mostlyclean; };
|
|
host_modules= { module= itcl; };
|
|
host_modules= { module= ld; bootstrap=true; };
|
|
host_modules= { module= libbacktrace; bootstrap=true; };
|
|
host_modules= { module= libcpp; bootstrap=true; };
|
|
// As with libiconv, don't install any of libcody
|
|
host_modules= { module= libcody; bootstrap=true;
|
|
no_install= true;
|
|
missing= pdf;
|
|
missing= html;
|
|
missing= info;
|
|
missing= dvi;
|
|
missing= install-pdf;
|
|
missing= install-html;
|
|
missing= install-info;
|
|
missing= install-dvi;
|
|
missing=TAGS; };
|
|
host_modules= { module= libdecnumber; bootstrap=true;
|
|
missing=TAGS; };
|
|
host_modules= { module= libgui; };
|
|
host_modules= { module= libiberty; bootstrap=true;
|
|
extra_configure_flags='@extra_host_libiberty_configure_flags@';};
|
|
// Linker plugins may need their own build of libiberty; see
|
|
// gcc/doc/install.texi. We take care that this build of libiberty doesn't get
|
|
// installed. It's a helper library for linker plugins, so we pay attention to
|
|
// @extra_linker_plugin_flags@ and @extra_linker_plugin_configure_flags@.
|
|
host_modules= { module= libiberty-linker-plugin; bootstrap=true;
|
|
module_srcdir=libiberty;
|
|
extra_configure_flags='@extra_host_libiberty_configure_flags@ --disable-install-libiberty @extra_linker_plugin_flags@ @extra_linker_plugin_configure_flags@';
|
|
extra_make_flags='@extra_linker_plugin_flags@'; };
|
|
// We abuse missing to avoid installing anything for libiconv.
|
|
host_modules= { module= libiconv;
|
|
bootstrap=true;
|
|
extra_configure_flags='--disable-shared @host_libs_picflag@';
|
|
no_install= true;
|
|
missing= pdf;
|
|
missing= html;
|
|
missing= info;
|
|
missing= install-pdf;
|
|
missing= install-html;
|
|
missing= install-info; };
|
|
host_modules= { module= m4; };
|
|
host_modules= { module= readline; };
|
|
host_modules= { module= sid; };
|
|
host_modules= { module= sim; };
|
|
host_modules= { module= texinfo; no_install= true; };
|
|
host_modules= { module= zlib; no_install=true; no_check=true;
|
|
bootstrap=true;
|
|
extra_configure_flags='@extra_host_zlib_configure_flags@ @host_libs_picflag@';};
|
|
host_modules= { module= gnulib; };
|
|
host_modules= { module= gdbsupport; };
|
|
host_modules= { module= gdbserver; };
|
|
host_modules= { module= gdb; };
|
|
host_modules= { module= expect; };
|
|
host_modules= { module= guile; };
|
|
host_modules= { module= tk; };
|
|
host_modules= { module= libtermcap; no_check=true;
|
|
missing=mostlyclean;
|
|
missing=clean;
|
|
missing=distclean;
|
|
missing=maintainer-clean; };
|
|
host_modules= { module= utils; no_check=true; };
|
|
host_modules= { module= c++tools;
|
|
missing=TAGS; };
|
|
host_modules= { module= gnattools; };
|
|
host_modules= { module= lto-plugin; bootstrap=true;
|
|
extra_configure_flags='--enable-shared @extra_linker_plugin_flags@ @extra_linker_plugin_configure_flags@';
|
|
extra_make_flags='@extra_linker_plugin_flags@'; };
|
|
host_modules= { module= libcc1; extra_configure_flags=--enable-shared; };
|
|
host_modules= { module= gotools; };
|
|
host_modules= { module= libctf; bootstrap=true; };
|
|
host_modules= { module= libsframe; bootstrap=true; };
|
|
host_modules= { module= libgrust; };
|
|
|
|
target_modules = { module= libstdc++-v3;
|
|
bootstrap=true;
|
|
lib_path=src/.libs;
|
|
raw_cxx=true; };
|
|
target_modules = { module= libsanitizer;
|
|
bootstrap=true;
|
|
lib_path=.libs;
|
|
raw_cxx=true; };
|
|
target_modules = { module= libvtv;
|
|
bootstrap=true;
|
|
lib_path=.libs;
|
|
raw_cxx=true; };
|
|
target_modules = { module= libssp; lib_path=.libs; };
|
|
target_modules = { module= newlib; };
|
|
target_modules = { module= libgcc; bootstrap=true; no_check=true;
|
|
missing=TAGS;
|
|
missing=install-dvi; };
|
|
target_modules = { module= libbacktrace; bootstrap=true; };
|
|
target_modules = { module= libquadmath; };
|
|
target_modules = { module= libgfortran; };
|
|
target_modules = { module= libobjc;
|
|
missing=TAGS;
|
|
missing=install-dvi; };
|
|
target_modules = { module= libgo; };
|
|
target_modules = { module= libphobos; bootstrap=true;
|
|
lib_path=src/.libs; };
|
|
target_modules = { module= libtermcap; no_check=true;
|
|
missing=mostlyclean;
|
|
missing=clean;
|
|
missing=distclean;
|
|
missing=maintainer-clean; };
|
|
target_modules = { module= winsup; };
|
|
target_modules = { module= libgloss; no_check=true; };
|
|
target_modules = { module= libffi; no_install=true;
|
|
extra_configure_flags='--disable-shared --with-pic'; };
|
|
target_modules = { module= zlib; bootstrap=true; };
|
|
target_modules = { module= rda; };
|
|
target_modules = { module= libada; };
|
|
target_modules = { module= libgm2; lib_path=.libs; };
|
|
target_modules = { module= libgomp; bootstrap= true; lib_path=.libs; };
|
|
target_modules = { module= libitm; lib_path=.libs; };
|
|
target_modules = { module= libatomic; bootstrap=true; lib_path=.libs; };
|
|
target_modules = { module= libgrust; };
|
|
|
|
// These are (some of) the make targets to be done in each subdirectory.
|
|
// Not all; these are the ones which don't have special options.
|
|
// "depend" indicates that a target depends on another target uniformly
|
|
// for each subdirectory. There can be several such lines per target.
|
|
recursive_targets = { make_target= info;
|
|
depend=configure; };
|
|
recursive_targets = { make_target= dvi;
|
|
depend=configure; };
|
|
recursive_targets = { make_target= pdf;
|
|
depend=configure; };
|
|
recursive_targets = { make_target= html;
|
|
depend=configure; };
|
|
recursive_targets = { make_target= TAGS;
|
|
depend=configure; };
|
|
recursive_targets = { make_target= install-info;
|
|
depend=configure;
|
|
depend=info; };
|
|
recursive_targets = { make_target= install-dvi;
|
|
depend=configure;
|
|
depend=dvi; };
|
|
recursive_targets = { make_target= install-pdf;
|
|
depend=configure;
|
|
depend=pdf; };
|
|
recursive_targets = { make_target= install-html;
|
|
depend=configure;
|
|
depend=html; };
|
|
recursive_targets = { make_target= installcheck;
|
|
depend=configure; };
|
|
recursive_targets = { make_target= mostlyclean; };
|
|
recursive_targets = { make_target= clean; };
|
|
recursive_targets = { make_target= distclean; };
|
|
recursive_targets = { make_target= maintainer-clean; };
|
|
|
|
// Flags which need to be passed down.
|
|
|
|
// Directories etc.
|
|
flags_to_pass = { flag= DESTDIR ; };
|
|
flags_to_pass = { flag= RPATH_ENVVAR ; };
|
|
flags_to_pass = { flag= TARGET_SUBDIR ; };
|
|
flags_to_pass = { flag= bindir ; };
|
|
flags_to_pass = { flag= datadir ; };
|
|
flags_to_pass = { flag= exec_prefix ; };
|
|
flags_to_pass = { flag= includedir ; };
|
|
flags_to_pass = { flag= datarootdir ; };
|
|
flags_to_pass = { flag= docdir ; };
|
|
flags_to_pass = { flag= infodir ; };
|
|
flags_to_pass = { flag= pdfdir ; };
|
|
flags_to_pass = { flag= htmldir ; };
|
|
flags_to_pass = { flag= libdir ; };
|
|
flags_to_pass = { flag= libexecdir ; };
|
|
flags_to_pass = { flag= lispdir ; };
|
|
flags_to_pass = { flag= localstatedir ; };
|
|
flags_to_pass = { flag= mandir ; };
|
|
flags_to_pass = { flag= oldincludedir ; };
|
|
flags_to_pass = { flag= prefix ; };
|
|
flags_to_pass = { flag= sbindir ; };
|
|
flags_to_pass = { flag= sharedstatedir ; };
|
|
flags_to_pass = { flag= sysconfdir ; };
|
|
flags_to_pass = { flag= tooldir ; };
|
|
flags_to_pass = { flag= build_tooldir ; };
|
|
flags_to_pass = { flag= target_alias ; };
|
|
|
|
// Build tools
|
|
flags_to_pass = { flag= AWK ; };
|
|
flags_to_pass = { flag= BISON ; };
|
|
flags_to_pass = { flag= CC_FOR_BUILD ; };
|
|
flags_to_pass = { flag= CFLAGS_FOR_BUILD ; };
|
|
flags_to_pass = { flag= CXX_FOR_BUILD ; };
|
|
flags_to_pass = { flag= EXPECT ; };
|
|
flags_to_pass = { flag= FLEX ; };
|
|
flags_to_pass = { flag= INSTALL ; };
|
|
flags_to_pass = { flag= INSTALL_DATA ; };
|
|
flags_to_pass = { flag= INSTALL_PROGRAM ; };
|
|
flags_to_pass = { flag= INSTALL_SCRIPT ; };
|
|
flags_to_pass = { flag= LDFLAGS_FOR_BUILD ; };
|
|
flags_to_pass = { flag= LEX ; };
|
|
flags_to_pass = { flag= M4 ; };
|
|
flags_to_pass = { flag= MAKE ; };
|
|
flags_to_pass = { flag= RUNTEST ; };
|
|
flags_to_pass = { flag= RUNTESTFLAGS ; };
|
|
flags_to_pass = { flag= SED ; };
|
|
flags_to_pass = { flag= SHELL ; };
|
|
flags_to_pass = { flag= YACC ; };
|
|
|
|
// Host tools
|
|
flags_to_pass = { flag= ADAFLAGS ; optional=true ; };
|
|
flags_to_pass = { flag= ADA_CFLAGS ; };
|
|
flags_to_pass = { flag= AR_FLAGS ; };
|
|
flags_to_pass = { flag= BOOT_ADAFLAGS ; optional=true ; };
|
|
flags_to_pass = { flag= BOOT_CFLAGS ; };
|
|
flags_to_pass = { flag= BOOT_LDFLAGS ; };
|
|
flags_to_pass = { flag= CFLAGS ; };
|
|
flags_to_pass = { flag= CXXFLAGS ; };
|
|
flags_to_pass = { flag= LDFLAGS ; };
|
|
flags_to_pass = { flag= LIBCFLAGS ; };
|
|
flags_to_pass = { flag= LIBCXXFLAGS ; };
|
|
flags_to_pass = { flag= STAGE1_CHECKING ; };
|
|
flags_to_pass = { flag= STAGE1_LANGUAGES ; };
|
|
flags_to_pass = { flag= GNATBIND ; };
|
|
flags_to_pass = { flag= GNATMAKE ; };
|
|
flags_to_pass = { flag= GDC ; };
|
|
flags_to_pass = { flag= GDCFLAGS ; };
|
|
flags_to_pass = { flag= GUILE ; };
|
|
|
|
// Target tools
|
|
flags_to_pass = { flag= AR_FOR_TARGET ; };
|
|
flags_to_pass = { flag= AS_FOR_TARGET ; };
|
|
flags_to_pass = { flag= CC_FOR_TARGET ; };
|
|
flags_to_pass = { flag= CFLAGS_FOR_TARGET ; };
|
|
flags_to_pass = { flag= CPPFLAGS_FOR_TARGET ; };
|
|
flags_to_pass = { flag= CXXFLAGS_FOR_TARGET ; };
|
|
flags_to_pass = { flag= DLLTOOL_FOR_TARGET ; };
|
|
flags_to_pass = { flag= DSYMUTIL_FOR_TARGET ; };
|
|
flags_to_pass = { flag= FLAGS_FOR_TARGET ; };
|
|
flags_to_pass = { flag= GFORTRAN_FOR_TARGET ; };
|
|
flags_to_pass = { flag= GOC_FOR_TARGET ; };
|
|
flags_to_pass = { flag= GOCFLAGS_FOR_TARGET ; };
|
|
flags_to_pass = { flag= GDC_FOR_TARGET ; };
|
|
flags_to_pass = { flag= GDCFLAGS_FOR_TARGET ; };
|
|
flags_to_pass = { flag= GM2_FOR_TARGET ; };
|
|
flags_to_pass = { flag= GM2FLAGS_FOR_TARGET ; };
|
|
flags_to_pass = { flag= LD_FOR_TARGET ; };
|
|
flags_to_pass = { flag= LIPO_FOR_TARGET ; };
|
|
flags_to_pass = { flag= LDFLAGS_FOR_TARGET ; };
|
|
flags_to_pass = { flag= LIBCFLAGS_FOR_TARGET ; };
|
|
flags_to_pass = { flag= LIBCXXFLAGS_FOR_TARGET ; };
|
|
flags_to_pass = { flag= NM_FOR_TARGET ; };
|
|
flags_to_pass = { flag= OBJDUMP_FOR_TARGET ; };
|
|
flags_to_pass = { flag= OBJCOPY_FOR_TARGET ; };
|
|
flags_to_pass = { flag= RANLIB_FOR_TARGET ; };
|
|
flags_to_pass = { flag= READELF_FOR_TARGET ; };
|
|
flags_to_pass = { flag= STRIP_FOR_TARGET ; };
|
|
flags_to_pass = { flag= WINDRES_FOR_TARGET ; };
|
|
flags_to_pass = { flag= WINDMC_FOR_TARGET ; };
|
|
|
|
// Miscellaneous
|
|
flags_to_pass = { flag= BUILD_CONFIG ; };
|
|
flags_to_pass = { flag= LANGUAGES ; optional=true ; };
|
|
flags_to_pass = { flag= LEAN ; };
|
|
|
|
// Inter-module dependencies
|
|
|
|
// Build modules
|
|
dependencies = { module=all-build-bison; on=all-build-texinfo; };
|
|
dependencies = { module=all-build-flex; on=all-build-texinfo; };
|
|
dependencies = { module=all-build-flex; on=all-build-bison; };
|
|
dependencies = { module=all-build-flex; on=all-build-m4; };
|
|
dependencies = { module=all-build-libiberty; on=all-build-texinfo; };
|
|
dependencies = { module=all-build-m4; on=all-build-texinfo; };
|
|
dependencies = { module=all-build-fixincludes; on=all-build-libiberty; };
|
|
dependencies = { module=all-build-libcpp; on=all-build-libiberty; };
|
|
|
|
// Host modules specific to gcc.
|
|
dependencies = { module=configure-gcc; on=configure-gettext; };
|
|
dependencies = { module=configure-gcc; on=all-gmp; };
|
|
dependencies = { module=configure-gcc; on=all-mpfr; };
|
|
dependencies = { module=configure-gcc; on=all-mpc; };
|
|
dependencies = { module=configure-gcc; on=all-isl; };
|
|
dependencies = { module=configure-gcc; on=all-lto-plugin; };
|
|
dependencies = { module=configure-gcc; on=all-binutils; };
|
|
dependencies = { module=configure-gcc; on=all-gas; };
|
|
dependencies = { module=configure-gcc; on=all-ld; };
|
|
dependencies = { module=configure-gcc; on=all-gold; };
|
|
dependencies = { module=configure-gcc; on=all-libiconv; };
|
|
dependencies = { module=all-gcc; on=all-libiberty; hard=true; };
|
|
dependencies = { module=all-gcc; on=all-gettext; };
|
|
dependencies = { module=all-gcc; on=all-mpfr; };
|
|
dependencies = { module=all-gcc; on=all-mpc; };
|
|
dependencies = { module=all-gcc; on=all-isl; };
|
|
dependencies = { module=all-gcc; on=all-build-texinfo; };
|
|
dependencies = { module=all-gcc; on=all-build-bison; };
|
|
dependencies = { module=all-gcc; on=all-build-flex; };
|
|
dependencies = { module=all-gcc; on=all-build-libiberty; };
|
|
dependencies = { module=all-gcc; on=all-build-fixincludes; };
|
|
dependencies = { module=all-gcc; on=all-build-libcpp; };
|
|
dependencies = { module=all-gcc; on=all-zlib; };
|
|
dependencies = { module=all-gcc; on=all-libbacktrace; hard=true; };
|
|
dependencies = { module=all-gcc; on=all-libcpp; hard=true; };
|
|
dependencies = { module=all-gcc; on=all-libcody; hard=true; };
|
|
dependencies = { module=all-gcc; on=all-libdecnumber; hard=true; };
|
|
dependencies = { module=all-gcc; on=all-libiberty; };
|
|
dependencies = { module=all-gcc; on=all-fixincludes; };
|
|
dependencies = { module=all-gcc; on=all-lto-plugin; };
|
|
dependencies = { module=all-gcc; on=all-libiconv; };
|
|
dependencies = { module=info-gcc; on=all-build-libiberty; };
|
|
dependencies = { module=dvi-gcc; on=all-build-libiberty; };
|
|
dependencies = { module=pdf-gcc; on=all-build-libiberty; };
|
|
dependencies = { module=html-gcc; on=all-build-libiberty; };
|
|
dependencies = { module=install-gcc ; on=install-fixincludes; };
|
|
dependencies = { module=install-gcc ; on=install-lto-plugin; };
|
|
dependencies = { module=install-strip-gcc ; on=install-strip-fixincludes; };
|
|
dependencies = { module=install-strip-gcc ; on=install-strip-lto-plugin; };
|
|
|
|
dependencies = { module=configure-libcpp; on=configure-libiberty; hard=true; };
|
|
dependencies = { module=configure-libcpp; on=configure-gettext; };
|
|
dependencies = { module=configure-libcpp; on=all-libiconv; };
|
|
dependencies = { module=all-libcpp; on=all-libiberty; hard=true; };
|
|
dependencies = { module=all-libcpp; on=all-gettext; };
|
|
dependencies = { module=all-libcpp; on=all-libiconv; };
|
|
|
|
dependencies = { module=all-fixincludes; on=all-libiberty; };
|
|
|
|
dependencies = { module=all-gnattools; on=all-target-libada; };
|
|
dependencies = { module=all-gnattools; on=all-target-libstdc++-v3; };
|
|
|
|
// Depending on the specific configuration, the LTO plugin will either use the
|
|
// generic libiberty build or the specific build for linker plugins.
|
|
dependencies = { module=all-lto-plugin; on=all-libiberty; };
|
|
dependencies = { module=all-lto-plugin; on=all-libiberty-linker-plugin; };
|
|
|
|
dependencies = { module=configure-libcc1; on=configure-gcc; };
|
|
dependencies = { module=all-libcc1; on=all-gcc; };
|
|
|
|
// we want version.o from gcc, and implicitly depend on libcody
|
|
dependencies = { module=all-c++tools; on=all-gcc; };
|
|
dependencies = { module=all-gotools; on=all-target-libgo; };
|
|
|
|
dependencies = { module=all-utils; on=all-libiberty; };
|
|
|
|
dependencies = { module=configure-gettext; on=all-libiconv; };
|
|
dependencies = { module=configure-mpfr; on=all-gmp; };
|
|
dependencies = { module=configure-mpc; on=all-mpfr; };
|
|
dependencies = { module=configure-isl; on=all-gmp; };
|
|
dependencies = { module=all-gettext; on=all-libiconv; };
|
|
|
|
// Host modules specific to gdb.
|
|
dependencies = { module=configure-gdb; on=all-gmp; };
|
|
dependencies = { module=configure-gdb; on=all-mpfr; };
|
|
dependencies = { module=configure-gdb; on=all-gettext; };
|
|
dependencies = { module=configure-gdb; on=configure-sim; };
|
|
dependencies = { module=configure-gdb; on=all-bfd; };
|
|
dependencies = { module=configure-gdb; on=all-gnulib; };
|
|
dependencies = { module=configure-gdb; on=all-gdbsupport; };
|
|
// Depend on all-libiconv so that configure checks for iconv
|
|
// functions will work.
|
|
dependencies = { module=configure-gdb; on=all-libiconv; };
|
|
dependencies = { module=all-gdb; on=all-libiberty; };
|
|
dependencies = { module=all-gdb; on=all-libiconv; };
|
|
dependencies = { module=all-gdb; on=all-gnulib; };
|
|
dependencies = { module=all-gdb; on=all-gdbsupport; };
|
|
dependencies = { module=all-gdb; on=all-opcodes; };
|
|
dependencies = { module=all-gdb; on=all-readline; };
|
|
dependencies = { module=all-gdb; on=all-build-bison; };
|
|
dependencies = { module=all-gdb; on=all-sim; };
|
|
dependencies = { module=all-gdb; on=all-libdecnumber; };
|
|
dependencies = { module=all-gdb; on=all-libtermcap; };
|
|
dependencies = { module=all-gdb; on=all-libctf; };
|
|
dependencies = { module=all-gdb; on=all-libbacktrace; };
|
|
|
|
// Host modules specific to gdbserver.
|
|
dependencies = { module=configure-gdbserver; on=all-gnulib; };
|
|
dependencies = { module=all-gdbserver; on=all-gdbsupport; };
|
|
dependencies = { module=all-gdbserver; on=all-gnulib; };
|
|
dependencies = { module=all-gdbserver; on=all-libiberty; };
|
|
|
|
dependencies = { module=configure-libgui; on=configure-tcl; };
|
|
dependencies = { module=configure-libgui; on=configure-tk; };
|
|
dependencies = { module=all-libgui; on=all-tcl; };
|
|
dependencies = { module=all-libgui; on=all-tk; };
|
|
dependencies = { module=all-libgui; on=all-itcl; };
|
|
|
|
dependencies = { module=configure-gdbsupport; on=configure-gnulib; };
|
|
dependencies = { module=configure-gdbsupport; on=configure-gettext; };
|
|
dependencies = { module=all-gdbsupport; on=all-gnulib; };
|
|
dependencies = { module=all-gdbsupport; on=all-gettext; };
|
|
|
|
// Host modules specific to binutils.
|
|
// build libsframe before bfd for encoder/decoder support for linking
|
|
// SFrame sections
|
|
dependencies = { module=configure-bfd; on=configure-libiberty; hard=true; };
|
|
dependencies = { module=configure-bfd; on=configure-gettext; };
|
|
dependencies = { module=all-bfd; on=all-libiberty; };
|
|
dependencies = { module=all-bfd; on=all-gettext; };
|
|
dependencies = { module=all-bfd; on=all-zlib; };
|
|
dependencies = { module=all-bfd; on=all-libsframe; };
|
|
dependencies = { module=configure-opcodes; on=configure-libiberty; hard=true; };
|
|
dependencies = { module=all-opcodes; on=all-libiberty; };
|
|
|
|
// We must build gas before binutils, gprof, ld and gold to avoid race
|
|
// condition in the prev-gcc/as script during bootstrap of combined tree
|
|
// with GCC and binutils. See PR gas/14899 for details.
|
|
dependencies = { module=configure-binutils; on=configure-gettext; };
|
|
dependencies = { module=all-binutils; on=all-libiberty; };
|
|
dependencies = { module=all-binutils; on=all-opcodes; };
|
|
dependencies = { module=all-binutils; on=all-bfd; };
|
|
dependencies = { module=all-binutils; on=all-build-flex; };
|
|
dependencies = { module=all-binutils; on=all-build-bison; };
|
|
dependencies = { module=all-binutils; on=all-gettext; };
|
|
dependencies = { module=all-binutils; on=all-gas; };
|
|
dependencies = { module=all-binutils; on=all-libctf; };
|
|
dependencies = { module=all-ld; on=all-libctf; };
|
|
dependencies = { module=all-binutils; on=all-libsframe; };
|
|
|
|
// We put install-opcodes before install-binutils because the installed
|
|
// binutils might be on PATH, and they might need the shared opcodes
|
|
// library.
|
|
dependencies = { module=install-binutils; on=install-opcodes; };
|
|
dependencies = { module=install-strip-binutils; on=install-strip-opcodes; };
|
|
|
|
// Likewise for ld, libctf, and bfd.
|
|
dependencies = { module=install-libctf; on=install-bfd; };
|
|
dependencies = { module=install-ld; on=install-bfd; };
|
|
dependencies = { module=install-ld; on=install-libctf; };
|
|
dependencies = { module=install-strip-libctf; on=install-strip-bfd; };
|
|
dependencies = { module=install-strip-ld; on=install-strip-bfd; };
|
|
dependencies = { module=install-strip-ld; on=install-strip-libctf; };
|
|
|
|
// libbfd depends on libsframe
|
|
dependencies = { module=install-bfd; on=install-libsframe; };
|
|
dependencies = { module=install-strip-bfd; on=install-strip-libsframe; };
|
|
|
|
// libopcodes depends on libbfd
|
|
dependencies = { module=configure-opcodes; on=configure-bfd; hard=true; };
|
|
dependencies = { module=install-opcodes; on=install-bfd; };
|
|
dependencies = { module=install-strip-opcodes; on=install-strip-bfd; };
|
|
|
|
dependencies = { module=configure-gas; on=configure-gettext; };
|
|
dependencies = { module=all-gas; on=all-libiberty; };
|
|
dependencies = { module=all-gas; on=all-opcodes; };
|
|
dependencies = { module=all-gas; on=all-bfd; };
|
|
dependencies = { module=all-gas; on=all-gettext; };
|
|
dependencies = { module=configure-gprof; on=configure-gettext; };
|
|
dependencies = { module=all-gprof; on=all-libiberty; };
|
|
dependencies = { module=all-gprof; on=all-bfd; };
|
|
dependencies = { module=all-gprof; on=all-opcodes; };
|
|
dependencies = { module=all-gprof; on=all-gettext; };
|
|
dependencies = { module=all-gprof; on=all-gas; };
|
|
|
|
dependencies = { module=configure-gprofng; on=configure-gettext; };
|
|
dependencies = { module=all-gprofng; on=all-libiberty; };
|
|
dependencies = { module=all-gprofng; on=all-bfd; };
|
|
dependencies = { module=all-gprofng; on=all-opcodes; };
|
|
dependencies = { module=all-gprofng; on=all-gettext; };
|
|
dependencies = { module=all-gprofng; on=all-gas; };
|
|
dependencies = { module=install-gprofng; on=install-opcodes; };
|
|
dependencies = { module=install-gprofng; on=install-bfd; };
|
|
|
|
dependencies = { module=configure-ld; on=configure-gettext; };
|
|
dependencies = { module=all-ld; on=all-libiberty; };
|
|
dependencies = { module=all-ld; on=all-bfd; };
|
|
dependencies = { module=all-ld; on=all-opcodes; };
|
|
dependencies = { module=all-ld; on=all-build-bison; };
|
|
dependencies = { module=all-ld; on=all-build-flex; };
|
|
dependencies = { module=all-ld; on=all-gettext; };
|
|
dependencies = { module=all-ld; on=all-gas; };
|
|
dependencies = { module=all-ld; on=all-binutils; };
|
|
dependencies = { module=install-ld; on=install-gold; };
|
|
dependencies = { module=install-strip-ld; on=install-strip-gold; };
|
|
dependencies = { module=configure-gold; on=configure-gettext; };
|
|
dependencies = { module=all-gold; on=all-libiberty; };
|
|
dependencies = { module=all-gold; on=all-gettext; };
|
|
dependencies = { module=all-gold; on=all-bfd; };
|
|
dependencies = { module=all-gold; on=all-build-bison; };
|
|
dependencies = { module=all-gold; on=all-gas; };
|
|
dependencies = { module=check-gold; on=all-binutils; };
|
|
dependencies = { module=check-gold; on=all-gas; };
|
|
|
|
dependencies = { module=configure-opcodes; on=configure-gettext; };
|
|
dependencies = { module=all-opcodes; on=all-bfd; };
|
|
dependencies = { module=all-opcodes; on=all-libiberty; };
|
|
dependencies = { module=all-opcodes; on=all-gettext; };
|
|
|
|
// Other host modules in the 'src' repository.
|
|
dependencies = { module=all-dejagnu; on=all-tcl; };
|
|
dependencies = { module=all-dejagnu; on=all-expect; };
|
|
dependencies = { module=all-dejagnu; on=all-tk; };
|
|
dependencies = { module=configure-expect; on=configure-tcl; };
|
|
dependencies = { module=configure-expect; on=configure-tk; };
|
|
dependencies = { module=all-expect; on=all-tcl; };
|
|
dependencies = { module=all-expect; on=all-tk; };
|
|
|
|
// We put install-tcl before install-itcl because itcl wants to run a
|
|
// program on installation which uses the Tcl libraries.
|
|
dependencies = { module=configure-itcl; on=configure-tcl; };
|
|
dependencies = { module=configure-itcl; on=configure-tk; };
|
|
dependencies = { module=all-itcl; on=all-tcl; };
|
|
dependencies = { module=all-itcl; on=all-tk; };
|
|
dependencies = { module=install-itcl; on=install-tcl; };
|
|
dependencies = { module=install-strip-itcl; on=install-strip-tcl; };
|
|
|
|
dependencies = { module=configure-tk; on=configure-tcl; };
|
|
dependencies = { module=all-tk; on=all-tcl; };
|
|
|
|
dependencies = { module=all-sid; on=all-libiberty; };
|
|
dependencies = { module=all-sid; on=all-bfd; };
|
|
dependencies = { module=all-sid; on=all-opcodes; };
|
|
dependencies = { module=all-sid; on=all-tcl; };
|
|
dependencies = { module=all-sid; on=all-tk; };
|
|
dependencies = { module=install-sid; on=install-tcl; };
|
|
dependencies = { module=install-strip-sid; on=install-strip-tcl; };
|
|
dependencies = { module=install-sid; on=install-tk; };
|
|
dependencies = { module=install-strip-sid; on=install-strip-tk; };
|
|
|
|
dependencies = { module=configure-sim; on=all-gnulib; };
|
|
dependencies = { module=configure-sim; on=configure-gettext; };
|
|
dependencies = { module=all-sim; on=all-gettext; };
|
|
dependencies = { module=all-sim; on=all-libiberty; };
|
|
dependencies = { module=all-sim; on=all-bfd; };
|
|
dependencies = { module=all-sim; on=all-opcodes; };
|
|
dependencies = { module=configure-sim; on=all-readline; };
|
|
|
|
// Other host modules.
|
|
dependencies = { module=all-fastjar; on=all-zlib; };
|
|
dependencies = { module=all-fastjar; on=all-build-texinfo; };
|
|
dependencies = { module=all-fastjar; on=all-libiberty; };
|
|
dependencies = { module=all-libctf; on=all-libiberty; hard=true; };
|
|
dependencies = { module=all-libctf; on=all-bfd; };
|
|
dependencies = { module=all-libctf; on=all-zlib; };
|
|
// So that checking for ELF support in BFD from libctf configure is possible.
|
|
dependencies = { module=configure-libctf; on=all-bfd; };
|
|
dependencies = { module=configure-libctf; on=all-gettext; };
|
|
dependencies = { module=configure-libctf; on=all-zlib; };
|
|
dependencies = { module=configure-libctf; on=all-libiconv; };
|
|
dependencies = { module=check-libctf; on=all-ld; };
|
|
|
|
// The Makefiles in gdb and gdbserver pull in a file that configure
|
|
// generates in the gnulib directory, so distclean gnulib only after
|
|
// gdb and gdbserver.
|
|
dependencies = { module=distclean-gnulib; on=distclean-gdb; };
|
|
dependencies = { module=distclean-gnulib; on=distclean-gdbserver; };
|
|
dependencies = { module=distclean-gnulib; on=distclean-sim; };
|
|
|
|
// Warning, these are not well tested.
|
|
dependencies = { module=all-bison; on=all-gettext; };
|
|
dependencies = { module=all-bison; on=all-build-texinfo; };
|
|
dependencies = { module=all-flex; on=all-build-bison; };
|
|
dependencies = { module=all-flex; on=all-gettext; };
|
|
dependencies = { module=all-flex; on=all-m4; };
|
|
dependencies = { module=all-flex; on=all-build-texinfo; };
|
|
dependencies = { module=all-m4; on=all-gettext; };
|
|
dependencies = { module=all-m4; on=all-build-texinfo; };
|
|
|
|
// Target modules. These can also have dependencies on the language
|
|
// environment (e.g. on libstdc++). By default target modules depend
|
|
// on libgcc and newlib/libgloss.
|
|
lang_env_dependencies = { module=libitm; cxx=true; };
|
|
lang_env_dependencies = { module=libffi; cxx=true; };
|
|
lang_env_dependencies = { module=newlib; no_c=true; };
|
|
lang_env_dependencies = { module=libgloss; no_c=true; };
|
|
lang_env_dependencies = { module=libgcc; no_gcc=true; no_c=true; };
|
|
// libiberty does not depend on newlib or libgloss because it must be
|
|
// built newlib on some targets (e.g. Cygwin). It still needs
|
|
// a dependency on libgcc for native targets to configure.
|
|
lang_env_dependencies = { module=libiberty; no_c=true; };
|
|
|
|
dependencies = { module=configure-target-fastjar; on=configure-target-zlib; };
|
|
dependencies = { module=all-target-fastjar; on=all-target-zlib; };
|
|
dependencies = { module=configure-target-libgo; on=configure-target-libffi; };
|
|
dependencies = { module=configure-target-libgo; on=all-target-libstdc++-v3; };
|
|
dependencies = { module=all-target-libgo; on=all-target-libbacktrace; };
|
|
dependencies = { module=all-target-libgo; on=all-target-libffi; };
|
|
dependencies = { module=all-target-libgo; on=all-target-libatomic; };
|
|
dependencies = { module=configure-target-libgm2; on=all-target-libstdc++-v3; };
|
|
dependencies = { module=all-target-libgm2; on=all-target-libatomic; };
|
|
dependencies = { module=configure-target-libphobos; on=configure-target-libbacktrace; };
|
|
dependencies = { module=configure-target-libphobos; on=configure-target-zlib; };
|
|
dependencies = { module=all-target-libphobos; on=all-target-libbacktrace; };
|
|
dependencies = { module=all-target-libphobos; on=all-target-zlib; };
|
|
dependencies = { module=all-target-libphobos; on=all-target-libatomic; };
|
|
dependencies = { module=configure-target-libstdc++-v3; on=configure-target-libgomp; };
|
|
dependencies = { module=configure-target-libsanitizer; on=all-target-libstdc++-v3; };
|
|
dependencies = { module=configure-target-libvtv; on=all-target-libstdc++-v3; };
|
|
dependencies = { module=configure-target-libgrust; on=all-target-libstdc++-v3; };
|
|
// parallel_list.o and parallel_settings.o depend on omp.h, which is
|
|
// generated by the libgomp configure. Unfortunately, due to the use of
|
|
// recursive make, we can't be that specific.
|
|
dependencies = { module=all-target-libstdc++-v3; on=configure-target-libgomp; };
|
|
|
|
dependencies = { module=install-target-libgo; on=install-target-libatomic; };
|
|
dependencies = { module=install-target-libgfortran; on=install-target-libquadmath; };
|
|
dependencies = { module=install-target-libgfortran; on=install-target-libgcc; };
|
|
dependencies = { module=install-target-libphobos; on=install-target-libatomic; };
|
|
dependencies = { module=install-target-libsanitizer; on=install-target-libstdc++-v3; };
|
|
dependencies = { module=install-target-libsanitizer; on=install-target-libgcc; };
|
|
dependencies = { module=install-target-libvtv; on=install-target-libstdc++-v3; };
|
|
dependencies = { module=install-target-libvtv; on=install-target-libgcc; };
|
|
dependencies = { module=install-target-libitm; on=install-target-libgcc; };
|
|
dependencies = { module=install-target-libobjc; on=install-target-libgcc; };
|
|
dependencies = { module=install-target-libstdc++-v3; on=install-target-libgcc; };
|
|
|
|
// Target modules in the 'src' repository.
|
|
lang_env_dependencies = { module=libtermcap; };
|
|
lang_env_dependencies = { module=rda; };
|
|
lang_env_dependencies = { module=winsup; };
|
|
|
|
dependencies = { module=all-target-libgloss; on=all-target-newlib; };
|
|
dependencies = { module=all-target-winsup; on=all-target-libtermcap; };
|
|
dependencies = { module=configure-target-newlib; on=all-binutils; };
|
|
dependencies = { module=configure-target-newlib; on=all-ld; };
|
|
dependencies = { module=configure-target-libgfortran; on=all-target-libquadmath; };
|
|
dependencies = { module=configure-target-libgfortran; on=all-target-libbacktrace; };
|
|
dependencies = { module=configure-target-libgo; on=all-target-libbacktrace; };
|
|
|
|
languages = { language=c; gcc-check-target=check-gcc; };
|
|
languages = { language=c++; gcc-check-target=check-c++;
|
|
lib-check-target=check-target-libstdc++-v3;
|
|
lib-check-target=check-target-libitm-c++;
|
|
lib-check-target=check-target-libgomp-c++; };
|
|
languages = { language=fortran; gcc-check-target=check-fortran;
|
|
lib-check-target=check-target-libquadmath;
|
|
lib-check-target=check-target-libgfortran;
|
|
lib-check-target=check-target-libgomp-fortran; };
|
|
languages = { language=ada; gcc-check-target=check-ada;
|
|
lib-check-target=check-target-libada; };
|
|
languages = { language=objc; gcc-check-target=check-objc;
|
|
lib-check-target=check-target-libobjc; };
|
|
languages = { language=obj-c++; gcc-check-target=check-obj-c++; };
|
|
languages = { language=go; gcc-check-target=check-go;
|
|
lib-check-target=check-target-libgo;
|
|
lib-check-target=check-gotools; };
|
|
languages = { language=m2; gcc-check-target=check-m2;
|
|
lib-check-target=check-target-libgm2; };
|
|
languages = { language=d; gcc-check-target=check-d;
|
|
lib-check-target=check-target-libphobos; };
|
|
languages = { language=jit; gcc-check-target=check-jit; };
|
|
languages = { language=rust; gcc-check-target=check-rust; };
|
|
|
|
// Toplevel bootstrap
|
|
bootstrap_stage = { id=1 ; };
|
|
bootstrap_stage = {
|
|
id=2 ; prev=1 ;
|
|
bootstrap_target=bootstrap2 ; };
|
|
bootstrap_stage = {
|
|
id=3 ; prev=2 ; lean=1 ;
|
|
compare_target=compare ;
|
|
bootstrap_target=bootstrap ;
|
|
cleanstrap_target=cleanstrap ; };
|
|
bootstrap_stage = {
|
|
id=4 ; prev=3 ; lean=2 ;
|
|
compare_target=compare3 ;
|
|
bootstrap_target=bootstrap4 ; };
|
|
bootstrap_stage = {
|
|
id=profile ; prev=1 ; };
|
|
bootstrap_stage = {
|
|
id=train; prev=profile ; } ;
|
|
bootstrap_stage = {
|
|
id=feedback ; prev=train;
|
|
bootstrap_target=profiledbootstrap ; };
|
|
bootstrap_stage = {
|
|
id=autoprofile ; prev=1 ;
|
|
autoprofile="$$s/gcc/config/i386/$(AUTO_PROFILE)" ; };
|
|
bootstrap_stage = {
|
|
id=autofeedback ; prev=autoprofile ;
|
|
bootstrap_target=autoprofiledbootstrap ;
|
|
profile_data="PERF_DATA=perf.data" ; };
|