ICU-6219 Cygwin updates, and also a check-local at top level. Merged in from branches/srl/SIGWINCH r24732:24774

X-SVN-Rev: 24775
This commit is contained in:
Steven R. Loomis 2008-10-10 16:52:15 +00:00
parent c801506d5d
commit 6147253143
9 changed files with 61 additions and 21 deletions

View File

@ -198,7 +198,7 @@ SKIP_FUNCTION_MACROS = YES
# Configuration::additions related to external references
#---------------------------------------------------------------------------
TAGFILES =
GENERATE_TAGFILE = "@srcdir@/doc/html/icudocs.tag"
GENERATE_TAGFILE = "@builddir@/doc/html/icudocs.tag"
ALLEXTERNALS = NO
EXTERNAL_GROUPS = YES
PERL_PATH = /usr/bin/perl

View File

@ -71,7 +71,7 @@ install: install-recursive install-local
clean: clean-recursive-with-twist clean-local
distclean : distclean-recursive distclean-local
dist: dist-recursive dist-local
check: all check-recursive check-local
check: all check-recursive
check-recursive: all
ifeq ($(DOXYGEN),)
@ -165,7 +165,12 @@ distclean-local: clean-local
$(RMV) config.cache config.log config.status
$(RMV) Makefile config/Makefile icudefs.mk $(LIBDIR) $(BINDIR)
check-local:
check-local: $(top_builddir)/config/icu-config $(top_builddir)/config/Makefile.inc
@echo verifying that icu-config --selfcheck can operate
@test "passed" = "$(shell $(top_builddir)/config/icu-config --selfcheck 2>&1)" || (echo "FAIL: icu-config could not run properly." ; exit 1)
@echo verifying that $(MAKE) -f Makefile.inc selfcheck can operate
@test "passed" = "$(shell $(MAKE) --no-print-directory -f $(top_builddir)/config/Makefile.inc SELFCHECK=1 selfcheck)" || (echo "FAIL: Makefile.inc could not run properly." ; exit 1 )
@echo "PASS: config selfcheck OK"
#$(srcdir)/configure : $(srcdir)/configure.in $(top_srcdir)/aclocal.m4
# cd $(srcdir) && $(AUTOCONF)

View File

@ -273,6 +273,13 @@ GENCCODE_ASSEMBLY = @GENCCODE_ASSEMBLY@
# The mh- file ("make fragment") for the platform is included here.
# It may override the above settings.
# It is put last so that the mh-file can override anything.
# The selfcheck is just a sanity check that this makefile is
# parseable. The mh fragment is only included if this does not occur.
ifeq (selfcheck,$(MAKECMDGOALS)) #M#
selfcheck: #M#
@echo passed #M#
else #M#
include $(pkgdatadir)/config/@platform_make_fragment_name@
endif #M#

View File

@ -120,6 +120,14 @@ esac
# ALWAYS load twice because of dependencies
loaddefs
loaddefs
if [ $1 = "--selfcheck" ];
then
echo "passed"
exit
# EXIT for self check
fi
sanity
while [ $# -gt 0 ];
@ -320,11 +328,11 @@ do
;;
--version)
echo $VERSION
echo $ECHO_N $VERSION
;;
--unicode-version)
echo $UNICODE_VERSION
echo $ECHO_N $UNICODE_VERSION
;;
--help)

View File

@ -1,6 +1,6 @@
## -*-makefile-*-
## Cygwin-specific setup
## Copyright (c) 2001-2006, International Business Machines Corporation and
## Copyright (c) 2001-2008, International Business Machines Corporation and
## others. All Rights Reserved.
## Commands to generate dependency files
@ -30,8 +30,15 @@ LINK.c= $(CXX) $(CXXFLAGS) $(LDFLAGS)
#LINK.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS)
## Commands to make a shared library
SHLIB.c= $(CC) $(CFLAGS) $(LDFLAGS) -shared
SHLIB.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared
# $(subst) won't work in shell script. #M# at the end omits these
# lines from the shell script (Make only)
SHLIB.c= $(CC) $(CFLAGS) $(LDFLAGS) -shared -Wl,--enable-auto-import -Wl,--out-implib=$(subst cyg,lib,$@).$(A)#M#
SHLIB.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared -Wl,--enable-auto-import -Wl,--out-implib=$(subst cyg,lib,$@).$(A)#M#
# the #SH# lines don't go through further postprocessing.
# so, they must be valid shell script starting from column 4
#SH#SHLIB_c="$(CC) $(CFLAGS) $(LDFLAGS) -shared "
#SH#SHLIB_cc="$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared "
## Compiler switch to embed a runtime search path
LD_RPATH=
@ -45,6 +52,8 @@ SO = dll
## Non-shared intermediate object suffix
STATIC_O = ao
LIBICU = cyg$(ICUPREFIX)
## To have an import library is better on Cygwin
IMPORT_LIB_EXT = .dll.a
# Change the stubnames so that poorly working FAT disks and installation programs can work.
# This is also for backwards compatibility.
@ -81,6 +90,10 @@ I18N_STUBNAME = in
FINAL_SO_TARGET=$(basename $(SO_TARGET))$(SO_TARGET_VERSION_MAJOR).$(SO)
MIDDLE_SO_TARGET=$(FINAL_SO_TARGET)
IMPORT_LIB = $(subst cyg,lib,$(FINAL_SO_TARGET)).$(A)#M#
MIDDLE_IMPORT_LIB = $(subst cyg,lib,$(basename $(SO_TARGET)))$(SO_TARGET_VERSION_MAJOR).$(SO).$(A)#M#
FINAL_IMPORT_LIB = $(IMPORT_LIB)#M#
# The following is for Makefile.inc's use.
ICULIBSUFFIX_VERSION = $(LIB_VERSION_MAJOR)
@ -88,7 +101,7 @@ ICULIBSUFFIX_VERSION = $(LIB_VERSION_MAJOR)
#%$(SO_TARGET_VERSION_MAJOR).$(SO): %$(SO_TARGET_VERSION).$(SO)
# $(RM) $@ && cp ${<F} $@
%.$(SO): %$(SO_TARGET_VERSION_MAJOR).$(SO)
$(RM) $@ && ln -s ${<F} $@
$(RM) $(subst cyg,lib,$@).$(A) && ln -s $(subst cyg,lib,${<F}).$(A) $(subst cyg,lib,$@).$(A)
## Install libraries as executable
INSTALL-L=$(INSTALL_PROGRAM)

View File

@ -1,5 +1,5 @@
## Cygwin with Microsoft Visual C++ compiler specific setup
## Copyright (c) 2001-2007, International Business Machines Corporation and
## Copyright (c) 2001-2008, International Business Machines Corporation and
## others. All Rights Reserved.
# We install sbin tools into the same bin directory because
@ -87,7 +87,7 @@ ARFLAGS := /nologo $(ARFLAGS:r=)#M#
RANLIB = ls -s#M#
AR_OUTOPT = /OUT:#M#
## An import library is needed for z/OS and MSVC
## An import library is needed for z/OS, MSVC and Cygwin
IMPORT_LIB_EXT = .lib
LIBPREFIX=
@ -183,16 +183,16 @@ 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 )) \
( echo Embedding manifest into $< && mt.exe -nologo -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 )) \
POST_BUILD_STEP = @([ -e $@.manifest ] && \
( echo Embedding manifest into $@ && mt.exe -nologo -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#
ICUPKGDATA_INSTALL_LIBDIR = $(shell cygpath -dma $(DESTDIR)$(libdir))#M#
ICUPKGDATA_INSTALL_DIR = $(shell mkdir -p $(DESTDIR)$(ICUPKGDATA_DIR) ; cygpath -dma $(DESTDIR)$(ICUPKGDATA_DIR))#M#
ICUPKGDATA_INSTALL_LIBDIR = $(shell mkdir -p $(DESTDIR)$(libdir) ; cygpath -dma $(DESTDIR)$(libdir))#M#
## Versioned import library names. The library names are versioned,
## but the import libraries do not need versioning.

View File

@ -183,7 +183,7 @@ install390: package390
$(MKINSTALLDIRS) $(TMPDATADIR) $(DESTDIR)$(libdir)
$(INVOKE) $(PKGDATA) -s $(BUILDDIR)$(STUB_SUFFIX) -T $(OUTTMPDIR_390STUB) -p $(ICUDATA_NAME)$(STUB_SUFFIX) $(PKGDATA_LIBNAME)$(STUB_SUFFIX) -e $(ICUDATA_ENTRY_POINT) $(OS390LIST) -m dll $(PKGDATA_VERSIONING) -I $(DESTDIR)$(ICUPKGDATA_DIR)
ifeq ($(PKGDATA_MODE),dll)
$(INSTALL-L) $(ICUPKGDATA_OUTDIR)/$(LIB_ICUDATA_NAME)$(STUB_SUFFIX)$(SO_TARGET_VERSION)$(IMPORT_LIB_EXT) $(DESTDIR)$(ICUPKGDATA_DIR)/$(LIB_ICUDATA_NAME)$(STUB_SUFFIX)$(SO_TARGET_VERSION)$(IMPORT_LIB_EXT)
$(INSTALL-L) $(ICUPKGDATA_OUTDIR)/$(FINAL_IMPORT_LIB) $(DESTDIR)$(ICUPKGDATA_DIR)/$(FINAL_IMPORT_LIB)
endif
#### $(LIB_ICUDATA_NAME)$(STUB_SUFFIX) is the subset data for batch mode

View File

@ -1,6 +1,6 @@
/******************************************************************************
*
* Copyright (C) 2000-2006, International Business Machines
* Copyright (C) 2000-2008, International Business Machines
* Corporation and others. All Rights Reserved.
*
*******************************************************************************
@ -257,7 +257,11 @@ void pkg_mode_dll(UPKGOptions *o, FileStream *makefile, UErrorCode *status)
"\t$(INSTALL-L) $(TARGETDIR)/$(FINAL_SO_TARGET) $(INSTALLTO)/$(FINAL_SO_TARGET)\n");
T_FileStream_writeLine(makefile, "ifneq ($(IMPORT_LIB_EXT),)\n");
#ifdef __CYGWIN__
T_FileStream_writeLine(makefile, "\t$(INSTALL-L) $(TARGETDIR)/$(basename $(FINAL_IMPORT_LIB)).a $(INSTALLTO)/$(basename $(FINAL_IMPORT_LIB)).a\n");
#else
T_FileStream_writeLine(makefile, "\t$(INSTALL-L) $(TARGETDIR)/$(basename $(FINAL_SO_TARGET))$(IMPORT_LIB_EXT) $(INSTALLTO)/$(basename( $(FINAL_SO_TARGET))$(IMPORT_LIB_EXT)\n");
#endif
T_FileStream_writeLine(makefile, "endif\n");
if (o->version) {
T_FileStream_writeLine(makefile, "ifneq ($(FINAL_SO_TARGET),$(SO_TARGET))\n");

View File

@ -1,5 +1,5 @@
/******************************************************************************
* Copyright (C) 2000-2007, International Business Machines
* Copyright (C) 2000-2008, International Business Machines
* Corporation and others. All Rights Reserved.
*******************************************************************************
* file name: pkgdata.c
@ -486,6 +486,9 @@ static int executeMakefile(const UPKGOptions *o)
o->rebuild ? "rebuild" : "",
o->install ? "install" : "",
o->makeArgs);
#endif
#ifdef U_MAKE_IS_NMAKE
strcat(cmd, " /NOLOGO");
#endif
if(o->verbose) {
puts(cmd);