Skip to content

Commit

Permalink
Fix missing ar tool.
Browse files Browse the repository at this point in the history
  • Loading branch information
agoessling committed Mar 1, 2022
1 parent ab503e9 commit cbc7d70
Show file tree
Hide file tree
Showing 32 changed files with 62 additions and 45 deletions.
46 changes: 31 additions & 15 deletions setup_toolchains.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,16 +37,32 @@
},
}

_ALL_TOOLS = [
'ar',
'cpp',
'gcc',
'gcov',
'ld',
'nm',
'objdump',
'strip',
]
_ALL_TOOLS = {
'ar': {
'buildroot_name': 'ar'
},
'cpp': {
'buildroot_name': 'cpp.br_real'
},
'gcc': {
'buildroot_name': 'gcc.br_real'
},
'gcov': {
'buildroot_name': 'gcov'
},
'ld': {
'buildroot_name': 'ld'
},
'nm': {
'buildroot_name': 'nm'
},
'objdump': {
'buildroot_name': 'objdump'
},
'strip': {
'buildroot_name': 'strip'
},
}


def create_wrappers(wrapper_dir):
Expand All @@ -56,31 +72,31 @@ def create_wrappers(wrapper_dir):
except FileExistsError:
pass

for version, info in buildroot_versions.items():
for version, version_info in buildroot_versions.items():
try:
os.mkdir(os.path.join(wrapper_dir, arch, version))
except FileExistsError:
pass

for tool in _ALL_TOOLS:
for tool, tool_info in _ALL_TOOLS.items():
toolchain_name = f'{arch}-linux-gnu-{version}'
wrapper_name = f'{toolchain_name}-{tool}'
actual_tool_name = f'{info["tool_prefix"]}-{tool}'
actual_tool_name = f'{version_info["tool_prefix"]}-{tool_info["buildroot_name"]}'
wrapper_path = os.path.join(wrapper_dir, arch, version, wrapper_name)

with open(wrapper_path, 'w') as f:
f.write('#!/bin/bash\n')
# Uses buildroot's ".br_real" wrapper to allow -no-canonical-prefix,
# -fno-canonical-system-headers, and --sysroot to correctly work (using relative paths).
f.write(f'exec external/{toolchain_name}/bin/{actual_tool_name}.br_real $@\n')
f.write(f'exec external/{toolchain_name}/bin/{actual_tool_name} $@\n')

os.chmod(wrapper_path, 0o777)


def write_toolchain_info(filename):
with open(filename, 'w') as f:
f.write('AVAILABLE_TOOLCHAINS = {}\n'.format(str(_AVAILABLE_TOOLCHAINS).replace('\'', '"')))
f.write('ALL_TOOLS = {}\n'.format(str(_ALL_TOOLS).replace('\'', '"')))
f.write('ALL_TOOLS = {}\n'.format(str(list(_ALL_TOOLS)).replace('\'', '"')))


def write_test_script(filename):
Expand Down
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#!/bin/bash
exec external/aarch64-linux-gnu-2020.08-1/bin/aarch64-buildroot-linux-gnu-ar.br_real $@
exec external/aarch64-linux-gnu-2020.08-1/bin/aarch64-buildroot-linux-gnu-ar $@
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#!/bin/bash
exec external/aarch64-linux-gnu-2020.08-1/bin/aarch64-buildroot-linux-gnu-gcov.br_real $@
exec external/aarch64-linux-gnu-2020.08-1/bin/aarch64-buildroot-linux-gnu-gcov $@
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#!/bin/bash
exec external/aarch64-linux-gnu-2020.08-1/bin/aarch64-buildroot-linux-gnu-ld.br_real $@
exec external/aarch64-linux-gnu-2020.08-1/bin/aarch64-buildroot-linux-gnu-ld $@
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#!/bin/bash
exec external/aarch64-linux-gnu-2020.08-1/bin/aarch64-buildroot-linux-gnu-nm.br_real $@
exec external/aarch64-linux-gnu-2020.08-1/bin/aarch64-buildroot-linux-gnu-nm $@
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#!/bin/bash
exec external/aarch64-linux-gnu-2020.08-1/bin/aarch64-buildroot-linux-gnu-objdump.br_real $@
exec external/aarch64-linux-gnu-2020.08-1/bin/aarch64-buildroot-linux-gnu-objdump $@
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#!/bin/bash
exec external/aarch64-linux-gnu-2020.08-1/bin/aarch64-buildroot-linux-gnu-strip.br_real $@
exec external/aarch64-linux-gnu-2020.08-1/bin/aarch64-buildroot-linux-gnu-strip $@
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#!/bin/bash
exec external/aarch64-linux-gnu-2021.11-1/bin/aarch64-buildroot-linux-gnu-ar.br_real $@
exec external/aarch64-linux-gnu-2021.11-1/bin/aarch64-buildroot-linux-gnu-ar $@
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#!/bin/bash
exec external/aarch64-linux-gnu-2021.11-1/bin/aarch64-buildroot-linux-gnu-gcov.br_real $@
exec external/aarch64-linux-gnu-2021.11-1/bin/aarch64-buildroot-linux-gnu-gcov $@
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#!/bin/bash
exec external/aarch64-linux-gnu-2021.11-1/bin/aarch64-buildroot-linux-gnu-ld.br_real $@
exec external/aarch64-linux-gnu-2021.11-1/bin/aarch64-buildroot-linux-gnu-ld $@
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#!/bin/bash
exec external/aarch64-linux-gnu-2021.11-1/bin/aarch64-buildroot-linux-gnu-nm.br_real $@
exec external/aarch64-linux-gnu-2021.11-1/bin/aarch64-buildroot-linux-gnu-nm $@
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#!/bin/bash
exec external/aarch64-linux-gnu-2021.11-1/bin/aarch64-buildroot-linux-gnu-objdump.br_real $@
exec external/aarch64-linux-gnu-2021.11-1/bin/aarch64-buildroot-linux-gnu-objdump $@
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#!/bin/bash
exec external/aarch64-linux-gnu-2021.11-1/bin/aarch64-buildroot-linux-gnu-strip.br_real $@
exec external/aarch64-linux-gnu-2021.11-1/bin/aarch64-buildroot-linux-gnu-strip $@
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#!/bin/bash
exec external/armv7-eabihf-linux-gnu-2020.08-1/bin/arm-buildroot-linux-gnueabihf-ar.br_real $@
exec external/armv7-eabihf-linux-gnu-2020.08-1/bin/arm-buildroot-linux-gnueabihf-ar $@
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#!/bin/bash
exec external/armv7-eabihf-linux-gnu-2020.08-1/bin/arm-buildroot-linux-gnueabihf-gcov.br_real $@
exec external/armv7-eabihf-linux-gnu-2020.08-1/bin/arm-buildroot-linux-gnueabihf-gcov $@
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#!/bin/bash
exec external/armv7-eabihf-linux-gnu-2020.08-1/bin/arm-buildroot-linux-gnueabihf-ld.br_real $@
exec external/armv7-eabihf-linux-gnu-2020.08-1/bin/arm-buildroot-linux-gnueabihf-ld $@
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#!/bin/bash
exec external/armv7-eabihf-linux-gnu-2020.08-1/bin/arm-buildroot-linux-gnueabihf-nm.br_real $@
exec external/armv7-eabihf-linux-gnu-2020.08-1/bin/arm-buildroot-linux-gnueabihf-nm $@
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#!/bin/bash
exec external/armv7-eabihf-linux-gnu-2020.08-1/bin/arm-buildroot-linux-gnueabihf-objdump.br_real $@
exec external/armv7-eabihf-linux-gnu-2020.08-1/bin/arm-buildroot-linux-gnueabihf-objdump $@
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#!/bin/bash
exec external/armv7-eabihf-linux-gnu-2020.08-1/bin/arm-buildroot-linux-gnueabihf-strip.br_real $@
exec external/armv7-eabihf-linux-gnu-2020.08-1/bin/arm-buildroot-linux-gnueabihf-strip $@
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#!/bin/bash
exec external/x86-64-core-i7-linux-gnu-2020.08-1/bin/x86_64-buildroot-linux-gnu-ar.br_real $@
exec external/x86-64-core-i7-linux-gnu-2020.08-1/bin/x86_64-buildroot-linux-gnu-ar $@
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#!/bin/bash
exec external/x86-64-core-i7-linux-gnu-2020.08-1/bin/x86_64-buildroot-linux-gnu-gcov.br_real $@
exec external/x86-64-core-i7-linux-gnu-2020.08-1/bin/x86_64-buildroot-linux-gnu-gcov $@
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#!/bin/bash
exec external/x86-64-core-i7-linux-gnu-2020.08-1/bin/x86_64-buildroot-linux-gnu-ld.br_real $@
exec external/x86-64-core-i7-linux-gnu-2020.08-1/bin/x86_64-buildroot-linux-gnu-ld $@
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#!/bin/bash
exec external/x86-64-core-i7-linux-gnu-2020.08-1/bin/x86_64-buildroot-linux-gnu-nm.br_real $@
exec external/x86-64-core-i7-linux-gnu-2020.08-1/bin/x86_64-buildroot-linux-gnu-nm $@
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#!/bin/bash
exec external/x86-64-core-i7-linux-gnu-2020.08-1/bin/x86_64-buildroot-linux-gnu-objdump.br_real $@
exec external/x86-64-core-i7-linux-gnu-2020.08-1/bin/x86_64-buildroot-linux-gnu-objdump $@
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#!/bin/bash
exec external/x86-64-core-i7-linux-gnu-2020.08-1/bin/x86_64-buildroot-linux-gnu-strip.br_real $@
exec external/x86-64-core-i7-linux-gnu-2020.08-1/bin/x86_64-buildroot-linux-gnu-strip $@
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#!/bin/bash
exec external/x86-64-linux-gnu-2021.11-5/bin/x86_64-buildroot-linux-gnu-ar.br_real $@
exec external/x86-64-linux-gnu-2021.11-5/bin/x86_64-buildroot-linux-gnu-ar $@
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#!/bin/bash
exec external/x86-64-linux-gnu-2021.11-5/bin/x86_64-buildroot-linux-gnu-gcov.br_real $@
exec external/x86-64-linux-gnu-2021.11-5/bin/x86_64-buildroot-linux-gnu-gcov $@
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#!/bin/bash
exec external/x86-64-linux-gnu-2021.11-5/bin/x86_64-buildroot-linux-gnu-ld.br_real $@
exec external/x86-64-linux-gnu-2021.11-5/bin/x86_64-buildroot-linux-gnu-ld $@
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#!/bin/bash
exec external/x86-64-linux-gnu-2021.11-5/bin/x86_64-buildroot-linux-gnu-nm.br_real $@
exec external/x86-64-linux-gnu-2021.11-5/bin/x86_64-buildroot-linux-gnu-nm $@
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#!/bin/bash
exec external/x86-64-linux-gnu-2021.11-5/bin/x86_64-buildroot-linux-gnu-objdump.br_real $@
exec external/x86-64-linux-gnu-2021.11-5/bin/x86_64-buildroot-linux-gnu-objdump $@
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#!/bin/bash
exec external/x86-64-linux-gnu-2021.11-5/bin/x86_64-buildroot-linux-gnu-strip.br_real $@
exec external/x86-64-linux-gnu-2021.11-5/bin/x86_64-buildroot-linux-gnu-strip $@
1 change: 1 addition & 0 deletions toolchains/toolchains.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ def bootlin_toolchain_defs(architecture, buildroot_version):
name = "{0}_cc_toolchain".format(toolchain_name),
toolchain_config = ":{0}_toolchain_config".format(toolchain_name),
all_files = ":{0}_all_files".format(toolchain_name),
ar_files = ":{0}_all_files".format(toolchain_name),
compiler_files = ":{0}_all_files".format(toolchain_name),
dwp_files = "@bazel_bootlin//toolchains:empty",
linker_files = ":{0}_all_files".format(toolchain_name),
Expand Down

0 comments on commit cbc7d70

Please sign in to comment.