Skip to content

Commit 26bb671

Browse files
committed
Tie the LLVM build into ours
1 parent bd67c70 commit 26bb671

File tree

3 files changed

+18
-6
lines changed

3 files changed

+18
-6
lines changed

configure

+12-4
Original file line numberDiff line numberDiff line change
@@ -414,8 +414,8 @@ putvar CFG_LLVM_LDFLAGS
414414
putvar CFG_LLVM_LIBS
415415
putvar CFG_LLVM_TRIPLE
416416

417-
CFG_LLVM_BUILD_DIR=llvm/build
418-
CFG_LLVM_INST_DIR=llvm/install
417+
LLVM_BUILD_DIR=llvm/build
418+
LLVM_INST_DIR=llvm/install
419419

420420
step_msg "making directories"
421421

@@ -497,12 +497,18 @@ msg
497497

498498

499499
# Configure llvm. Here we go...
500-
step_msg "configure: LLVM"
500+
step_msg "configuring LLVM"
501501

502502
CFG_LLVM_SRC_DIR=${CFG_SRC_DIR}/src/llvm
503+
CFG_LLVM_BUILD_DIR=${CFG_BUILD_DIR}/${LLVM_BUILD_DIR}
504+
CFG_LLVM_INST_DIR=${CFG_BUILD_DIR}/${LLVM_INST_DIR}
503505

504506
LLVM_TARGETS="--enable-targets=x86,x86_64"
505507
LLVM_DISABLE="--disable-docs"
508+
LLVM_PREFIX="--prefix=${CFG_LLVM_INST_DIR}"
509+
LLVM_BUILD="--build=${CFG_HOST_TRIPLE}"
510+
LLVM_HOST="--host=${CFG_HOST_TRIPLE}"
511+
LLVM_TARGET="--target=${CFG_HOST_TRIPLE}"
506512

507513
LLVM_CXX_32="g++ -m32"
508514
LLVM_CC_32="gcc -m32"
@@ -523,6 +529,8 @@ CFLAGS=$LLVM_CFLAGS
523529
CXXFLAGS=$LLVM_CXXFLAGS
524530
LDFLAGS=$LLVM_LDFLAGS
525531

532+
LLVM_FLAGS="$LLVM_TARGETS $LLVM_DISABLE $LLVM_PREFIX $LLVM_BUILD $LLVM_HOST $LLVM_TARGET"
533+
526534
export CXX
527535
export CC
528536
export CFLAGS
@@ -531,7 +539,7 @@ export LDFLAGS
531539

532540
cd $CFG_LLVM_BUILD_DIR
533541
# FIXME: This won't work if CFG_SRC_DIR is absolute
534-
${CFG_BUILD_DIR}/${CFG_LLVM_SRC_DIR}/configure $LLVM_TARGETS $LLVM_DISABLE
542+
${CFG_BUILD_DIR}/${CFG_LLVM_SRC_DIR}/configure $LLVM_FLAGS
535543
cd $CFG_BUILD_DIR
536544

537545
putvar CFG_LLVM_SRC_DIR

mk/llvm.mk

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
.PHONY: $(CFG_LLVM_INST_DIR)/bin/llc
2+
3+
$(CFG_LLVM_INST_DIR)/bin/llc:
4+
@$(call E, make: llvm)
5+
$(Q)make install -C $(CFG_LLVM_BUILD_DIR)

mk/rustllvm.mk

+1-2
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,9 @@ rustllvm/$(1)/$(CFG_RUSTLLVM): $$(RUSTLLVM_OBJS_OBJS_$(1)) \
2626
$$(CFG_GCCISH_POST_LIB_FLAGS) \
2727
$$(CFG_LLVM_LDFLAGS),$$(RUSTLLVM_DEF_$(1)),$$(CFG_RUSTLLVM))
2828

29-
rustllvm/$(1)/%.o: rustllvm/%.cpp $$(MKFILES)
29+
rustllvm/$(1)/%.o: rustllvm/%.cpp $$(MKFILES) $$(CFG_LLVM_INST_DIR)/bin/llc
3030
@$$(call E, compile: $$@)
3131
$$(Q)$$(call CFG_COMPILE_C_$(1), $$@, $$(CFG_LLVM_CXXFLAGS) $$(RUSTLLVM_INCS_$(1))) $$<
32-
3332
endef
3433

3534
# Instantiate template for all stages

0 commit comments

Comments
 (0)