Ticket #13252: build-plugins-20180331.patch

File build-plugins-20180331.patch, 7.8 KB (added by Mark Spieth, 6 years ago)
  • android/makelibs.sh

    commit 8dc778b442bc9f2d5098481532e047a58881a9d7
    Author: Mark Spieth <mspieth@digivation.com.au>
    Date:   Fri Mar 30 15:19:48 2018 +1100
    
        Android: build mythplugins
        
        refs #13252
    
    diff --git a/android/makelibs.sh b/android/makelibs.sh
    index 9f15a4c..6ef391d 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
     117                        BUILD_OGG=1
    103118                        #BUILD_LIBXML2=1
    104119                        #BUILD_LIBXSLT=1
    105120                        #BUILD_GLIB=1
    while : ; do 
    142157                        echo "   iconv"
    143158                        echo "   mariadb"
    144159                        echo "   lame"
     160                        echo "   ogg"
     161                        echo "   vorbis"
     162                        echo "   flac"
    145163                        echo "   exiv2"
    146164                        echo "   icu"
    147165                        echo "   qtwebkit"
    while : ; do 
    157175done
    158176
    159177QTMAJORVERSION=5.10
    160 QTVERSION=$QTMAJORVERSION.0
     178QTVERSION=$QTMAJORVERSION.1
    161179export ANDROID_NATIVE_API_LEVEL=${ANDROID_NATIVE_API_LEVEL:-21}
    162180export ANDROID_SDK_PLATFORM=android-$ANDROID_NATIVE_API_LEVEL
    163181export ANDROID_NDK_PLATFORM=android-$ANDROID_NATIVE_API_LEVEL
    popd 
    731749return $ERR
    732750}
    733751
     752build_flac() {
     753rm -rf build
     754FLAC=flac-1.3.2
     755echo -e "\n**** $FLAC ****"
     756setup_lib https://ftp.osuosl.org/pub/xiph/releases/flac/$FLAC.tar.xz $FLAC
     757pushd $FLAC
     758OPATH=$PATH
     759
     760if [ $CLEAN == 1 ]; then
     761        make distclean || true
     762fi
     763
     764local CPUOPT=
     765if [ $ARM64 == 1 ]; then
     766        CPUOPT="-march=$CPU_ARCH"
     767else
     768        CPUOPT="-march=$CPU_ARCH"
     769fi
     770
     771./configure --help
     772./configure \
     773        CFLAGS="-isysroot $SYSROOT $CPUOPT $ANDROID_API_DEF" \
     774        CXXFLAGS="-isysroot $SYSROOT $CPUOPT $ANDROID_API_DEF" \
     775        RANLIB=${CROSSPATH2}ranlib \
     776        OBJDUMP=${CROSSPATH2}objdump \
     777        AR=${CROSSPATH2}ar \
     778        CC="$CROSSPATH/$MY_ANDROID_NDK_TOOLS_PREFIX-gcc" \
     779        CXX="$CROSSPATH/$MY_ANDROID_NDK_TOOLS_PREFIX-g++" \
     780        CPP="$CROSSPATH/$MY_ANDROID_NDK_TOOLS_PREFIX-cpp" \
     781        PKG_CONFIG_PATH=$PKG_CONFIG_LIBDIR/pkgconfig \
     782        --with-sysroot=$INSTALLROOT \
     783        --host=$MY_ANDROID_NDK_TOOLS_PREFIX \
     784        --prefix=$INSTALLROOT \
     785        --enable-shared \
     786        --enable-static &&
     787        make -C src/libFLAC -j$NCPUS &&
     788        make -C include install
     789        make -C src/libFLAC install
     790        ERR=$?
     791
     792        # --with-ogg-libraries=$INSTALLROOT/lib \
     793
     794PATH=$OPATH
     795unset OPATH
     796popd
     797return $ERR
     798}
     799
     800build_ogg() {
     801rm -rf build
     802LIBOGG=libogg-1.3.3
     803echo -e "\n**** $LIBOGG ****"
     804setup_lib https://ftp.osuosl.org/pub/xiph/releases/ogg/$LIBOGG.tar.xz $OGG
     805pushd $LIBOGG
     806OPATH=$PATH
     807
     808if [ $CLEAN == 1 ]; then
     809        make distclean || true
     810fi
     811
     812local CPUOPT=
     813if [ $ARM64 == 1 ]; then
     814        CPUOPT="-march=$CPU_ARCH"
     815else
     816        CPUOPT="-march=$CPU_ARCH"
     817fi
     818
     819./configure \
     820        CFLAGS="-isysroot $SYSROOT $CPUOPT $ANDROID_API_DEF" \
     821        CXXFLAGS="-isysroot $SYSROOT $CPUOPT $ANDROID_API_DEF" \
     822        RANLIB=${CROSSPATH2}ranlib \
     823        OBJDUMP=${CROSSPATH2}objdump \
     824        AR=${CROSSPATH2}ar \
     825        CC="$CROSSPATH/$MY_ANDROID_NDK_TOOLS_PREFIX-gcc" \
     826        CXX="$CROSSPATH/$MY_ANDROID_NDK_TOOLS_PREFIX-g++" \
     827        CPP="$CROSSPATH/$MY_ANDROID_NDK_TOOLS_PREFIX-cpp" \
     828        PKG_CONFIG_PATH=$PKG_CONFIG_LIBDIR/pkgconfig \
     829        --host=$MY_ANDROID_NDK_TOOLS_PREFIX \
     830        --prefix=$INSTALLROOT \
     831        --enable-shared \
     832        --enable-static &&
     833        make -j$NCPUS &&
     834        make install
     835        ERR=$?
     836
     837PATH=$OPATH
     838unset OPATH
     839popd
     840return $ERR
     841}
     842
     843build_vorbis() {
     844rm -rf build
     845LIBVORBIS=libvorbis-1.3.6
     846echo -e "\n**** $LIBVORBIS ****"
     847setup_lib https://ftp.osuosl.org/pub/xiph/releases/vorbis/$LIBVORBIS.tar.xz $LIBVORBIS
     848pushd $LIBVORBIS
     849OPATH=$PATH
     850
     851if [ $CLEAN == 1 ]; then
     852        make distclean || true
     853fi
     854
     855local CPUOPT=
     856if [ $ARM64 == 1 ]; then
     857        CPUOPT="-march=$CPU_ARCH"
     858else
     859        CPUOPT="-march=$CPU_ARCH"
     860fi
     861
     862./configure \
     863        CFLAGS="-isysroot $SYSROOT $CPUOPT $ANDROID_API_DEF" \
     864        CXXFLAGS="-isysroot $SYSROOT $CPUOPT $ANDROID_API_DEF" \
     865        RANLIB=${CROSSPATH2}ranlib \
     866        OBJDUMP=${CROSSPATH2}objdump \
     867        AR=${CROSSPATH2}ar \
     868        CC="$CROSSPATH/$MY_ANDROID_NDK_TOOLS_PREFIX-gcc" \
     869        CXX="$CROSSPATH/$MY_ANDROID_NDK_TOOLS_PREFIX-g++" \
     870        CPP="$CROSSPATH/$MY_ANDROID_NDK_TOOLS_PREFIX-cpp" \
     871        PKG_CONFIG_PATH=$PKG_CONFIG_LIBDIR/pkgconfig \
     872        --host=$MY_ANDROID_NDK_TOOLS_PREFIX \
     873        --prefix=$INSTALLROOT \
     874        --enable-shared \
     875        --enable-static &&
     876        make -j$NCPUS &&
     877        make install
     878        ERR=$?
     879
     880PATH=$OPATH
     881unset OPATH
     882popd
     883return $ERR
     884}
     885
    734886build_libxml2() {
    735887rm -rf build
    736888LIBXML2=libxml2-2.9.5
    fi 
    758910        CC="$CROSSPATH/$MY_ANDROID_NDK_TOOLS_PREFIX-gcc" \
    759911        CXX="$CROSSPATH/$MY_ANDROID_NDK_TOOLS_PREFIX-g++" \
    760912        CPP="$CROSSPATH/$MY_ANDROID_NDK_TOOLS_PREFIX-cpp" \
     913        PKG_CONFIG_PATH=$PKG_CONFIG_LIBDIR/pkgconfig \
    761914        --host=$MY_ANDROID_NDK_TOOLS_PREFIX \
    762915        --prefix=$INSTALLROOT \
    763916        --disable-xmp \
    get_android_cmake 
    19932146[ -n "$BUILD_MARIADB" ] && build_mariadb
    19942147[ -n "$BUILD_LAME" ] && build_lame
    19952148[ -n "$BUILD_EXIV2" ] && build_exiv2
     2149[ -n "$BUILD_OGG" ] && build_ogg
     2150[ -n "$BUILD_VORBIS" ] && build_vorbis
     2151[ -n "$BUILD_FLAC" ] && build_flac
    19962152[ -n "$BUILD_LIBXML2" ] && build_libxml2
    19972153[ -n "$BUILD_LIBXSLT" ] && build_libxslt
    19982154[ -n "$BUILD_FFI" ] && build_ffi
  • android/mythbuild.sh

    diff --git a/android/mythbuild.sh b/android/mythbuild.sh
    index 984ef3e..0308e33 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                ;;
    case "$1" in 
    194199                ;;
    195200        "fresh" )
    196201                [ -n "$MYMYTHBUILDBASEPATH" ] && rm -r $MYMYTHBUILDBASEPATH
     202                if [ -d "$INSTALLROOT" ]; then
     203                        rm -rf "$INSTALLROOT/include/mythtv"
     204                        rm -rf "$INSTALLROOT/lib/libmyth*"
     205                        rm -rf "$INSTALLROOT/libs/*/libmyth*"
     206                        rm -rf "$INSTALLROOT/build"
     207                fi
    197208                exit 0
    198209                ;;
    199210        "bundle")
    function bundle_apk() { 
    260271        for i in $MYTHINSTALLROOT/lib/libmythfilter*.so ; do
    261272                cp "$i" "$MYTHINSTALLROOT/libs/$ANDROID_TARGET_ARCH/"
    262273        done
     274        # plugins are not automatically installed so copy them
     275        for i in $MYTHINSTALLROOT/lib/libmythpluginmyth{archive,netvision,news,browser,game,music}.so \
     276                $MYTHINSTALLROOT/lib/libmyth{archivehelper,fillnetvision}.so \
     277                $MYTHINSTALLROOT/lib/lib{ogg,vorbis,vorbisfile,vorbisenc,FLAC}.so \
     278                ; do
     279                if [ -e "$i" ]; then
     280                        cp "$i" "$MYTHINSTALLROOT/libs/$ANDROID_TARGET_ARCH/"
     281                fi
     282        done
    263283        VERSIONNAME=$(date +"%F" | tr -d '-')-$BUNDLE_NAME-$(grep "define MYTH_SOURCE_VERSION" libs/libmythbase/version.h | cut -d' ' -f 3 | tr -d '"')
    264284        # TODO: Eventually do something reasonable with versionCode.
    265285        VERSIONCODE=1
    $MYTHTVSRC/configure \ 
    374394
    375395fi
    376396
     397make_plugins() {
     398        pushd ../mythplugins
     399        if [ ! -e stamp_configure_android ] ; then
     400                ./configure \
     401                        --compile-type=debug \
     402                        --pkg-config=$(which pkg-config) \
     403                        --prefix=/ \
     404                        --runprefix=/ \
     405                        --libdir-name=lib \
     406                        --sysroot=$SYSROOT \
     407                        --mythroot=$INSTALLROOT \
     408                        --extra-cflags="$CRYSTAX_CFLAGS -D__ANDROID_API__=$ANDROID_NATIVE_API_LEVEL -DANDROID -I$INSTALLROOT/include -I$QTBASE/include $IGNOREDEFINES $NEONFLAGS " \
     409                        --extra-cxxflags=" -D__ANDROID_API__=$ANDROID_NATIVE_API_LEVEL -DANDROID -I$INSTALLROOT/include -I$QTBASE/include $IGNOREDEFINES $NEONFLAGS " \
     410                        --extra-ldflags="-Wl,-rpath-link,$INSTALLROOT/lib" \
     411                        --qmake=$QTBASE/bin/qmake \
     412                        --qmakespecs="android-g++ $EXTRASPECS" \
     413                        && touch stamp_configure_android
     414
     415        fi
     416
     417        make -j$NCPUS
     418
     419        make install INSTALL_ROOT=$INSTALLROOT
     420
     421        popd
     422}
     423
    377424if [ -e stamp_configure_android ] ; then
    378425        set -e
    379426        echo "*** make ***"
    380427        make -j$NCPUS
    381428        echo "*** make install ***"
    382429        make install INSTALL_ROOT=$INSTALLROOT
     430        if [ $BUILD_PLUGINS == 1 ]; then
     431                echo "*** make plugins ***"
     432                make_plugins
     433        fi
    383434        echo "*** deploy-extra-libs ***"
    384435        deploy-extra-libs
    385436        echo "*** androiddeployqt ***"