Skip to content

Commit

Permalink
allow cleanly having multiple copies of llvm builds
Browse files Browse the repository at this point in the history
  • Loading branch information
vtjnash committed Aug 11, 2013
1 parent 6a66dd6 commit 489d0f5
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 24 deletions.
8 changes: 4 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -200,17 +200,17 @@ ifneq (,$(filter $(ARCH), i386 i486 i586 i686))
cd dist-extras && \
wget -O 7z920.exe http://downloads.sourceforge.net/sevenzip/7z920.exe && \
7z x -y 7z920.exe 7z.exe 7z.dll 7z.sfx && \
wget -O mingw-libexpat.rpm http://download.opensuse.org/repositories/windows:/mingw:/win32/SLE_11_SP2/noarch/mingw32-libexpat-2.0.1-4.15.noarch.rpm && \
wget -O mingw-zlib.rpm http://download.opensuse.org/repositories/windows:/mingw:/win32/SLE_11_SP2/noarch/mingw32-zlib-1.2.7-1.16.noarch.rpm
wget -O mingw-libexpat.rpm http://download.opensuse.org/repositories/windows:/mingw:/win32/SLE_11_SP2/noarch/mingw32-libexpat-2.0.1-4.16.noarch.rpm && \
wget -O mingw-zlib.rpm http://download.opensuse.org/repositories/windows:/mingw:/win32/SLE_11_SP2/noarch/mingw32-zlib-1.2.7-1.17.noarch.rpm
else ifeq ($(ARCH),x86_64)
cd dist-extras && \
wget -O 7z920-x64.msi http://downloads.sourceforge.net/sevenzip/7z920-x64.msi && \
7z x -y 7z920-x64.msi _7z.exe _7z.dll _7z.sfx && \
mv _7z.dll 7z.dll && \
mv _7z.exe 7z.exe && \
mv _7z.sfx 7z.sfx && \
wget -O mingw-libexpat.rpm http://download.opensuse.org/repositories/windows:/mingw:/win64/SLE_11_SP2/noarch/mingw64-libexpat-2.0.1-3.15.noarch.rpm && \
wget -O mingw-zlib.rpm http://download.opensuse.org/repositories/windows:/mingw:/win64/SLE_11_SP2/noarch/mingw64-zlib-1.2.7-1.19.noarch.rpm
wget -O mingw-libexpat.rpm http://download.opensuse.org/repositories/windows:/mingw:/win64/SLE_11_SP2/noarch/mingw64-libexpat-2.0.1-3.16.noarch.rpm && \
wget -O mingw-zlib.rpm http://download.opensuse.org/repositories/windows:/mingw:/win64/SLE_11_SP2/noarch/mingw64-zlib-1.2.7-1.20.noarch.rpm
else
$(error no win-extras target for ARCH=$(ARCH))
endif
Expand Down
35 changes: 15 additions & 20 deletions deps/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -165,21 +165,16 @@ BUILD_LLVM_CLANG = 1
endif

ifeq ($(LLVM_DEBUG),1)
ifeq ($(LLVM_ASSERTIONS), 1)
LLVM_BUILDDIR = build/Debug+Asserts
else
LLVM_BUILDDIR = build/Debug
endif
LLVM_BUILDTYPE = Debug
else
ifeq ($(LLVM_ASSERTIONS), 1)
LLVM_BUILDDIR = build/Release+Asserts
else
LLVM_BUILDDIR = build/Release
LLVM_BUILDTYPE = Release
endif
ifeq ($(LLVM_ASSERTIONS),1)
LLVM_BUILDTYPE := $(LLVM_BUILDTYPE)+Asserts
endif

LLVM_LIB_FILE = libLLVMJIT.a
LLVM_OBJ_SOURCE = llvm-$(LLVM_VER)/$(LLVM_BUILDDIR)/lib/$(LLVM_LIB_FILE)
LLVM_OBJ_SOURCE = llvm-$(LLVM_VER)/build_$(LLVM_BUILDTYPE)/$(LLVM_BUILDTYPE)/lib/$(LLVM_LIB_FILE)
LLVM_OBJ_TARGET = $(BUILD)/lib/$(LLVM_LIB_FILE)

ifneq ($(LLVM_VER),svn)
Expand Down Expand Up @@ -296,42 +291,42 @@ ifeq ($(BUILD_LLDB), 1)
endif
touch -c $@

llvm-$(LLVM_VER)/build/config.status: llvm-$(LLVM_VER)/configure | $(llvm_python_workaround)
llvm-$(LLVM_VER)/build_$(LLVM_BUILDTYPE)/config.status: llvm-$(LLVM_VER)/configure | $(llvm_python_workaround)
cd llvm-$(LLVM_VER) && \
mkdir -p build && cd build && \
mkdir -p build_$(LLVM_BUILDTYPE) && cd build_$(LLVM_BUILDTYPE) && \
export PATH=$(abspath llvm-$(LLVM_VER)/python2_path):$$PATH && \
../configure $(CONFIGURE_COMMON) $(LLVM_FLAGS)
touch -c $@

$(LLVM_OBJ_SOURCE): llvm-$(LLVM_VER)/build/config.status | $(llvm_python_workaround)
cd llvm-$(LLVM_VER)/build && \
$(LLVM_OBJ_SOURCE): llvm-$(LLVM_VER)/build_$(LLVM_BUILDTYPE)/config.status | $(llvm_python_workaround)
cd llvm-$(LLVM_VER)/build_$(LLVM_BUILDTYPE) && \
export PATH=$(abspath llvm-$(LLVM_VER)/python2_path):$$PATH && \
$(MAKE) $(LLVM_MFLAGS)
touch -c $@

llvm-$(LLVM_VER)/build/checked: $(LLVM_OBJ_SOURCE) | $(llvm_python_workaround)
llvm-$(LLVM_VER)/build_$(LLVM_BUILDTYPE)/checked: $(LLVM_OBJ_SOURCE) | $(llvm_python_workaround)
ifeq ($(OS),$(BUILD_OS))
cd llvm-$(LLVM_VER)/build && \
cd llvm-$(LLVM_VER)/build_$(LLVM_BUILDTYPE) && \
export PATH=$(abspath llvm-$(LLVM_VER)/python2_path):$$PATH && \
$(MAKE) $(LLVM_MFLAGS) check
endif
echo 1 > $@

$(LLVM_OBJ_TARGET): $(LLVM_OBJ_SOURCE) | $(llvm_python_workaround)
export PATH=$(abspath llvm-$(LLVM_VER)/python2_path):$$PATH && \
$(MAKE) -C llvm-$(LLVM_VER)/build install
$(MAKE) -C llvm-$(LLVM_VER)/build_$(LLVM_BUILDTYPE) install
touch -c $@

clean-llvm:
-$(MAKE) -C llvm-$(LLVM_VER)/build clean
-$(MAKE) -C llvm-$(LLVM_VER)/build_$(LLVM_BUILDTYPE) clean
-rm -f $(BUILD)/bin/llvm-config
distclean-llvm:
-rm -rf llvm-$(LLVM_VER).tar.gz llvm-$(LLVM_VER).src.tar.gz clang-$(LLVM_VER).src.tar.gz clang-$(LLVM_VER).tar.gz compiler-rt-$(LLVM_VER).src.tar.gz llvm-$(LLVM_VER)

get-llvm: $(LLVM_TAR) $(LLVM_CLANG_TAR) $(LLVM_COMPILER_RT_TAR)
configure-llvm: llvm-$(LLVM_VER)/build/config.status
configure-llvm: llvm-$(LLVM_VER)/build_$(LLVM_BUILDTYPE)/config.status
compile-llvm: $(LLVM_OBJ_SOURCE)
check-llvm: llvm-$(LLVM_VER)/build/checked
check-llvm: llvm-$(LLVM_VER)/build_$(LLVM_BUILDTYPE)/checked
install-llvm: $(LLVM_OBJ_TARGET)
#todo: LLVM make check target is broken on julia.mit.edu (and really slow elsewhere)

Expand Down

0 comments on commit 489d0f5

Please sign in to comment.