mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
build-many-glibcs.py: Introduce LinuxHeadersPolicyForBuild
And move install_linux_headers to the top level. Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
This commit is contained in:
@ -1160,6 +1160,53 @@ class Context(object):
|
|||||||
print('Script changed, bot re-execing.')
|
print('Script changed, bot re-execing.')
|
||||||
self.exec_self()
|
self.exec_self()
|
||||||
|
|
||||||
|
class LinuxHeadersPolicyForBuild(object):
|
||||||
|
"""Names and directories for installing Linux headers. Build variant."""
|
||||||
|
|
||||||
|
def __init__(self, config):
|
||||||
|
self.arch = config.arch
|
||||||
|
self.srcdir = config.ctx.component_srcdir('linux')
|
||||||
|
self.builddir = config.component_builddir('linux')
|
||||||
|
self.headers_dir = os.path.join(config.sysroot, 'usr')
|
||||||
|
|
||||||
|
def install_linux_headers(policy, cmdlist):
|
||||||
|
"""Install Linux kernel headers."""
|
||||||
|
arch_map = {'aarch64': 'arm64',
|
||||||
|
'alpha': 'alpha',
|
||||||
|
'arm': 'arm',
|
||||||
|
'csky': 'csky',
|
||||||
|
'hppa': 'parisc',
|
||||||
|
'i486': 'x86',
|
||||||
|
'i586': 'x86',
|
||||||
|
'i686': 'x86',
|
||||||
|
'i786': 'x86',
|
||||||
|
'ia64': 'ia64',
|
||||||
|
'm68k': 'm68k',
|
||||||
|
'microblaze': 'microblaze',
|
||||||
|
'mips': 'mips',
|
||||||
|
'nios2': 'nios2',
|
||||||
|
'powerpc': 'powerpc',
|
||||||
|
's390': 's390',
|
||||||
|
'riscv32': 'riscv',
|
||||||
|
'riscv64': 'riscv',
|
||||||
|
'sh': 'sh',
|
||||||
|
'sparc': 'sparc',
|
||||||
|
'x86_64': 'x86'}
|
||||||
|
linux_arch = None
|
||||||
|
for k in arch_map:
|
||||||
|
if policy.arch.startswith(k):
|
||||||
|
linux_arch = arch_map[k]
|
||||||
|
break
|
||||||
|
assert linux_arch is not None
|
||||||
|
cmdlist.push_subdesc('linux')
|
||||||
|
cmdlist.create_use_dir(policy.builddir)
|
||||||
|
cmdlist.add_command('install-headers',
|
||||||
|
['make', '-C', policy.srcdir, 'O=%s' % policy.builddir,
|
||||||
|
'ARCH=%s' % linux_arch,
|
||||||
|
'INSTALL_HDR_PATH=%s' % policy.headers_dir,
|
||||||
|
'headers_install'])
|
||||||
|
cmdlist.cleanup_dir()
|
||||||
|
cmdlist.pop_subdesc()
|
||||||
|
|
||||||
class Config(object):
|
class Config(object):
|
||||||
"""A configuration for building a compiler and associated libraries."""
|
"""A configuration for building a compiler and associated libraries."""
|
||||||
@ -1218,7 +1265,7 @@ class Config(object):
|
|||||||
'--disable-readline',
|
'--disable-readline',
|
||||||
'--disable-sim'])
|
'--disable-sim'])
|
||||||
if self.os.startswith('linux'):
|
if self.os.startswith('linux'):
|
||||||
self.install_linux_headers(cmdlist)
|
install_linux_headers(LinuxHeadersPolicyForBuild(self), cmdlist)
|
||||||
self.build_gcc(cmdlist, True)
|
self.build_gcc(cmdlist, True)
|
||||||
if self.os == 'gnu':
|
if self.os == 'gnu':
|
||||||
self.install_gnumach_headers(cmdlist)
|
self.install_gnumach_headers(cmdlist)
|
||||||
@ -1266,48 +1313,6 @@ class Config(object):
|
|||||||
cmdlist.cleanup_dir()
|
cmdlist.cleanup_dir()
|
||||||
cmdlist.pop_subdesc()
|
cmdlist.pop_subdesc()
|
||||||
|
|
||||||
def install_linux_headers(self, cmdlist):
|
|
||||||
"""Install Linux kernel headers."""
|
|
||||||
arch_map = {'aarch64': 'arm64',
|
|
||||||
'alpha': 'alpha',
|
|
||||||
'arm': 'arm',
|
|
||||||
'csky': 'csky',
|
|
||||||
'hppa': 'parisc',
|
|
||||||
'i486': 'x86',
|
|
||||||
'i586': 'x86',
|
|
||||||
'i686': 'x86',
|
|
||||||
'i786': 'x86',
|
|
||||||
'ia64': 'ia64',
|
|
||||||
'm68k': 'm68k',
|
|
||||||
'microblaze': 'microblaze',
|
|
||||||
'mips': 'mips',
|
|
||||||
'nios2': 'nios2',
|
|
||||||
'powerpc': 'powerpc',
|
|
||||||
's390': 's390',
|
|
||||||
'riscv32': 'riscv',
|
|
||||||
'riscv64': 'riscv',
|
|
||||||
'sh': 'sh',
|
|
||||||
'sparc': 'sparc',
|
|
||||||
'x86_64': 'x86'}
|
|
||||||
linux_arch = None
|
|
||||||
for k in arch_map:
|
|
||||||
if self.arch.startswith(k):
|
|
||||||
linux_arch = arch_map[k]
|
|
||||||
break
|
|
||||||
assert linux_arch is not None
|
|
||||||
srcdir = self.ctx.component_srcdir('linux')
|
|
||||||
builddir = self.component_builddir('linux')
|
|
||||||
headers_dir = os.path.join(self.sysroot, 'usr')
|
|
||||||
cmdlist.push_subdesc('linux')
|
|
||||||
cmdlist.create_use_dir(builddir)
|
|
||||||
cmdlist.add_command('install-headers',
|
|
||||||
['make', '-C', srcdir, 'O=%s' % builddir,
|
|
||||||
'ARCH=%s' % linux_arch,
|
|
||||||
'INSTALL_HDR_PATH=%s' % headers_dir,
|
|
||||||
'headers_install'])
|
|
||||||
cmdlist.cleanup_dir()
|
|
||||||
cmdlist.pop_subdesc()
|
|
||||||
|
|
||||||
def install_gnumach_headers(self, cmdlist):
|
def install_gnumach_headers(self, cmdlist):
|
||||||
"""Install GNU Mach headers."""
|
"""Install GNU Mach headers."""
|
||||||
srcdir = self.ctx.component_srcdir('gnumach')
|
srcdir = self.ctx.component_srcdir('gnumach')
|
||||||
|
Reference in New Issue
Block a user