Tie the LLVM build into ours

This commit is contained in:
Brian Anderson 2011-11-01 15:48:30 -07:00
parent bd67c70163
commit 26bb6716ef
3 changed files with 18 additions and 6 deletions

16
configure vendored
View file

@ -414,8 +414,8 @@ putvar CFG_LLVM_LDFLAGS
putvar CFG_LLVM_LIBS
putvar CFG_LLVM_TRIPLE
CFG_LLVM_BUILD_DIR=llvm/build
CFG_LLVM_INST_DIR=llvm/install
LLVM_BUILD_DIR=llvm/build
LLVM_INST_DIR=llvm/install
step_msg "making directories"
@ -497,12 +497,18 @@ msg
# Configure llvm. Here we go...
step_msg "configure: LLVM"
step_msg "configuring LLVM"
CFG_LLVM_SRC_DIR=${CFG_SRC_DIR}/src/llvm
CFG_LLVM_BUILD_DIR=${CFG_BUILD_DIR}/${LLVM_BUILD_DIR}
CFG_LLVM_INST_DIR=${CFG_BUILD_DIR}/${LLVM_INST_DIR}
LLVM_TARGETS="--enable-targets=x86,x86_64"
LLVM_DISABLE="--disable-docs"
LLVM_PREFIX="--prefix=${CFG_LLVM_INST_DIR}"
LLVM_BUILD="--build=${CFG_HOST_TRIPLE}"
LLVM_HOST="--host=${CFG_HOST_TRIPLE}"
LLVM_TARGET="--target=${CFG_HOST_TRIPLE}"
LLVM_CXX_32="g++ -m32"
LLVM_CC_32="gcc -m32"
@ -523,6 +529,8 @@ CFLAGS=$LLVM_CFLAGS
CXXFLAGS=$LLVM_CXXFLAGS
LDFLAGS=$LLVM_LDFLAGS
LLVM_FLAGS="$LLVM_TARGETS $LLVM_DISABLE $LLVM_PREFIX $LLVM_BUILD $LLVM_HOST $LLVM_TARGET"
export CXX
export CC
export CFLAGS
@ -531,7 +539,7 @@ export LDFLAGS
cd $CFG_LLVM_BUILD_DIR
# FIXME: This won't work if CFG_SRC_DIR is absolute
${CFG_BUILD_DIR}/${CFG_LLVM_SRC_DIR}/configure $LLVM_TARGETS $LLVM_DISABLE
${CFG_BUILD_DIR}/${CFG_LLVM_SRC_DIR}/configure $LLVM_FLAGS
cd $CFG_BUILD_DIR
putvar CFG_LLVM_SRC_DIR

View file

@ -0,0 +1,5 @@
.PHONY: $(CFG_LLVM_INST_DIR)/bin/llc
$(CFG_LLVM_INST_DIR)/bin/llc:
@$(call E, make: llvm)
$(Q)make install -C $(CFG_LLVM_BUILD_DIR)

View file

@ -26,10 +26,9 @@ rustllvm/$(1)/$(CFG_RUSTLLVM): $$(RUSTLLVM_OBJS_OBJS_$(1)) \
$$(CFG_GCCISH_POST_LIB_FLAGS) \
$$(CFG_LLVM_LDFLAGS),$$(RUSTLLVM_DEF_$(1)),$$(CFG_RUSTLLVM))
rustllvm/$(1)/%.o: rustllvm/%.cpp $$(MKFILES)
rustllvm/$(1)/%.o: rustllvm/%.cpp $$(MKFILES) $$(CFG_LLVM_INST_DIR)/bin/llc
@$$(call E, compile: $$@)
$$(Q)$$(call CFG_COMPILE_C_$(1), $$@, $$(CFG_LLVM_CXXFLAGS) $$(RUSTLLVM_INCS_$(1))) $$<
endef
# Instantiate template for all stages