diff options
| -rw-r--r-- | meta/conf/distro/include/maintainers.inc | 1 | ||||
| -rw-r--r-- | meta/recipes-devtools/clang/clang-cross-canadian_git.bb | 2 | ||||
| -rw-r--r-- | meta/recipes-devtools/clang/clang-cross_git.bb | 6 | ||||
| -rw-r--r-- | meta/recipes-devtools/clang/clang-crosssdk_git.bb | 3 | ||||
| -rw-r--r-- | meta/recipes-devtools/clang/clang_git.bb | 12 | ||||
| -rw-r--r-- | meta/recipes-devtools/clang/lld_git.bb | 26 |
6 files changed, 39 insertions, 11 deletions
diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc index ed1bc18ba3..96d5a0819c 100644 --- a/meta/conf/distro/include/maintainers.inc +++ b/meta/conf/distro/include/maintainers.inc | |||
| @@ -480,6 +480,7 @@ RECIPE_MAINTAINER:pn-linux-yocto = "Bruce Ashfield <bruce.ashfield@gmail.com>" | |||
| 480 | RECIPE_MAINTAINER:pn-linux-yocto-dev = "Bruce Ashfield <bruce.ashfield@gmail.com>" | 480 | RECIPE_MAINTAINER:pn-linux-yocto-dev = "Bruce Ashfield <bruce.ashfield@gmail.com>" |
| 481 | RECIPE_MAINTAINER:pn-linux-yocto-rt = "Bruce Ashfield <bruce.ashfield@gmail.com>" | 481 | RECIPE_MAINTAINER:pn-linux-yocto-rt = "Bruce Ashfield <bruce.ashfield@gmail.com>" |
| 482 | RECIPE_MAINTAINER:pn-linux-yocto-tiny = "Bruce Ashfield <bruce.ashfield@gmail.com>" | 482 | RECIPE_MAINTAINER:pn-linux-yocto-tiny = "Bruce Ashfield <bruce.ashfield@gmail.com>" |
| 483 | RECIPE_MAINTAINER:pn-lld = "Khem Raj <raj.khem@gmail.com>" | ||
| 483 | RECIPE_MAINTAINER:pn-lldb = "Khem Raj <raj.khem@gmail.com>" | 484 | RECIPE_MAINTAINER:pn-lldb = "Khem Raj <raj.khem@gmail.com>" |
| 484 | RECIPE_MAINTAINER:pn-llvm-project-source-20.1.8 = "Khem Raj <raj.khem@gmail.com>" | 485 | RECIPE_MAINTAINER:pn-llvm-project-source-20.1.8 = "Khem Raj <raj.khem@gmail.com>" |
| 485 | RECIPE_MAINTAINER:pn-llvm-tblgen-native = "Khem Raj <raj.khem@gmail.com>" | 486 | RECIPE_MAINTAINER:pn-llvm-tblgen-native = "Khem Raj <raj.khem@gmail.com>" |
diff --git a/meta/recipes-devtools/clang/clang-cross-canadian_git.bb b/meta/recipes-devtools/clang/clang-cross-canadian_git.bb index c966861578..18bd6ecfde 100644 --- a/meta/recipes-devtools/clang/clang-cross-canadian_git.bb +++ b/meta/recipes-devtools/clang/clang-cross-canadian_git.bb | |||
| @@ -11,7 +11,7 @@ PN = "clang-cross-canadian-${TRANSLATED_TARGET_ARCH}" | |||
| 11 | 11 | ||
| 12 | inherit cross-canadian | 12 | inherit cross-canadian |
| 13 | 13 | ||
| 14 | DEPENDS = "nativesdk-clang binutils-cross-canadian-${TRANSLATED_TARGET_ARCH} virtual/nativesdk-cross-binutils virtual/nativesdk-libc" | 14 | DEPENDS = "nativesdk-clang binutils-cross-canadian-${TRANSLATED_TARGET_ARCH} virtual/nativesdk-cross-binutils virtual/nativesdk-libc ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', 'nativesdk-lld', '', d)}" |
| 15 | 15 | ||
| 16 | do_install() { | 16 | do_install() { |
| 17 | install -d ${D}${bindir} | 17 | install -d ${D}${bindir} |
diff --git a/meta/recipes-devtools/clang/clang-cross_git.bb b/meta/recipes-devtools/clang/clang-cross_git.bb index bd72ee4e6d..33b01e4234 100644 --- a/meta/recipes-devtools/clang/clang-cross_git.bb +++ b/meta/recipes-devtools/clang/clang-cross_git.bb | |||
| @@ -11,7 +11,7 @@ PN = "clang-cross-${TARGET_ARCH}" | |||
| 11 | 11 | ||
| 12 | inherit cross | 12 | inherit cross |
| 13 | 13 | ||
| 14 | DEPENDS = "clang-native virtual/cross-binutils" | 14 | DEPENDS = "clang-native virtual/cross-binutils ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', 'lld-native', '', d)}" |
| 15 | 15 | ||
| 16 | do_install() { | 16 | do_install() { |
| 17 | install -d ${D}${bindir} | 17 | install -d ${D}${bindir} |
| @@ -19,6 +19,8 @@ do_install() { | |||
| 19 | llvm-nm llvm-ar llvm-as llvm-ranlib llvm-strip llvm-objcopy llvm-objdump llvm-readelf \ | 19 | llvm-nm llvm-ar llvm-as llvm-ranlib llvm-strip llvm-objcopy llvm-objdump llvm-readelf \ |
| 20 | llvm-addr2line llvm-dwp llvm-size llvm-strings llvm-cov | 20 | llvm-addr2line llvm-dwp llvm-size llvm-strings llvm-cov |
| 21 | do | 21 | do |
| 22 | ln -sf ../$tool ${D}${bindir}/${TARGET_PREFIX}$tool | 22 | if [ -x ${STAGING_BINDIR_NATIVE}/$tool ]; then |
| 23 | ln -sf ../$tool ${D}${bindir}/${TARGET_PREFIX}$tool | ||
| 24 | fi | ||
| 23 | done | 25 | done |
| 24 | } | 26 | } |
diff --git a/meta/recipes-devtools/clang/clang-crosssdk_git.bb b/meta/recipes-devtools/clang/clang-crosssdk_git.bb index 320579d8f1..9b527975a9 100644 --- a/meta/recipes-devtools/clang/clang-crosssdk_git.bb +++ b/meta/recipes-devtools/clang/clang-crosssdk_git.bb | |||
| @@ -11,7 +11,8 @@ PN = "clang-crosssdk-${SDK_SYS}" | |||
| 11 | 11 | ||
| 12 | inherit crosssdk | 12 | inherit crosssdk |
| 13 | 13 | ||
| 14 | DEPENDS = "clang-native nativesdk-clang-glue virtual/nativesdk-cross-binutils virtual/nativesdk-libc" | 14 | DEPENDS = "clang-native nativesdk-clang-glue virtual/nativesdk-cross-binutils virtual/nativesdk-libc \ |
| 15 | ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', 'lld-native', '', d)}" | ||
| 15 | 16 | ||
| 16 | do_install() { | 17 | do_install() { |
| 17 | install -d ${D}${bindir} | 18 | install -d ${D}${bindir} |
diff --git a/meta/recipes-devtools/clang/clang_git.bb b/meta/recipes-devtools/clang/clang_git.bb index cade4ca4a2..79525258be 100644 --- a/meta/recipes-devtools/clang/clang_git.bb +++ b/meta/recipes-devtools/clang/clang_git.bb | |||
| @@ -57,7 +57,7 @@ PACKAGECONFIG[eh] = "-DLLVM_ENABLE_EH=ON,-DLLVM_ENABLE_EH=OFF,," | |||
| 57 | PACKAGECONFIG[libcplusplus] = "-DCLANG_DEFAULT_CXX_STDLIB=libc++,," | 57 | PACKAGECONFIG[libcplusplus] = "-DCLANG_DEFAULT_CXX_STDLIB=libc++,," |
| 58 | PACKAGECONFIG[libedit] = "-DLLVM_ENABLE_LIBEDIT=ON,-DLLVM_ENABLE_LIBEDIT=OFF,libedit libedit-native" | 58 | PACKAGECONFIG[libedit] = "-DLLVM_ENABLE_LIBEDIT=ON,-DLLVM_ENABLE_LIBEDIT=OFF,libedit libedit-native" |
| 59 | PACKAGECONFIG[libomp] = "-DCLANG_DEFAULT_OPENMP_RUNTIME=libomp,," | 59 | PACKAGECONFIG[libomp] = "-DCLANG_DEFAULT_OPENMP_RUNTIME=libomp,," |
| 60 | PACKAGECONFIG[lld] = "-DCLANG_DEFAULT_LINKER=lld,," | 60 | PACKAGECONFIG[lld] = "-DCLANG_DEFAULT_LINKER=lld,,," |
| 61 | PACKAGECONFIG[lto] = "-DLLVM_ENABLE_LTO=Full -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR},,binutils," | 61 | PACKAGECONFIG[lto] = "-DLLVM_ENABLE_LTO=Full -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR},,binutils," |
| 62 | PACKAGECONFIG[pfm] = "-DLLVM_ENABLE_LIBPFM=ON,-DLLVM_ENABLE_LIBPFM=OFF,libpfm," | 62 | PACKAGECONFIG[pfm] = "-DLLVM_ENABLE_LIBPFM=ON,-DLLVM_ENABLE_LIBPFM=OFF,libpfm," |
| 63 | PACKAGECONFIG[rtti] = "-DLLVM_ENABLE_RTTI=ON,-DLLVM_ENABLE_RTTI=OFF,," | 63 | PACKAGECONFIG[rtti] = "-DLLVM_ENABLE_RTTI=ON,-DLLVM_ENABLE_RTTI=OFF,," |
| @@ -89,7 +89,7 @@ HF[vardepvalue] = "${HF}" | |||
| 89 | 89 | ||
| 90 | # Ensure that LLVM_PROJECTS does not contain compiler runtime components e.g. libcxx etc | 90 | # Ensure that LLVM_PROJECTS does not contain compiler runtime components e.g. libcxx etc |
| 91 | # they are enabled via LLVM_ENABLE_RUNTIMES | 91 | # they are enabled via LLVM_ENABLE_RUNTIMES |
| 92 | LLVM_PROJECTS ?= "clang;clang-tools-extra;lld" | 92 | LLVM_PROJECTS ?= "clang;clang-tools-extra" |
| 93 | 93 | ||
| 94 | # linux hosts (.so) on Windows .pyd | 94 | # linux hosts (.so) on Windows .pyd |
| 95 | SOLIBSDEV:mingw32 = ".pyd" | 95 | SOLIBSDEV:mingw32 = ".pyd" |
| @@ -141,8 +141,8 @@ DEPENDS = "binutils zlib zstd libffi libxml2 libxml2-native llvm-tblgen-native" | |||
| 141 | DEPENDS:append:class-nativesdk = " clang-crosssdk-${SDK_SYS} virtual/nativesdk-cross-binutils" | 141 | DEPENDS:append:class-nativesdk = " clang-crosssdk-${SDK_SYS} virtual/nativesdk-cross-binutils" |
| 142 | DEPENDS:append:class-target = " clang-cross-${TARGET_ARCH} ${@bb.utils.contains('TC_CXX_RUNTIME', 'llvm', 'compiler-rt libcxx', '', d)}" | 142 | DEPENDS:append:class-target = " clang-cross-${TARGET_ARCH} ${@bb.utils.contains('TC_CXX_RUNTIME', 'llvm', 'compiler-rt libcxx', '', d)}" |
| 143 | 143 | ||
| 144 | RRECOMMENDS:${PN} = "binutils" | 144 | RDEPENDS:${PN}:append:class-target = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' lld', '', d)}" |
| 145 | RRECOMMENDS:${PN}:append:class-target = "${@bb.utils.contains('TC_CXX_RUNTIME', 'llvm', ' libcxx-dev', '', d)}" | 145 | RRECOMMENDS:${PN}:append:class-target = "binutils ${@bb.utils.contains('TC_CXX_RUNTIME', 'llvm', ' libcxx-dev', '', d)}" |
| 146 | 146 | ||
| 147 | # patch out build host paths for reproducibility | 147 | # patch out build host paths for reproducibility |
| 148 | reproducible_build_variables() { | 148 | reproducible_build_variables() { |
| @@ -370,10 +370,8 @@ clang_sysroot_preprocess() { | |||
| 370 | install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/ | 370 | install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/ |
| 371 | install -m 0755 ${S}/llvm/tools/llvm-config/llvm-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/ | 371 | install -m 0755 ${S}/llvm/tools/llvm-config/llvm-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/ |
| 372 | ln -sf llvm-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/llvm-config${PV} | 372 | ln -sf llvm-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/llvm-config${PV} |
| 373 | # LLDTargets.cmake references the lld executable(!) that some modules/plugins link to | ||
| 374 | install -d ${SYSROOT_DESTDIR}${bindir} | ||
| 375 | 373 | ||
| 376 | binaries="lld diagtool clang-${MAJOR_VER} clang-format clang-offload-packager | 374 | binaries="diagtool clang-${MAJOR_VER} clang-format clang-offload-packager |
| 377 | clang-offload-bundler clang-scan-deps clang-repl | 375 | clang-offload-bundler clang-scan-deps clang-repl |
| 378 | clang-refactor clang-check clang-extdef-mapping clang-apply-replacements | 376 | clang-refactor clang-check clang-extdef-mapping clang-apply-replacements |
| 379 | clang-reorder-fields clang-tidy clang-change-namespace clang-doc clang-include-fixer | 377 | clang-reorder-fields clang-tidy clang-change-namespace clang-doc clang-include-fixer |
diff --git a/meta/recipes-devtools/clang/lld_git.bb b/meta/recipes-devtools/clang/lld_git.bb new file mode 100644 index 0000000000..02006e0edc --- /dev/null +++ b/meta/recipes-devtools/clang/lld_git.bb | |||
| @@ -0,0 +1,26 @@ | |||
| 1 | SUMMARY = "LLD - the LLVM Linker" | ||
| 2 | DESCRIPTION = "LLD is a linker from the LLVM project that is a drop-in replacement for system linkers and runs much faster than them." | ||
| 3 | HOMEPAGE = "https://lld.llvm.org" | ||
| 4 | SECTION = "devel" | ||
| 5 | |||
| 6 | require common-clang.inc | ||
| 7 | require common-source.inc | ||
| 8 | |||
| 9 | LIC_FILES_CHKSUM = "file://lld/LICENSE.TXT;md5=ae7dc7c027b1fa89b5b013d391d3ee2b" | ||
| 10 | |||
| 11 | inherit cmake pkgconfig | ||
| 12 | |||
| 13 | DEPENDS = "llvm-tblgen-native llvm" | ||
| 14 | |||
| 15 | OECMAKE_SOURCEPATH = "${S}/lld" | ||
| 16 | |||
| 17 | # Explicitly disable RPATHs as otherwise they're stipped out of the binaries, | ||
| 18 | # and are then non-reproducible. | ||
| 19 | # | ||
| 20 | # Explicitly enable symlinks as the lld build doesn't call into the llvm setup | ||
| 21 | # and turn that on. | ||
| 22 | EXTRA_OECMAKE = "-DCMAKE_SKIP_BUILD_RPATH=ON \ | ||
| 23 | -DLLVM_INCLUDE_TESTS=OFF -DLLVM_USE_SYMLINKS=ON \ | ||
| 24 | -DLLVM_TABLEGEN_EXE=${STAGING_BINDIR_NATIVE}/llvm-tblgen" | ||
| 25 | |||
| 26 | BBCLASSEXTEND = "native nativesdk" | ||
