Add a patch for icu4c on android 64 bits.

On recent version of the NDK (r13b), `exec_elf.h` has been removed for
API level >= 20. On 64 bits, we need the API level 21, and then,
a defined (ELF64_ST_INFO) is missing.

We readd it where (and if) we need it.
This commit is contained in:
Matthieu Gautier 2017-02-27 14:03:54 +01:00
parent 600f1b55aa
commit 6d7adf0f04
2 changed files with 15 additions and 1 deletions

View File

@ -177,7 +177,8 @@ class Icu(Dependency):
class Source(ReleaseDownload):
archive = Remotefile('icu4c-56_1-src.tgz',
'3a64e9105c734dcf631c0b3ed60404531bce6c0f5a64bfe1a6402a4cc2314816')
patches = ["icu4c_fix_static_lib_name_mingw.patch"]
patches = ["icu4c_fix_static_lib_name_mingw.patch",
"icu4c_android_elf64_st_info.patch"]
data = Remotefile('icudt56l.dat',
'e23d85eee008f335fc49e8ef37b1bc2b222db105476111e3d16f0007d371cbca')

View File

@ -0,0 +1,13 @@
diff -ur icu4c-58_2/source/tools/toolutil/pkg_genc.c icu4c-58_2.patched/source/tools/toolutil/pkg_genc.c
--- icu4c-58_2/source/tools/toolutil/pkg_genc.c 2016-06-15 20:58:17.000000000 +0200
+++ icu4c-58_2.patched/source/tools/toolutil/pkg_genc.c 2017-02-27 10:23:39.985471339 +0100
@@ -35,6 +35,9 @@
# define EM_X86_64 62
# endif
# define ICU_ENTRY_OFFSET 0
+# ifndef ELF64_ST_INFO
+# define ELF64_ST_INFO(b,t) (((b) << 4) + ((t) & 0xf))
+# endif
#endif
#include <stdio.h>