@@ -102,11 +102,48 @@ cd $BUILDDIR/$ARCH
102
102
103
103
} || exit 1
104
104
105
+ # =========== libharfbuzz ===========
106
+
105
107
cd $BUILDDIR /$ARCH
106
108
107
- # =========== libicuXX.so ===========
109
+ [ -e libharfbuzz.a ] || {
110
+ rm -rf harfbuzz-1.4.6
111
+ tar xvf ../harfbuzz-1.4.6.tar.bz2
112
+ cd harfbuzz-1.4.6
113
+
114
+ cp -f $BUILDDIR /config.sub .
115
+ cp -f $BUILDDIR /config.guess .
108
116
109
- [ -e libicuuc.so ] || {
117
+ env CFLAGS=" -I$NDK /sources/android/support/include -frtti -fexceptions -I$BUILDDIR /$ARCH /include" \
118
+ LDFLAGS=" -frtti -fexceptions -L$BUILDDIR /$ARCH /lib" \
119
+ LIBS=" -L$BUILDDIR /$ARCH -landroid_support -lgnustl_static -lstdc++" \
120
+ $BUILDDIR /setCrossEnvironment-$ARCH .sh \
121
+ ./configure \
122
+ --host=$GCCPREFIX \
123
+ --prefix=` pwd` /../ \
124
+ --enable-static --disable-shared \
125
+ --with-glib=no --with-gobject=no \
126
+ --with-cairo=no --with-fontconfig=no \
127
+ --with-icu=no --with-freetype=no \
128
+ || exit 1
129
+
130
+ env PATH=` pwd` :$PATH \
131
+ $BUILDDIR /setCrossEnvironment-$ARCH .sh \
132
+ make -j$NCPU V=1 || exit 1
133
+
134
+ env PATH=` pwd` :$PATH \
135
+ $BUILDDIR /setCrossEnvironment-$ARCH .sh \
136
+ make V=1 install || exit 1
137
+
138
+ cd ..
139
+ cp -f lib/libharfbuzz.a ./
140
+ }
141
+
142
+ # =========== libicuuc ===========
143
+
144
+ cd $BUILDDIR /$ARCH
145
+
146
+ [ -e libicuuc.a ] || {
110
147
111
148
rm -rf icu
112
149
@@ -129,17 +166,21 @@ cd $BUILDDIR/$ARCH
129
166
sed -i " s%ln -s *%cp -f \$ (dir \$ @)/%g" config/mh-linux
130
167
131
168
env CFLAGS=" -I$NDK /sources/android/support/include -frtti -fexceptions -include $BUILDDIR /ndk-r15-64-bit-fix.h" \
132
- LDFLAGS=" -frtti -fexceptions" \
169
+ LDFLAGS=" -frtti -fexceptions -L $BUILDDIR / $ARCH /lib " \
133
170
LIBS=" -L$BUILDDIR /$ARCH -landroid_support -lgnustl_static -lstdc++" \
134
171
$BUILDDIR /setCrossEnvironment-$ARCH .sh \
135
172
./configure \
136
173
--host=$GCCPREFIX \
137
174
--prefix=` pwd` /../../ \
138
175
--with-cross-build=` pwd` /cross \
139
- --enable-static --enable -shared \
176
+ --enable-static --disable -shared \
140
177
--with-data-packaging=archive \
141
178
|| exit 1
142
179
180
+ # ICULEHB_CFLAGS="-I$BUILDDIR/$ARCH/include" \
181
+ # ICULEHB_LIBS="-licu-le-hb" \
182
+ # --enable-layoutex \
183
+
143
184
sed -i " s@^prefix *= *.*@prefix = .@" icudefs.mk || exit 1
144
185
145
186
env PATH=` pwd` :$PATH \
@@ -152,15 +193,99 @@ cd $BUILDDIR/$ARCH
152
193
$BUILDDIR /setCrossEnvironment-$ARCH .sh \
153
194
make V=1 install || exit 1
154
195
155
- for f in libicudata libicutest libicui18n libicuio libicule libiculx libicutu libicuuc; do
156
- cp -f -H ../../lib/$f .so ../../
196
+ for f in libicudata libicutest libicui18n libicuio libicutu libicuuc; do
197
+ # cp -f -H ../../lib/$f.so ../../
157
198
cp -f ../../lib/$f .a ../../
199
+ # $BUILDDIR/setCrossEnvironment-$ARCH.sh \
200
+ # sh -c '$STRIP'" ../../$f.so"
201
+ done
202
+
203
+ } || exit 1
204
+
205
+ # =========== libicu-le-hb ===========
206
+
207
+ cd $BUILDDIR /$ARCH
208
+
209
+ [ -e libicu-le-hb.a ] || {
210
+ rm -rf icu-le-hb-1.0.3
211
+ tar xvf ../icu-le-hb-1.0.3.tar.gz
212
+ cd icu-le-hb-1.0.3
213
+
214
+ cp -f $BUILDDIR /config.sub .
215
+ cp -f $BUILDDIR /config.guess .
216
+
217
+ env CFLAGS=" -I$NDK /sources/android/support/include -frtti -fexceptions" \
218
+ CXXFLAGS=" -std=c++11" \
219
+ LDFLAGS=" -frtti -fexceptions" \
220
+ LIBS=" -L$BUILDDIR /$ARCH -landroid_support -lgnustl_static -lstdc++" \
221
+ HARFBUZZ_CFLAGS=" -I$BUILDDIR /$ARCH /include/harfbuzz" \
222
+ HARFBUZZ_LIBS=" -L$BUILDDIR /$ARCH /lib -lharfbuzz" \
223
+ ICU_CFLAGS=" -I$BUILDDIR /$ARCH /include" \
224
+ ICU_LIBS=" -L$BUILDDIR /$ARCH /lib" \
158
225
$BUILDDIR /setCrossEnvironment-$ARCH .sh \
159
- sh -c ' $STRIP' " ../../$f .so"
226
+ ./configure \
227
+ --host=$GCCPREFIX \
228
+ --prefix=` pwd` /../ \
229
+ --enable-static --disable-shared \
230
+ || exit 1
231
+
232
+ env PATH=` pwd` :$PATH \
233
+ $BUILDDIR /setCrossEnvironment-$ARCH .sh \
234
+ make V=1 || exit 1
235
+
236
+ env PATH=` pwd` :$PATH \
237
+ $BUILDDIR /setCrossEnvironment-$ARCH .sh \
238
+ make V=1 install || exit 1
239
+
240
+ cd ..
241
+ cp -f lib/libicu-le-hb.a ./
242
+ }
243
+
244
+ # =========== We are building libicu twice, because libiculx depends on libicu-le-hb wcich depends on libicudata ===========
245
+
246
+ cd $BUILDDIR /$ARCH
247
+
248
+ [ -e libiculx.a ] || {
249
+
250
+ cd icu/source
251
+
252
+ env CFLAGS=" -I$NDK /sources/android/support/include -frtti -fexceptions -include $BUILDDIR /ndk-r15-64-bit-fix.h" \
253
+ LDFLAGS=" -frtti -fexceptions -L$BUILDDIR /$ARCH /lib" \
254
+ LIBS=" -L$BUILDDIR /$ARCH -landroid_support -lgnustl_static -lstdc++" \
255
+ ICULEHB_CFLAGS=" -I$BUILDDIR /$ARCH /include/icu-le-hb" \
256
+ ICULEHB_LIBS=" -licu-le-hb" \
257
+ $BUILDDIR /setCrossEnvironment-$ARCH .sh \
258
+ ./configure \
259
+ --host=$GCCPREFIX \
260
+ --prefix=` pwd` /../../ \
261
+ --with-cross-build=` pwd` /cross \
262
+ --enable-static --disable-shared \
263
+ --with-data-packaging=archive \
264
+ --enable-layoutex \
265
+ || exit 1
266
+
267
+ sed -i " s@^prefix *= *.*@prefix = .@" icudefs.mk || exit 1
268
+
269
+ env PATH=` pwd` :$PATH \
270
+ $BUILDDIR /setCrossEnvironment-$ARCH .sh \
271
+ make -j$NCPU VERBOSE=1 || exit 1
272
+
273
+ sed -i " s@^prefix *= *.*@prefix = ` pwd` /../../@" icudefs.mk || exit 1
274
+
275
+ env PATH=` pwd` :$PATH \
276
+ $BUILDDIR /setCrossEnvironment-$ARCH .sh \
277
+ make V=1 install || exit 1
278
+
279
+ for f in libicudata libicutest libicui18n libicuio libicutu libicuuc libiculx; do
280
+ # cp -f -H ../../lib/$f.so ../../
281
+ cp -f ../../lib/$f .a ../../ || exit 1
282
+ # $BUILDDIR/setCrossEnvironment-$ARCH.sh \
283
+ # sh -c '$STRIP'" ../../$f.so"
160
284
done
161
285
162
286
} || exit 1
163
287
288
+
164
289
done # for ARCH in ...
165
290
166
291
exit 0
0 commit comments