Skip to content

Commit cdb838c

Browse files
authored
Fix Clang 10 source build (#37824)
1 parent 28330a2 commit cdb838c

File tree

6 files changed

+43
-0
lines changed

6 files changed

+43
-0
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
6c8b56f531876fd24e06257a2d8ce422
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
c6712d491ce5e166ef72724cf855d742d88da825ffc25585612d7f2eb7770343e3ae48fa78e0af3e5d5efdde3a9686a7361dac3b546a4378de22448ea6e4026c
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
970835d14e9c08a68c4b2ff3931bada7
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
a1d2e3f5ad529a04f87059903b31fc3c9803cd86f44aed1aebd87ce7e423d8dd2b6776be12e85a0374a6215f581420438d224c130aad5e6355920af32c02aa7b

deps/llvm.mk

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,11 @@ LLVM_LLDB_TAR:=$(SRCCACHE)/lldb-$(LLVM_TAR_EXT)
6969
endif # BUILD_LLDB
7070

7171
ifeq ($(BUILD_LLVM_CLANG),1)
72+
ifeq ($(LLVM_VER_MAJ).$(LLVM_VER_MIN),9.0)
7273
LLVM_CLANG_TAR:=$(SRCCACHE)/cfe-$(LLVM_TAR_EXT)
74+
else
75+
LLVM_CLANG_TAR:=$(SRCCACHE)/clang-$(LLVM_TAR_EXT)
76+
endif
7377
LLVM_COMPILER_RT_TAR:=$(SRCCACHE)/compiler-rt-$(LLVM_TAR_EXT)
7478
else
7579
LLVM_CLANG_TAR:=
@@ -487,6 +491,9 @@ $(eval $(call LLVM_PATCH,llvm-D84031)) # remove for LLVM 12
487491
$(eval $(call LLVM_PATCH,llvm-10-D85553)) # remove for LLVM 12
488492
$(eval $(call LLVM_PATCH,llvm-10-r_aarch64_prel32)) # remove for LLVM 12
489493
$(eval $(call LLVM_PATCH,llvm-10-r_ppc_rel)) # remove for LLVM 12
494+
ifeq ($(BUILD_LLVM_CLANG),1)
495+
$(eval $(call LLVM_PATCH,llvm-D88630-clang-cmake))
496+
endif
490497
endif # LLVM_VER 10.0
491498

492499
ifeq ($(LLVM_VER_SHORT),11.0)
@@ -501,6 +508,9 @@ $(eval $(call LLVM_PATCH,llvm-julia-tsan-custom-as))
501508
$(eval $(call LLVM_PATCH,llvm-D80101)) # remove for LLVM 12
502509
$(eval $(call LLVM_PATCH,llvm-D84031)) # remove for LLVM 12
503510
$(eval $(call LLVM_PATCH,llvm-10-D85553)) # remove for LLVM 12
511+
ifeq ($(BUILD_LLVM_CLANG),1)
512+
$(eval $(call LLVM_PATCH,llvm-D88630-clang-cmake))
513+
endif
504514
endif # LLVM_VER 11.0
505515

506516

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
commit 9c682bac219e28afc73e25e7089b553ecd1ca0f6
2+
Author: Keno Fischer <keno@juliacomputing.com>
3+
Date: Wed Sep 30 22:15:40 2020 -0400
4+
5+
[clang/CMake] Respect LLVM_TOOLS_INSTALL_DIR
6+
7+
Otherwise clang installs all of its tools into `bin/` while
8+
LLVM installs its tools into (LLVM_TOOLS_INSTALL_DIR).
9+
I could swear this used to work (and in fact the julia build system
10+
assumes it), but I can't pin down a specific commit that would
11+
have broken this, and julia has been relying on pre-compiled binaries
12+
for a while now (that don't use this setting), so it may have been
13+
broken for quite a while.
14+
15+
Differential Revision: https://reviews.llvm.org/D88630
16+
17+
diff --git a/tools/clang/cmake/modules/AddClang.cmake b/tools/clang/cmake/modules/AddClang.cmake
18+
index 704278a0e93..a455365cabf 100644
19+
--- a/tools/clang/cmake/modules/AddClang.cmake
20+
+++ b/tools/clang/cmake/modules/AddClang.cmake
21+
@@ -170,7 +170,7 @@ macro(add_clang_tool name)
22+
23+
install(TARGETS ${name}
24+
${export_to_clangtargets}
25+
- RUNTIME DESTINATION bin
26+
+ RUNTIME DESTINATION ${LLVM_TOOLS_INSTALL_DIR}
27+
COMPONENT ${name})
28+
29+
if(NOT LLVM_ENABLE_IDE)

0 commit comments

Comments
 (0)