Ticket #13252: android-plugins-build-20180329.patch

File android-plugins-build-20180329.patch, 6.7 KB (added by Mark Spieth, 2 years ago)
  • android/makelibs.sh

    diff --git a/android/makelibs.sh b/android/makelibs.sh
    index 9f15a4c..82a69b8 100755
    a b while : ; do 
    4949                        shift
    5050                        BUILD_EXIV2=1
    5151                        ;;
     52                flac)
     53                        shift
     54                        BUILD_FLAC=1
     55                        ;;
     56                ogg)
     57                        shift
     58                        BUILD_OGG=1
     59                        ;;
     60                vorbis)
     61                        shift
     62                        BUILD_VORBIS=1
     63                        ;;
    5264                libxml2)
    5365                        shift
    5466                        BUILD_LIBXML2=1
    while : ; do 
    100112                        BUILD_LAME=1
    101113                        BUILD_EXIV2=1
    102114                        BUILD_ICU=1
     115                        BUILD_FLAC=1
     116                        BUILD_VORBIS=1
    103117                        #BUILD_LIBXML2=1
    104118                        #BUILD_LIBXSLT=1
    105119                        #BUILD_GLIB=1
    popd 
    731745return $ERR
    732746}
    733747
     748build_flac() {
     749rm -rf build
     750FLAC=flac-1.3.2
     751echo -e "\n**** $FLAC ****"
     752setup_lib https://ftp.osuosl.org/pub/xiph/releases/flac/$FLAC.tar.xz $FLAC
     753pushd $FLAC
     754OPATH=$PATH
     755
     756if [ $CLEAN == 1 ]; then
     757        make distclean || true
     758fi
     759
     760local CPUOPT=
     761if [ $ARM64 == 1 ]; then
     762        CPUOPT="-march=$CPU_ARCH"
     763else
     764        CPUOPT="-march=$CPU_ARCH"
     765fi
     766
     767./configure --help
     768./configure \
     769        CFLAGS="-isysroot $SYSROOT $CPUOPT $ANDROID_API_DEF" \
     770        CXXFLAGS="-isysroot $SYSROOT $CPUOPT $ANDROID_API_DEF" \
     771        RANLIB=${CROSSPATH2}ranlib \
     772        OBJDUMP=${CROSSPATH2}objdump \
     773        AR=${CROSSPATH2}ar \
     774        CC="$CROSSPATH/$MY_ANDROID_NDK_TOOLS_PREFIX-gcc" \
     775        CXX="$CROSSPATH/$MY_ANDROID_NDK_TOOLS_PREFIX-g++" \
     776        CPP="$CROSSPATH/$MY_ANDROID_NDK_TOOLS_PREFIX-cpp" \
     777        PKG_CONFIG_PATH=$PKG_CONFIG_LIBDIR/pkgconfig \
     778        --with-sysroot=$INSTALLROOT \
     779        --host=$MY_ANDROID_NDK_TOOLS_PREFIX \
     780        --prefix=$INSTALLROOT \
     781        --enable-shared \
     782        --enable-static &&
     783        make -C src/libFLAC -j$NCPUS &&
     784        make -C include install
     785        make -C src/libFLAC install
     786        ERR=$?
     787
     788        # --with-ogg-libraries=$INSTALLROOT/lib \
     789
     790PATH=$OPATH
     791unset OPATH
     792popd
     793return $ERR
     794}
     795
     796build_ogg() {
     797rm -rf build
     798LIBOGG=libogg-1.3.3
     799echo -e "\n**** $LIBOGG ****"
     800setup_lib https://ftp.osuosl.org/pub/xiph/releases/ogg/$LIBOGG.tar.xz $OGG
     801pushd $LIBOGG
     802OPATH=$PATH
     803
     804if [ $CLEAN == 1 ]; then
     805        make distclean || true
     806fi
     807
     808local CPUOPT=
     809if [ $ARM64 == 1 ]; then
     810        CPUOPT="-march=$CPU_ARCH"
     811else
     812        CPUOPT="-march=$CPU_ARCH"
     813fi
     814
     815./configure \
     816        CFLAGS="-isysroot $SYSROOT $CPUOPT $ANDROID_API_DEF" \
     817        CXXFLAGS="-isysroot $SYSROOT $CPUOPT $ANDROID_API_DEF" \
     818        RANLIB=${CROSSPATH2}ranlib \
     819        OBJDUMP=${CROSSPATH2}objdump \
     820        AR=${CROSSPATH2}ar \
     821        CC="$CROSSPATH/$MY_ANDROID_NDK_TOOLS_PREFIX-gcc" \
     822        CXX="$CROSSPATH/$MY_ANDROID_NDK_TOOLS_PREFIX-g++" \
     823        CPP="$CROSSPATH/$MY_ANDROID_NDK_TOOLS_PREFIX-cpp" \
     824        PKG_CONFIG_PATH=$PKG_CONFIG_LIBDIR/pkgconfig \
     825        --host=$MY_ANDROID_NDK_TOOLS_PREFIX \
     826        --prefix=$INSTALLROOT \
     827        --enable-shared \
     828        --enable-static &&
     829        make -j$NCPUS &&
     830        make install
     831        ERR=$?
     832
     833PATH=$OPATH
     834unset OPATH
     835popd
     836return $ERR
     837}
     838
     839build_vorbis() {
     840rm -rf build
     841LIBVORBIS=libvorbis-1.3.6
     842echo -e "\n**** $LIBVORBIS ****"
     843setup_lib https://ftp.osuosl.org/pub/xiph/releases/vorbis/$LIBVORBIS.tar.xz $LIBVORBIS
     844pushd $LIBVORBIS
     845OPATH=$PATH
     846
     847if [ $CLEAN == 1 ]; then
     848        make distclean || true
     849fi
     850
     851local CPUOPT=
     852if [ $ARM64 == 1 ]; then
     853        CPUOPT="-march=$CPU_ARCH"
     854else
     855        CPUOPT="-march=$CPU_ARCH"
     856fi
     857
     858./configure \
     859        CFLAGS="-isysroot $SYSROOT $CPUOPT $ANDROID_API_DEF" \
     860        CXXFLAGS="-isysroot $SYSROOT $CPUOPT $ANDROID_API_DEF" \
     861        RANLIB=${CROSSPATH2}ranlib \
     862        OBJDUMP=${CROSSPATH2}objdump \
     863        AR=${CROSSPATH2}ar \
     864        CC="$CROSSPATH/$MY_ANDROID_NDK_TOOLS_PREFIX-gcc" \
     865        CXX="$CROSSPATH/$MY_ANDROID_NDK_TOOLS_PREFIX-g++" \
     866        CPP="$CROSSPATH/$MY_ANDROID_NDK_TOOLS_PREFIX-cpp" \
     867        PKG_CONFIG_PATH=$PKG_CONFIG_LIBDIR/pkgconfig \
     868        --host=$MY_ANDROID_NDK_TOOLS_PREFIX \
     869        --prefix=$INSTALLROOT \
     870        --enable-shared \
     871        --enable-static &&
     872        make -j$NCPUS &&
     873        make install
     874        ERR=$?
     875
     876PATH=$OPATH
     877unset OPATH
     878popd
     879return $ERR
     880}
     881
    734882build_libxml2() {
    735883rm -rf build
    736884LIBXML2=libxml2-2.9.5
    fi 
    758906        CC="$CROSSPATH/$MY_ANDROID_NDK_TOOLS_PREFIX-gcc" \
    759907        CXX="$CROSSPATH/$MY_ANDROID_NDK_TOOLS_PREFIX-g++" \
    760908        CPP="$CROSSPATH/$MY_ANDROID_NDK_TOOLS_PREFIX-cpp" \
     909        PKG_CONFIG_PATH=$PKG_CONFIG_LIBDIR/pkgconfig \
    761910        --host=$MY_ANDROID_NDK_TOOLS_PREFIX \
    762911        --prefix=$INSTALLROOT \
    763912        --disable-xmp \
    get_android_cmake 
    19932142[ -n "$BUILD_MARIADB" ] && build_mariadb
    19942143[ -n "$BUILD_LAME" ] && build_lame
    19952144[ -n "$BUILD_EXIV2" ] && build_exiv2
     2145[ -n "$BUILD_OGG" ] && build_ogg
     2146[ -n "$BUILD_VORBIS" ] && build_vorbis
     2147[ -n "$BUILD_FLAC" ] && build_flac
    19962148[ -n "$BUILD_LIBXML2" ] && build_libxml2
    19972149[ -n "$BUILD_LIBXSLT" ] && build_libxslt
    19982150[ -n "$BUILD_FFI" ] && build_ffi
  • android/mythbuild.sh

    diff --git a/android/mythbuild.sh b/android/mythbuild.sh
    index 984ef3e..e820698 100755
    a b CPU=armv7-a 
    4545#CPU=cortex-a53
    4646DEPLOYTYPE="--debug"
    4747EXTRASPECS="-after QMAKE_CFLAGS-=-mfpu=vfp QMAKE_CXXFLAGS-=-mfpu=vfp"
     48BUILD_PLUGINS=1
    4849
    4950while : ; do
    5051case "$1" in
    case "$1" in 
    7980                shift
    8081                ARM64=1
    8182                ;;
     83        --no-plugins)
     84                shift
     85                BUILD_PLUGINS=0
     86                ;;
    8287        "")
    8388                break
    8489                ;;
    function bundle_apk() { 
    260265        for i in $MYTHINSTALLROOT/lib/libmythfilter*.so ; do
    261266                cp "$i" "$MYTHINSTALLROOT/libs/$ANDROID_TARGET_ARCH/"
    262267        done
     268        # plugins are not automatically installed so copy them
     269        for i in $MYTHINSTALLROOT/lib/libmyth{archive,archivehelper,netvision,fillnetvision,news,browser,game,music}.so ; do
     270                if [ -e "$i" ]; then
     271                        cp "$i" "$MYTHINSTALLROOT/libs/$ANDROID_TARGET_ARCH/"
     272                fi
     273        done
    263274        VERSIONNAME=$(date +"%F" | tr -d '-')-$BUNDLE_NAME-$(grep "define MYTH_SOURCE_VERSION" libs/libmythbase/version.h | cut -d' ' -f 3 | tr -d '"')
    264275        # TODO: Eventually do something reasonable with versionCode.
    265276        VERSIONCODE=1
    $MYTHTVSRC/configure \ 
    374385
    375386fi
    376387
     388make_plugins() {
     389        pushd ../mythplugins
     390        if [ ! -e stamp_configure_android ] ; then
     391                ./configure \
     392                        --compile-type=debug \
     393                        --pkg-config=$(which pkg-config) \
     394                        --prefix=/ \
     395                        --runprefix=/ \
     396                        --libdir-name=lib \
     397                        --sysroot=$SYSROOT \
     398                        --mythroot=$INSTALLROOT \
     399                        --extra-cflags="$CRYSTAX_CFLAGS -D__ANDROID_API__=$ANDROID_NATIVE_API_LEVEL -DANDROID -I$INSTALLROOT/include -I$QTBASE/include $IGNOREDEFINES $NEONFLAGS " \
     400                        --extra-cxxflags=" -D__ANDROID_API__=$ANDROID_NATIVE_API_LEVEL -DANDROID -I$INSTALLROOT/include -I$QTBASE/include $IGNOREDEFINES $NEONFLAGS " \
     401                        --extra-ldflags="-Wl,-rpath-link,$INSTALLROOT/lib" \
     402                        --qmake=$QTBASE/bin/qmake \
     403                        --qmakespecs="android-g++ $EXTRASPECS" \
     404                        && touch stamp_configure_android
     405
     406        fi
     407
     408        make -j$NCPUS
     409
     410        make install INSTALL_ROOT=$INSTALLROOT
     411
     412        popd
     413}
     414
    377415if [ -e stamp_configure_android ] ; then
    378416        set -e
    379417        echo "*** make ***"
    380418        make -j$NCPUS
    381419        echo "*** make install ***"
    382420        make install INSTALL_ROOT=$INSTALLROOT
     421        if [ $BUILD_PLUGINS == 1 ]; then
     422                echo "*** make plugins ***"
     423                make_plugins
     424        fi
    383425        echo "*** deploy-extra-libs ***"
    384426        deploy-extra-libs
    385427        echo "*** androiddeployqt ***"