71
71
72
72
CFG_LDPATH :=$(CFG_BUILD_DIR ) /rt
73
73
CFG_LDPATH :=$(CFG_LDPATH ) :$(CFG_BUILD_DIR ) /rustllvm
74
+ CFG_TESTLIB =$(dir $(firstword $(1 ) ) ) :$(patsubst .% ,% ,$(suffix $(1 ) ) )
75
+ CFG_EXE_TESTLIB =$(call CFG_TESTLIB,$(patsubst % .exe,% ) )
74
76
75
77
ifdef CFG_WINDOWSY
76
78
CFG_INFO := $(info cfg: windows-y environment)
@@ -79,7 +81,7 @@ ifdef CFG_WINDOWSY
79
81
CFG_LIB_NAME =$(1 ) .dll
80
82
CFG_LDPATH :=$(CFG_LDPATH ) :$(CFG_LLVM_BINDIR )
81
83
CFG_LDPATH :=$(CFG_LDPATH ) :$$PATH
82
- CFG_RUN_TEST=PATH ="$(CFG_LDPATH ) " $(1 )
84
+ CFG_RUN_TEST=PATH ="$(CFG_LDPATH ) : $( call CFG_EXE_TESTLIB, $( 1 ) ) " $(1 )
83
85
CFG_RUN_TARG=PATH ="$(CFG_LDPATH ) " $(1 )
84
86
85
87
CFG_PATH_MUNGE := $(strip perl -i.bak -p \
@@ -101,7 +103,7 @@ ifdef CFG_UNIXY
101
103
CFG_LDPATH :=$(CFG_LDPATH ) :$(CFG_LLVM_LIBDIR )
102
104
CFG_RUN_TARG=$(CFG_LDENV) =$(CFG_LDPATH ) $(1 )
103
105
CFG_RUN_TEST =\
104
- $(CFG_LDENV ) =$(dir $( firstword $( 1 ) ) ) :$(CFG_LDPATH ) \
106
+ $(CFG_LDENV ) =$(call CFG_TESTLIB, $( 1 ) ) :$(CFG_LDPATH ) \
105
107
$(CFG_VALGRIND ) $(1 )
106
108
107
109
CFG_BOOT_NATIVE := 1
@@ -112,7 +114,7 @@ ifdef CFG_UNIXY
112
114
CFG_LDPATH :=$(CFG_LDPATH ) :$(CFG_LLVM_BINDIR )
113
115
CFG_LDPATH :=$(CFG_LDPATH ) :$$PATH
114
116
CFG_RUN_TARG=PATH =$(CFG_LDPATH ) $(1 )
115
- CFG_RUN_TEST=PATH =$(CFG_LDPATH ) $(1 )
117
+ CFG_RUN_TEST=PATH =$(CFG_LDPATH ) : $( call CFG_EXE_TESTLIB, $( 1 ) ) $(1 )
116
118
117
119
CFG_INFO := $(info cfg: mingw-cross)
118
120
CFG_GCC_CROSS := i586-mingw32msvc-
@@ -714,23 +716,26 @@ compile-check: tidy \
714
716
715
717
% .stage0$(X ) : % .stage0.o rt/$(CFG_RUNTIME ) stage0/glue.o
716
718
@$(call E, link [gcc]: $@ )
717
- $(Q ) gcc $(CFG_GCC_CFLAGS ) stage0/glue.o -o $@ $< -Lstage0 -Lrt -lrustrt
719
+ $(Q ) gcc $(CFG_GCC_CFLAGS ) stage0/glue.o -o $@ $< \
720
+ -Lstage0 -Lrt -lrustrt -lstd
718
721
@# dsymutil sometimes fails or prints a warning, but the
719
722
@# program still runs. Since it simplifies debugging other
720
723
@# programs, I\'ll live with the noise.
721
724
-$(Q)$(CFG_DSYMUTIL) $@
722
725
723
726
% .stage1(X) : % .stage1.o rt/$(CFG_RUNTIME ) stage1/glue.o
724
727
@$(call E, link [gcc]: $@ )
725
- $(Q ) gcc $(CFG_GCC_CFLAGS ) stage1/glue.o -o $@ $< -Lstage1 -Lrt -lrustrt
728
+ $(Q ) gcc $(CFG_GCC_CFLAGS ) stage1/glue.o -o $@ $< \
729
+ -Lstage1 -Lrt -lrustrt -lstd
726
730
@# dsymutil sometimes fails or prints a warning, but the
727
731
@# program still runs. Since it simplifies debugging other
728
732
@# programs, I\'ll live with the noise.
729
733
-$(Q)$(CFG_DSYMUTIL) $@
730
734
731
735
% .stage2$(X ) : % .stage2.o rt/$(CFG_RUNTIME ) stage2/glue.o
732
736
@$(call E, link [gcc]: $@ )
733
- $(Q ) gcc $(CFG_GCC_CFLAGS ) stage2/glue.o -o $@ $< -Lstage2 -Lrt -lrustrt
737
+ $(Q ) gcc $(CFG_GCC_CFLAGS ) stage2/glue.o -o $@ $< \
738
+ -Lstage2 -Lrt -lrustrt -lstd
734
739
@# dsymutil sometimes fails or prints a warning, but the
735
740
@# program still runs. Since it simplifies debugging other
736
741
@# programs, I\'ll live with the noise.
0 commit comments