mirror of
git://sourceware.org/git/glibc.git
synced 2025-03-07 13:28:05 +08:00
build-many-glibcs.py: Add --exclude option
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. Signed-off-by: H.J. Lu <hjl.tools@gmail.com> Reviewed-by: Sam James <sam@gentoo.org>
This commit is contained in:
parent
a3db3fe42b
commit
757ac24f8f
@ -107,7 +107,7 @@ class Context(object):
|
|||||||
"""The global state associated with builds in a given directory."""
|
"""The global state associated with builds in a given directory."""
|
||||||
|
|
||||||
def __init__(self, topdir, parallelism, keep, replace_sources, strip,
|
def __init__(self, topdir, parallelism, keep, replace_sources, strip,
|
||||||
full_gcc, action, shallow=False):
|
full_gcc, action, exclude, shallow=False):
|
||||||
"""Initialize the context."""
|
"""Initialize the context."""
|
||||||
self.topdir = topdir
|
self.topdir = topdir
|
||||||
self.parallelism = parallelism
|
self.parallelism = parallelism
|
||||||
@ -115,6 +115,7 @@ class Context(object):
|
|||||||
self.replace_sources = replace_sources
|
self.replace_sources = replace_sources
|
||||||
self.strip = strip
|
self.strip = strip
|
||||||
self.full_gcc = full_gcc
|
self.full_gcc = full_gcc
|
||||||
|
self.exclude = exclude
|
||||||
self.shallow = shallow
|
self.shallow = shallow
|
||||||
self.srcdir = os.path.join(topdir, 'src')
|
self.srcdir = os.path.join(topdir, 'src')
|
||||||
self.versions_json = os.path.join(self.srcdir, 'versions.json')
|
self.versions_json = os.path.join(self.srcdir, 'versions.json')
|
||||||
@ -502,6 +503,8 @@ class Context(object):
|
|||||||
def add_config(self, **args):
|
def add_config(self, **args):
|
||||||
"""Add an individual build configuration."""
|
"""Add an individual build configuration."""
|
||||||
cfg = Config(self, **args)
|
cfg = Config(self, **args)
|
||||||
|
if self.exclude and cfg.name in self.exclude:
|
||||||
|
return
|
||||||
if cfg.name in self.configs:
|
if cfg.name in self.configs:
|
||||||
print('error: duplicate config %s' % cfg.name)
|
print('error: duplicate config %s' % cfg.name)
|
||||||
exit(1)
|
exit(1)
|
||||||
@ -1884,6 +1887,8 @@ def get_parser():
|
|||||||
help='Build GCC with all languages and libsanitizer')
|
help='Build GCC with all languages and libsanitizer')
|
||||||
parser.add_argument('--shallow', action='store_true',
|
parser.add_argument('--shallow', action='store_true',
|
||||||
help='Do not download Git history during checkout')
|
help='Do not download Git history during checkout')
|
||||||
|
parser.add_argument('--exclude', dest='exclude',
|
||||||
|
help='Targets to be excluded', nargs='*')
|
||||||
parser.add_argument('topdir',
|
parser.add_argument('topdir',
|
||||||
help='Toplevel working directory')
|
help='Toplevel working directory')
|
||||||
parser.add_argument('action',
|
parser.add_argument('action',
|
||||||
@ -1978,7 +1983,7 @@ def main(argv):
|
|||||||
opts = parser.parse_args(argv)
|
opts = parser.parse_args(argv)
|
||||||
topdir = os.path.abspath(opts.topdir)
|
topdir = os.path.abspath(opts.topdir)
|
||||||
ctx = Context(topdir, opts.parallelism, opts.keep, opts.replace_sources,
|
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)
|
shallow=opts.shallow)
|
||||||
ctx.run_builds(opts.action, opts.configs)
|
ctx.run_builds(opts.action, opts.configs)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user