Switch over to building with unified headers
[termux-packages] / packages / aapt / build.sh
index efcd560..92bac76 100644 (file)
@@ -1,11 +1,14 @@
+# FIXME: We would like to enable checksums when downloading
+# tar files, but they change each time as the tar metadata
+# differs: https://github.com/google/gitiles/issues/84
 TERMUX_PKG_HOMEPAGE=http://elinux.org/Android_aapt
 TERMUX_PKG_DESCRIPTION="Android Asset Packaging Tool"
 _TAG_VERSION=7.0.0
 _TAG_REVISION=14
 TERMUX_PKG_VERSION=${_TAG_VERSION}.${_TAG_REVISION}
+TERMUX_PKG_REVISION=1
 TERMUX_PKG_BUILD_IN_SRC=yes
 TERMUX_PKG_DEPENDS="libexpat, libpng, libzopfli"
-TERMUX_PKG_CLANG=yes
 
 termux_step_make_install () {
        local _TAGNAME=${_TAG_VERSION}_r${_TAG_REVISION}
@@ -37,7 +40,8 @@ termux_step_make_install () {
        mkdir -p android-base
        cd android-base
        tar xf $ANDROID_BASE_INCLUDE_TARFILE
-
+       cd ../log
+       patch -p0 < $TERMUX_PKG_BUILDER_DIR/log.h.patch.txt
 
        # Build libcutils:
        mkdir -p $TERMUX_PKG_SRCDIR/{libcutils,androidfw}
@@ -47,6 +51,7 @@ termux_step_make_install () {
                "https://android.googlesource.com/platform/system/core/+archive/android-$_TAGNAME/libcutils.tar.gz" \
                $LIBCUTILS_TARFILE
        tar xf $LIBCUTILS_TARFILE
+       patch -p0 < $TERMUX_PKG_BUILDER_DIR/libcutils-patch.txt
        $CXX $CXXFLAGS -isystem $AOSP_INCLUDE_DIR -c -o sockets.o sockets.cpp
        $CXX $CXXFLAGS -isystem $AOSP_INCLUDE_DIR -c -o sockets_unix.o sockets_unix.cpp
        sed -i 's%include <sys/_system_properties.h>%include <sys/system_properties.h>%' properties.c
@@ -114,6 +119,7 @@ termux_step_make_install () {
        tar xf $LIBUTILS_TARFILE
        # From Android.mk:
        #CallStack.cpp \
+       #SystemClock.cpp \
        commonSources="\
                FileMap.cpp \
                JenkinsHash.cpp \
@@ -128,7 +134,6 @@ termux_step_make_install () {
                StopWatch.cpp \
                String8.cpp \
                String16.cpp \
-               SystemClock.cpp \
                Threads.cpp \
                Timers.cpp \
                Tokenizer.cpp \
@@ -161,9 +166,9 @@ termux_step_make_install () {
        rm -Rf $TERMUX_PREFIX/include/aosp/android-base
        mv include/android-base $TERMUX_PREFIX/include/aosp
        patch -p1 < $TERMUX_PKG_BUILDER_DIR/libbase-patch.txt
+       #logging.cpp \
        libbase_src_files="\
                file.cpp \
-               logging.cpp \
                parsenetaddress.cpp \
                stringprintf.cpp \
                strings.cpp \
@@ -227,13 +232,9 @@ termux_step_make_install () {
                ZipFileRO.cpp \
                ZipUtils.cpp"
        sed -i 's%#include <binder/TextOutput.h>%%' ResourceTypes.cpp
-       $CXX $CXXFLAGS $LDFLAGS -isystem $AOSP_INCLUDE_DIR \
+       $CXX $CXXFLAGS $CPPFLAGS $LDFLAGS -isystem $AOSP_INCLUDE_DIR \
                -std=c++11 \
                $commonSources \
-               -DACONFIGURATION_SCREENROUND_ANY=0x00 \
-               -DACONFIGURATION_SCREENROUND_NO=0x1 \
-               -DACONFIGURATION_SCREENROUND_YES=0x2 \
-               -DACONFIGURATION_SCREEN_ROUND=0x8000 \
                -landroid-cutils \
                -landroid-utils \
                -landroid-ziparchive \
@@ -242,8 +243,6 @@ termux_step_make_install () {
                -shared \
                -o $TERMUX_PREFIX/lib/libandroid-fw.so
 
-
-
        # Build aapt:
        AAPT_TARFILE=$TERMUX_PKG_CACHEDIR/aapt_${_TAGNAME}.tar.gz
        test ! -f $AAPT_TARFILE && termux_download \
@@ -252,15 +251,12 @@ termux_step_make_install () {
        mkdir $TERMUX_PKG_SRCDIR/aapt
        cd $TERMUX_PKG_SRCDIR/aapt
        tar xf $AAPT_TARFILE
+       sed "s%\@TERMUX_PREFIX\@%${TERMUX_PREFIX}%g" $TERMUX_PKG_BUILDER_DIR/aapt-Main.cpp.patch.txt | patch -p1
        $CXX $CXXFLAGS $CPPFLAGS $LDFLAGS \
                -std=c++11 \
                -DANDROID_SMP=1 \
                -DNDEBUG=1 \
                -DHAVE_ENDIAN_H=1 -DHAVE_POSIX_FILEMAP=1 -DHAVE_OFF64_T=1 -DHAVE_SYS_SOCKET_H=1 -DHAVE_PTHREADS=1 \
-               -DACONFIGURATION_SCREENROUND_ANY=0x00 \
-               -DACONFIGURATION_SCREENROUND_NO=0x1 \
-               -DACONFIGURATION_SCREENROUND_YES=0x2 \
-               -DACONFIGURATION_SCREEN_ROUND=0x8000 \
                -isystem $AOSP_INCLUDE_DIR \
                *.cpp \
                -landroid-cutils -landroid-utils -landroid-fw -landroid-ziparchive \
@@ -292,4 +288,14 @@ termux_step_make_install () {
 
        # Remove this one for now:
        rm -Rf $AOSP_INCLUDE_DIR
+
+       # Create an android.jar with AndroidManifest.xml and resources.arsc:
+       cd $TERMUX_PKG_TMPDIR
+       rm -rf android-jar
+       mkdir android-jar
+       cd android-jar
+       cp $ANDROID_HOME/platforms/android-25/android.jar .
+       unzip -q android.jar
+       mkdir -p $TERMUX_PREFIX/share/aapt
+       zip -q $TERMUX_PREFIX/share/aapt/android.jar AndroidManifest.xml resources.arsc
 }