]> granicus.if.org Git - icu/commitdiff
ICU-9376 Fix mingw cross compilation errors
authorMichael Ow <mow@svn.icu-project.org>
Thu, 14 Jun 2012 22:29:37 +0000 (22:29 +0000)
committerMichael Ow <mow@svn.icu-project.org>
Thu, 14 Jun 2012 22:29:37 +0000 (22:29 +0000)
X-SVN-Rev: 31956

icu4c/source/Makefile.in
icu4c/source/config/mh-cygwin-msvc
icu4c/source/config/mh-mingw
icu4c/source/icudefs.mk.in

index e0b9b09a735ea6873507d262d759e27e365143e1..8cffe6f2621d6a5fd73929954f57fb3a84b73632 100644 (file)
@@ -49,7 +49,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)
@@ -197,7 +197,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
 
@@ -229,6 +229,12 @@ 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
+       @echo rebuilding $@
+       @(grep '^CURR_FULL_DIR' $(top_builddir)/icudefs.mk ;\
+         grep '^CURR_FULL_DIR' @platform_make_fragment@ ;\
+          ) > $@
+
 
 config/icu.pc: $(srcdir)/config/icu.pc.in
        cd $(top_builddir) \
index 4a0489bd30688ded0d61a169a5dba0501e70dfba..ebf78b31e789c5c297b9c224eb954f0d0daa1d03 100644 (file)
@@ -1,5 +1,5 @@
 ## Cygwin with Microsoft Visual C++ compiler specific setup
-## Copyright (c) 2001-2011, International Business Machines Corporation and
+## Copyright (c) 2001-2012, 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#
 
index 5fac225200aa9cc1e4b40516e0abdd0d871e8a0b..4538f5bf93ed05b98ebad1d483d861c2da85f51c 100644 (file)
@@ -79,8 +79,8 @@ 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?=$(shell pwd -W)#M# for MSYS
+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
index e7fb6959bcf2ac22b8a0006b3315db165ef6d107..9ebc9e3cc53810be96ef8be6593ee846f6e35527 100644 (file)
@@ -260,6 +260,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@