summaryrefslogtreecommitdiffstats
path: root/external/icu/icu4c-windows-cygwin-cross.patch.1
blob: dd6b47c172115f47f888ed2695818cb2ea29989a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
diff -ur icu.org/source/acinclude.m4 icu/source/acinclude.m4
--- icu.org/source/acinclude.m4     2020-04-10 16:22:16.000000000 +0200
+++ icu/source/acinclude.m4 2020-04-21 22:14:09.940217733 +0200
@@ -52,6 +52,12 @@
 	else
 		icu_cv_host_frag=mh-cygwin-msvc
 	fi ;;
+aarch64-*-cygwin)
+	if test "$GCC" = yes; then
+		icu_cv_host_frag=mh-cygwin64
+	else
+		icu_cv_host_frag=mh-cygwin-msvc
+	fi ;;
 *-*-mingw*)
 	if test "$GCC" = yes; then
                 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
--- icu/source/configure.ac.orig	2020-04-22 22:04:20.000000000 +0200
+++ icu/source/configure.ac	2020-10-01 09:39:05.570900400 +0200
@@ -213,23 +213,33 @@
 	[cross_buildroot="${withval}"],
         [cross_buildroot=""])
 
+cross_mixed_buildroot="$cross_buildroot"
+cross_unix_buildroot="$cross_buildroot"
 if test "X$cross_buildroot" = "X"; then
     if test "$cross_compiling" = "yes"; then
         AC_MSG_ERROR([Error! Cross compiling but no --with-cross-build option specified - please supply the path to an executable ICU's build root])
 	dnl '
     fi
 else
-    if test -f "${cross_buildroot}/config/icucross.mk"; then
+    case "${host}" in
+    *-*-cygwin*)
+        #M# -m isn't used because it doesn't work on Win98
+        cross_mixed_buildroot=$(cygpath -ad "$cross_buildroot" | tr '\\' '/')
+        cross_unix_buildroot=$(cygpath -au "$cross_buildroot")
+	;;
+    esac
+    if test -f "${cross_mixed_buildroot}/config/icucross.mk"; then
         AC_MSG_RESULT([Using cross buildroot: $cross_buildroot])
     else
-        if test -d "${cross_buildroot}"; then
-            AC_MSG_ERROR([${cross_buildroot}/config/icucross.mk not found. Please build ICU in ${cross_buildroot} first.])
+        if test -d "${cross_mixed_buildroot}"; then
+            AC_MSG_ERROR([${cross_mixed_buildroot}/config/icucross.mk not found. Please build ICU in ${cross_mixed_buildroot} first.])
         else
-            AC_MSG_ERROR([No such directory ${cross_buildroot} supplied as the argument to --with-cross-build. Use an absolute path.])
+            AC_MSG_ERROR([No such directory ${cross_mixed_buildroot} supplied as the argument to --with-cross-build. Use an absolute path.])
         fi
     fi
 fi
-AC_SUBST(cross_buildroot)
+AC_SUBST(cross_mixed_buildroot)
+AC_SUBST(cross_unix_buildroot)
 
 # Check for doxygen to generate documentation
 AC_PATH_PROG(DOXYGEN,doxygen,,$PATH:/usr/local/bin:/usr/bin)
--- icu/source/test/testdata/Makefile.in.orig	2020-10-01 09:37:25.847888900 +0200
+++ icu/source/test/testdata/Makefile.in	2020-10-01 09:36:41.859996500 +0200
@@ -82,7 +82,7 @@
 # relative lib links from pkgdata are the same as for tmp
 GENRBOPTS=-k
 # use the cross root, in case we are cross compiling. Otherwise it is equal to top_builddir
-TOOLDIR=$(cross_buildroot)/tools
+TOOLDIR=$(cross_mixed_buildroot)/tools
 SRCDATADIR=$(top_srcdir)/data
 UNICODEDATADIR=$(SRCDATADIR)/unidata
 OUTDIR=$(top_builddir)/data/out
--- icu/source/Makefile.in.orig	2020-04-22 22:04:20.000000000 +0200
+++ icu/source/Makefile.in	2020-10-01 09:29:36.642364000 +0200
@@ -255,16 +255,16 @@
 	@(echo "CROSS_ICU_VERSION=$(VERSION)" ;\
 	  echo "TOOLEXEEXT=$(EXEEXT)" \
 	   ) > $@
-	@(echo 'TOOLBINDIR=$$(cross_buildroot)/bin' ;\
-	  echo 'TOOLLIBDIR=$$(cross_buildroot)/lib' ;\
-	  echo "INVOKE=$(LDLIBRARYPATH_ENVVAR)=$(LIBRARY_PATH_PREFIX)"'$$(TOOLLIBDIR):$$(cross_buildroot)/stubdata:$$(cross_buildroot)/tools/ctestfw:$$$$'"$(LDLIBRARYPATH_ENVVAR)" ;\
-	  echo "PKGDATA_INVOKE=$(LDLIBRARYPATH_ENVVAR)=$(LIBRARY_PATH_PREFIX)"'$$(cross_buildroot)/stubdata:$$(cross_buildroot)/tools/ctestfw:$$(TOOLLIBDIR):$$$$'"$(LDLIBRARYPATH_ENVVAR) " ;\
+	@(echo 'TOOLBINDIR=$$(cross_mixed_buildroot)/bin' ;\
+	  echo 'TOOLLIBDIR=$$(cross_mixed_buildroot)/lib' ;\
+	  echo "INVOKE=$(LDLIBRARYPATH_ENVVAR)=$(LIBRARY_PATH_PREFIX)"'$$(cross_unix_buildroot)/lib:$$(cross_unix_buildroot)/stubdata:$$(cross_unix_buildroot)/tools/ctestfw:$$$$'"$(LDLIBRARYPATH_ENVVAR)" ;\
+	  echo "PKGDATA_INVOKE=$(LDLIBRARYPATH_ENVVAR)=$(LIBRARY_PATH_PREFIX)"'$$(cross_unix_buildroot)/stubdata:$$(cross_unix_buildroot)/tools/ctestfw:$$(cross_unix_buildroot)/lib:$$$$'"$(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 ""; \
+	@(grep '^CURR_FULL_DIR' @platform_make_fragment@ || echo ""; \
+	  grep '^CURR_FULL_DIR' $(top_builddir)/icudefs.mk ; \
 	   ) > $@
 
 config/icu.pc: $(srcdir)/config/icu.pc.in
--- icu/source/icudefs.mk.in.orig	2020-04-22 22:04:20.000000000 +0200
+++ icu/source/icudefs.mk.in	2020-10-01 09:35:54.418128800 +0200
@@ -35,7 +35,8 @@
 sysconfdir = @sysconfdir@
 # controls the include of $(top_builddir)/icucross.mk at bottom of file
 cross_compiling = @cross_compiling@
-cross_buildroot = @cross_buildroot@
+cross_mixed_buildroot = @cross_mixed_buildroot@
+cross_unix_buildroot = @cross_unix_buildroot@
 
 # Package information
 
@@ -303,8 +304,8 @@
 INSTALLED_INVOKE = $(LDLIBRARYPATH_ENVVAR)=$(libdir):$$$(LDLIBRARYPATH_ENVVAR)
 
 # Current full path directory for cross compilation
-ifneq ($(strip $(cross_buildroot)),)
-include $(cross_buildroot)/config/icucross.inc
+ifneq ($(strip $(cross_mixed_buildroot)),)
+include $(cross_mixed_buildroot)/config/icucross.inc
 endif
 
 # Platform-specific setup
@@ -323,10 +324,11 @@
 
 # some imported things from the cross env
 TOOLEXEEXT = $(EXEEXT)
-ifneq ($(strip $(cross_buildroot)),)
-include $(cross_buildroot)/config/icucross.mk
+ifneq ($(strip $(cross_mixed_buildroot)),)
+include $(cross_mixed_buildroot)/config/icucross.mk
 else
-cross_buildroot = $(top_builddir)
+cross_mixed_buildroot = $(top_builddir)
+cross_unix_buildroot = $(top_builddir)
 endif
 
 # for tests