[PATCH v2] build-many-glibcs.py: Add --exclude option
Sam James
sam@gentoo.org
Tue Dec 24 21:27:06 GMT 2024
"H.J. Lu" <hjl.tools@gmail.com> writes:
> m68k-linux-gnu-coldfire-soft GCC and glibc often won't build due to
>
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103370
>
> which results in build-many-glibcs.py failure. Add an option, --exclude,
> to exclude some targets.
>
Reviewed-by: Sam James <sam@gentoo.org>
I think it's uncontroversial enough to push now, just of course be
prepared if Joseph has follow-up comments.
> Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
> ---
> scripts/build-many-glibcs.py | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/scripts/build-many-glibcs.py b/scripts/build-many-glibcs.py
> index c53aa8964c..62fb51ff3d 100755
> --- a/scripts/build-many-glibcs.py
> +++ b/scripts/build-many-glibcs.py
> @@ -107,7 +107,7 @@ class Context(object):
> """The global state associated with builds in a given directory."""
>
> def __init__(self, topdir, parallelism, keep, replace_sources, strip,
> - full_gcc, action, shallow=False):
> + full_gcc, action, exclude, shallow=False):
> """Initialize the context."""
> self.topdir = topdir
> self.parallelism = parallelism
> @@ -115,6 +115,7 @@ class Context(object):
> self.replace_sources = replace_sources
> self.strip = strip
> self.full_gcc = full_gcc
> + self.exclude = exclude
> self.shallow = shallow
> self.srcdir = os.path.join(topdir, 'src')
> self.versions_json = os.path.join(self.srcdir, 'versions.json')
> @@ -502,6 +503,8 @@ class Context(object):
> def add_config(self, **args):
> """Add an individual build configuration."""
> cfg = Config(self, **args)
> + if self.exclude and cfg.name in self.exclude:
> + return
> if cfg.name in self.configs:
> print('error: duplicate config %s' % cfg.name)
> exit(1)
> @@ -1884,6 +1887,8 @@ def get_parser():
> help='Build GCC with all languages and libsanitizer')
> parser.add_argument('--shallow', action='store_true',
> help='Do not download Git history during checkout')
> + parser.add_argument('--exclude', dest='exclude',
> + help='Targets to be excluded', nargs='*')
> parser.add_argument('topdir',
> help='Toplevel working directory')
> parser.add_argument('action',
> @@ -1978,7 +1983,7 @@ def main(argv):
> opts = parser.parse_args(argv)
> topdir = os.path.abspath(opts.topdir)
> ctx = Context(topdir, opts.parallelism, opts.keep, opts.replace_sources,
> - opts.strip, opts.full_gcc, opts.action,
> + opts.strip, opts.full_gcc, opts.action, opts.exclude,
> shallow=opts.shallow)
> ctx.run_builds(opts.action, opts.configs)
More information about the Libc-alpha
mailing list