Work against 64-bit builds
[termux-packages] / packages / libandroid-support / build.sh
CommitLineData
59f0d218
FF
1TERMUX_PKG_HOMEPAGE=https://developer.android.com/tools/sdk/ndk/index.html
2TERMUX_PKG_DESCRIPTION="Library extending the Android C library (Bionic) for additional multibyte, locale and math support"
3# Increase last digit each time a patch changes.
4TERMUX_PKG_VERSION=${TERMUX_NDK_VERSION}
5TERMUX_PKG_BUILD_IN_SRC=yes
6TERMUX_PKG_ESSENTIAL=yes
7
8termux_step_post_extract_package () {
9 cd $TERMUX_PKG_SRCDIR
8f7dda83
FF
10 if [ "$TERMUX_ARCH_BITS" = "64" ]; then
11 # https://android.googlesource.com/platform/ndk.git/+/7c811775212f8ae0ecdcf60d05fefb1582207038
12 # For 64-bit bionic has almost everything except the following:
13 mkdir -p src/musl-locale/ include/
14 cp $NDK/sources/android/support/src/musl-locale/{catclose.c,catgets.c,catopen.c} src/musl-locale/
15 cp $NDK/sources/android/support/include/* include/
16 else
17 cp -Rf $NDK/sources/android/support/* .
18 # See Android.mk for files not to build:
19 rm src/musl-stdio/vwscanf.c \
20 src/musl-stdio/wscanf.c \
21 src/musl-locale/newlocale.c \
22 src/musl-locale/nl_langinfo_l.c \
23 src/musl-locale/strcoll_l.c \
24 src/musl-locale/strxfrm_l.c \
25 src/musl-locale/wcscoll_l.c \
26 src/musl-locale/wcsxfrm_l.c
27 fi
59f0d218
FF
28}
29
30termux_step_make_install () {
8f7dda83
FF
31 if [ "$TERMUX_ARCH_BITS" = "64" ]; then
32 _C_FILES="src/musl-*/*.c"
33 else
34 _C_FILES="src/locale/*.c src/musl-*/*.c src/stdio/*.c src/*.c"
35 fi
59f0d218
FF
36 # Link against libm to avoid linkers having to do it
37 $CC $CFLAGS -std=c99 -DNULL=0 $CPPFLAGS $LDFLAGS -lm \
38 -Iinclude -Isrc/locale \
8f7dda83 39 $_C_FILES \
59f0d218
FF
40 -shared -fpic \
41 -o libandroid-support.so
42
43 cp libandroid-support.so $TERMUX_PREFIX/lib/
44
45 (cd $TERMUX_PREFIX/lib; rm -f libiconv.so libintl.so; ln -s libandroid-support.so libiconv.so; ln -s libandroid-support.so libintl.so)
46
47 rm -Rf $TERMUX_PREFIX/include/libandroid-support
48 mkdir -p $TERMUX_PREFIX/include/libandroid-support
49 cp -Rf include/* $TERMUX_PREFIX/include/libandroid-support/
50
51 (cd $TERMUX_PREFIX/include; rm -f libintl.h iconv.h; ln -s libandroid-support/libintl.h libintl.h; ln -s libandroid-support/iconv.h iconv.h)
52}