X-Git-Url: https://git.distorted.org.uk/~mdw/termux-packages/blobdiff_plain/60f09ba592b713011783bc7b5d1c6fcfa9fad705..d3e5452e3ee76b8c454bc018f03d53ec567c49de:/packages/aapt/build.sh diff --git a/packages/aapt/build.sh b/packages/aapt/build.sh index 707ca011..92bac76f 100644 --- a/packages/aapt/build.sh +++ b/packages/aapt/build.sh @@ -1,12 +1,17 @@ +# 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" -TERMUX_PKG_VERSION=7.0.0 +_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=${TERMUX_PKG_VERSION}_r1 + local _TAGNAME=${_TAG_VERSION}_r${_TAG_REVISION} SYSTEM_CORE_INCLUDE_TARFILE=$TERMUX_PKG_CACHEDIR/system_core_include_${_TAGNAME}.tar.gz test ! -f $SYSTEM_CORE_INCLUDE_TARFILE && termux_download \ @@ -35,8 +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} @@ -46,8 +51,9 @@ termux_step_make_install () { "https://android.googlesource.com/platform/system/core/+archive/android-$_TAGNAME/libcutils.tar.gz" \ $LIBCUTILS_TARFILE tar xf $LIBCUTILS_TARFILE - $CXX -isystem $AOSP_INCLUDE_DIR -c -o sockets.o sockets.cpp - $CXX -isystem $AOSP_INCLUDE_DIR -c -o sockets_unix.o sockets_unix.cpp + 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 %include %' properties.c # From Android.mk: libcutils_common_sources="\ @@ -78,7 +84,7 @@ termux_step_make_install () { socket_network_client_unix.c \ sockets_unix.o \ str_parms.c" - $CC \ + $CC $CFLAGS \ -Dchar16_t=uint16_t \ -std=c11 \ -isystem $AOSP_INCLUDE_DIR \ @@ -86,6 +92,7 @@ termux_step_make_install () { $libcutils_nonwindows_sources \ trace-host.c \ properties.c \ + -llog \ -shared \ -o $TERMUX_PREFIX/lib/libandroid-cutils.so @@ -112,6 +119,7 @@ termux_step_make_install () { tar xf $LIBUTILS_TARFILE # From Android.mk: #CallStack.cpp \ + #SystemClock.cpp \ commonSources="\ FileMap.cpp \ JenkinsHash.cpp \ @@ -126,7 +134,6 @@ termux_step_make_install () { StopWatch.cpp \ String8.cpp \ String16.cpp \ - SystemClock.cpp \ Threads.cpp \ Timers.cpp \ Tokenizer.cpp \ @@ -135,12 +142,14 @@ termux_step_make_install () { misc.cpp" $CXX $CXXFLAGS $CPPFLAGS $LDFLAGS \ -std=c++11 \ + '-DALOG_ASSERT(a,...)=' \ -Dtypeof=decltype \ -isystem $TERMUX_PREFIX/include/aosp \ -isystem $SAFE_IOP_DIR/include \ $SAFE_IOP_DIR/src/safe_iop.cpp \ $commonSources \ -landroid-cutils \ + -llog \ -shared \ -o $TERMUX_PREFIX/lib/libandroid-utils.so @@ -157,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 \ @@ -167,10 +176,11 @@ termux_step_make_install () { libbase_linux_src_files="\ errors_unix.cpp" # __USE_BSD for DEFFILEMODE to be defined by . - $CXX $CPPFLAGS -std=c++11 \ + $CXX $CXXFLAGS $CPPFLAGS -std=c++11 \ -D__USE_BSD \ -isystem $AOSP_INCLUDE_DIR \ $libbase_src_files $libbase_linux_src_files \ + -llog \ -shared \ -o $TERMUX_PREFIX/lib/libandroid-base.so @@ -193,6 +203,9 @@ termux_step_make_install () { -isystem $AOSP_INCLUDE_DIR \ $libziparchive_source_files \ -landroid-base \ + -landroid-utils \ + -lz \ + -llog \ -shared \ -o $TERMUX_PREFIX/lib/libandroid-ziparchive.so @@ -219,19 +232,17 @@ termux_step_make_install () { ZipFileRO.cpp \ ZipUtils.cpp" sed -i 's%#include %%' 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-ziparchive \ + -landroid-cutils \ + -landroid-utils \ + -landroid-ziparchive \ + -llog \ + -lz \ -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 \ @@ -240,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 \ @@ -278,7 +286,16 @@ termux_step_make_install () { -o $TERMUX_PREFIX/bin/zipalign - # 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 }