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
|