Skip to content

Commit 2cf6bf8

Browse files
committed
Reorganize lib-glob code to avoid accidentally duplicating lib/ subdirectory.
1 parent aa7b3cc commit 2cf6bf8

File tree

5 files changed

+41
-52
lines changed

5 files changed

+41
-52
lines changed

Makefile.in

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -118,14 +118,10 @@ CFG_STDLIB :=$(call CFG_LIB_NAME,std)
118118
CFG_LIBRUSTC :=$(call CFG_LIB_NAME,rustc)
119119
CFG_LIBSYNTAX :=$(call CFG_LIB_NAME,syntax)
120120

121-
STDLIB_GLOB :=$(call CFG_LIB_GLOB,std)
122-
CORELIB_GLOB :=$(call CFG_LIB_GLOB,core)
123-
LIBRUSTC_GLOB :=$(call CFG_LIB_GLOB,rustc)
124-
LIBSYNTAX_GLOB :=$(call CFG_LIB_GLOB,syntax)
125-
STDLIB_DSYM_GLOB :=$(call CFG_LIB_DSYM_GLOB,std)
126-
CORELIB_DSYM_GLOB :=$(call CFG_LIB_DSYM_GLOB,core)
127-
LIBRUSTC_DSYM_GLOB :=$(call CFG_LIB_DSYM_GLOB,rustc)
128-
LIBSYNTAX_DSYM_GLOB :=$(call CFG_LIB_DSYM_GLOB,syntax)
121+
STDLIB_GLOB =$(call CFG_LIB_GLOB,$(1),std)
122+
CORELIB_GLOB =$(call CFG_LIB_GLOB,$(1),core)
123+
LIBRUSTC_GLOB =$(call CFG_LIB_GLOB,$(1),rustc)
124+
LIBSYNTAX_GLOB =$(call CFG_LIB_GLOB,$(1),syntax)
129125

130126
# version-string calculation
131127
CFG_GIT_DIR := $(CFG_SRC_DIR).git

mk/clean.mk

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,10 @@ clean$(1)_H_$(2):
6262
$(Q)rm -f $$(HLIB$(1)_H_$(2))/$(CFG_STDLIB)
6363
$(Q)rm -f $$(HLIB$(1)_H_$(2))/$(CFG_LIBRUSTC)
6464
$(Q)rm -f $$(HLIB$(1)_H_$(2))/$(CFG_LIBSYNTAX)
65-
$(Q)rm -f $$(HLIB$(1)_H_$(2))/$(CORELIB_GLOB)
66-
$(Q)rm -f $$(HLIB$(1)_H_$(2))/$(STDLIB_GLOB)
67-
$(Q)rm -f $$(HLIB$(1)_H_$(2))/$(LIBRUSTC_GLOB)
68-
$(Q)rm -f $$(HLIB$(1)_H_$(2))/$(LIBSYNTAX_GLOB)
65+
$(Q)rm -f $$(call CORELIB_GLOB,$$(HLIB$(1)_H_$(2)))
66+
$(Q)rm -f $$(call STDLIB_GLOB,$$(HLIB$(1)_H_$(2))))
67+
$(Q)rm -f $$(call LIBRUSTC_GLOB,$$(HLIB$(1)_H_$(2)))
68+
$(Q)rm -f $$(call LIBSYNTAX_GLOB,$$(HLIB$(1)_H_$(2)))
6969
$(Q)rm -f $$(HLIB$(1)_H_$(2))/$(CFG_RUSTLLVM)
7070
$(Q)rm -f $$(HLIB$(1)_H_$(2))/libstd.rlib
7171

@@ -88,10 +88,10 @@ clean$(1)_T_$(2)_H_$(3):
8888
$(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_STDLIB)
8989
$(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBRUSTC)
9090
$(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBSYNTAX)
91-
$(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(CORELIB_GLOB)
92-
$(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(STDLIB_GLOB)
93-
$(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(LIBRUSTC_GLOB)
94-
$(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(LIBSYNTAX_GLOB)
91+
$(Q)rm -f $$(call CORELIB_GLOB,$$(TLIB$(1)_T_$(2)_H_$(3)))
92+
$(Q)rm -f $$(call STDLIB_GLOB,$$(TLIB$(1)_T_$(2)_H_$(3)))
93+
$(Q)rm -f $$(call LIBRUSTC_GLOB,$$(TLIB$(1)_T_$(2)_H_$(3)))
94+
$(Q)rm -f $$(call LIBSYNTAX_GLOB,$$(TLIB$(1)_T_$(2)_H_$(3)))
9595
$(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_RUSTLLVM)
9696
$(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/libstd.rlib
9797
$(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/libmorestack.a

mk/host.mk

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,7 @@ $$(HLIB$(2)_H_$(4))/$$(CFG_LIBRUSTC): \
3030
$$(HSTDLIB_DEFAULT$(2)_H_$(3))
3131
@$$(call E, cp: $$@)
3232
$$(Q)cp $$< $$@
33-
$$(Q)cp -R $$(TLIB$(1)_T_$(4)_H_$(3))/$(LIBRUSTC_GLOB) \
34-
$$(TLIB$(1)_T_$(4)_H_$(3))/$(LIBRUSTC_DSYM_GLOB) \
33+
$$(Q)cp -R $$(call LIBRUSTC_GLOB,$$(TLIB$(1)_T_$(4)_H_$(3))) \
3534
$$(HLIB$(2)_H_$(4))
3635

3736
$$(HLIB$(2)_H_$(4))/$$(CFG_LIBSYNTAX): \
@@ -42,8 +41,7 @@ $$(HLIB$(2)_H_$(4))/$$(CFG_LIBSYNTAX): \
4241
$$(HSTDLIB_DEFAULT$(2)_H_$(3))
4342
@$$(call E, cp: $$@)
4443
$$(Q)cp $$< $$@
45-
$$(Q)cp -R $$(TLIB$(1)_T_$(4)_H_$(3))/$(LIBSYNTAX_GLOB) \
46-
$$(TLIB$(1)_T_$(4)_H_$(3))/$(LIBSYNTAX_DSYM_GLOB) \
44+
$$(Q)cp -R $$(call LIBSYNTAX_GLOB,$$(TLIB$(1)_T_$(4)_H_$(3))) \
4745
$$(HLIB$(2)_H_$(4))
4846

4947
$$(HLIB$(2)_H_$(4))/$$(CFG_RUNTIME): \
@@ -56,15 +54,7 @@ $$(HLIB$(2)_H_$(4))/$$(CFG_CORELIB): \
5654
$$(HLIB$(2)_H_$(4))/$$(CFG_RUNTIME)
5755
@$$(call E, cp: $$@)
5856
$$(Q)cp $$< $$@
59-
# Subtle: We do not let the shell expand $(CORELIB_DSYM_GLOB) directly rather
60-
# we use Make's $$(wildcard) facility. The reason is that, on mac, when using
61-
# USE_SNAPSHOT_CORELIB, we copy the core.dylib file out of the snapshot.
62-
# In that case, there is no .dSYM file. Annoyingly, bash then refuses to expand
63-
# glob, and cp reports an error because libcore-*.dylib.dsym does not exist.
64-
# Make instead expands the glob to nothing, which gives us the correct behavior.
65-
# (Copy .dsym file if it exists, but do nothing otherwise)
66-
$$(Q)cp -R $$(TLIB$(1)_T_$(4)_H_$(3))/$(CORELIB_GLOB) \
67-
$$(wildcard $$(TLIB$(1)_T_$(4)_H_$(3))/$(CORELIB_DSYM_GLOB)) \
57+
$$(Q)cp -R $$(call CORELIB_GLOB,$$(TLIB$(1)_T_$(4)_H_$(3))) \
6858
$$(HLIB$(2)_H_$(4))
6959

7060
$$(HLIB$(2)_H_$(4))/$$(CFG_STDLIB): \
@@ -73,8 +63,7 @@ $$(HLIB$(2)_H_$(4))/$$(CFG_STDLIB): \
7363
$$(HLIB$(2)_H_$(4))/$$(CFG_RUNTIME)
7464
@$$(call E, cp: $$@)
7565
$$(Q)cp $$< $$@
76-
$$(Q)cp -R $$(TLIB$(1)_T_$(4)_H_$(3))/$(STDLIB_GLOB) \
77-
$$(wildcard $$(TLIB$(1)_T_$(4)_H_$(3))/$(STDLIB_DSYM_GLOB)) \
66+
$$(Q)cp -R $$(call STDLIB_GLOB,$$(TLIB$(1)_T_$(4)_H_$(3))) \
7867
$$(HLIB$(2)_H_$(4))
7968

8069
$$(HLIB$(2)_H_$(4))/libcore.rlib: \

mk/install.mk

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,12 @@
66
# destination directory as arg 2, and filename/libname-glob as arg 3
77
ifdef VERBOSE
88
INSTALL = install -m755 $(1)/$(3) $(2)/$(3)
9-
INSTALL_LIB = install -m644 `ls -rt1 $(1)/$(3) | tail -1` $(2)/
9+
INSTALL_LIB = install -m644 $(3) $(2)/
1010
else
1111
INSTALL = $(Q)$(call E, install: $(2)/$(3)) && install -m755 $(1)/$(3) $(2)/$(3)
12-
INSTALL_LIB = $(Q)$(call E, install_lib: $(2)/$(3)) && \
13-
install -m644 `ls -rt1 $(1)/$(3) | tail -1` $(2)/
12+
INSTALL_LIB = $(Q)$(call E, install_lib: \
13+
$(addprefix $(2)/,$(basename $(3)))) && \
14+
install -m644 $(3) $(2)/
1415
endif
1516

1617
# The stage we install from
@@ -37,13 +38,17 @@ install-target-$(1)-host-$(2): $$(SREQ$$(ISTAGE)_T_$(1)_H_$(2))
3738
$$(Q)mkdir -p $$(PTL$(1)$(2))
3839
$$(Q)$$(call INSTALL,$$(TL$(1)$(2)),$$(PTL$(1)$(2)),$$(CFG_RUNTIME))
3940
$$(Q)$$(call INSTALL_LIB, \
40-
$$(TL$(1)$(2)),$$(PTL$(1)$(2)),$$(CORELIB_GLOB))
41+
$$(TL$(1)$(2)),$$(PTL$(1)$(2)),\
42+
$$(call CORELIB_GLOB,$$(TL$(1)$(2))))
4143
$$(Q)$$(call INSTALL_LIB, \
42-
$$(TL$(1)$(2)),$$(PTL$(1)$(2)),$$(STDLIB_GLOB))
44+
$$(TL$(1)$(2)),$$(PTL$(1)$(2)),\
45+
$$(call STDLIB_GLOB,$$(TL$(1)$(2))))
4346
$$(Q)$$(call INSTALL_LIB, \
44-
$$(TL$(1)$(2)),$$(PTL$(1)$(2)),$$(LIBRUSTC_GLOB))
47+
$$(TL$(1)$(2)),$$(PTL$(1)$(2)),\
48+
$$(call LIBRUSTC_GLOB,$$(TL$(1)$(2))))
4549
$$(Q)$$(call INSTALL_LIB, \
46-
$$(TL$(1)$(2)),$$(PTL$(1)$(2)),$$(LIBSYNTAX_GLOB))
50+
$$(TL$(1)$(2)),$$(PTL$(1)$(2)),\
51+
$$(call LIBSYNTAX_GLOB,$$(TL$(1)$(2))))
4752
$$(Q)$$(call INSTALL,$$(TL$(1)$(2)),$$(PTL$(1)$(2)),libmorestack.a)
4853

4954
endef
@@ -74,10 +79,10 @@ install-host: $(SREQ$(ISTAGE)_T_$(CFG_HOST_TRIPLE)_H_$(CFG_HOST_TRIPLE))
7479
$(Q)$(call INSTALL,$(HB2),$(PHB),cargo$(X))
7580
$(Q)$(call INSTALL,$(HB2),$(PHB),rustdoc$(X))
7681
$(Q)$(call INSTALL,$(HL),$(PHL),$(CFG_RUNTIME))
77-
$(Q)$(call INSTALL_LIB,$(HL),$(PHL),$(CORELIB_GLOB))
78-
$(Q)$(call INSTALL_LIB,$(HL),$(PHL),$(STDLIB_GLOB))
79-
$(Q)$(call INSTALL_LIB,$(HL),$(PHL),$(LIBRUSTC_GLOB))
80-
$(Q)$(call INSTALL_LIB,$(HL),$(PHL),$(LIBSYNTAX_GLOB))
82+
$(Q)$(call INSTALL_LIB,$(HL),$(PHL),$(call CORELIB_GLOB,$(PHL)))
83+
$(Q)$(call INSTALL_LIB,$(HL),$(PHL),$(call STDLIB_GLOB,$(PHL)))
84+
$(Q)$(call INSTALL_LIB,$(HL),$(PHL),$(call LIBRUSTC_GLOB,$(PHL)))
85+
$(Q)$(call INSTALL_LIB,$(HL),$(PHL),$(call LIBSYNTAX_GLOB,$(PHL)))
8186
$(Q)$(call INSTALL,$(HL),$(PHL),$(CFG_RUSTLLVM))
8287
$(Q)$(call INSTALL,$(S)/man, \
8388
$(PREFIX_ROOT)/share/man/man1,rustc.1)
@@ -86,7 +91,7 @@ install-targets: $(INSTALL_TARGET_RULES)
8691

8792

8893
HOST_LIB_FROM_HL_GLOB = \
89-
$(patsubst $(HL)/%,$(PHL)/%,$(wildcard $(HL)/$(1)))
94+
$(patsubst $(HL)/%,$(PHL)/%,$(1))
9095

9196
uninstall:
9297
$(Q)rm -f $(PHB)/rustc$(X)
@@ -95,10 +100,10 @@ uninstall:
95100
$(Q)rm -f $(PHL)/$(CFG_RUSTLLVM)
96101
$(Q)rm -f $(PHL)/$(CFG_RUNTIME)
97102
$(Q)for i in \
98-
$(call HOST_LIB_FROM_HL_GLOB,$(CORELIB_GLOB)) \
99-
$(call HOST_LIB_FROM_HL_GLOB,$(STDLIB_GLOB)) \
100-
$(call HOST_LIB_FROM_HL_GLOB,$(LIBRUSTC_GLOB)) \
101-
$(call HOST_LIB_FROM_HL_GLOB,$(LIBSYNTAX_GLOB)) \
103+
$(call HOST_LIB_FROM_HL_GLOB,$(call CORELIB_GLOB,$(HL))) \
104+
$(call HOST_LIB_FROM_HL_GLOB,$(call STDLIB_GLOB,$(HL))) \
105+
$(call HOST_LIB_FROM_HL_GLOB,$(call LIBRUSTC_GLOB,$(HL))) \
106+
$(call HOST_LIB_FROM_HL_GLOB,$(call LIBSYNTAX_GLOB,$(HL))) \
102107
; \
103108
do rm -f $$i ; \
104109
done

mk/platform.mk

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ CFG_DSYMUTIL := true
2121

2222
ifneq ($(findstring freebsd,$(CFG_OSTYPE)),)
2323
CFG_LIB_NAME=lib$(1).so
24-
CFG_LIB_GLOB=lib$(1)-*.so
24+
CFG_LIB_GLOB=$(wildcard $(1)/lib$(2)-*.so)
2525
CFG_GCCISH_CFLAGS += -fPIC -I/usr/local/include
2626
CFG_GCCISH_LINK_FLAGS += -shared -fPIC -lpthread -lrt
2727
CFG_GCCISH_DEF_FLAG := -Wl,--export-dynamic,--dynamic-list=
@@ -40,7 +40,7 @@ endif
4040

4141
ifneq ($(findstring linux,$(CFG_OSTYPE)),)
4242
CFG_LIB_NAME=lib$(1).so
43-
CFG_LIB_GLOB=lib$(1)-*.so
43+
CFG_LIB_GLOB=$(wildcard $(1)/lib$(2)-*.so)
4444
CFG_GCCISH_CFLAGS += -fPIC
4545
CFG_GCCISH_LINK_FLAGS += -shared -fPIC -ldl -lpthread -lrt
4646
CFG_GCCISH_DEF_FLAG := -Wl,--export-dynamic,--dynamic-list=
@@ -76,8 +76,7 @@ endif
7676

7777
ifneq ($(findstring darwin,$(CFG_OSTYPE)),)
7878
CFG_LIB_NAME=lib$(1).dylib
79-
CFG_LIB_GLOB=lib$(1)-*.dylib
80-
CFG_LIB_DSYM_GLOB=lib$(1)-*.dylib.dSYM
79+
CFG_LIB_GLOB=$(wildcard $(1)/lib$(2)-*.dylib $(1)/lib$(2)-*.dylib.dSYM)
8180
CFG_UNIXY := 1
8281
CFG_LDENV := DYLD_LIBRARY_PATH
8382
CFG_GCCISH_LINK_FLAGS += -dynamiclib -lpthread -framework CoreServices -Wl,-no_compact_unwind
@@ -174,7 +173,7 @@ ifdef CFG_WINDOWSY
174173

175174
CFG_EXE_SUFFIX := .exe
176175
CFG_LIB_NAME=$(1).dll
177-
CFG_LIB_GLOB=$(1)-*.dll
176+
CFG_LIB_GLOB=$(wildcard $(1)/$(2)-*.dll)
178177
CFG_DEF_SUFFIX := .def
179178
ifdef MSYSTEM
180179
CFG_LDPATH :=$(CFG_LDPATH):$$PATH

0 commit comments

Comments
 (0)