diff options
author | Richard Diamond <wichard@vitalitystudios.com> | 2015-08-21 23:43:56 -0500 |
---|---|---|
committer | Richard Diamond <wichard@vitalitystudios.com> | 2015-12-13 15:05:43 -0600 |
commit | 7bd69f2248ce2635f3fc05f08d8a7944eed0016a (patch) | |
tree | ec6802421b3754c37226742c734fe365dc25076a /mk/llvm.mk | |
parent | 83eda080373285d3cbe4ca0ee280e4844c6422a3 (diff) |
Better support for `--llvm-root`.
This handles cases when the LLVM used isn't configured will the 'usual'
targets. Also, cases where LLVM is shared are also handled (ie with
`LD_LIBRARY_PATH` etc).
Diffstat (limited to 'mk/llvm.mk')
-rw-r--r-- | mk/llvm.mk | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/mk/llvm.mk b/mk/llvm.mk index b2a90f583f7..6d5e9169367 100644 --- a/mk/llvm.mk +++ b/mk/llvm.mk @@ -80,10 +80,16 @@ endif # LLVM linkage: +# Note: Filter with llvm-config so that optional targets which aren't present +# don't cause errors (ie PNaCl's target is only present within PNaCl's LLVM +# fork). LLVM_LINKAGE_PATH_$(1):=$$(abspath $$(RT_OUTPUT_DIR_$(1))/llvmdeps.rs) $$(LLVM_LINKAGE_PATH_$(1)): $(S)src/etc/mklldeps.py $$(LLVM_CONFIG_$(1)) - $(Q)$(CFG_PYTHON) "$$<" "$$@" "$$(LLVM_COMPONENTS)" "$$(CFG_ENABLE_LLVM_STATIC_STDCPP)" \ - $$(LLVM_CONFIG_$(1)) "$(CFG_STDCPP_NAME)" + $(Q)$(CFG_PYTHON) "$$<" "$$@" "$$(filter $$(shell \ + $$(LLVM_CONFIG_$(1)) --components), \ + $(LLVM_OPTIONAL_COMPONENTS)) $(LLVM_REQUIRED_COMPONENTS)" \ + "$$(CFG_ENABLE_LLVM_STATIC_STDCPP)" $$(LLVM_CONFIG_$(1)) \ + "$(CFG_STDCPP_NAME)" "$$(CFG_USING_LIBCPP)" endef $(foreach host,$(CFG_HOST), \ @@ -94,7 +100,9 @@ $(foreach host,$(CFG_HOST), \ # This can't be done in target.mk because it's included before this file. define LLVM_LINKAGE_DEPS -$$(TLIB$(1)_T_$(2)_H_$(3))/stamp.rustc_llvm: $$(LLVM_LINKAGE_PATH_$(2)) +$$(TLIB$(1)_T_$(2)_H_$(3))/stamp.rustc_llvm: $$(LLVM_LINKAGE_PATH_$(3)) +RUSTFLAGS$(1)_rustc_llvm_T_$(3) += $$(shell echo $$(LLVM_ALL_COMPONENTS_$(3)) | tr '-' '_' |\ + sed -e 's/^ //;s/\([^ ]*\)/\-\-cfg have_component_\1/g') endef $(foreach source,$(CFG_HOST), \ |