diff --git a/icu4c/source/Makefile.in b/icu4c/source/Makefile.in index 0f4b3e2420e..62f2ce85c12 100644 --- a/icu4c/source/Makefile.in +++ b/icu4c/source/Makefile.in @@ -1,6 +1,6 @@ #****************************************************************************** # -# Copyright (C) 1998-2012, International Business Machines +# Copyright (C) 1998-2013, International Business Machines # Corporation and others. All Rights Reserved. # #****************************************************************************** @@ -52,7 +52,7 @@ ALL_PKGCONFIG_FILES=$(ALL_PKGCONFIG_SUFFIX:%=$(top_builddir)/config/icu-%.pc) INSTALLED_BUILT_FILES = $(top_builddir)/config/Makefile.inc $(top_builddir)/config/pkgdata.inc $(top_builddir)/config/icu-config @platform_make_fragment@ $(EXTRA_DATA:%=$(DESTDIR)$(pkglibdir)/%) $(ALL_PKGCONFIG_FILES) ## Files built (autoconfed) but not installed -LOCAL_BUILT_FILES = icudefs.mk config/icucross.mk +LOCAL_BUILT_FILES = icudefs.mk config/icucross.mk config/icucross.inc DOCDIRS = common i18n SUBDIRS = stubdata common i18n $(LAYOUT) tools data $(ICUIO) $(EXTRA) $(SAMPLE) $(TEST) @@ -206,7 +206,7 @@ clean-local: distclean-local: clean-local $(RMV) $(top_builddir)/config/Makefile.inc $(top_builddir)/config/pkgdata.inc $(top_builddir)/config/icu-config $(top_builddir)/config/icu.pc $(ALL_PKGCONFIG_FILES) - $(RMV) config.cache config.log config.status $(top_builddir)/config/icucross.mk autom4te.cache uconfig.h.prepend + $(RMV) config.cache config.log config.status $(top_builddir)/config/icucross.mk $(top_builddir)/config/icucross.inc autom4te.cache uconfig.h.prepend $(RMV) Makefile config/Makefile icudefs.mk $(LIBDIR) $(BINDIR) -$(RMV) dist @@ -238,6 +238,11 @@ config/icucross.mk: $(top_builddir)/icudefs.mk $(top_builddir)/Makefile echo "PKGDATA_INVOKE=$(LDLIBRARYPATH_ENVVAR)=$(LIBRARY_PATH_PREFIX)"'$$(cross_buildroot)/stubdata:$$(cross_buildroot)/tools/ctestfw:$$(TOOLLIBDIR):$$$$'"$(LDLIBRARYPATH_ENVVAR) " ;\ echo ) >> $@ +config/icucross.inc: $(top_builddir)/icudefs.mk $(top_builddir)/Makefile @platform_make_fragment@ + @echo rebuilding $@ + @(grep '^CURR_FULL_DIR' $(top_builddir)/icudefs.mk ; \ + grep '^CURR_FULL_DIR' @platform_make_fragment || echo ""; \ + ) > $@ config/icu.pc: $(srcdir)/config/icu.pc.in cd $(top_builddir) \ diff --git a/icu4c/source/config/mh-cygwin-msvc b/icu4c/source/config/mh-cygwin-msvc index 4589e2f12f5..b6682c90420 100644 --- a/icu4c/source/config/mh-cygwin-msvc +++ b/icu4c/source/config/mh-cygwin-msvc @@ -1,5 +1,5 @@ ## Cygwin with Microsoft Visual C++ compiler specific setup -## Copyright (c) 2001-2012, International Business Machines Corporation and +## Copyright (c) 2001-2013, International Business Machines Corporation and ## others. All Rights Reserved. # We install sbin tools into the same bin directory because @@ -125,7 +125,7 @@ LDFLAGSICUTOOLUTIL= /base:"0x4ac00000"# Same as layout. Layout and tools probabl # The #M# is used to delete lines for icu-config # Current full path directory. -CURR_FULL_DIR=$(subst \,/,$(shell cygpath -da .))#M# -m isn't used because it doesn't work on Win98 +CURR_FULL_DIR?=$(subst \,/,$(shell cygpath -da .))#M# -m isn't used because it doesn't work on Win98 # Current full path directory for use in source code in a -D compiler option. CURR_SRCCODE_FULL_DIR=$(subst \,\\,$(shell cygpath -da .))#M# diff --git a/icu4c/source/config/mh-mingw b/icu4c/source/config/mh-mingw index 4b8694419d3..eb25c8abbb5 100644 --- a/icu4c/source/config/mh-mingw +++ b/icu4c/source/config/mh-mingw @@ -1,6 +1,6 @@ ## -*-makefile-*- ## Cygwin/MinGW specific setup -## Copyright (c) 2001-2012, International Business Machines Corporation and +## Copyright (c) 2001-2013, International Business Machines Corporation and ## others. All Rights Reserved. # TODO: Finish the rest of this port. This platform port is incomplete. @@ -83,7 +83,7 @@ LIBICU = $(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX) # The #M# is used to delete lines for icu-config # Current full path directory. #CURR_FULL_DIR=$(shell pwd -W)#M# for MSYS -CURR_FULL_DIR=$(subst \,/,$(shell cmd /c cd))#M# for Cygwin shell +CURR_FULL_DIR?=$(subst \,/,$(shell cmd /c cd))#M# for Cygwin shell # Current full path directory for use in source code in a -D compiler option. #CURR_SRCCODE_FULL_DIR=$(subst /,\\\\,$(shell pwd -W))#M# for MSYS CURR_SRCCODE_FULL_DIR=$(subst \,/,$(shell cmd /c cd))#M# for Cygwin shell diff --git a/icu4c/source/config/mh-mingw64 b/icu4c/source/config/mh-mingw64 index c5c7bfafdb0..1b37f293e4d 100644 --- a/icu4c/source/config/mh-mingw64 +++ b/icu4c/source/config/mh-mingw64 @@ -1,6 +1,6 @@ ## -*-makefile-*- ## Cygwin64/MinGW64 specific setup -## Copyright (c) 2012, International Business Machines Corporation and +## Copyright (c) 2012-2013, International Business Machines Corporation and ## others. All Rights Reserved. # TODO: Finish the rest of this port. This platform port is incomplete. @@ -83,7 +83,7 @@ LIBICU = $(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX) # The #M# is used to delete lines for icu-config # Current full path directory. #CURR_FULL_DIR=$(shell pwd -W)#M# for MSYS -CURR_FULL_DIR=$(subst \,/,$(shell cmd /c cd))#M# for Cygwin shell +CURR_FULL_DIR?=$(subst \,/,$(shell cmd /c cd))#M# for Cygwin shell # Current full path directory for use in source code in a -D compiler option. #CURR_SRCCODE_FULL_DIR=$(subst /,\\\\,$(shell pwd -W))#M# for MSYS CURR_SRCCODE_FULL_DIR=$(subst \,/,$(shell cmd /c cd))#M# for Cygwin shell diff --git a/icu4c/source/icudefs.mk.in b/icu4c/source/icudefs.mk.in index 54a62931dbd..652870286fc 100644 --- a/icu4c/source/icudefs.mk.in +++ b/icu4c/source/icudefs.mk.in @@ -2,7 +2,7 @@ # # Yves Arrouye. # -# Copyright (C) 2000-2012, International Business Machines Corporation and others. +# Copyright (C) 2000-2013, International Business Machines Corporation and others. # All Rights Reserved. # @@ -279,6 +279,11 @@ INVOKE = $(LDLIBRARYPATH_ENVVAR)=$(LIBRARY_PATH_PREFIX)$(LIBDIR):$(top_builddir) PKGDATA_INVOKE = $(LDLIBRARYPATH_ENVVAR)=$(top_builddir)/stubdata:$(top_builddir)/tools/ctestfw:$(LIBRARY_PATH_PREFIX)$(LIBDIR):$$$(LDLIBRARYPATH_ENVVAR) $(LEAK_CHECKER) INSTALLED_INVOKE = $(LDLIBRARYPATH_ENVVAR)=$(libdir):$$$(LDLIBRARYPATH_ENVVAR) +# Current full path directory for cross compilation +ifneq ($(strip $(cross_buildroot)),) +include $(cross_buildroot)/config/icucross.inc +endif + # Platform-specific setup include @platform_make_fragment@