build: Generate an object file for stage0/libstd.dylib
This commit is contained in:
parent
1c8a2598fb
commit
0b9cf7902c
35
Makefile.in
35
Makefile.in
|
@ -99,8 +99,7 @@ ifdef CFG_UNIXY
|
||||||
CFG_PATH_MUNGE := true
|
CFG_PATH_MUNGE := true
|
||||||
CFG_EXE_SUFFIX :=
|
CFG_EXE_SUFFIX :=
|
||||||
CFG_LDPATH :=$(CFG_LDPATH):$(CFG_LLVM_LIBDIR)
|
CFG_LDPATH :=$(CFG_LDPATH):$(CFG_LLVM_LIBDIR)
|
||||||
CFG_RUN_TARG=\
|
CFG_RUN_TARG=$(CFG_LDENV)=$(CFG_LDPATH) $(1)
|
||||||
$(CFG_LDENV)=$(dir $(firstword $(1))):$(CFG_LDPATH) $(1)
|
|
||||||
CFG_RUN_TEST=\
|
CFG_RUN_TEST=\
|
||||||
$(CFG_LDENV)=$(dir $(firstword $(1))):$(CFG_LDPATH) \
|
$(CFG_LDENV)=$(dir $(firstword $(1))):$(CFG_LDPATH) \
|
||||||
$(CFG_VALGRIND) $(1)
|
$(CFG_VALGRIND) $(1)
|
||||||
|
@ -140,7 +139,7 @@ CFG_RUNTIME :=$(call CFG_LIB_NAME,rustrt)
|
||||||
CFG_RUSTLLVM :=$(call CFG_LIB_NAME,rustllvm)
|
CFG_RUSTLLVM :=$(call CFG_LIB_NAME,rustllvm)
|
||||||
CFG_STDLIB :=$(call CFG_LIB_NAME,std)
|
CFG_STDLIB :=$(call CFG_LIB_NAME,std)
|
||||||
|
|
||||||
CFG_LLC_CFLAGS := -march=x86
|
CFG_LLC_CFLAGS := -march=x86 -relocation-model=pic
|
||||||
|
|
||||||
ifdef CFG_GCC
|
ifdef CFG_GCC
|
||||||
CFG_INFO := $(info cfg: using gcc)
|
CFG_INFO := $(info cfg: using gcc)
|
||||||
|
@ -438,21 +437,33 @@ boot/$(CFG_STDLIB): $(STDLIB_CRATE) $(STDLIB_INPUTS) \
|
||||||
@$(call E, compile: $@)
|
@$(call E, compile: $@)
|
||||||
$(BOOT) -shared -o $@ $<
|
$(BOOT) -shared -o $@ $<
|
||||||
|
|
||||||
stage0/$(CFG_STDLIB): $(STDLIB_CRATE) $(STDLIB_INPUTS) \
|
stage0/std.bc: $(STDLIB_CRATE) $(STDLIB_INPUTS) stage0/rustc$(X) $(MKFILES)
|
||||||
stage0/rustc$(X) $(MKFILES)
|
|
||||||
@$(call E, compile: $@)
|
@$(call E, compile: $@)
|
||||||
$(STAGE0) -shared -o $@ $<
|
$(STAGE0) -shared -o $@ $<
|
||||||
|
|
||||||
stage1/$(CFG_STDLIB): $(STDLIB_CRATE) $(STDLIB_INPUTS) \
|
stage0/$(CFG_STDLIB): stage0/std.o stage0/glue.o
|
||||||
stage1/rustc$(X) $(MKFILES)
|
@$(call E, link: $@)
|
||||||
|
$(Q)gcc $(CFG_GCC_CFLAGS) stage0/glue.o $(CFG_GCC_LINK_FLAGS) -o $@ $< \
|
||||||
|
-Lstage0 -Lrt -lrustrt
|
||||||
|
|
||||||
|
stage1/std.bc: $(STDLIB_CRATE) $(STDLIB_INPUTS) stage1/rustc$(X) $(MKFILES)
|
||||||
@$(call E, compile: $@)
|
@$(call E, compile: $@)
|
||||||
$(STAGE1) -shared -o $@ $<
|
$(STAGE1) -shared -o $@ $<
|
||||||
|
|
||||||
stage2/$(CFG_STDLIB): $(STDLIB_CRATE) $(STDLIB_INPUTS) \
|
stage1/$(CFG_STDLIB): stage1/std.o stage1/glue.o
|
||||||
stage2/rustc$(X) $(MKFILES)
|
@$(call E, link: $@)
|
||||||
|
$(Q)gcc $(CFG_GCC_CFLAGS) stage1/glue.o $(CFG_GCC_LINK_FLAGS) -o $@ $< \
|
||||||
|
-Lstage1 -Lrt -lrustrt
|
||||||
|
|
||||||
|
stage2/std.bc: $(STDLIB_CRATE) $(STDLIB_INPUTS) stage2/rustc$(X) $(MKFILES)
|
||||||
@$(call E, compile: $@)
|
@$(call E, compile: $@)
|
||||||
$(STAGE2) -shared -o $@ $<
|
$(STAGE2) -shared -o $@ $<
|
||||||
|
|
||||||
|
stage2/$(CFG_STDLIB): stage2/std.o stage2/glue.o
|
||||||
|
@$(call E, link: $@)
|
||||||
|
$(Q)gcc $(CFG_GCC_CFLAGS) stage2/glue.o $(CFG_GCC_LINK_FLAGS) -o $@ $< \
|
||||||
|
-Lstage2 -Lrt -lrustrt
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
stage0/rustc$(X): $(COMPILER_CRATE) $(COMPILER_INPUTS) \
|
stage0/rustc$(X): $(COMPILER_CRATE) $(COMPILER_INPUTS) \
|
||||||
|
@ -475,17 +486,17 @@ stage2/rustc$(X): $(COMPILER_CRATE) $(COMPILER_INPUTS) \
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
stage0/glue.bc: stage0/rustc$(X) stage0/$(CFG_STDLIB) \
|
stage0/glue.bc: stage0/rustc$(X) boot/$(CFG_STDLIB) \
|
||||||
rustllvm/$(CFG_RUSTLLVM) rt/$(CFG_RUNTIME)
|
rustllvm/$(CFG_RUSTLLVM) rt/$(CFG_RUNTIME)
|
||||||
@$(call E, generate: $@)
|
@$(call E, generate: $@)
|
||||||
$(STAGE0) -o $@ -glue
|
$(STAGE0) -o $@ -glue
|
||||||
|
|
||||||
stage1/glue.bc: stage1/rustc$(X) stage1/$(CFG_STDLIB) \
|
stage1/glue.bc: stage1/rustc$(X) stage0/$(CFG_STDLIB) \
|
||||||
rustllvm/$(CFG_RUSTLLVM) rt/$(CFG_RUNTIME)
|
rustllvm/$(CFG_RUSTLLVM) rt/$(CFG_RUNTIME)
|
||||||
@$(call E, generate: $@)
|
@$(call E, generate: $@)
|
||||||
$(STAGE1) -o $@ -glue
|
$(STAGE1) -o $@ -glue
|
||||||
|
|
||||||
stage2/glue.bc: stage2/rustc$(X) stage2/$(CFG_STDLIB) \
|
stage2/glue.bc: stage2/rustc$(X) stage1/$(CFG_STDLIB) \
|
||||||
rustllvm/$(CFG_RUSTLLVM) rt/$(CFG_RUNTIME)
|
rustllvm/$(CFG_RUSTLLVM) rt/$(CFG_RUNTIME)
|
||||||
@$(call E, generate: $@)
|
@$(call E, generate: $@)
|
||||||
$(STAGE2) -o $@ -glue
|
$(STAGE2) -o $@ -glue
|
||||||
|
|
|
@ -13,6 +13,7 @@ rand_free
|
||||||
rand_new
|
rand_new
|
||||||
rand_next
|
rand_next
|
||||||
refcount
|
refcount
|
||||||
|
rust_dirent_filename
|
||||||
rust_file_is_dir
|
rust_file_is_dir
|
||||||
rust_get_stdin
|
rust_get_stdin
|
||||||
rust_get_stdout
|
rust_get_stdout
|
||||||
|
|
Loading…
Reference in New Issue