Revert "bump fuchsia toolchain to clang-12" (#23456) (#23506)
Co-authored-by: Chase Latta <chaselatta@google.com>
diff --git a/DEPS b/DEPS
index 9abb2db..040f5ee 100644
--- a/DEPS
+++ b/DEPS
@@ -99,7 +99,7 @@
]
deps = {
- 'src': 'https://github.com/flutter/buildroot.git' + '@' + 'c80bb183b30b3df12a3d8a6db235c0171c10d6a0',
+ 'src': 'https://github.com/flutter/buildroot.git' + '@' + '3d37855508a4de2481ad0fead8e15563f0210c2c',
# Fuchsia compatibility
#
@@ -533,6 +533,16 @@
'condition': 'host_os == "mac"',
'dep_type': 'cipd',
},
+ 'src/fuchsia/toolchain/mac': {
+ 'packages': [
+ {
+ 'package': 'fuchsia/clang/mac-amd64',
+ 'version': 'OzTZOKkICT0yD82Dbx0jvVn5hN5eOSi6ByVTDseE7i0C'
+ }
+ ],
+ 'condition': 'host_os == "mac"',
+ 'dep_type': 'cipd',
+ },
'src/fuchsia/sdk/linux': {
'packages': [
{
@@ -543,16 +553,16 @@
'condition': 'host_os == "linux"',
'dep_type': 'cipd',
},
- 'src/fuchsia/toolchain/{host_os}': {
+ 'src/fuchsia/toolchain/linux': {
'packages': [
{
- 'package': 'fuchsia/third_party/clang/${{platform}}',
- 'version': 'git_revision:3aa8e071dd1ae7e9fb9e28fa9fcdb9f9fdb7aa06'
+ 'package': 'fuchsia/clang/linux-amd64',
+ 'version': 'OT6p30bQQhyCzRSy7xPsSbZ88J3PWOnneenkMZ0j7kIC'
}
- ],
- 'condition': 'host_os == "mac" or host_os == "linux"',
- 'dep_type': 'cipd',
- },
+ ],
+ 'condition': 'host_os == "linux"',
+ 'dep_type': 'cipd',
+ },
}
hooks = [
diff --git a/tools/fuchsia/clang.gni b/tools/fuchsia/clang.gni
index df9eb45..010915d 100644
--- a/tools/fuchsia/clang.gni
+++ b/tools/fuchsia/clang.gni
@@ -26,10 +26,7 @@
assert(false, "OS not supported")
}
-clang_manifest = rebase_path("$clang_base/runtime.json")
+clang_manifest = rebase_path("$clang_base/${clang_target}.manifest")
clang_manifest_json = exec_script("//flutter/tools/fuchsia/parse_manifest.py",
- [
- "--input=${clang_manifest}",
- "--clang-cpu=${clang_cpu}",
- ],
+ [ "--input=${clang_manifest}" ],
"json")
diff --git a/tools/fuchsia/fuchsia_libs.gni b/tools/fuchsia/fuchsia_libs.gni
index aadd693..795cc3c 100644
--- a/tools/fuchsia/fuchsia_libs.gni
+++ b/tools/fuchsia/fuchsia_libs.gni
@@ -48,17 +48,17 @@
{
name = "libc++.so.2"
path = rebase_path(
- "$clang_base/${clang_manifest_json.md5_19df03aecdc9eb27bc8b4038352f2b27}")
+ "$clang_base/${clang_manifest_json.md5_33bfe15b05ada4ed326fbc33adb39b95}")
},
{
name = "libc++abi.so.1"
path = rebase_path(
- "$clang_base/${clang_manifest_json.md5_6aff1b5f218d4a9278d85d63d0695af8}")
+ "$clang_base/${clang_manifest_json.md5_916c01a85e3353f124776599819ecb1c}")
},
{
name = "libunwind.so.1"
path = rebase_path(
- "$clang_base/${clang_manifest_json.md5_fb2bd871885ef42c2cf3138655f901ed}")
+ "$clang_base/${clang_manifest_json.md5_beb70f40d525448b39ea87d9f5811e56}")
},
]
diff --git a/tools/fuchsia/parse_manifest.py b/tools/fuchsia/parse_manifest.py
index bb7e491..af45d50 100755
--- a/tools/fuchsia/parse_manifest.py
+++ b/tools/fuchsia/parse_manifest.py
@@ -12,34 +12,27 @@
import sys
import hashlib
+
def main():
parser = argparse.ArgumentParser()
parser.add_argument(
'--input', dest='file_path', action='store', required=True)
- parser.add_argument(
- '--clang-cpu', dest='clang_cpu', action='store', required=True)
args = parser.parse_args()
- with open(args.file_path) as f:
- data = json.load(f)
+ files = open(args.file_path, 'r')
+ lines = files.read().split()
output = {}
- target = args.clang_cpu + '-fuchsia'
- for d in data:
- if target in d['target']:
- for runtime in d['runtime']:
- # key contains the soname and the cflags used to compile it.
- # this allows us to distinguish between different sanitizers
- # and experiments
- key = runtime['soname'] + ''.join(d['cflags'])
- md5 = hashlib.md5(key.encode()).hexdigest()
- hash_key = 'md5_%s' % md5
- # Uncomment this line to get the hash keys
- # print runtime['dist'], d['cflags'], hash_key
- output[hash_key] = os.path.dirname(runtime['dist'])
+ for line in lines:
+ key, val = line.strip().split('=')
+ md5 = hashlib.md5(key.encode()).hexdigest()
+ hash_key = 'md5_%s' % md5
+ # Uncomment this line to get the hash keys
+ # print val, hash_key
+ output[hash_key] = os.path.dirname(val)
print(json.dumps(output))