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 # Configuration::additions related to external references
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
TAGFILES = TAGFILES =
GENERATE_TAGFILE = "@srcdir@/doc/html/icudocs.tag" GENERATE_TAGFILE = "@builddir@/doc/html/icudocs.tag"
ALLEXTERNALS = NO ALLEXTERNALS = NO
EXTERNAL_GROUPS = YES EXTERNAL_GROUPS = YES
PERL_PATH = /usr/bin/perl PERL_PATH = /usr/bin/perl

View File

@ -71,7 +71,7 @@ install: install-recursive install-local
clean: clean-recursive-with-twist clean-local clean: clean-recursive-with-twist clean-local
distclean : distclean-recursive distclean-local distclean : distclean-recursive distclean-local
dist: dist-recursive dist-local dist: dist-recursive dist-local
check: all check-recursive check-local check: all check-recursive
check-recursive: all check-recursive: all
ifeq ($(DOXYGEN),) ifeq ($(DOXYGEN),)
@ -165,7 +165,12 @@ distclean-local: clean-local
$(RMV) config.cache config.log config.status $(RMV) config.cache config.log config.status
$(RMV) Makefile config/Makefile icudefs.mk $(LIBDIR) $(BINDIR) $(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 #$(srcdir)/configure : $(srcdir)/configure.in $(top_srcdir)/aclocal.m4
# cd $(srcdir) && $(AUTOCONF) # cd $(srcdir) && $(AUTOCONF)

View File

@ -273,6 +273,13 @@ GENCCODE_ASSEMBLY = @GENCCODE_ASSEMBLY@
# The mh- file ("make fragment") for the platform is included here. # The mh- file ("make fragment") for the platform is included here.
# It may override the above settings. # It may override the above settings.
# It is put last so that the mh-file can override anything. # 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@ include $(pkgdatadir)/config/@platform_make_fragment_name@
endif #M#

View File

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

View File

@ -1,6 +1,6 @@
## -*-makefile-*- ## -*-makefile-*-
## Cygwin-specific setup ## 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. ## others. All Rights Reserved.
## Commands to generate dependency files ## Commands to generate dependency files
@ -30,8 +30,15 @@ LINK.c= $(CXX) $(CXXFLAGS) $(LDFLAGS)
#LINK.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) #LINK.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS)
## Commands to make a shared library ## Commands to make a shared library
SHLIB.c= $(CC) $(CFLAGS) $(LDFLAGS) -shared # $(subst) won't work in shell script. #M# at the end omits these
SHLIB.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared # 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 ## Compiler switch to embed a runtime search path
LD_RPATH= LD_RPATH=
@ -45,6 +52,8 @@ SO = dll
## Non-shared intermediate object suffix ## Non-shared intermediate object suffix
STATIC_O = ao STATIC_O = ao
LIBICU = cyg$(ICUPREFIX) 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. # Change the stubnames so that poorly working FAT disks and installation programs can work.
# This is also for backwards compatibility. # This is also for backwards compatibility.
@ -81,6 +90,10 @@ I18N_STUBNAME = in
FINAL_SO_TARGET=$(basename $(SO_TARGET))$(SO_TARGET_VERSION_MAJOR).$(SO) FINAL_SO_TARGET=$(basename $(SO_TARGET))$(SO_TARGET_VERSION_MAJOR).$(SO)
MIDDLE_SO_TARGET=$(FINAL_SO_TARGET) 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. # The following is for Makefile.inc's use.
ICULIBSUFFIX_VERSION = $(LIB_VERSION_MAJOR) ICULIBSUFFIX_VERSION = $(LIB_VERSION_MAJOR)
@ -88,7 +101,7 @@ ICULIBSUFFIX_VERSION = $(LIB_VERSION_MAJOR)
#%$(SO_TARGET_VERSION_MAJOR).$(SO): %$(SO_TARGET_VERSION).$(SO) #%$(SO_TARGET_VERSION_MAJOR).$(SO): %$(SO_TARGET_VERSION).$(SO)
# $(RM) $@ && cp ${<F} $@ # $(RM) $@ && cp ${<F} $@
%.$(SO): %$(SO_TARGET_VERSION_MAJOR).$(SO) %.$(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 libraries as executable
INSTALL-L=$(INSTALL_PROGRAM) INSTALL-L=$(INSTALL_PROGRAM)

View File

@ -1,5 +1,5 @@
## Cygwin with Microsoft Visual C++ compiler specific setup ## 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. ## others. All Rights Reserved.
# We install sbin tools into the same bin directory because # We install sbin tools into the same bin directory because
@ -87,7 +87,7 @@ ARFLAGS := /nologo $(ARFLAGS:r=)#M#
RANLIB = ls -s#M# RANLIB = ls -s#M#
AR_OUTOPT = /OUT:#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 IMPORT_LIB_EXT = .lib
LIBPREFIX= 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. ## Starting in MSVC 2005, manifest files are required. This reduces the obnoxiousness of this feature.
POST_SO_BUILD_STEP = @([ -e $<.manifest ] && \ 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 || true
POST_BUILD_STEP = ([ -e $@.manifest ] && \ POST_BUILD_STEP = @([ -e $@.manifest ] && \
( echo Embedding manifest into $@ && mt.exe -manifest $@.manifest -outputresource:"$@;1" && rm -rf $@.manifest )) \ ( echo Embedding manifest into $@ && mt.exe -nologo -manifest $@.manifest -outputresource:"$@;1" && rm -rf $@.manifest )) \
|| true || true
## Special pkgdata information that is needed ## Special pkgdata information that is needed
PKGDATA_VERSIONING = -r $(SO_TARGET_VERSION_MAJOR) PKGDATA_VERSIONING = -r $(SO_TARGET_VERSION_MAJOR)
ICUPKGDATA_INSTALL_DIR = $(shell cygpath -dma $(DESTDIR)$(ICUPKGDATA_DIR))#M# ICUPKGDATA_INSTALL_DIR = $(shell mkdir -p $(DESTDIR)$(ICUPKGDATA_DIR) ; cygpath -dma $(DESTDIR)$(ICUPKGDATA_DIR))#M#
ICUPKGDATA_INSTALL_LIBDIR = $(shell cygpath -dma $(DESTDIR)$(libdir))#M# ICUPKGDATA_INSTALL_LIBDIR = $(shell mkdir -p $(DESTDIR)$(libdir) ; cygpath -dma $(DESTDIR)$(libdir))#M#
## Versioned import library names. The library names are versioned, ## Versioned import library names. The library names are versioned,
## but the import libraries do not need versioning. ## but the import libraries do not need versioning.

View File

@ -183,7 +183,7 @@ install390: package390
$(MKINSTALLDIRS) $(TMPDATADIR) $(DESTDIR)$(libdir) $(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) $(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) 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 endif
#### $(LIB_ICUDATA_NAME)$(STUB_SUFFIX) is the subset data for batch mode #### $(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. * 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$(INSTALL-L) $(TARGETDIR)/$(FINAL_SO_TARGET) $(INSTALLTO)/$(FINAL_SO_TARGET)\n");
T_FileStream_writeLine(makefile, "ifneq ($(IMPORT_LIB_EXT),)\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"); 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"); T_FileStream_writeLine(makefile, "endif\n");
if (o->version) { if (o->version) {
T_FileStream_writeLine(makefile, "ifneq ($(FINAL_SO_TARGET),$(SO_TARGET))\n"); 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. * Corporation and others. All Rights Reserved.
******************************************************************************* *******************************************************************************
* file name: pkgdata.c * file name: pkgdata.c
@ -486,6 +486,9 @@ static int executeMakefile(const UPKGOptions *o)
o->rebuild ? "rebuild" : "", o->rebuild ? "rebuild" : "",
o->install ? "install" : "", o->install ? "install" : "",
o->makeArgs); o->makeArgs);
#endif
#ifdef U_MAKE_IS_NMAKE
strcat(cmd, " /NOLOGO");
#endif #endif
if(o->verbose) { if(o->verbose) {
puts(cmd); puts(cmd);