From feb0daf81d888e9160f9f94502de09b66f2a63fd Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 21 Jun 2020 17:50:24 +0100 Subject: gentoo resync : 21.06.2020 --- sys-devel/clang/Manifest | 8 +- sys-devel/clang/clang-10.0.1.9999.ebuild | 61 +- sys-devel/clang/clang-10.0.1_rc1.ebuild | 61 +- sys-devel/clang/clang-11.0.0.9999.ebuild | 51 +- ...-extra-Prevent-linking-to-duplicate-.a-li.patch | 788 +++++++++++++++++++++ ...-linking-c-index-test-to-duplicate-librar.patch | 29 + 6 files changed, 929 insertions(+), 69 deletions(-) create mode 100644 sys-devel/clang/files/10.0.1/0003-clang-tools-extra-Prevent-linking-to-duplicate-.a-li.patch create mode 100644 sys-devel/clang/files/10.0.1/0004-clang-Avoid-linking-c-index-test-to-duplicate-librar.patch (limited to 'sys-devel/clang') diff --git a/sys-devel/clang/Manifest b/sys-devel/clang/Manifest index f6a8e0939ec4..d8c57d0b49f6 100644 --- a/sys-devel/clang/Manifest +++ b/sys-devel/clang/Manifest @@ -1,3 +1,5 @@ +AUX 10.0.1/0003-clang-tools-extra-Prevent-linking-to-duplicate-.a-li.patch 23184 BLAKE2B 42bfc9401bceea6627703f7611aafe4708e4e745e47e8caa01fb8c7126524ef65e4c135cfd0541bc663bfc52fa8c47342f7f8de462abe283ec353b068d2e3532 SHA512 9561c9ab6dc62257b7626f7898afa667401522817ec57137641f8687549b0b8e531659a5afd5226dd7619126cc67f68235f628cbe639345277415343c4ca3650 +AUX 10.0.1/0004-clang-Avoid-linking-c-index-test-to-duplicate-librar.patch 970 BLAKE2B 564394bea7e9d5a056e7ce39b3e5261f1214637084c1669d34e4d9c3296582732765654ccc2dd76507df2d7fb8406da4185339134fa52bb5c38a2335a55b4f50 SHA512 41050092b31b2558b2d24665f4b5b5bde8b7d50b979c21d57c6e59119dcfa95c3616b873214a8e986268a20436c0895b702547adeb44d6d7576c89de1ba2d587 AUX 8.0.1/darwin_prefix-include-paths.patch 690 BLAKE2B cfb96eb259fb7d557d215be08ea3babcae6dc1353171fad7f297f787d476d28768c7c1bbe6efc7404ea638f1dc6b4b36e1c17e141faf82be623bbd96d5e09118 SHA512 5f8ecabaf43853964bffeb3953b205bea7e8928fd53637d01842723ac8344e19cc639f6f06c199f2be88b73e60b6eab1987bc5ee7dfeaea5e710eacab90f3533 DIST cfe-8.0.1.src.tar.xz 12810056 BLAKE2B 88cee0b6daa477ca0473c76efc45beb634f6194ecd3f45aaec3791e26b203c5dbd33c649435e0d97924096a72c727d76915bffc0b7ea305f24d5e5f06389c4a0 SHA512 1227b2d32052c70b4b494659849000188fce46fc31a71f3352ba8457ac0b0b17e4bc7c8589874c8586d55aa808ee6c1fceb7df501aafa33599f8df7bfd2b791d DIST clang-tools-extra-8.0.1.src.tar.xz 1994068 BLAKE2B 7d312c1a958d9c5b24515067cbb1db3a92b34cdf77c2345c08ef2f327d2ae4ca7f05252d72ede6569e25cda34225963a8d415cc64279e39d542449ba56eae9c9 SHA512 d39962c30ee9d8a1679d8007009b48dea2c8aaeb283bed781a9e22a1a57b8186c2cfe058da046658882ace1c84a30ddf9b4cb75bce988891189e8423b6c6a72c @@ -9,9 +11,9 @@ DIST llvmorg-10.0.0.tar.gz 120804856 BLAKE2B 6b0254f5b913398cdcf2b2ec1ff21988870 DIST llvmorg-10.0.1-rc1.tar.gz 120834583 BLAKE2B 64244ebcb6f2c171c9f606e5eb0adff2794f06c9312a0ca627fb79c107c0c898ac242cf4e92523c3265fa717322601d7e3f4d178515fac95d03ee92312082b06 SHA512 f877f66046969a4055b166ad50ef876a9c8ecaf03e2cdd7c8e1a3348eb5f5180f222fa457b1f090a6660282a0d9f7a1d39cf09a04abe0dde0a6e1e10ccf15597 DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59 EBUILD clang-10.0.0.ebuild 10194 BLAKE2B b7fdf307bd1df5fb9b4a1b74ce54852293d884396004f23011aa30d0f53cc740d554fe2fa723939b826c34b3b0797242d16eeaac0eb4465f09142005b0213f26 SHA512 7187998e91d5239e4824c6ecce16dddadff571a0e75f50ca7f0766ff77dd842f6fec3be06a2bd5859d0e56fae2bb58136b1114d1d5dad37e2bdad23e1956d9a7 -EBUILD clang-10.0.1.9999.ebuild 10940 BLAKE2B 5203158d0a05a7063d581478d60fd43442b1395c4a16b115331132df2296cf792ddaf382aa79f99cd981703678e1e02c271d925bfc8fa3b509a1984948fce347 SHA512 5776f771d5a7539e79f0762228c646a5e57120bff3215a230204329ac7d3727c0dc6a2918a8e5a87503a4aa189cf71892261372905bd50bced05133e361f5865 -EBUILD clang-10.0.1_rc1.ebuild 10937 BLAKE2B a92db7c198d9ede332815bf89f35aa5aaed1c3c64a9fcc48a30cdaf80bb34aab5250ff05478a503d3dd8b1a0e1d060e89d3f94f31e34c2eed7795cc48530fcd2 SHA512 2ee8f66034c4da4f0a330da1984283149fc829215071707eba5cfdee34dde9e310f8aa524480b0ced31ad5b230b81065137e45827236d44e3a0e20dac9b12e94 -EBUILD clang-11.0.0.9999.ebuild 11090 BLAKE2B 7d1395a8c2d83ca9abd0d4ac700cc47c641feafb13dbed786691a191d7ec0ca4f014bba76d0042680c583ec0b8f8f06b51000c2c6f26b8ec8aab1c4607279e03 SHA512 6a25f9a1434622ae7854c97ca702c8955b7a5f27ff2ecd768c5acc6701bb982dd29c83ce870c0c4802c2d17ddd415e8eb4941bf995a28d5793795e8811516da8 +EBUILD clang-10.0.1.9999.ebuild 11297 BLAKE2B 2b50b01407f06e4ec5ae9f8988b8627d9f7ab1d57f102066c1353644fc76fec0d56d077f257d247ff3caee9ff9d2cf6d918a2ba8cda8079dbed84387c0590efa SHA512 ac7c8ac07d020de89fb68137d705231d0af649da541374a3bd9869786b3f090ef9b3d159769819d2d83acf833e3e1fff7006280b74876b499d0de1ae9769919f +EBUILD clang-10.0.1_rc1.ebuild 11294 BLAKE2B 0df40a2e087631aa266f7d39acc00eb723ac97546ba66733c01fb88f170d5ff83fb4c769a74c06ca0e048ad8c643434e913796f6b592f139ee44f07890b85a13 SHA512 ff52706ed43701df53ed5686b1ed070a5275fee808340378cebfb521ae989f9811f7fff73dbc224c33d6d2004e4c57ac6c3ff5a583750b0546aeeb5e30942b15 +EBUILD clang-11.0.0.9999.ebuild 11124 BLAKE2B 3193fa1a9d5db4e998a28153d43553509b5c503d38b8c1e89ba346f5325e5fd78696be11129ec11523bb3a4a9f9edca362d2711449985cef49e2cd3d50e6a775 SHA512 a34ba7aeb4a6010326dad5e44ab2819a1125c5a7e6076ca60ab5e4efc86c15f5a1f99af325691f84fcced76220c32b372b0c8b3cd13a2780c33db3104f982a01 EBUILD clang-8.0.1.ebuild 10138 BLAKE2B a2c91918e468c3f070ba10d7a0478e006c5d23289db387d6ca57ee082a7567ef24ad7af66a3b93e0e8934c69fbcd5a4fefbfbd77ba0ef077776b4110b30a6773 SHA512 da86670ee496b2a1bfe3f99eb7146cd8a85d793f580ae2ebd94bfb65363c6e39c58fb77b3b00c27e5d9bdc70ecb1688154e500506525b019da3f95d356f815e1 EBUILD clang-9.0.1.ebuild 8982 BLAKE2B 05319c777c4ecfd03a54bc9e14f322ad6f348a99554ebf8eb1e3a0a1b8c7aba5f3ba618fd3edb21022dd34f1cd4dca2c3f24b152b6f795b939a77c8959d27fa1 SHA512 f88f6c0dc7f1faed0f0d8310c9235a4d0d17352f710f28d9a8c7e47e28aaa43f7727e3e2a7e30334ffae7cb2e6df7769a543fd4c79a0ecb8a1f0a480b15fdb06 MISC metadata.xml 1377 BLAKE2B 8b580be2bcaddb98c2d2b8defd1730c69a7478248f7d241dd00f533d36d750a3f45c1e55161a4fd2731b6211a22c658046cf8ad5a87028c32928dfe0cd4a862f SHA512 b08ea2bd3454abb09abfa92b62e6dae4f4e10db0266c1e4895bef0f6a2d2fadea0b36b9b861831389413e1cca0e3c412b4cf474fc8c4170902b40deeab06686a diff --git a/sys-devel/clang/clang-10.0.1.9999.ebuild b/sys-devel/clang/clang-10.0.1.9999.ebuild index 6f913045c092..8db3efe5b94a 100644 --- a/sys-devel/clang/clang-10.0.1.9999.ebuild +++ b/sys-devel/clang/clang-10.0.1.9999.ebuild @@ -3,8 +3,8 @@ EAPI=7 -PYTHON_COMPAT=( python3_{6,7,8} ) -inherit cmake-utils llvm llvm.org multilib-minimal multiprocessing \ +PYTHON_COMPAT=( python3_{6..9} ) +inherit cmake llvm llvm.org multilib-minimal multiprocessing \ pax-utils python-single-r1 toolchain-funcs DESCRIPTION="C language family frontend for LLVM" @@ -15,8 +15,6 @@ LLVM_TEST_COMPONENTS=( llvm/utils/{lit,llvm-lit,unittest} ) llvm.org_set_globals -# We need extra level of indirection for CLANG_RESOURCE_DIR -S=${WORKDIR}/x/y/clang # Keep in sync with sys-devel/llvm ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR VE ) @@ -45,7 +43,7 @@ RDEPEND=" ${PYTHON_DEPS}" DEPEND="${RDEPEND}" BDEPEND=" - doc? ( dev-python/sphinx ) + dev-python/sphinx xml? ( virtual/pkgconfig ) ${PYTHON_DEPS}" RDEPEND="${RDEPEND} @@ -71,17 +69,28 @@ CMAKE_BUILD_TYPE=RelWithDebInfo # Therefore: use sys-devel/clang[${MULTILIB_USEDEP}] only if you need # multilib clang* libraries (not runtime, not wrappers). +PATCHES=( + # fix simultaneous linking to .a and dylib + "${FILESDIR}"/10.0.1/0003-clang-tools-extra-Prevent-linking-to-duplicate-.a-li.patch + "${FILESDIR}"/10.0.1/0004-clang-Avoid-linking-c-index-test-to-duplicate-librar.patch +) + pkg_setup() { LLVM_MAX_SLOT=${SLOT} llvm_pkg_setup python-single-r1_pkg_setup } -src_unpack() { - # create extra parent dir for CLANG_RESOURCE_DIR +src_prepare() { + # create extra parent dir for relative CLANG_RESOURCE_DIR access mkdir -p x/y || die - cd x/y || die - llvm.org_src_unpack - mv clang-tools-extra clang/tools/extra || die + BUILD_DIR=${WORKDIR}/x/y/clang + + # cmake eclasses suck by forcing ${S} here + CMAKE_USE_DIR=${S} \ + S=${WORKDIR} \ + cmake_src_prepare + + mv ../clang-tools-extra tools/extra || die } check_distribution_components() { @@ -106,6 +115,14 @@ check_distribution_components() { clang*|findAllSymbols) continue ;; + # headers for clang-tidy static library + clang-tidy-headers) + continue + ;; + # conditional to USE=doc + docs-clang-html|docs-clang-tools-html) + continue + ;; esac all_targets+=( "${l}" ) @@ -184,13 +201,15 @@ get_distribution_components() { find-all-symbols modularize pp-trace + + # manpages + docs-clang-man + docs-clang-tools-man ) use doc && out+=( docs-clang-html - docs-clang-man docs-clang-tools-html - docs-clang-tools-man ) use static-analyzer && out+=( @@ -239,7 +258,7 @@ multilib_src_configure() { -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer) ) use test && mycmakeargs+=( - -DLLVM_MAIN_SRC_DIR="${WORKDIR}/x/y/llvm" + -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" ) @@ -247,10 +266,8 @@ multilib_src_configure() { mycmakeargs+=( # normally copied from LLVM_INCLUDE_DOCS but the latter # is lacking value in stand-alone builds - -DCLANG_INCLUDE_DOCS=$(usex doc) - -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=$(usex doc) - ) - use doc && mycmakeargs+=( + -DCLANG_INCLUDE_DOCS=ON + -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=ON -DLLVM_BUILD_DOCS=ON -DLLVM_ENABLE_SPHINX=ON -DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html" @@ -280,13 +297,13 @@ multilib_src_configure() { # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" - cmake-utils_src_configure + cmake_src_configure multilib_is_native_abi && check_distribution_components } multilib_src_compile() { - cmake-utils_src_compile + cmake_src_compile # provide a symlink for tests if [[ ! -L ${WORKDIR}/lib/clang ]]; then @@ -298,9 +315,9 @@ multilib_src_compile() { multilib_src_test() { # respect TMPDIR! local -x LIT_PRESERVES_TMP=1 - cmake-utils_src_make check-clang + cmake_build check-clang multilib_is_native_abi && - cmake-utils_src_make check-clang-tools check-clangd + cmake_build check-clang-tools check-clangd } src_install() { @@ -356,7 +373,7 @@ src_install() { } multilib_src_install() { - DESTDIR=${D} cmake-utils_src_make install-distribution + DESTDIR=${D} cmake_build install-distribution # move headers to /usr/include for wrapping & ABI mismatch checks # (also drop the version suffix from runtime headers) diff --git a/sys-devel/clang/clang-10.0.1_rc1.ebuild b/sys-devel/clang/clang-10.0.1_rc1.ebuild index 13d42251a431..bc6d83f42a8d 100644 --- a/sys-devel/clang/clang-10.0.1_rc1.ebuild +++ b/sys-devel/clang/clang-10.0.1_rc1.ebuild @@ -3,8 +3,8 @@ EAPI=7 -PYTHON_COMPAT=( python3_{6,7,8} ) -inherit cmake-utils llvm llvm.org multilib-minimal multiprocessing \ +PYTHON_COMPAT=( python3_{6..9} ) +inherit cmake llvm llvm.org multilib-minimal multiprocessing \ pax-utils python-single-r1 toolchain-funcs DESCRIPTION="C language family frontend for LLVM" @@ -15,8 +15,6 @@ LLVM_TEST_COMPONENTS=( llvm/utils/{lit,llvm-lit,unittest} ) llvm.org_set_globals -# We need extra level of indirection for CLANG_RESOURCE_DIR -S=${WORKDIR}/x/y/clang # Keep in sync with sys-devel/llvm ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR ) @@ -45,7 +43,7 @@ RDEPEND=" ${PYTHON_DEPS}" DEPEND="${RDEPEND}" BDEPEND=" - doc? ( dev-python/sphinx ) + dev-python/sphinx xml? ( virtual/pkgconfig ) ${PYTHON_DEPS}" RDEPEND="${RDEPEND} @@ -71,17 +69,28 @@ CMAKE_BUILD_TYPE=RelWithDebInfo # Therefore: use sys-devel/clang[${MULTILIB_USEDEP}] only if you need # multilib clang* libraries (not runtime, not wrappers). +PATCHES=( + # fix simultaneous linking to .a and dylib + "${FILESDIR}"/10.0.1/0003-clang-tools-extra-Prevent-linking-to-duplicate-.a-li.patch + "${FILESDIR}"/10.0.1/0004-clang-Avoid-linking-c-index-test-to-duplicate-librar.patch +) + pkg_setup() { LLVM_MAX_SLOT=${SLOT} llvm_pkg_setup python-single-r1_pkg_setup } -src_unpack() { - # create extra parent dir for CLANG_RESOURCE_DIR +src_prepare() { + # create extra parent dir for relative CLANG_RESOURCE_DIR access mkdir -p x/y || die - cd x/y || die - llvm.org_src_unpack - mv clang-tools-extra clang/tools/extra || die + BUILD_DIR=${WORKDIR}/x/y/clang + + # cmake eclasses suck by forcing ${S} here + CMAKE_USE_DIR=${S} \ + S=${WORKDIR} \ + cmake_src_prepare + + mv ../clang-tools-extra tools/extra || die } check_distribution_components() { @@ -106,6 +115,14 @@ check_distribution_components() { clang*|findAllSymbols) continue ;; + # headers for clang-tidy static library + clang-tidy-headers) + continue + ;; + # conditional to USE=doc + docs-clang-html|docs-clang-tools-html) + continue + ;; esac all_targets+=( "${l}" ) @@ -184,13 +201,15 @@ get_distribution_components() { find-all-symbols modularize pp-trace + + # manpages + docs-clang-man + docs-clang-tools-man ) use doc && out+=( docs-clang-html - docs-clang-man docs-clang-tools-html - docs-clang-tools-man ) use static-analyzer && out+=( @@ -239,7 +258,7 @@ multilib_src_configure() { -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer) ) use test && mycmakeargs+=( - -DLLVM_MAIN_SRC_DIR="${WORKDIR}/x/y/llvm" + -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" ) @@ -247,10 +266,8 @@ multilib_src_configure() { mycmakeargs+=( # normally copied from LLVM_INCLUDE_DOCS but the latter # is lacking value in stand-alone builds - -DCLANG_INCLUDE_DOCS=$(usex doc) - -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=$(usex doc) - ) - use doc && mycmakeargs+=( + -DCLANG_INCLUDE_DOCS=ON + -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=ON -DLLVM_BUILD_DOCS=ON -DLLVM_ENABLE_SPHINX=ON -DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html" @@ -280,13 +297,13 @@ multilib_src_configure() { # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" - cmake-utils_src_configure + cmake_src_configure multilib_is_native_abi && check_distribution_components } multilib_src_compile() { - cmake-utils_src_compile + cmake_src_compile # provide a symlink for tests if [[ ! -L ${WORKDIR}/lib/clang ]]; then @@ -298,9 +315,9 @@ multilib_src_compile() { multilib_src_test() { # respect TMPDIR! local -x LIT_PRESERVES_TMP=1 - cmake-utils_src_make check-clang + cmake_build check-clang multilib_is_native_abi && - cmake-utils_src_make check-clang-tools check-clangd + cmake_build check-clang-tools check-clangd } src_install() { @@ -356,7 +373,7 @@ src_install() { } multilib_src_install() { - DESTDIR=${D} cmake-utils_src_make install-distribution + DESTDIR=${D} cmake_build install-distribution # move headers to /usr/include for wrapping & ABI mismatch checks # (also drop the version suffix from runtime headers) diff --git a/sys-devel/clang/clang-11.0.0.9999.ebuild b/sys-devel/clang/clang-11.0.0.9999.ebuild index 714dc5bb8c4c..76c40cb71042 100644 --- a/sys-devel/clang/clang-11.0.0.9999.ebuild +++ b/sys-devel/clang/clang-11.0.0.9999.ebuild @@ -3,8 +3,8 @@ EAPI=7 -PYTHON_COMPAT=( python3_{6,7,8} ) -inherit cmake-utils llvm llvm.org multilib-minimal multiprocessing \ +PYTHON_COMPAT=( python3_{6..9} ) +inherit cmake llvm llvm.org multilib-minimal multiprocessing \ pax-utils python-single-r1 toolchain-funcs DESCRIPTION="C language family frontend for LLVM" @@ -16,8 +16,6 @@ LLVM_TEST_COMPONENTS=( llvm/utils/{UpdateTestChecks,update_cc_test_checks.py} ) llvm.org_set_globals -# We need extra level of indirection for CLANG_RESOURCE_DIR -S=${WORKDIR}/x/y/clang # Keep in sync with sys-devel/llvm ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC VE ) @@ -46,7 +44,7 @@ RDEPEND=" ${PYTHON_DEPS}" DEPEND="${RDEPEND}" BDEPEND=" - doc? ( dev-python/sphinx ) + dev-python/sphinx xml? ( virtual/pkgconfig ) ${PYTHON_DEPS}" RDEPEND="${RDEPEND} @@ -77,12 +75,17 @@ pkg_setup() { python-single-r1_pkg_setup } -src_unpack() { - # create extra parent dir for CLANG_RESOURCE_DIR +src_prepare() { + # create extra parent dir for relative CLANG_RESOURCE_DIR access mkdir -p x/y || die - cd x/y || die - llvm.org_src_unpack - mv clang-tools-extra clang/tools/extra || die + BUILD_DIR=${WORKDIR}/x/y/clang + + # cmake eclasses suck by forcing ${S} here + CMAKE_USE_DIR=${S} \ + S=${WORKDIR} \ + cmake_src_prepare + + mv ../clang-tools-extra tools/extra || die } check_distribution_components() { @@ -111,6 +114,10 @@ check_distribution_components() { clang-tidy-headers) continue ;; + # conditional to USE=doc + docs-clang-html|docs-clang-tools-html) + continue + ;; esac all_targets+=( "${l}" ) @@ -189,13 +196,15 @@ get_distribution_components() { find-all-symbols modularize pp-trace + + # manpages + docs-clang-man + docs-clang-tools-man ) use doc && out+=( docs-clang-html - docs-clang-man docs-clang-tools-html - docs-clang-tools-man ) use static-analyzer && out+=( @@ -244,7 +253,7 @@ multilib_src_configure() { -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer) ) use test && mycmakeargs+=( - -DLLVM_MAIN_SRC_DIR="${WORKDIR}/x/y/llvm" + -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" ) @@ -252,10 +261,8 @@ multilib_src_configure() { mycmakeargs+=( # normally copied from LLVM_INCLUDE_DOCS but the latter # is lacking value in stand-alone builds - -DCLANG_INCLUDE_DOCS=$(usex doc) - -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=$(usex doc) - ) - use doc && mycmakeargs+=( + -DCLANG_INCLUDE_DOCS=ON + -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=ON -DLLVM_BUILD_DOCS=ON -DLLVM_ENABLE_SPHINX=ON -DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html" @@ -285,13 +292,13 @@ multilib_src_configure() { # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" - cmake-utils_src_configure + cmake_src_configure multilib_is_native_abi && check_distribution_components } multilib_src_compile() { - cmake-utils_src_compile + cmake_src_compile # provide a symlink for tests if [[ ! -L ${WORKDIR}/lib/clang ]]; then @@ -303,9 +310,9 @@ multilib_src_compile() { multilib_src_test() { # respect TMPDIR! local -x LIT_PRESERVES_TMP=1 - cmake-utils_src_make check-clang + cmake_build check-clang multilib_is_native_abi && - cmake-utils_src_make check-clang-tools check-clangd + cmake_build check-clang-tools check-clangd } src_install() { @@ -361,7 +368,7 @@ src_install() { } multilib_src_install() { - DESTDIR=${D} cmake-utils_src_make install-distribution + DESTDIR=${D} cmake_build install-distribution # move headers to /usr/include for wrapping & ABI mismatch checks # (also drop the version suffix from runtime headers) diff --git a/sys-devel/clang/files/10.0.1/0003-clang-tools-extra-Prevent-linking-to-duplicate-.a-li.patch b/sys-devel/clang/files/10.0.1/0003-clang-tools-extra-Prevent-linking-to-duplicate-.a-li.patch new file mode 100644 index 000000000000..d01bd5d51e23 --- /dev/null +++ b/sys-devel/clang/files/10.0.1/0003-clang-tools-extra-Prevent-linking-to-duplicate-.a-li.patch @@ -0,0 +1,788 @@ +From 248d706ca72666a203a24b84406be430ccf40558 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= +Date: Tue, 16 Jun 2020 20:43:55 +0200 +Subject: [PATCH 3/4] [clang-tools-extra] Prevent linking to duplicate .a libs + and dylib + +Fix various tool libraries not to link to clang's .a libraries and dylib +simultaneously. This may cause breakage, in particular through +duplicate command-line option declarations. +--- + .../clang-apply-replacements/CMakeLists.txt | 4 +++- + .../clang-change-namespace/CMakeLists.txt | 4 +++- + clang-tools-extra/clang-doc/CMakeLists.txt | 4 +++- + .../clang-include-fixer/CMakeLists.txt | 6 +++++- + .../find-all-symbols/CMakeLists.txt | 4 +++- + clang-tools-extra/clang-move/CMakeLists.txt | 4 +++- + clang-tools-extra/clang-query/CMakeLists.txt | 4 +++- + .../clang-reorder-fields/CMakeLists.txt | 4 +++- + clang-tools-extra/clang-tidy/CMakeLists.txt | 7 +++++-- + clang-tools-extra/clang-tidy/abseil/CMakeLists.txt | 8 ++++++-- + .../clang-tidy/android/CMakeLists.txt | 8 ++++++-- + clang-tools-extra/clang-tidy/boost/CMakeLists.txt | 8 ++++++-- + .../clang-tidy/bugprone/CMakeLists.txt | 10 +++++++--- + clang-tools-extra/clang-tidy/cert/CMakeLists.txt | 12 ++++++++---- + .../clang-tidy/cppcoreguidelines/CMakeLists.txt | 14 +++++++++----- + clang-tools-extra/clang-tidy/darwin/CMakeLists.txt | 8 ++++++-- + .../clang-tidy/fuchsia/CMakeLists.txt | 10 +++++++--- + clang-tools-extra/clang-tidy/google/CMakeLists.txt | 10 +++++++--- + clang-tools-extra/clang-tidy/hicpp/CMakeLists.txt | 14 +++++++++----- + .../clang-tidy/linuxkernel/CMakeLists.txt | 8 ++++++-- + clang-tools-extra/clang-tidy/llvm/CMakeLists.txt | 10 +++++++--- + clang-tools-extra/clang-tidy/misc/CMakeLists.txt | 8 ++++++-- + .../clang-tidy/modernize/CMakeLists.txt | 10 +++++++--- + clang-tools-extra/clang-tidy/mpi/CMakeLists.txt | 8 ++++++-- + clang-tools-extra/clang-tidy/objc/CMakeLists.txt | 8 ++++++-- + clang-tools-extra/clang-tidy/openmp/CMakeLists.txt | 8 ++++++-- + .../clang-tidy/performance/CMakeLists.txt | 8 ++++++-- + clang-tools-extra/clang-tidy/plugin/CMakeLists.txt | 8 ++++++-- + .../clang-tidy/portability/CMakeLists.txt | 8 ++++++-- + .../clang-tidy/readability/CMakeLists.txt | 8 ++++++-- + clang-tools-extra/clang-tidy/utils/CMakeLists.txt | 6 +++++- + clang-tools-extra/clang-tidy/zircon/CMakeLists.txt | 8 ++++++-- + clang-tools-extra/clangd/CMakeLists.txt | 11 +++++++---- + clang-tools-extra/clangd/unittests/CMakeLists.txt | 1 - + 34 files changed, 188 insertions(+), 73 deletions(-) + +diff --git a/clang-tools-extra/clang-apply-replacements/CMakeLists.txt b/clang-tools-extra/clang-apply-replacements/CMakeLists.txt +index 5bfdcb487e1..27383b488e4 100644 +--- a/clang-tools-extra/clang-apply-replacements/CMakeLists.txt ++++ b/clang-tools-extra/clang-apply-replacements/CMakeLists.txt +@@ -4,8 +4,10 @@ set(LLVM_LINK_COMPONENTS + + add_clang_library(clangApplyReplacements + lib/Tooling/ApplyReplacements.cpp ++) + +- LINK_LIBS ++clang_target_link_libraries(clangApplyReplacements ++ PRIVATE + clangAST + clangBasic + clangRewrite +diff --git a/clang-tools-extra/clang-change-namespace/CMakeLists.txt b/clang-tools-extra/clang-change-namespace/CMakeLists.txt +index 178306423eb..dccfd7c0673 100644 +--- a/clang-tools-extra/clang-change-namespace/CMakeLists.txt ++++ b/clang-tools-extra/clang-change-namespace/CMakeLists.txt +@@ -4,8 +4,10 @@ set(LLVM_LINK_COMPONENTS + + add_clang_library(clangChangeNamespace + ChangeNamespace.cpp ++) + +- LINK_LIBS ++clang_target_link_libraries(clangChangeNamespace ++ PRIVATE + clangAST + clangASTMatchers + clangBasic +diff --git a/clang-tools-extra/clang-doc/CMakeLists.txt b/clang-tools-extra/clang-doc/CMakeLists.txt +index c301ad5afac..6f303a67c9a 100644 +--- a/clang-tools-extra/clang-doc/CMakeLists.txt ++++ b/clang-tools-extra/clang-doc/CMakeLists.txt +@@ -14,8 +14,10 @@ add_clang_library(clangDoc + Representation.cpp + Serialize.cpp + YAMLGenerator.cpp ++) + +- LINK_LIBS ++clang_target_link_libraries(clangDoc ++ PRIVATE + clangAnalysis + clangAST + clangASTMatchers +diff --git a/clang-tools-extra/clang-include-fixer/CMakeLists.txt b/clang-tools-extra/clang-include-fixer/CMakeLists.txt +index f27f7403ea6..d8685cb2075 100644 +--- a/clang-tools-extra/clang-include-fixer/CMakeLists.txt ++++ b/clang-tools-extra/clang-include-fixer/CMakeLists.txt +@@ -11,6 +11,11 @@ add_clang_library(clangIncludeFixer + YamlSymbolIndex.cpp + + LINK_LIBS ++ findAllSymbols ++ ) ++ ++clang_target_link_libraries(clangIncludeFixer ++ PRIVATE + clangAST + clangBasic + clangFormat +@@ -21,7 +26,6 @@ add_clang_library(clangIncludeFixer + clangSerialization + clangTooling + clangToolingCore +- findAllSymbols + ) + + add_subdirectory(plugin) +diff --git a/clang-tools-extra/clang-include-fixer/find-all-symbols/CMakeLists.txt b/clang-tools-extra/clang-include-fixer/find-all-symbols/CMakeLists.txt +index c5fe19bfdbd..06a2324e918 100644 +--- a/clang-tools-extra/clang-include-fixer/find-all-symbols/CMakeLists.txt ++++ b/clang-tools-extra/clang-include-fixer/find-all-symbols/CMakeLists.txt +@@ -11,8 +11,10 @@ add_clang_library(findAllSymbols + PragmaCommentHandler.cpp + STLPostfixHeaderMap.cpp + SymbolInfo.cpp ++ ) + +- LINK_LIBS ++clang_target_link_libraries(findAllSymbols ++ PRIVATE + clangAST + clangASTMatchers + clangBasic +diff --git a/clang-tools-extra/clang-move/CMakeLists.txt b/clang-tools-extra/clang-move/CMakeLists.txt +index c63127ea325..9ea409932da 100644 +--- a/clang-tools-extra/clang-move/CMakeLists.txt ++++ b/clang-tools-extra/clang-move/CMakeLists.txt +@@ -5,8 +5,10 @@ set(LLVM_LINK_COMPONENTS + add_clang_library(clangMove + Move.cpp + HelperDeclRefGraph.cpp ++ ) + +- LINK_LIBS ++clang_target_link_libraries(clangMove ++ PRIVATE + clangAnalysis + clangAST + clangASTMatchers +diff --git a/clang-tools-extra/clang-query/CMakeLists.txt b/clang-tools-extra/clang-query/CMakeLists.txt +index d1d68d502e3..bc76bae9c0e 100644 +--- a/clang-tools-extra/clang-query/CMakeLists.txt ++++ b/clang-tools-extra/clang-query/CMakeLists.txt +@@ -6,8 +6,10 @@ set(LLVM_LINK_COMPONENTS + add_clang_library(clangQuery + Query.cpp + QueryParser.cpp ++ ) + +- LINK_LIBS ++clang_target_link_libraries(clangQuery ++ PRIVATE + clangAST + clangASTMatchers + clangBasic +diff --git a/clang-tools-extra/clang-reorder-fields/CMakeLists.txt b/clang-tools-extra/clang-reorder-fields/CMakeLists.txt +index 9c75d785cc9..e555fd5cdf0 100644 +--- a/clang-tools-extra/clang-reorder-fields/CMakeLists.txt ++++ b/clang-tools-extra/clang-reorder-fields/CMakeLists.txt +@@ -2,8 +2,10 @@ set(LLVM_LINK_COMPONENTS support) + + add_clang_library(clangReorderFields + ReorderFieldsAction.cpp ++) + +- LINK_LIBS ++clang_target_link_libraries(clangReorderFields ++ PRIVATE + clangAST + clangASTMatchers + clangBasic +diff --git a/clang-tools-extra/clang-tidy/CMakeLists.txt b/clang-tools-extra/clang-tidy/CMakeLists.txt +index 6dadb271771..329df19f331 100644 +--- a/clang-tools-extra/clang-tidy/CMakeLists.txt ++++ b/clang-tools-extra/clang-tidy/CMakeLists.txt +@@ -14,8 +14,10 @@ add_clang_library(clangTidy + + DEPENDS + ClangSACheckers ++ ) + +- LINK_LIBS ++clang_target_link_libraries(clangTidy ++ PRIVATE + clangAnalysis + clangAST + clangASTMatchers +@@ -31,7 +33,8 @@ add_clang_library(clangTidy + ) + + if(CLANG_ENABLE_STATIC_ANALYZER) +- target_link_libraries(clangTidy PRIVATE ++ clang_target_link_libraries(clangTidy ++ PRIVATE + clangStaticAnalyzerCore + clangStaticAnalyzerFrontend + ) +diff --git a/clang-tools-extra/clang-tidy/abseil/CMakeLists.txt b/clang-tools-extra/clang-tidy/abseil/CMakeLists.txt +index 3f88da6233f..0f040e56a05 100644 +--- a/clang-tools-extra/clang-tidy/abseil/CMakeLists.txt ++++ b/clang-tools-extra/clang-tidy/abseil/CMakeLists.txt +@@ -22,11 +22,15 @@ add_clang_library(clangTidyAbseilModule + UpgradeDurationConversionsCheck.cpp + + LINK_LIBS ++ clangTidy ++ clangTidyUtils ++ ) ++ ++clang_target_link_libraries(clangTidyAbseilModule ++ PRIVATE + clangAST + clangASTMatchers + clangBasic + clangLex +- clangTidy +- clangTidyUtils + clangTooling + ) +diff --git a/clang-tools-extra/clang-tidy/android/CMakeLists.txt b/clang-tools-extra/clang-tidy/android/CMakeLists.txt +index 9d04003d9bb..d29adc610c8 100644 +--- a/clang-tools-extra/clang-tidy/android/CMakeLists.txt ++++ b/clang-tools-extra/clang-tidy/android/CMakeLists.txt +@@ -20,10 +20,14 @@ add_clang_library(clangTidyAndroidModule + ComparisonInTempFailureRetryCheck.cpp + + LINK_LIBS ++ clangTidy ++ clangTidyUtils ++ ) ++ ++clang_target_link_libraries(clangTidyAndroidModule ++ PRIVATE + clangAST + clangASTMatchers + clangBasic + clangLex +- clangTidy +- clangTidyUtils + ) +diff --git a/clang-tools-extra/clang-tidy/boost/CMakeLists.txt b/clang-tools-extra/clang-tidy/boost/CMakeLists.txt +index 059f6e91eca..481a709600c 100644 +--- a/clang-tools-extra/clang-tidy/boost/CMakeLists.txt ++++ b/clang-tools-extra/clang-tidy/boost/CMakeLists.txt +@@ -5,10 +5,14 @@ add_clang_library(clangTidyBoostModule + UseToStringCheck.cpp + + LINK_LIBS ++ clangTidy ++ clangTidyUtils ++ ) ++ ++clang_target_link_libraries(clangTidyBoostModule ++ PRIVATE + clangAST + clangASTMatchers + clangBasic + clangLex +- clangTidy +- clangTidyUtils + ) +diff --git a/clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt b/clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt +index 2cb28f4e8f1..d664f5eb875 100644 +--- a/clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt ++++ b/clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt +@@ -52,13 +52,17 @@ add_clang_library(clangTidyBugproneModule + VirtualNearMissCheck.cpp + + LINK_LIBS ++ clangTidy ++ clangTidyCppCoreGuidelinesModule ++ clangTidyUtils ++ ) ++ ++clang_target_link_libraries(clangTidyBugproneModule ++ PRIVATE + clangAnalysis + clangAST + clangASTMatchers + clangBasic + clangLex +- clangTidy +- clangTidyCppCoreGuidelinesModule +- clangTidyUtils + clangTooling + ) +diff --git a/clang-tools-extra/clang-tidy/cert/CMakeLists.txt b/clang-tools-extra/clang-tidy/cert/CMakeLists.txt +index 66ea2a13acd..75a13349f2f 100644 +--- a/clang-tools-extra/clang-tidy/cert/CMakeLists.txt ++++ b/clang-tools-extra/clang-tidy/cert/CMakeLists.txt +@@ -17,10 +17,6 @@ add_clang_library(clangTidyCERTModule + VariadicFunctionDefCheck.cpp + + LINK_LIBS +- clangAST +- clangASTMatchers +- clangBasic +- clangLex + clangTidy + clangTidyBugproneModule + clangTidyGoogleModule +@@ -29,3 +25,11 @@ add_clang_library(clangTidyCERTModule + clangTidyReadabilityModule + clangTidyUtils + ) ++ ++clang_target_link_libraries(clangTidyCERTModule ++ PRIVATE ++ clangAST ++ clangASTMatchers ++ clangBasic ++ clangLex ++ ) +diff --git a/clang-tools-extra/clang-tidy/cppcoreguidelines/CMakeLists.txt b/clang-tools-extra/clang-tidy/cppcoreguidelines/CMakeLists.txt +index 13c15bc9d22..e48bc1c8b1a 100644 +--- a/clang-tools-extra/clang-tidy/cppcoreguidelines/CMakeLists.txt ++++ b/clang-tools-extra/clang-tidy/cppcoreguidelines/CMakeLists.txt +@@ -23,15 +23,19 @@ add_clang_library(clangTidyCppCoreGuidelinesModule + SpecialMemberFunctionsCheck.cpp + + LINK_LIBS +- clangAST +- clangASTMatchers +- clangBasic +- clangLex +- clangSerialization + clangTidy + clangTidyMiscModule + clangTidyModernizeModule + clangTidyReadabilityModule + clangTidyUtils ++ ) ++ ++clang_target_link_libraries(clangTidyCppCoreGuidelinesModule ++ PRIVATE ++ clangAST ++ clangASTMatchers ++ clangBasic ++ clangLex ++ clangSerialization + clangTooling + ) +diff --git a/clang-tools-extra/clang-tidy/darwin/CMakeLists.txt b/clang-tools-extra/clang-tidy/darwin/CMakeLists.txt +index c650efb2a5f..feec79c12bf 100644 +--- a/clang-tools-extra/clang-tidy/darwin/CMakeLists.txt ++++ b/clang-tools-extra/clang-tidy/darwin/CMakeLists.txt +@@ -6,11 +6,15 @@ add_clang_library(clangTidyDarwinModule + DispatchOnceNonstaticCheck.cpp + + LINK_LIBS ++ clangTidy ++ clangTidyUtils ++ ) ++ ++clang_target_link_libraries(clangTidyDarwinModule ++ PRIVATE + clangAnalysis + clangAST + clangASTMatchers + clangBasic + clangLex +- clangTidy +- clangTidyUtils + ) +diff --git a/clang-tools-extra/clang-tidy/fuchsia/CMakeLists.txt b/clang-tools-extra/clang-tidy/fuchsia/CMakeLists.txt +index 30b319e7e5a..0148b20f364 100644 +--- a/clang-tools-extra/clang-tidy/fuchsia/CMakeLists.txt ++++ b/clang-tools-extra/clang-tidy/fuchsia/CMakeLists.txt +@@ -12,11 +12,15 @@ add_clang_library(clangTidyFuchsiaModule + VirtualInheritanceCheck.cpp + + LINK_LIBS ++ clangTidy ++ clangTidyGoogleModule ++ clangTidyUtils ++ ) ++ ++clang_target_link_libraries(clangTidyFuchsiaModule ++ PRIVATE + clangAST + clangASTMatchers + clangBasic + clangLex +- clangTidy +- clangTidyGoogleModule +- clangTidyUtils + ) +diff --git a/clang-tools-extra/clang-tidy/google/CMakeLists.txt b/clang-tools-extra/clang-tidy/google/CMakeLists.txt +index 08368932da5..302561ba646 100644 +--- a/clang-tools-extra/clang-tidy/google/CMakeLists.txt ++++ b/clang-tools-extra/clang-tidy/google/CMakeLists.txt +@@ -21,11 +21,15 @@ add_clang_library(clangTidyGoogleModule + UsingNamespaceDirectiveCheck.cpp + + LINK_LIBS ++ clangTidy ++ clangTidyReadabilityModule ++ clangTidyUtils ++ ) ++ ++clang_target_link_libraries(clangTidyGoogleModule ++ PRIVATE + clangAST + clangASTMatchers + clangBasic + clangLex +- clangTidy +- clangTidyReadabilityModule +- clangTidyUtils + ) +diff --git a/clang-tools-extra/clang-tidy/hicpp/CMakeLists.txt b/clang-tools-extra/clang-tidy/hicpp/CMakeLists.txt +index 4cf26767f3d..b4c9eb7a445 100644 +--- a/clang-tools-extra/clang-tidy/hicpp/CMakeLists.txt ++++ b/clang-tools-extra/clang-tidy/hicpp/CMakeLists.txt +@@ -8,11 +8,6 @@ add_clang_library(clangTidyHICPPModule + SignedBitwiseCheck.cpp + + LINK_LIBS +- clangAST +- clangASTMatchers +- clangBasic +- clangLex +- clangSerialization + clangTidy + clangTidyBugproneModule + clangTidyCppCoreGuidelinesModule +@@ -23,3 +18,12 @@ add_clang_library(clangTidyHICPPModule + clangTidyReadabilityModule + clangTidyUtils + ) ++ ++clang_target_link_libraries(clangTidyHICPPModule ++ PRIVATE ++ clangAST ++ clangASTMatchers ++ clangBasic ++ clangLex ++ clangSerialization ++ ) +diff --git a/clang-tools-extra/clang-tidy/linuxkernel/CMakeLists.txt b/clang-tools-extra/clang-tidy/linuxkernel/CMakeLists.txt +index f0e766d30e4..bfcc2ba526d 100644 +--- a/clang-tools-extra/clang-tidy/linuxkernel/CMakeLists.txt ++++ b/clang-tools-extra/clang-tidy/linuxkernel/CMakeLists.txt +@@ -5,10 +5,14 @@ add_clang_library(clangTidyLinuxKernelModule + MustCheckErrsCheck.cpp + + LINK_LIBS ++ clangTidy ++ clangTidyUtils ++ ) ++ ++clang_target_link_libraries(clangTidyLinuxKernelModule ++ PRIVATE + clangAST + clangASTMatchers + clangBasic + clangLex +- clangTidy +- clangTidyUtils + ) +diff --git a/clang-tools-extra/clang-tidy/llvm/CMakeLists.txt b/clang-tools-extra/clang-tidy/llvm/CMakeLists.txt +index c035596b556..bff128cbba7 100644 +--- a/clang-tools-extra/clang-tidy/llvm/CMakeLists.txt ++++ b/clang-tools-extra/clang-tidy/llvm/CMakeLists.txt +@@ -9,12 +9,16 @@ add_clang_library(clangTidyLLVMModule + TwineLocalCheck.cpp + + LINK_LIBS ++ clangTidy ++ clangTidyReadabilityModule ++ clangTidyUtils ++ ) ++ ++clang_target_link_libraries(clangTidyLLVMModule ++ PRIVATE + clangAST + clangASTMatchers + clangBasic + clangLex +- clangTidy +- clangTidyReadabilityModule +- clangTidyUtils + clangTooling + ) +diff --git a/clang-tools-extra/clang-tidy/misc/CMakeLists.txt b/clang-tools-extra/clang-tidy/misc/CMakeLists.txt +index 3fc152148d6..37bc2aa5af6 100644 +--- a/clang-tools-extra/clang-tidy/misc/CMakeLists.txt ++++ b/clang-tools-extra/clang-tidy/misc/CMakeLists.txt +@@ -17,13 +17,17 @@ add_clang_library(clangTidyMiscModule + UnusedUsingDeclsCheck.cpp + + LINK_LIBS ++ clangTidy ++ clangTidyUtils ++ ) ++ ++clang_target_link_libraries(clangTidyMiscModule ++ PRIVATE + clangAnalysis + clangAST + clangASTMatchers + clangBasic + clangLex + clangSerialization +- clangTidy +- clangTidyUtils + clangTooling + ) +diff --git a/clang-tools-extra/clang-tidy/modernize/CMakeLists.txt b/clang-tools-extra/clang-tidy/modernize/CMakeLists.txt +index 36193f0a6d1..162f44568c5 100644 +--- a/clang-tools-extra/clang-tidy/modernize/CMakeLists.txt ++++ b/clang-tools-extra/clang-tidy/modernize/CMakeLists.txt +@@ -36,12 +36,16 @@ add_clang_library(clangTidyModernizeModule + UseUsingCheck.cpp + + LINK_LIBS ++ clangTidy ++ clangTidyReadabilityModule ++ clangTidyUtils ++ ) ++ ++clang_target_link_libraries(clangTidyModernizeModule ++ PRIVATE + clangAST + clangASTMatchers + clangBasic + clangLex +- clangTidy +- clangTidyReadabilityModule +- clangTidyUtils + clangTooling + ) +diff --git a/clang-tools-extra/clang-tidy/mpi/CMakeLists.txt b/clang-tools-extra/clang-tidy/mpi/CMakeLists.txt +index 5be7b36550a..b36767ac7f3 100644 +--- a/clang-tools-extra/clang-tidy/mpi/CMakeLists.txt ++++ b/clang-tools-extra/clang-tidy/mpi/CMakeLists.txt +@@ -6,13 +6,17 @@ add_clang_library(clangTidyMPIModule + TypeMismatchCheck.cpp + + LINK_LIBS ++ clangTidy ++ clangTidyUtils ++ ) ++ ++clang_target_link_libraries(clangTidyMPIModule ++ PRIVATE + clangAnalysis + clangAST + clangASTMatchers + clangBasic + clangLex +- clangTidy +- clangTidyUtils + clangTooling + clangStaticAnalyzerCheckers + ) +diff --git a/clang-tools-extra/clang-tidy/objc/CMakeLists.txt b/clang-tools-extra/clang-tidy/objc/CMakeLists.txt +index 68dda6530f7..3624d2f3ef0 100644 +--- a/clang-tools-extra/clang-tidy/objc/CMakeLists.txt ++++ b/clang-tools-extra/clang-tidy/objc/CMakeLists.txt +@@ -9,10 +9,14 @@ add_clang_library(clangTidyObjCModule + SuperSelfCheck.cpp + + LINK_LIBS ++ clangTidy ++ clangTidyUtils ++ ) ++ ++clang_target_link_libraries(clangTidyObjCModule ++ PRIVATE + clangAST + clangASTMatchers + clangBasic + clangLex +- clangTidy +- clangTidyUtils + ) +diff --git a/clang-tools-extra/clang-tidy/openmp/CMakeLists.txt b/clang-tools-extra/clang-tidy/openmp/CMakeLists.txt +index af95704fd44..d182b29f366 100644 +--- a/clang-tools-extra/clang-tidy/openmp/CMakeLists.txt ++++ b/clang-tools-extra/clang-tidy/openmp/CMakeLists.txt +@@ -8,9 +8,13 @@ add_clang_library(clangTidyOpenMPModule + UseDefaultNoneCheck.cpp + + LINK_LIBS ++ clangTidy ++ clangTidyUtils ++ ) ++ ++clang_target_link_libraries(clangTidyOpenMPModule ++ PRIVATE + clangAST + clangASTMatchers + clangBasic +- clangTidy +- clangTidyUtils + ) +diff --git a/clang-tools-extra/clang-tidy/performance/CMakeLists.txt b/clang-tools-extra/clang-tidy/performance/CMakeLists.txt +index d1f9897b015..c9a7e262124 100644 +--- a/clang-tools-extra/clang-tidy/performance/CMakeLists.txt ++++ b/clang-tools-extra/clang-tidy/performance/CMakeLists.txt +@@ -18,11 +18,15 @@ add_clang_library(clangTidyPerformanceModule + UnnecessaryValueParamCheck.cpp + + LINK_LIBS ++ clangTidy ++ clangTidyUtils ++ ) ++ ++clang_target_link_libraries(clangTidyPerformanceModule ++ PRIVATE + clangAST + clangASTMatchers + clangAnalysis + clangBasic + clangLex +- clangTidy +- clangTidyUtils + ) +diff --git a/clang-tools-extra/clang-tidy/plugin/CMakeLists.txt b/clang-tools-extra/clang-tidy/plugin/CMakeLists.txt +index 4adc3f26977..0bfe122314e 100644 +--- a/clang-tools-extra/clang-tidy/plugin/CMakeLists.txt ++++ b/clang-tools-extra/clang-tidy/plugin/CMakeLists.txt +@@ -2,12 +2,16 @@ add_clang_library(clangTidyPlugin + ClangTidyPlugin.cpp + + LINK_LIBS ++ clangTidy ++ ${ALL_CLANG_TIDY_CHECKS} ++ ) ++ ++clang_target_link_libraries(clangTidyPlugin ++ PRIVATE + clangAST + clangASTMatchers + clangBasic + clangFrontend + clangSema +- clangTidy + clangTooling +- ${ALL_CLANG_TIDY_CHECKS} + ) +diff --git a/clang-tools-extra/clang-tidy/portability/CMakeLists.txt b/clang-tools-extra/clang-tidy/portability/CMakeLists.txt +index 0420a18a2a6..bbe9ccbef1f 100644 +--- a/clang-tools-extra/clang-tidy/portability/CMakeLists.txt ++++ b/clang-tools-extra/clang-tidy/portability/CMakeLists.txt +@@ -5,11 +5,15 @@ add_clang_library(clangTidyPortabilityModule + SIMDIntrinsicsCheck.cpp + + LINK_LIBS ++ clangTidy ++ clangTidyUtils ++ ) ++ ++clang_target_link_libraries(clangTidyPortabilityModule ++ PRIVATE + clangAST + clangASTMatchers + clangBasic + clangLex +- clangTidy +- clangTidyUtils + clangTooling + ) +diff --git a/clang-tools-extra/clang-tidy/readability/CMakeLists.txt b/clang-tools-extra/clang-tidy/readability/CMakeLists.txt +index 97144af06ca..5af900db5fd 100644 +--- a/clang-tools-extra/clang-tidy/readability/CMakeLists.txt ++++ b/clang-tools-extra/clang-tidy/readability/CMakeLists.txt +@@ -41,11 +41,15 @@ add_clang_library(clangTidyReadabilityModule + UppercaseLiteralSuffixCheck.cpp + + LINK_LIBS ++ clangTidy ++ clangTidyUtils ++ ) ++ ++clang_target_link_libraries(clangTidyReadabilityModule ++ PRIVATE + clangAST + clangASTMatchers + clangBasic + clangLex +- clangTidy +- clangTidyUtils + clangTooling + ) +diff --git a/clang-tools-extra/clang-tidy/utils/CMakeLists.txt b/clang-tools-extra/clang-tidy/utils/CMakeLists.txt +index fc383a318b9..5c837ca79aa 100644 +--- a/clang-tools-extra/clang-tidy/utils/CMakeLists.txt ++++ b/clang-tools-extra/clang-tidy/utils/CMakeLists.txt +@@ -18,11 +18,15 @@ add_clang_library(clangTidyUtils + UsingInserter.cpp + + LINK_LIBS ++ clangTidy ++ ) ++ ++clang_target_link_libraries(clangTidyUtils ++ PRIVATE + clangAST + clangASTMatchers + clangBasic + clangLex + clangSema +- clangTidy + clangTransformer + ) +diff --git a/clang-tools-extra/clang-tidy/zircon/CMakeLists.txt b/clang-tools-extra/clang-tidy/zircon/CMakeLists.txt +index 7aa7cd3f669..71db5e90f25 100644 +--- a/clang-tools-extra/clang-tidy/zircon/CMakeLists.txt ++++ b/clang-tools-extra/clang-tidy/zircon/CMakeLists.txt +@@ -5,10 +5,14 @@ add_clang_library(clangTidyZirconModule + ZirconTidyModule.cpp + + LINK_LIBS ++ clangTidy ++ clangTidyUtils ++ ) ++ ++clang_target_link_libraries(clangTidyZirconModule ++ PRIVATE + clangAST + clangASTMatchers + clangBasic + clangLex +- clangTidy +- clangTidyUtils + ) +diff --git a/clang-tools-extra/clangd/CMakeLists.txt b/clang-tools-extra/clangd/CMakeLists.txt +index e3eccb50a49..148043ee9df 100644 +--- a/clang-tools-extra/clangd/CMakeLists.txt ++++ b/clang-tools-extra/clangd/CMakeLists.txt +@@ -110,6 +110,13 @@ add_clang_library(clangDaemon + refactor/Tweak.cpp + + LINK_LIBS ++ clangTidy ++ ${LLVM_PTHREAD_LIB} ++ ${ALL_CLANG_TIDY_CHECKS} ++ ) ++ ++clang_target_link_libraries(clangDaemon ++ PRIVATE + clangAST + clangASTMatchers + clangBasic +@@ -120,15 +127,11 @@ add_clang_library(clangDaemon + clangLex + clangSema + clangSerialization +- clangTidy + clangTooling + clangToolingCore + clangToolingInclusions + clangToolingRefactoring + clangToolingSyntax +- ${LLVM_PTHREAD_LIB} +- ${CLANGD_ATOMIC_LIB} +- ${ALL_CLANG_TIDY_CHECKS} + ) + + add_subdirectory(refactor/tweaks) +diff --git a/clang-tools-extra/clangd/unittests/CMakeLists.txt b/clang-tools-extra/clangd/unittests/CMakeLists.txt +index 62113c6e4bb..6c2b56c93d5 100644 +--- a/clang-tools-extra/clangd/unittests/CMakeLists.txt ++++ b/clang-tools-extra/clangd/unittests/CMakeLists.txt +@@ -103,7 +103,6 @@ target_link_libraries(ClangdTests + PRIVATE + clangDaemon + clangTidy +- LLVMSupport + LLVMTestingSupport + ) + +-- +2.27.0 + diff --git a/sys-devel/clang/files/10.0.1/0004-clang-Avoid-linking-c-index-test-to-duplicate-librar.patch b/sys-devel/clang/files/10.0.1/0004-clang-Avoid-linking-c-index-test-to-duplicate-librar.patch new file mode 100644 index 000000000000..74b569ca4117 --- /dev/null +++ b/sys-devel/clang/files/10.0.1/0004-clang-Avoid-linking-c-index-test-to-duplicate-librar.patch @@ -0,0 +1,29 @@ +From e0df57328dd084d38ea4aac0cfb129fc320eae3f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= +Date: Fri, 19 Jun 2020 17:00:12 +0200 +Subject: [PATCH 4/4] [clang] Avoid linking c-index-test to duplicate libraries + +Use clang_target_link_libraries() to link libraries included +in clang-cpp.so to avoid simultaneously linking to it and to split +static libraries. This prevents units from being included twice. +--- + clang/tools/c-index-test/CMakeLists.txt | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/clang/tools/c-index-test/CMakeLists.txt b/clang/tools/c-index-test/CMakeLists.txt +index ceef4b08637..d83d1091936 100644 +--- a/clang/tools/c-index-test/CMakeLists.txt ++++ b/clang/tools/c-index-test/CMakeLists.txt +@@ -25,6 +25,9 @@ else() + target_link_libraries(c-index-test + PRIVATE + libclang ++ ) ++ clang_target_link_libraries(c-index-test ++ PRIVATE + clangAST + clangBasic + clangCodeGen +-- +2.27.0 + -- cgit v1.2.3