pelya / libiconv-libicu-android

Port of libiconv and libicu to Android
The Unlicense
30 stars 44 forks source link

Fix build with Android NDK 25 #17

Closed rocka closed 1 year ago

rocka commented 1 year ago

While building with Android NDK 25 (actually 25.0.8775105) I noticed following error:

libtool: compile:  /path/to/AndroidSDK/ndk/25.0.8775105/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android21-clang++ -DHAVE_CONFIG_H -I. -I.. -pthread -fno-rtti -g -ffunction-sections -fdata-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wformat -Werror=format-security -Oz -DNDEBUG -fPIC -frtti -fexceptions -I/dev/shm/libiconv-libicu-android/arm64-v8a/include -frtti -fexceptions -fno-exceptions -fno-threadsafe-statics -fvisibility-inlines-hidden -MT libharfbuzz_subset_la-hb-subset-input.lo -MD -MP -MF .deps/libharfbuzz_subset_la-hb-subset-input.Tpo -c hb-subset-input.cc -o libharfbuzz_subset_la-hb-subset-input.o >/dev/null 2>&1
hb-subset-cff1.cc:405:33: error: variable 'supp_size' set but not used [-Werror,-Wunused-but-set-variable]
    unsigned int  size0, size1, supp_size;
                                ^
2 warnings generated.

After some searching, I found those:

It seem that clang 14 included in NDK 25 could not build harfbuzz 2.8.0, but it is fixed in 2.8.2.

This PR also replace the arch command with uname -m, since some newer Linux distributions do not have it.