Skip to content

Commit 814528d

Browse files
committed
---
yaml --- r: 6158 b: refs/heads/master c: a0ff3db h: refs/heads/master v: v3
1 parent 28a6de1 commit 814528d

File tree

7 files changed

+36
-19
lines changed

7 files changed

+36
-19
lines changed

[refs]

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
---
2-
refs/heads/master: e47f410536899d2653f86ff374809f1c63ec8ae6
2+
refs/heads/master: a0ff3db258dee4aa6017d1bb1bd8b6f52394a5c0

trunk/Makefile.in

+17-6
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,6 @@ CFG_INFO := $(info cfg: make restarts: $(MAKE_RESTARTS))
6262
endif
6363

6464
CFG_INFO := $(info cfg: shell host triple $(CFG_HOST_TRIPLE))
65-
CFG_INFO := $(info cfg: llvm host triple $(CFG_LLVM_TRIPLE))
66-
CFG_INFO := $(info cfg: llvm target triples $(CFG_TARGET_TRIPLES))
6765

6866
ifdef CFG_DISABLE_OPTIMIZE
6967
$(info cfg: disabling rustc optimization (CFG_DISABLE_OPTIMIZE))
@@ -194,6 +192,23 @@ COMPILER_CRATE := $(S)src/comp/rustc.rc
194192
COMPILER_INPUTS := $(wildcard $(addprefix $(S)src/comp/, \
195193
rustc.rc *.rs */*.rs */*/*.rs))
196194

195+
######################################################################
196+
# LLVM macros
197+
######################################################################
198+
199+
LLVM_CONFIG:=$(CFG_LLVM_INST_DIR)/bin/llvm-config
200+
LLVM_VERSION=$(shell "$(LLVM_CONFIG)" --version)
201+
LLVM_BINDIR=$(shell "$(LLVM_CONFIG)" --bindir)
202+
LLVM_INCDIR=$(shell "$(LLVM_CONFIG)" --includedir)
203+
LLVM_LIBDIR=$(shell "$(LLVM_CONFIG)" --libdir)
204+
LLVM_LIBS=$(shell "$(LLVM_CONFIG)" --libs)
205+
LLVM_LDFLAGS=$(shell "$(LLVM_CONFIG)" --ldflags)
206+
LLVM_CXXFLAGS=$(shell "$(LLVM_CONFIG)" --cxxflags)
207+
LLVM_HOST_TRIPLE=$(shell "$(LLVM_CONFIG)" --host-target)
208+
209+
LLVM_AS=$(CFG_LLVM_BINDIR)/llvm-as$(X)
210+
LLC=$(CFG_LLVM_BINDIR)/llc$(X)
211+
197212
######################################################################
198213
# Exports for sub-utilities
199214
######################################################################
@@ -213,10 +228,6 @@ export CFG_PREFIX
213228
# Subprograms
214229
######################################################################
215230

216-
LLVM_AS := $(CFG_LLVM_BINDIR)/llvm-as$(X)
217-
218-
LLC := $(CFG_LLVM_BINDIR)/llc$(X)
219-
220231
######################################################################
221232
# Per-stage targets and runner
222233
######################################################################

trunk/configure

+6-2
Original file line numberDiff line numberDiff line change
@@ -498,13 +498,14 @@ step_msg "configuring LLVM"
498498

499499
CFG_LLVM_SRC_DIR=${CFG_SRC_DIR}src/llvm
500500
CFG_LLVM_BUILD_DIR=${CFG_BUILD_DIR}/llvm
501+
# Just use LLVM straight from its build directory to avoid 'make install' time
501502
CFG_LLVM_INST_DIR=${CFG_LLVM_BUILD_DIR}/Release+Asserts
502503

503504
LLVM_TARGETS="--enable-targets=x86,x86_64"
504-
LLVM_DISABLE="--disable-docs"
505505
LLVM_BUILD="--build=${CFG_HOST_TRIPLE}"
506506
LLVM_HOST="--host=${CFG_HOST_TRIPLE}"
507507
LLVM_TARGET="--target=${CFG_HOST_TRIPLE}"
508+
LLVM_OPTS="--enable-optimized --disable-docs"
508509

509510
LLVM_CXX_32="g++ -m32"
510511
LLVM_CC_32="gcc -m32"
@@ -525,7 +526,10 @@ CFLAGS=$LLVM_CFLAGS
525526
CXXFLAGS=$LLVM_CXXFLAGS
526527
LDFLAGS=$LLVM_LDFLAGS
527528

528-
LLVM_FLAGS="$LLVM_TARGETS $LLVM_DISABLE $LLVM_BUILD $LLVM_HOST $LLVM_TARGET"
529+
LLVM_FLAGS="$LLVM_TARGETS $LLVM_OPTS $LLVM_BUILD $LLVM_HOST $LLVM_TARGET"
530+
531+
msg "configuring LLVM with:"
532+
msg "$LLVM_FLAGS"
529533

530534
export CXX
531535
export CC

trunk/mk/autodep.mk

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ rt/%.d: rt/%.cpp $(MKFILES)
1414
1515
1616

17-
rustllvm/%.d: rustllvm/%.cpp $(MKFILES)
17+
rustllvm/%.d: rustllvm/%.cpp $(MKFILES) $(LLVM_CONFIG)
1818
@$(call E, dep: $@)
1919
$(Q)$(call CFG_DEPEND_C, $@ \
2020
$(subst $(S)src/,,$(patsubst %.cpp, %.o, $<)), \
21-
$(CFG_LLVM_CXXFLAGS) $(RUSTLLVM_INCS)) $< >[email protected]
21+
$(LLVM_CXXFLAGS) $(RUSTLLVM_INCS)) $< >[email protected]
2222
$(Q)$(CFG_PATH_MUNGE) [email protected]
2323
2424

trunk/mk/llvm.mk

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1-
.PHONY: $(CFG_LLVM_INST_DIR)/bin/llc
1+
# This is just a rough approximation of LLVM deps
2+
LLVM_DEPS:=$(wildcard $(addprefix $(CFG_LLVM_SRC_DIR)/, \
3+
* */*h */*/*h */*/*/*h */*cpp */*/*cpp */*/*/*cpp))
24

3-
$(CFG_LLVM_INST_DIR)/bin/llc:
5+
$(LLVM_CONFIG): $(LLVM_DEPS)
46
@$(call E, make: llvm)
57
$(Q)make -C $(CFG_LLVM_BUILD_DIR)

trunk/mk/platform.mk

-1
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,6 @@ ifdef CFG_WINDOWSY
154154
CFG_EXE_SUFFIX := .exe
155155
CFG_LIB_NAME=$(1).dll
156156
CFG_DEF_SUFFIX := .def
157-
CFG_LDPATH :=$(CFG_LLVM_BINDIR)
158157
CFG_LDPATH :=$(CFG_LDPATH):$$PATH
159158
CFG_RUN=PATH="$(CFG_LDPATH):$(1)" $(2)
160159
CFG_RUN_TARG=$(call CFG_RUN,$(HOST_LIB$(1)),$(2))

trunk/mk/rustllvm.mk

+6-5
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,22 @@ endif
1414

1515
RUSTLLVM_DEF_$(1) := rustllvm/rustllvm$$(CFG_DEF_SUFFIX)
1616

17-
RUSTLLVM_INCS_$(1) := -iquote $$(CFG_LLVM_INCDIR) \
17+
RUSTLLVM_INCS_$(1) := -iquote $$(LLVM_INCDIR) \
1818
-iquote $$(S)src/rustllvm/include
1919
RUSTLLVM_OBJS_OBJS_$(1) := $$(RUSTLLVM_OBJS_CS_$(1):rustllvm/%.cpp=rustllvm/$(1)/%.o)
2020

2121
rustllvm/$(1)/$(CFG_RUSTLLVM): $$(RUSTLLVM_OBJS_OBJS_$(1)) \
2222
$$(MKFILES) $$(RUSTLLVM_DEF_$(1))
2323
@$$(call E, link: $$@)
2424
$$(Q)$$(call CFG_LINK_C_$(1),$$@,$$(RUSTLLVM_OBJS_OBJS_$(1)) \
25-
$$(CFG_GCCISH_PRE_LIB_FLAGS) $$(CFG_LLVM_LIBS) \
25+
$$(CFG_GCCISH_PRE_LIB_FLAGS) $$(LLVM_LIBS) \
2626
$$(CFG_GCCISH_POST_LIB_FLAGS) \
27-
$$(CFG_LLVM_LDFLAGS),$$(RUSTLLVM_DEF_$(1)),$$(CFG_RUSTLLVM))
27+
$$(LLVM_LDFLAGS),$$(RUSTLLVM_DEF_$(1)),$$(CFG_RUSTLLVM))
2828

29-
rustllvm/$(1)/%.o: rustllvm/%.cpp $$(MKFILES) $$(CFG_LLVM_INST_DIR)/bin/llc
29+
rustllvm/$(1)/%.o: rustllvm/%.cpp $$(MKFILES) \
30+
$$(CFG_LLVM_INST_DIR)/bin/llvm-config
3031
@$$(call E, compile: $$@)
31-
$$(Q)$$(call CFG_COMPILE_C_$(1), $$@, $$(CFG_LLVM_CXXFLAGS) $$(RUSTLLVM_INCS_$(1))) $$<
32+
$$(Q)$$(call CFG_COMPILE_C_$(1), $$@, $$(LLVM_CXXFLAGS) $$(RUSTLLVM_INCS_$(1))) $$<
3233
endef
3334

3435
# Instantiate template for all stages

0 commit comments

Comments
 (0)