diff options
Diffstat (limited to 'recipes-devtools/clang/llvm-project-source.inc')
-rw-r--r-- | recipes-devtools/clang/llvm-project-source.inc | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/recipes-devtools/clang/llvm-project-source.inc b/recipes-devtools/clang/llvm-project-source.inc index 8ccc4b1..e4e0671 100644 --- a/recipes-devtools/clang/llvm-project-source.inc +++ b/recipes-devtools/clang/llvm-project-source.inc | |||
@@ -28,13 +28,25 @@ python add_distro_vendor() { | |||
28 | case = "" | 28 | case = "" |
29 | triple = "" | 29 | triple = "" |
30 | vendors = d.getVar('CLANG_EXTRA_OE_VENDORS') | 30 | vendors = d.getVar('CLANG_EXTRA_OE_VENDORS') |
31 | multilib_variants = d.getVar('MULTILIB_VARIANTS').split() | ||
32 | vendors_to_add = [] | ||
31 | for vendor in vendors.split(): | 33 | for vendor in vendors.split(): |
32 | # convert -yoe into yoe | 34 | # convert -yoe into yoe |
33 | vendor = vendor.lstrip('-') | 35 | vendor = vendor.lstrip('-') |
34 | if vendor == "oe": | 36 | # generate possible multilib vendor names for yoe |
35 | continue | 37 | # such as yoemllib32 |
36 | case += '\\n .Case("' + vendor + '", Triple::OpenEmbedded)' | 38 | vendors_to_add.extend([vendor + 'ml' + variant for variant in multilib_variants]) |
37 | triple += ' "x86_64-' + vendor + '-linux",' | 39 | # skip oe since already part of the cpp file |
40 | if vendor != "oe": | ||
41 | vendors_to_add.append(vendor) | ||
42 | |||
43 | for vendor_to_add in vendors_to_add: | ||
44 | case += '\\n .Case("' + vendor_to_add + '", Triple::OpenEmbedded)' | ||
45 | triple += ' "x86_64-' + vendor_to_add + '-linux",' | ||
46 | |||
47 | bb.note("Adding support following TARGET_VENDOR values") | ||
48 | bb.note(str(vendors_to_add)) | ||
49 | bb.note("in llvm/lib/Support/Triple.cpp and ${S}/clang/lib/Driver/ToolChains/Gnu.cpp") | ||
38 | cmd = d.expand("sed -i 's#//CLANG_EXTRA_OE_VENDORS_TRIPLES#%s#g' ${S}/clang/lib/Driver/ToolChains/Gnu.cpp" % (triple)) | 50 | cmd = d.expand("sed -i 's#//CLANG_EXTRA_OE_VENDORS_TRIPLES#%s#g' ${S}/clang/lib/Driver/ToolChains/Gnu.cpp" % (triple)) |
39 | subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True) | 51 | subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True) |
40 | cmd = d.expand("sed -i 's#//CLANG_EXTRA_OE_VENDORS_CASES#%s#g' -i ${S}/llvm/lib/Support/Triple.cpp" % (case)) | 52 | cmd = d.expand("sed -i 's#//CLANG_EXTRA_OE_VENDORS_CASES#%s#g' -i ${S}/llvm/lib/Support/Triple.cpp" % (case)) |