Skip to content

Commit 9378129

Browse files
nikomatsakisbrson
authored andcommitted
enable building with different target arch
1 parent f05761d commit 9378129

File tree

6 files changed

+15
-32
lines changed

6 files changed

+15
-32
lines changed

Makefile.in

-1
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,6 @@ config.mk: $(S)configure $(S)Makefile.in $(S)src/snapshots.txt
325325
# Primary-target makefiles
326326
######################################################################
327327

328-
include $(CFG_SRC_DIR)/mk/intrinsics.mk
329328
include $(CFG_SRC_DIR)/mk/target.mk
330329
include $(CFG_SRC_DIR)/mk/host.mk
331330
include $(CFG_SRC_DIR)/mk/stage0.mk

configure

+5-2
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,7 @@ then
229229
printf " %-32s %s\n" "CFG_LLVM_ROOT" "The host LLVM install"
230230
printf " %-32s %s\n" "CFG_PREFIX" "The installation prefix"
231231
printf " %-32s %s\n" "CFG_ONLY_GCC" "Prefer gcc to clang for building the runtime"
232+
printf " %-32s %s\n" "CFG_TARGET_TRIPLES" "LLVM target triples"
232233
echo ""
233234
exit 0
234235
fi
@@ -363,8 +364,10 @@ then
363364
fi
364365
fi
365366

366-
# FIXME: add support for extending the target-triples list
367-
CFG_TARGET_TRIPLES="${CFG_HOST_TRIPLE}"
367+
if [ -z "$CFG_TARGET_TRIPLES" ]
368+
then
369+
CFG_TARGET_TRIPLES="${CFG_HOST_TRIPLE}"
370+
fi
368371

369372
putvar CFG_HOST_TRIPLE
370373
putvar CFG_TARGET_TRIPLES

mk/intrinsics.mk

-19
This file was deleted.

mk/target.mk

+6-6
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,17 @@ INTR_HOST := $$(subst i686,i386,$$(TARGET_HOST))
1515
$$(TARGET_LIB$(1)$(2))/intrinsics.ll: \
1616
$$(S)src/rt/intrinsics/intrinsics.$$(INTR_HOST).ll.in
1717
@$$(call E, sed: $$@)
18-
sed s/@CFG_TARGET_TRIPLE@/$(2)/ $$< > $$@
18+
$$(Q)sed s/@CFG_TARGET_TRIPLE@/$(2)/ $$< > $$@
1919

2020
$$(TARGET_LIB$(1)$(2))/intrinsics.bc: $$(TARGET_LIB$(1)$(2))/intrinsics.ll
2121
@$$(call E, llvms-as: $$@)
22-
$$(LLVM_AS) -o $$@ $$<
22+
$$(Q)$$(LLVM_AS) -o $$@ $$<
2323

2424
$$(TARGET_LIB$(1)$(2))/$$(CFG_STDLIB): \
2525
$$(STDLIB_CRATE) $$(STDLIB_INPUTS) \
2626
$$(TARGET_SREQ$(1)$(2))
2727
@$$(call E, compile_and_link: $$@)
28-
$$(STAGE$(1)) --lib -o $$@ $$<
28+
$$(STAGE$(1)_$(2)) --lib -o $$@ $$<
2929

3030
ifeq ($(1), 0)
3131
# FIXME: temporary
@@ -38,7 +38,7 @@ $$(TARGET_LIB$(1)$(2))/libstd.rlib: \
3838
$$(STDLIB_CRATE) $$(STDLIB_INPUTS) \
3939
$$(TARGET_SREQ$(1)$(2))
4040
@$$(call E, compile_and_link: $$@)
41-
$$(STAGE$(1)) --lib --static -o $$@ $$<
41+
$$(STAGE$(1)_$(2)) --lib --static -o $$@ $$<
4242

4343
$$(TARGET_LIB$(1)$(2))/$$(CFG_RUNTIME): rt/$$(CFG_RUNTIME)
4444
@$$(call E, cp: $$@)
@@ -54,15 +54,15 @@ $$(TARGET_BIN$(1)$(2))/rustc$$(X): \
5454
$$(TARGET_LIB$(1)$(2))/$$(CFG_RUSTLLVM) \
5555
$$(TARGET_STDLIB_DEFAULT$(1)$(2))
5656
@$$(call E, compile_and_link: $$@)
57-
$$(STAGE$(1)) -o $$@ $$<
57+
$$(STAGE$(1)_$(2)) -o $$@ $$<
5858

5959
$$(TARGET_LIB$(1)$(2))/$$(CFG_LIBRUSTC): \
6060
$$(COMPILER_CRATE) $$(COMPILER_INPUTS) \
6161
$$(TARGET_SREQ$(1)$(2)) \
6262
$$(TARGET_LIB$(1)$(2))/$$(CFG_RUSTLLVM) \
6363
$$(TARGET_STDLIB_DEFAULT$(1)$(2))
6464
@$$(call E, compile_and_link: $$@)
65-
$$(STAGE$(1)) --lib -o $$@ $$<
65+
$$(STAGE$(1)_$(2)) --lib -o $$@ $$<
6666

6767
endef
6868

mk/tests.mk

+2-2
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ check-stage$(1)-pretty-pretty: check-stage$(1)-pretty-pretty-dummy
150150
test/stdtest.stage$(1)$$(X): $$(STDTEST_CRATE) $$(STDTEST_INPUTS) \
151151
$$(SREQ$(1)$$(CFG_HOST_TRIPLE))
152152
@$$(call E, compile_and_link: $$@)
153-
$$(STAGE$(1)) -o $$@ $$< --test
153+
$$(STAGE$(1)_$$(CFG_HOST_TRIPLE)) -o $$@ $$< --test
154154

155155
check-stage$(1)-std-dummy: test/stdtest.stage$(1)$$(X)
156156
@$$(call E, run: $$<)
@@ -166,7 +166,7 @@ test/rustctest.stage$(1)$$(X): \
166166
$$(TARGET_LIB$(1)$$(CFG_HOST_TRIPLE))/$$(CFG_RUSTLLVM) \
167167
$$(TARGET_LIB$(1)$$(CFG_HOST_TRIPLE))/$$(CFG_STDLIB)
168168
@$$(call E, compile_and_link: $$@)
169-
$$(STAGE$(1)) -o $$@ $$< --test
169+
$$(STAGE$(1)_$$(CFG_HOST_TRIPLE)) -o $$@ $$< --test
170170

171171
check-stage$(1)-rustc-dummy: test/rustctest.stage$(1)$$(X)
172172
@$$(call E, run: $$<)

mk/tools.mk

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ $$(TARGET_BIN$(1)$(CFG_HOST_TRIPLE))/fuzzer$$(X): \
1818
$$(TARGET_LIB$(1)$(CFG_HOST_TRIPLE))/$$(CFG_STDLIB) \
1919
$$(TARGET_LIB$(1)$(CFG_HOST_TRIPLE))/$$(CFG_LIBRUSTC)
2020
@$$(call E, compile_and_link: $$@)
21-
$$(STAGE$(1)) -o $$@ $$<
21+
$$(STAGE$(1)_$(CFG_HOST_TRIPLE)) -o $$@ $$<
2222

2323
# Promote the stageN target to stageN+1 host
2424
# FIXME: Shouldn't need to depend on host/librustc.so once
@@ -35,7 +35,7 @@ $$(TARGET_BIN$(1)$(CFG_HOST_TRIPLE))/compiletest$$(X): \
3535
$$(TARGET_SREQ$(1)$(CFG_HOST_TRIPLE)) \
3636
$$(TARGET_LIB$(1)$(CFG_HOST_TRIPLE))/$$(CFG_STDLIB)
3737
@$$(call E, compile_and_link: $$@)
38-
$$(STAGE$(1)) -o $$@ $$<
38+
$$(STAGE$(1)_$(CFG_HOST_TRIPLE)) -o $$@ $$<
3939

4040
$$(HOST_BIN$(2))/compiletest$$(X): \
4141
$$(TARGET_BIN$(1)$(CFG_HOST_TRIPLE))/compiletest$$(X) \

0 commit comments

Comments
 (0)