Revert "Reorganize lib-glob code to avoid accidentally duplicating lib/ subdirectory."

This reverts commit 2cf6bf87c3.
This commit is contained in:
Graydon Hoare 2012-07-11 15:04:32 -07:00
parent 2cf6bf87c3
commit 63df248414
5 changed files with 52 additions and 41 deletions

View file

@ -118,10 +118,14 @@ CFG_STDLIB :=$(call CFG_LIB_NAME,std)
CFG_LIBRUSTC :=$(call CFG_LIB_NAME,rustc)
CFG_LIBSYNTAX :=$(call CFG_LIB_NAME,syntax)
STDLIB_GLOB =$(call CFG_LIB_GLOB,$(1),std)
CORELIB_GLOB =$(call CFG_LIB_GLOB,$(1),core)
LIBRUSTC_GLOB =$(call CFG_LIB_GLOB,$(1),rustc)
LIBSYNTAX_GLOB =$(call CFG_LIB_GLOB,$(1),syntax)
STDLIB_GLOB :=$(call CFG_LIB_GLOB,std)
CORELIB_GLOB :=$(call CFG_LIB_GLOB,core)
LIBRUSTC_GLOB :=$(call CFG_LIB_GLOB,rustc)
LIBSYNTAX_GLOB :=$(call CFG_LIB_GLOB,syntax)
STDLIB_DSYM_GLOB :=$(call CFG_LIB_DSYM_GLOB,std)
CORELIB_DSYM_GLOB :=$(call CFG_LIB_DSYM_GLOB,core)
LIBRUSTC_DSYM_GLOB :=$(call CFG_LIB_DSYM_GLOB,rustc)
LIBSYNTAX_DSYM_GLOB :=$(call CFG_LIB_DSYM_GLOB,syntax)
# version-string calculation
CFG_GIT_DIR := $(CFG_SRC_DIR).git

View file

@ -62,10 +62,10 @@ clean$(1)_H_$(2):
$(Q)rm -f $$(HLIB$(1)_H_$(2))/$(CFG_STDLIB)
$(Q)rm -f $$(HLIB$(1)_H_$(2))/$(CFG_LIBRUSTC)
$(Q)rm -f $$(HLIB$(1)_H_$(2))/$(CFG_LIBSYNTAX)
$(Q)rm -f $$(call CORELIB_GLOB,$$(HLIB$(1)_H_$(2)))
$(Q)rm -f $$(call STDLIB_GLOB,$$(HLIB$(1)_H_$(2))))
$(Q)rm -f $$(call LIBRUSTC_GLOB,$$(HLIB$(1)_H_$(2)))
$(Q)rm -f $$(call LIBSYNTAX_GLOB,$$(HLIB$(1)_H_$(2)))
$(Q)rm -f $$(HLIB$(1)_H_$(2))/$(CORELIB_GLOB)
$(Q)rm -f $$(HLIB$(1)_H_$(2))/$(STDLIB_GLOB)
$(Q)rm -f $$(HLIB$(1)_H_$(2))/$(LIBRUSTC_GLOB)
$(Q)rm -f $$(HLIB$(1)_H_$(2))/$(LIBSYNTAX_GLOB)
$(Q)rm -f $$(HLIB$(1)_H_$(2))/$(CFG_RUSTLLVM)
$(Q)rm -f $$(HLIB$(1)_H_$(2))/libstd.rlib
@ -88,10 +88,10 @@ clean$(1)_T_$(2)_H_$(3):
$(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_STDLIB)
$(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBRUSTC)
$(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBSYNTAX)
$(Q)rm -f $$(call CORELIB_GLOB,$$(TLIB$(1)_T_$(2)_H_$(3)))
$(Q)rm -f $$(call STDLIB_GLOB,$$(TLIB$(1)_T_$(2)_H_$(3)))
$(Q)rm -f $$(call LIBRUSTC_GLOB,$$(TLIB$(1)_T_$(2)_H_$(3)))
$(Q)rm -f $$(call LIBSYNTAX_GLOB,$$(TLIB$(1)_T_$(2)_H_$(3)))
$(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(CORELIB_GLOB)
$(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(STDLIB_GLOB)
$(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(LIBRUSTC_GLOB)
$(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(LIBSYNTAX_GLOB)
$(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_RUSTLLVM)
$(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/libstd.rlib
$(Q)rm -f $$(TLIB$(1)_T_$(2)_H_$(3))/libmorestack.a

View file

@ -30,7 +30,8 @@ $$(HLIB$(2)_H_$(4))/$$(CFG_LIBRUSTC): \
$$(HSTDLIB_DEFAULT$(2)_H_$(3))
@$$(call E, cp: $$@)
$$(Q)cp $$< $$@
$$(Q)cp -R $$(call LIBRUSTC_GLOB,$$(TLIB$(1)_T_$(4)_H_$(3))) \
$$(Q)cp -R $$(TLIB$(1)_T_$(4)_H_$(3))/$(LIBRUSTC_GLOB) \
$$(TLIB$(1)_T_$(4)_H_$(3))/$(LIBRUSTC_DSYM_GLOB) \
$$(HLIB$(2)_H_$(4))
$$(HLIB$(2)_H_$(4))/$$(CFG_LIBSYNTAX): \
@ -41,7 +42,8 @@ $$(HLIB$(2)_H_$(4))/$$(CFG_LIBSYNTAX): \
$$(HSTDLIB_DEFAULT$(2)_H_$(3))
@$$(call E, cp: $$@)
$$(Q)cp $$< $$@
$$(Q)cp -R $$(call LIBSYNTAX_GLOB,$$(TLIB$(1)_T_$(4)_H_$(3))) \
$$(Q)cp -R $$(TLIB$(1)_T_$(4)_H_$(3))/$(LIBSYNTAX_GLOB) \
$$(TLIB$(1)_T_$(4)_H_$(3))/$(LIBSYNTAX_DSYM_GLOB) \
$$(HLIB$(2)_H_$(4))
$$(HLIB$(2)_H_$(4))/$$(CFG_RUNTIME): \
@ -54,7 +56,15 @@ $$(HLIB$(2)_H_$(4))/$$(CFG_CORELIB): \
$$(HLIB$(2)_H_$(4))/$$(CFG_RUNTIME)
@$$(call E, cp: $$@)
$$(Q)cp $$< $$@
$$(Q)cp -R $$(call CORELIB_GLOB,$$(TLIB$(1)_T_$(4)_H_$(3))) \
# Subtle: We do not let the shell expand $(CORELIB_DSYM_GLOB) directly rather
# we use Make's $$(wildcard) facility. The reason is that, on mac, when using
# USE_SNAPSHOT_CORELIB, we copy the core.dylib file out of the snapshot.
# In that case, there is no .dSYM file. Annoyingly, bash then refuses to expand
# glob, and cp reports an error because libcore-*.dylib.dsym does not exist.
# Make instead expands the glob to nothing, which gives us the correct behavior.
# (Copy .dsym file if it exists, but do nothing otherwise)
$$(Q)cp -R $$(TLIB$(1)_T_$(4)_H_$(3))/$(CORELIB_GLOB) \
$$(wildcard $$(TLIB$(1)_T_$(4)_H_$(3))/$(CORELIB_DSYM_GLOB)) \
$$(HLIB$(2)_H_$(4))
$$(HLIB$(2)_H_$(4))/$$(CFG_STDLIB): \
@ -63,7 +73,8 @@ $$(HLIB$(2)_H_$(4))/$$(CFG_STDLIB): \
$$(HLIB$(2)_H_$(4))/$$(CFG_RUNTIME)
@$$(call E, cp: $$@)
$$(Q)cp $$< $$@
$$(Q)cp -R $$(call STDLIB_GLOB,$$(TLIB$(1)_T_$(4)_H_$(3))) \
$$(Q)cp -R $$(TLIB$(1)_T_$(4)_H_$(3))/$(STDLIB_GLOB) \
$$(wildcard $$(TLIB$(1)_T_$(4)_H_$(3))/$(STDLIB_DSYM_GLOB)) \
$$(HLIB$(2)_H_$(4))
$$(HLIB$(2)_H_$(4))/libcore.rlib: \

View file

@ -6,12 +6,11 @@
# destination directory as arg 2, and filename/libname-glob as arg 3
ifdef VERBOSE
INSTALL = install -m755 $(1)/$(3) $(2)/$(3)
INSTALL_LIB = install -m644 $(3) $(2)/
INSTALL_LIB = install -m644 `ls -rt1 $(1)/$(3) | tail -1` $(2)/
else
INSTALL = $(Q)$(call E, install: $(2)/$(3)) && install -m755 $(1)/$(3) $(2)/$(3)
INSTALL_LIB = $(Q)$(call E, install_lib: \
$(addprefix $(2)/,$(basename $(3)))) && \
install -m644 $(3) $(2)/
INSTALL_LIB = $(Q)$(call E, install_lib: $(2)/$(3)) && \
install -m644 `ls -rt1 $(1)/$(3) | tail -1` $(2)/
endif
# The stage we install from
@ -38,17 +37,13 @@ install-target-$(1)-host-$(2): $$(SREQ$$(ISTAGE)_T_$(1)_H_$(2))
$$(Q)mkdir -p $$(PTL$(1)$(2))
$$(Q)$$(call INSTALL,$$(TL$(1)$(2)),$$(PTL$(1)$(2)),$$(CFG_RUNTIME))
$$(Q)$$(call INSTALL_LIB, \
$$(TL$(1)$(2)),$$(PTL$(1)$(2)),\
$$(call CORELIB_GLOB,$$(TL$(1)$(2))))
$$(TL$(1)$(2)),$$(PTL$(1)$(2)),$$(CORELIB_GLOB))
$$(Q)$$(call INSTALL_LIB, \
$$(TL$(1)$(2)),$$(PTL$(1)$(2)),\
$$(call STDLIB_GLOB,$$(TL$(1)$(2))))
$$(TL$(1)$(2)),$$(PTL$(1)$(2)),$$(STDLIB_GLOB))
$$(Q)$$(call INSTALL_LIB, \
$$(TL$(1)$(2)),$$(PTL$(1)$(2)),\
$$(call LIBRUSTC_GLOB,$$(TL$(1)$(2))))
$$(TL$(1)$(2)),$$(PTL$(1)$(2)),$$(LIBRUSTC_GLOB))
$$(Q)$$(call INSTALL_LIB, \
$$(TL$(1)$(2)),$$(PTL$(1)$(2)),\
$$(call LIBSYNTAX_GLOB,$$(TL$(1)$(2))))
$$(TL$(1)$(2)),$$(PTL$(1)$(2)),$$(LIBSYNTAX_GLOB))
$$(Q)$$(call INSTALL,$$(TL$(1)$(2)),$$(PTL$(1)$(2)),libmorestack.a)
endef
@ -79,10 +74,10 @@ install-host: $(SREQ$(ISTAGE)_T_$(CFG_HOST_TRIPLE)_H_$(CFG_HOST_TRIPLE))
$(Q)$(call INSTALL,$(HB2),$(PHB),cargo$(X))
$(Q)$(call INSTALL,$(HB2),$(PHB),rustdoc$(X))
$(Q)$(call INSTALL,$(HL),$(PHL),$(CFG_RUNTIME))
$(Q)$(call INSTALL_LIB,$(HL),$(PHL),$(call CORELIB_GLOB,$(PHL)))
$(Q)$(call INSTALL_LIB,$(HL),$(PHL),$(call STDLIB_GLOB,$(PHL)))
$(Q)$(call INSTALL_LIB,$(HL),$(PHL),$(call LIBRUSTC_GLOB,$(PHL)))
$(Q)$(call INSTALL_LIB,$(HL),$(PHL),$(call LIBSYNTAX_GLOB,$(PHL)))
$(Q)$(call INSTALL_LIB,$(HL),$(PHL),$(CORELIB_GLOB))
$(Q)$(call INSTALL_LIB,$(HL),$(PHL),$(STDLIB_GLOB))
$(Q)$(call INSTALL_LIB,$(HL),$(PHL),$(LIBRUSTC_GLOB))
$(Q)$(call INSTALL_LIB,$(HL),$(PHL),$(LIBSYNTAX_GLOB))
$(Q)$(call INSTALL,$(HL),$(PHL),$(CFG_RUSTLLVM))
$(Q)$(call INSTALL,$(S)/man, \
$(PREFIX_ROOT)/share/man/man1,rustc.1)
@ -91,7 +86,7 @@ install-targets: $(INSTALL_TARGET_RULES)
HOST_LIB_FROM_HL_GLOB = \
$(patsubst $(HL)/%,$(PHL)/%,$(1))
$(patsubst $(HL)/%,$(PHL)/%,$(wildcard $(HL)/$(1)))
uninstall:
$(Q)rm -f $(PHB)/rustc$(X)
@ -100,10 +95,10 @@ uninstall:
$(Q)rm -f $(PHL)/$(CFG_RUSTLLVM)
$(Q)rm -f $(PHL)/$(CFG_RUNTIME)
$(Q)for i in \
$(call HOST_LIB_FROM_HL_GLOB,$(call CORELIB_GLOB,$(HL))) \
$(call HOST_LIB_FROM_HL_GLOB,$(call STDLIB_GLOB,$(HL))) \
$(call HOST_LIB_FROM_HL_GLOB,$(call LIBRUSTC_GLOB,$(HL))) \
$(call HOST_LIB_FROM_HL_GLOB,$(call LIBSYNTAX_GLOB,$(HL))) \
$(call HOST_LIB_FROM_HL_GLOB,$(CORELIB_GLOB)) \
$(call HOST_LIB_FROM_HL_GLOB,$(STDLIB_GLOB)) \
$(call HOST_LIB_FROM_HL_GLOB,$(LIBRUSTC_GLOB)) \
$(call HOST_LIB_FROM_HL_GLOB,$(LIBSYNTAX_GLOB)) \
; \
do rm -f $$i ; \
done

View file

@ -21,7 +21,7 @@ CFG_DSYMUTIL := true
ifneq ($(findstring freebsd,$(CFG_OSTYPE)),)
CFG_LIB_NAME=lib$(1).so
CFG_LIB_GLOB=$(wildcard $(1)/lib$(2)-*.so)
CFG_LIB_GLOB=lib$(1)-*.so
CFG_GCCISH_CFLAGS += -fPIC -I/usr/local/include
CFG_GCCISH_LINK_FLAGS += -shared -fPIC -lpthread -lrt
CFG_GCCISH_DEF_FLAG := -Wl,--export-dynamic,--dynamic-list=
@ -40,7 +40,7 @@ endif
ifneq ($(findstring linux,$(CFG_OSTYPE)),)
CFG_LIB_NAME=lib$(1).so
CFG_LIB_GLOB=$(wildcard $(1)/lib$(2)-*.so)
CFG_LIB_GLOB=lib$(1)-*.so
CFG_GCCISH_CFLAGS += -fPIC
CFG_GCCISH_LINK_FLAGS += -shared -fPIC -ldl -lpthread -lrt
CFG_GCCISH_DEF_FLAG := -Wl,--export-dynamic,--dynamic-list=
@ -76,7 +76,8 @@ endif
ifneq ($(findstring darwin,$(CFG_OSTYPE)),)
CFG_LIB_NAME=lib$(1).dylib
CFG_LIB_GLOB=$(wildcard $(1)/lib$(2)-*.dylib $(1)/lib$(2)-*.dylib.dSYM)
CFG_LIB_GLOB=lib$(1)-*.dylib
CFG_LIB_DSYM_GLOB=lib$(1)-*.dylib.dSYM
CFG_UNIXY := 1
CFG_LDENV := DYLD_LIBRARY_PATH
CFG_GCCISH_LINK_FLAGS += -dynamiclib -lpthread -framework CoreServices -Wl,-no_compact_unwind
@ -173,7 +174,7 @@ ifdef CFG_WINDOWSY
CFG_EXE_SUFFIX := .exe
CFG_LIB_NAME=$(1).dll
CFG_LIB_GLOB=$(wildcard $(1)/$(2)-*.dll)
CFG_LIB_GLOB=$(1)-*.dll
CFG_DEF_SUFFIX := .def
ifdef MSYSTEM
CFG_LDPATH :=$(CFG_LDPATH):$$PATH