Advertisement
Guest User

Untitled

a guest
Jul 25th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.71 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. . settings.sh
  4.  
  5. BASEDIR=$(pwd)
  6. TOOLCHAIN_PREFIX=${BASEDIR}/toolchain-android
  7. # Applying required patches
  8. patch -p0 -N --dry-run --silent -f fontconfig/src/fcxml.c < android_donot_use_lconv.patch 1>/dev/null
  9. if [ $? -eq 0 ]; then
  10. patch -p0 -f fontconfig/src/fcxml.c < android_donot_use_lconv.patch
  11. fi
  12.  
  13. for i in "${SUPPORTED_ARCHITECTURES[@]}"
  14. do
  15. rm -rf ${TOOLCHAIN_PREFIX}
  16. # $1 = architecture
  17. # $2 = base directory
  18. # $3 = pass 1 if you want to export default compiler environment variables
  19. ./libpng_build.sh $i $BASEDIR 1 || exit 1
  20. ./expat_build.sh $i $BASEDIR 1 || exit 1
  21. ./ffmpeg_build.sh $i $BASEDIR 0 || exit 1
  22. done
  23.  
  24. rm -rf ${TOOLCHAIN_PREFIX}
  25.  
  26. #!/bin/bash
  27.  
  28. . settings.sh
  29.  
  30. BASEDIR=$2
  31.  
  32. case $1 in
  33. armeabi-v7a)
  34. NDK_ABI='arm'
  35. NDK_TOOLCHAIN_ABI='arm-linux-androideabi'
  36. NDK_CROSS_PREFIX="${NDK_TOOLCHAIN_ABI}"
  37. ;;
  38. x86)
  39. NDK_ABI='x86'
  40. NDK_TOOLCHAIN_ABI='x86'
  41. NDK_CROSS_PREFIX="i686-linux-android"
  42. CFLAGS="$CFLAGS -march=i686"
  43. ;;
  44. esac
  45.  
  46. TOOLCHAIN_PREFIX=${BASEDIR}/toolchain-android
  47. if [ ! -d "$TOOLCHAIN_PREFIX" ]; then
  48. ${ANDROID_NDK_ROOT_PATH}/build/tools/make-standalone-toolchain.sh --toolchain=${NDK_TOOLCHAIN_ABI}-${NDK_TOOLCHAIN_ABI_VERSION} --platform=android-${ANDROID_API_VERSION} --install-dir=${TOOLCHAIN_PREFIX}
  49. fi
  50. CROSS_PREFIX=${TOOLCHAIN_PREFIX}/bin/${NDK_CROSS_PREFIX}-
  51. NDK_SYSROOT=${TOOLCHAIN_PREFIX}/sysroot
  52.  
  53. export PKG_CONFIG_LIBDIR="${TOOLCHAIN_PREFIX}/lib/pkgconfig"
  54.  
  55. if [ $3 == 1 ]; then
  56. export CC="${CROSS_PREFIX}gcc --sysroot=${NDK_SYSROOT}"
  57. export LD="${CROSS_PREFIX}ld"
  58. export RANLIB="${CROSS_PREFIX}ranlib"
  59. export STRIP="${CROSS_PREFIX}strip"
  60. export READELF="${CROSS_PREFIX}readelf"
  61. export OBJDUMP="${CROSS_PREFIX}objdump"
  62. export ADDR2LINE="${CROSS_PREFIX}addr2line"
  63. export AR="${CROSS_PREFIX}ar"
  64. export AS="${CROSS_PREFIX}as"
  65. export CXX="${CROSS_PREFIX}g++"
  66. export OBJCOPY="${CROSS_PREFIX}objcopy"
  67. export ELFEDIT="${CROSS_PREFIX}elfedit"
  68. export CPP="${CROSS_PREFIX}cpp"
  69. export DWP="${CROSS_PREFIX}dwp"
  70. export GCONV="${CROSS_PREFIX}gconv"
  71. export GDP="${CROSS_PREFIX}gdb"
  72. export GPROF="${CROSS_PREFIX}gprof"
  73. export NM="${CROSS_PREFIX}nm"
  74. export SIZE="${CROSS_PREFIX}size"
  75. export STRINGS="${CROSS_PREFIX}strings"
  76. fi
  77.  
  78. #!/bin/bash
  79.  
  80. SUPPORTED_ARCHITECTURES=(armeabi-v7a x86)
  81. ANDROID_NDK_ROOT_PATH=${ANDROID_NDK}
  82. if [[ -z "$ANDROID_NDK_ROOT_PATH" ]]; then
  83. echo "You need to set ANDROID_NDK environment variable, please check instructions"
  84. exit
  85. fi
  86. ANDROID_API_VERSION=21
  87. NDK_TOOLCHAIN_ABI_VERSION=4.9
  88.  
  89. NUMBER_OF_CORES=$(nproc)
  90. HOST_UNAME=$(uname -m)
  91. TARGET_OS=linux
  92.  
  93. CFLAGS='-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all'
  94. LDFLAGS='-Wl,-z,relro -Wl,-z,now -pie'
  95.  
  96. FFMPEG_PKG_CONFIG="$(pwd)/ffmpeg-pkg-config"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement