mirror of
https://forge.sourceware.org/marek/gcc.git
synced 2026-02-21 19:35:36 -05:00
This patch introduces a new configure-time option --with-multi-buildlist to allow fine-grained control over which multilib variants are built. The option accepts a path to a file containing a list of multilib directories to be included in the build. Each line in the file should contain a single multilib directory name, matching those generated by the compiler's --print-multi-lib output. This mechanism is target-independent and enables users to reduce build time and binary size by excluding unnecessary multilib variants. It is especially useful for embedded targets with constrained environments or vendor-specific requirements. The option is propagated to both host and target configuration stages, and used in config-ml.in and gcc/Makefile.in to filter the multilib list. Documentation for this feature is added to gcc/doc/install.texi. /ChangeLog * config-ml.in: Use with_multi_buildlist to build multidirs. Skip configuration for subdir returned by --print-multi-directory. * configure: Regenerate. * configure.ac: Source target-specific configuration fragment for GCC. Pass through with_multi_buildlist to host and target. gcc/ChangeLog * Makefile.in: Add with_multi_buildlist for multilib configuration control. Pass an additional argument to genmultilib indicating whether --with-multi-buildlist is set (true or false). Use with_multi_buildlist to filter multilib directories in fixinc_list. * configure: Regenerate. * configure.ac: Restrict the installed fixedincludes multilibs. * configure.tgt: New file. * doc/install.texi: Add --with-multi-buildlist configure option for multilib filtering. * genmultilib: Document the new eleventh argument indicating whether --with-multi-buildlist configure option is set (true or false). Update argument parsing to include this flag before enable_multilib. Modify reuse rule validation: - Keep the original error for reuse of nonexistent multilibs when --with-multi-buildlist is not used. - Suppress the error only when the new configure option is active, allowing reuse rules to reference multilibs that are intentionally excluded from the build. Signed-off-by: Robert Suchanek <robert.suchanek@imgtec.com> Signed-off-by: Chao-ying Fu <cfu@mips.com> Signed-off-by: Aleksandar Rakic <aleksandar.rakic@htecgroup.com>
21 lines
938 B
Bash
21 lines
938 B
Bash
# -*- shell-script -*-
|
|
# Copyright (C) 2025 Free Software Foundation, Inc.
|
|
|
|
# This program 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 2 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; if not see <http://www.gnu.org/licenses/>.
|
|
|
|
# This is the target specific configuration file. This is invoked by the
|
|
# autoconf generated configure script. Putting it in a separate shell file
|
|
# lets us skip running autoconf when modifying target specific information.
|
|
|