Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/llvm
diff options
context:
space:
mode:
authorLudovic Henry <luhenry@microsoft.com>2018-06-14 23:25:45 +0300
committerAlexander Kyte <alkyte@microsoft.com>2018-06-29 05:35:26 +0300
commit3cc00c47ad6ecfb5a637bac65cabd44246a26c05 (patch)
tree70bdc04c13f017395c20a31f584bd392d38bc68f /llvm
parent3eaced7d4b74dd66995710884e38dacf9b73e246 (diff)
[llvm] Fix build for Mono SDKs
Diffstat (limited to 'llvm')
-rw-r--r--llvm/Makefile.am17
-rw-r--r--llvm/build.mk26
2 files changed, 17 insertions, 26 deletions
diff --git a/llvm/Makefile.am b/llvm/Makefile.am
index 79a1354763f..0f287070d68 100644
--- a/llvm/Makefile.am
+++ b/llvm/Makefile.am
@@ -1,23 +1,12 @@
-
-EXTRA_DIST=SUBMODULES.json
+EXTRA_DIST=SUBMODULES.json build.mk
if INTERNAL_LLVM
-.PHONY: all-local
+
all-local: configure-llvm build-llvm install-llvm
-.PHONY: clean-local
clean-local: clean-llvm
-endif
-if INTERNAL_LLVM_ASSERTS
-llvm_build_args := "INTERNAL_LLVM_ASSERTS=yes"
endif
-# We do not propagate top level configuration variables
-# to every makefile in the repo. Since build.mk is not going to become
-# an automake file, I'm passing the variables explicitly.
-
-reset-llvm configure-llvm build-llvm install-llvm clean-llvm: build.mk
- $(MAKE) -f build.mk $@ $(llvm_build_args)
-
+include build.mk
diff --git a/llvm/build.mk b/llvm/build.mk
index 7afdb24f589..e2b532b6b18 100644
--- a/llvm/build.mk
+++ b/llvm/build.mk
@@ -5,10 +5,14 @@
# into $top_srcdir/llvm/llvm.
#
-top_srcdir?=$(realpath $(CURDIR)/..)
-LLVM_PATH?=$(top_srcdir)/external/llvm
-LLVM_BUILD?=$(top_srcdir)/llvm/build
-LLVM_PREFIX?=$(top_srcdir)/llvm/usr
+top_srcdir ?= $(abspath $(CURDIR)/..)
+
+LLVM_PATH ?= $(abspath $(top_srcdir)/external/llvm)
+LLVM_BUILD ?= $(abspath $(top_srcdir)/llvm/build)
+LLVM_PREFIX ?= $(abspath $(top_srcdir)/llvm/usr)
+
+CMAKE := $(or $(CMAKE),$(shell which cmake))
+NINJA := $(shell which ninja)
SUBMODULES_CONFIG_FILE = $(top_srcdir)/llvm/SUBMODULES.json
include $(top_srcdir)/scripts/submodules/versions.mk
@@ -27,13 +31,10 @@ bump-branch-llvm: __bump-branch-llvm
# If COMMIT is 1, commit the change
bump-current-llvm: __bump-current-version-llvm
-CMAKE?=$(shell which cmake)
-NINJA:=$(shell which ninja)
-
$(LLVM_BUILD) $(LLVM_PREFIX):
mkdir -p $@
-$(LLVM_PATH)/CMakeLists.txt: reset-llvm
+$(LLVM_PATH)/CMakeLists.txt: | reset-llvm
$(LLVM_BUILD)/$(if $(NINJA),build.ninja,Makefile): $(LLVM_PATH)/CMakeLists.txt | $(LLVM_BUILD)
cd $(LLVM_BUILD) && $(CMAKE) \
@@ -45,8 +46,8 @@ $(LLVM_BUILD)/$(if $(NINJA),build.ninja,Makefile): $(LLVM_PATH)/CMakeLists.txt |
-DLLVM_BUILD_EXAMPLES=Off \
-DLLVM_INCLUDE_EXAMPLES=Off \
-DLLVM_TOOLS_TO_BUILD="opt;llc;llvm-config;llvm-dis" \
- $(if $(INTERNAL_LLVM_ASSERTS),-DLLVM_ENABLE_ASSERTIONS=On) \
-DLLVM_TARGETS_TO_BUILD="X86;ARM;AArch64" \
+ -DLLVM_ENABLE_ASSERTIONS=$(if $(INTERNAL_LLVM_ASSERTS),On,Off) \
$(LLVM_CMAKE_ARGS) \
$(dir $<)
@@ -61,10 +62,11 @@ build-llvm: configure-llvm
install-llvm: build-llvm | $(LLVM_PREFIX)
$(if $(NINJA),$(NINJA),$(MAKE)) -C $(LLVM_BUILD) install
+# FIXME: URL should be http://xamjenkinsartifact.blob.core.windows.net/build-package-osx-llvm-$(NEEDED_LLVM_BRANCH)/llvm-osx64-$(NEEDED_LLVM_VERSION).tar.gz
.PHONY: download-llvm
-download-llvm: | $(LLVM_PREFIX)
- # wget --no-verbose -O - http://xamjenkinsartifact.blob.core.windows.net/build-package-osx-llvm-$(NEEDED_LLVM_BRANCH)/llvm-osx64-$(NEEDED_LLVM_VERSION).tar.gz | tar xzf - -C $(LLVM_PREFIX)
- wget --no-verbose -O - http://xamjenkinsartifact.blob.core.windows.net/build-package-osx-llvm-release60/llvm-osx64-$(NEEDED_LLVM_VERSION).tar.gz | tar xzf - -C $(LLVM_PREFIX)
+download-llvm:
+ wget --no-verbose -O - http://xamjenkinsartifact.blob.core.windows.net/build-package-osx-llvm-release60/llvm-osx64-$(NEEDED_LLVM_VERSION).tar.gz | tar xzf -
+.PHONY: clean-llvm
clean-llvm:
$(RM) -r $(LLVM_BUILD) $(LLVM_PREFIX)