ICU-4988 Embed the available manifest into each executable and library for MSVC 2005

X-SVN-Rev: 20802
This commit is contained in:
George Rhoten 2006-12-16 21:07:01 +00:00
parent 4991dfd0a6
commit 2af0d67c26
40 changed files with 58 additions and 27 deletions

View File

@ -159,12 +159,20 @@ endif
## Compile a Windows resource file
%.res : $(srcdir)/%.rc
rc.exe /fo$@ $(SOURCE_FILE)
rc.exe /fo$@ $^
## Versioned target for a shared library.
FINAL_SO_TARGET= $(basename $(SO_TARGET))$(SO_TARGET_VERSION_MAJOR).$(SO)
MIDDLE_SO_TARGET=$(FINAL_SO_TARGET)
## Starting in MSVC 2005, manifest files are required. This reduces the obnoxiousness of this feature.
POST_SO_BUILD_STEP = @([ -e $<.manifest ] && \
( echo Embedding manifest into $< && mt.exe -manifest $<.manifest -outputresource:"$<;2" && rm -rf $<.manifest )) \
|| true
POST_BUILD_STEP = ([ -e $@.manifest ] && \
( echo Embedding manifest into $@ && mt.exe -manifest $@.manifest -outputresource:"$@;1" && rm -rf $@.manifest )) \
|| true
## Special pkgdata information that is needed
PKGDATA_VERSIONING = -r $(SO_TARGET_VERSION_MAJOR)
ICUPKGDATA_INSTALL_DIR = $(shell cygpath -dma $(DESTDIR)$(ICUPKGDATA_DIR))#M#
@ -182,10 +190,12 @@ ICULIBSUFFIX_VERSION = $(LIB_VERSION_MAJOR)
## Versioned libraries rules
#%$(SO_TARGET_VERSION_MAJOR).$(SO): %$(SO_TARGET_VERSION).$(SO)
# $(RM) $@ && cp ${<F} $@
# The following rule is a no op. We don't want symbolic links
# The following rule is sometimes a no op.
# We only want to do a post-build step when a manifest file doesn't exist.
%.$(SO): %$(SO_TARGET_VERSION_MAJOR).$(SO)
@echo -n
# $(RM) $@ && ln -s ${<F} $@
$(POST_SO_BUILD_STEP)
## Install libraries as executable
INSTALL-L=$(INSTALL_PROGRAM)
@ -200,10 +210,5 @@ PKGDATA_INVOKE_OPTS = MAKEFLAGS=
# Include the version information in the shared library
ENABLE_SO_VERSION_DATA=1
## Starting in MSVC 2005, manifest files are required. This reduces the obnoxiousness of this feature.
ifneq (`LINK.EXE /? | grep MANIFESTFILE`,)
LDFLAGSICUDT += /MANIFEST:NO
endif
## End Cygwin-specific setup

View File

@ -73,6 +73,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(TARGET) : $(OBJECTS)
$(LINK.cc) -o $@ $^ $(LIBS)
$(POST_BUILD_STEP)
invoke:
ICU_DATA=$${ICU_DATA:-$(top_builddir)/data/} TZ=PST8PDT $(INVOKE) $(INVOCATION)

View File

@ -128,6 +128,7 @@ $(TARGET_STUB_NAME).$(SECTION): $(srcdir)/$(TARGET_STUB_NAME).$(SECTION).in pkgd
$(TARGET) : $(OBJECTS) $(UCONVMSG_LIB)
$(LINK.cc) $(OUTOPT)$@ $(OBJECTS) $(LIBS)
$(POST_BUILD_STEP)
resfiles: $(RESFILES) package-resfiles

View File

@ -20,8 +20,6 @@ CLEANFILES = *~ $(DEPS)
## Target information
TARGET = icucal$(EXEEXT)
LINK = $(LINK.cc)
CPPFLAGS += -I$(top_builddir)/common -I$(top_srcdir)/common -I$(top_srcdir)/i18n
LIBS = $(LIBICUI18N) $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M)
@ -65,7 +63,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
$(TARGET) : $(OBJECTS)
$(LINK) $(OUTOPT)$@ $^ $(LIBS)
$(LINK.c) $(OUTOPT)$@ $^ $(LIBS)
$(POST_BUILD_STEP)
ifeq (,$(MAKECMDGOALS))
-include $(DEPS)

View File

@ -80,6 +80,7 @@ scrptrun.o: $(top_srcdir)/extra/scrptrun/scrptrun.cpp
$(TARGET) : $(OBJECTS)
$(LINK.cc) -o $@ $^ $(LIBS)
$(POST_BUILD_STEP)
invoke:
ICU_DATA=$${ICU_DATA:-$(top_builddir)/data/} TZ=PST8PDT $(INVOKE) $(INVOCATION)

View File

@ -20,8 +20,6 @@ CLEANFILES = *~ $(DEPS)
## Target information
TARGET = icudate$(EXEEXT)
LINK = $(LINK.cc)
CPPFLAGS += -I$(top_builddir)/common -I$(top_srcdir)/common -I$(top_srcdir)/i18n
LIBS = $(LIBICUI18N) $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M)
@ -65,7 +63,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
$(TARGET) : $(OBJECTS)
$(LINK) $(OUTOPT)$@ $^ $(LIBS)
$(LINK.c) $(OUTOPT)$@ $^ $(LIBS)
$(POST_BUILD_STEP)
ifeq (,$(MAKECMDGOALS))
-include $(DEPS)

View File

@ -24,16 +24,6 @@ CLEANFILES = *~ $(DEPS)
## Target information
TARGET = cintltst$(EXEEXT)
# Oh, this hurts my sensibility. This is supposedly a C test and we need to
# link using a C++ compiler?! This must be done so that library vtables
# work correctly on all platforms.
ifneq ($(ENABLE_STATIC),)
LINK = $(LINK.cc)
else
LINK = $(LINK.c)
endif
BUILDDIR := $(CURR_SRCCODE_FULL_DIR)/../../
# Simplify the path for Unix
BUILDDIR := $(BUILDDIR:test/cintltst/../../=)
@ -104,7 +94,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
$(TARGET) : $(OBJECTS)
$(LINK) $(OUTOPT)$@ $^ $(LIBS)
$(LINK.c) $(OUTOPT)$@ $^ $(LIBS)
ifeq (,$(MAKECMDGOALS))
-include $(DEPS)

View File

@ -100,6 +100,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(TARGET) : $(OBJECTS)
$(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
$(POST_BUILD_STEP)
ifeq (,$(MAKECMDGOALS))
-include $(DEPS)

View File

@ -82,6 +82,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(TARGET) : $(OBJECTS)
$(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
$(POST_BUILD_STEP)
ifeq (,$(MAKECMDGOALS))
-include $(DEPS)

View File

@ -84,9 +84,11 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(TESTTARGET) : $(COMMONOBJECTS) $(TESTOBJECTS)
$(LINK.cc) -o $@ $^ $(LIBS)
$(POST_BUILD_STEP)
$(GENTARGET) : $(COMMONOBJECTS) $(GENOBJECTS)
$(LINK.cc) -o $@ $^ $(LIBS)
$(POST_BUILD_STEP)
invoke:
ICU_DATA=$${ICU_DATA:-$(top_builddir)/data/} TZ=PST8PDT $(INVOKE) $(INVOCATION)

View File

@ -62,6 +62,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(TARGET) : $(OBJECTS)
$(LINK.cc) -o $@ $^ $(LIBS)
$(POST_BUILD_STEP)
invoke:
ICU_DATA=$${ICU_DATA:-$(top_builddir)/data/} TZ=PST8PDT $(INVOKE) $(INVOCATION)

View File

@ -62,6 +62,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(TARGET) : $(OBJECTS)
$(LINK.cc) -o $@ $^ $(LIBS)
$(POST_BUILD_STEP)
invoke:
ICU_DATA=$${ICU_DATA:-$(top_builddir)/data/} TZ=PST8PDT $(INVOKE) $(INVOCATION)

View File

@ -62,6 +62,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(TARGET) : $(OBJECTS)
$(LINK.cc) -o $@ $^ $(LIBS)
$(POST_BUILD_STEP)
invoke:
ICU_DATA=$${ICU_DATA:-$(top_builddir)/data/} TZ=PST8PDT $(INVOKE) $(INVOCATION)

View File

@ -62,6 +62,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(TARGET) : $(OBJECTS)
$(LINK.cc) -o $@ $^ $(LIBS)
$(POST_BUILD_STEP)
invoke:
ICU_DATA=$${ICU_DATA:-$(top_builddir)/data/} TZ=PST8PDT $(INVOKE) $(INVOCATION)

View File

@ -62,6 +62,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(TARGET) : $(OBJECTS)
$(LINK.cc) -o $@ $^ $(LIBS)
$(POST_BUILD_STEP)
invoke:
ICU_DATA=$${ICU_DATA:-$(top_builddir)/data/} TZ=PST8PDT $(INVOKE) $(INVOCATION)

View File

@ -62,6 +62,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(TARGET) : $(OBJECTS)
$(LINK.cc) -o $@ $^ $(LIBS)
$(POST_BUILD_STEP)
invoke:
ICU_DATA=$${ICU_DATA:-$(top_builddir)/data/} TZ=PST8PDT $(INVOKE) $(INVOCATION)

View File

@ -62,6 +62,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(TARGET) : $(OBJECTS)
$(LINK.cc) -o $@ $^ $(LIBS)
$(POST_BUILD_STEP)
invoke:
ICU_DATA=$${ICU_DATA:-$(top_builddir)/data/} TZ=PST8PDT $(INVOKE) $(INVOCATION)

View File

@ -67,6 +67,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(TARGET) : $(OBJECTS)
$(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
$(POST_BUILD_STEP)
ifeq (,$(MAKECMDGOALS))
-include $(DEPS)

View File

@ -67,6 +67,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(TARGET) : $(OBJECTS)
$(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
$(POST_BUILD_STEP)
ifeq (,$(MAKECMDGOALS))
-include $(DEPS)

View File

@ -73,6 +73,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(TARGET) : $(OBJECTS)
$(LINK.cc) -o $@ $^ $(LIBS)
$(POST_BUILD_STEP)
invoke:
ICU_DATA=$${ICU_DATA:-$(top_builddir)/data/} TZ=PST8PDT $(INVOKE) $(INVOCATION)

View File

@ -62,6 +62,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(TARGET) : $(OBJECTS)
$(LINK.cc) -o $@ $^ $(LIBS)
$(POST_BUILD_STEP)
invoke:
ICU_DATA=$${ICU_DATA:-$(top_builddir)/data/} TZ=PST8PDT $(INVOKE) $(INVOCATION)

View File

@ -77,6 +77,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(TARGET) : $(OBJECTS)
$(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
$(POST_BUILD_STEP)
%.$(SECTION): $(srcdir)/%.$(SECTION).in

View File

@ -78,6 +78,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(TARGET) : $(OBJECTS)
$(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
$(POST_BUILD_STEP)
%.$(SECTION): $(srcdir)/%.$(SECTION).in

View File

@ -77,6 +77,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(TARGET) : $(OBJECTS)
$(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
$(POST_BUILD_STEP)
%.$(SECTION): $(srcdir)/%.$(SECTION).in

View File

@ -79,6 +79,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(TARGET) : $(OBJECTS)
$(LINK.c) $(OUTOPT)$@ $^ $(LIBS)
$(POST_BUILD_STEP)
%.$(SECTION): $(srcdir)/%.$(SECTION).in

View File

@ -79,6 +79,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(TARGET) : $(OBJECTS)
$(LINK.c) $(OUTOPT)$@ $^ $(LIBS)
$(POST_BUILD_STEP)
%.$(SECTION): $(srcdir)/%.$(SECTION).in
cd $(top_builddir) \

View File

@ -79,6 +79,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(TARGET) : $(OBJECTS)
$(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
$(POST_BUILD_STEP)
%.$(SECTION): $(srcdir)/%.$(SECTION).in

View File

@ -78,6 +78,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(TARGET) : $(OBJECTS)
$(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
$(POST_BUILD_STEP)
%.$(SECTION): $(srcdir)/%.$(SECTION).in

View File

@ -79,6 +79,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(TARGET) : $(OBJECTS)
$(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
$(POST_BUILD_STEP)
%.$(SECTION): $(srcdir)/%.$(SECTION).in

View File

@ -79,6 +79,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(TARGET) : $(OBJECTS)
$(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
$(POST_BUILD_STEP)
%.$(SECTION): $(srcdir)/%.$(SECTION).in

View File

@ -79,6 +79,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(TARGET) : $(OBJECTS)
$(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
$(POST_BUILD_STEP)
%.$(SECTION): $(srcdir)/%.$(SECTION).in

View File

@ -79,6 +79,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(TARGET) : $(OBJECTS)
$(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
$(POST_BUILD_STEP)
%.$(SECTION): $(srcdir)/%.$(SECTION).in

View File

@ -84,9 +84,11 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(TARGET) : $(OBJECTS)
$(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
$(POST_BUILD_STEP)
$(DERB) : $(DERB_OBJ)
$(LINK.c) $(OUTOPT)$@ $^ $(LIBS)
$(LINK.c) $(OUTOPT)$@ $^ $(LIBS)
$(POST_BUILD_STEP)
# This line is needed to serialize builds when the gmake -j option is used.

View File

@ -79,6 +79,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(TARGET) : $(OBJECTS)
$(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
$(POST_BUILD_STEP)
%.$(SECTION): $(srcdir)/%.$(SECTION).in

View File

@ -66,6 +66,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(TARGET) : $(OBJECTS)
$(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
$(POST_BUILD_STEP)
ifeq (,$(MAKECMDGOALS))
-include $(DEPS)

View File

@ -78,6 +78,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(TARGET) : $(OBJECTS)
$(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
$(POST_BUILD_STEP)
%.$(SECTION): $(srcdir)/%.$(SECTION).in

View File

@ -79,6 +79,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(TARGET) : $(OBJECTS)
$(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
$(POST_BUILD_STEP)
%.$(SECTION): $(srcdir)/%.$(SECTION).in

View File

@ -79,6 +79,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(TARGET) : $(OBJECTS)
$(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
$(POST_BUILD_STEP)
%.$(SECTION): $(srcdir)/%.$(SECTION).in

View File

@ -79,6 +79,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(TARGET) : $(OBJECTS)
$(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
$(POST_BUILD_STEP)
%.$(SECTION): $(srcdir)/%.$(SECTION).in

View File

@ -83,7 +83,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
$(TARGET) : $(OBJECTS)
$(LINK.c) $(OUTOPT)$@ $^ $(LIBS)
$(LINK.c) $(OUTOPT)$@ $^ $(LIBS)
$(POST_BUILD_STEP)
%.$(SECTION): $(srcdir)/%.$(SECTION).in