1#!/bin/bash
2
3set -e
4set -x
5
6if [ ! -d "$NDK" ]; then
7  echo 'Please set $NDK to the path to NDK'
8  exit 1
9fi
10
11cd $(dirname "$0")
12
13function RunConfigure() {
14  HOST=$1
15  TARGET=$2
16  ARCH=$3
17
18  TOOLCHAIN=${NDK}/toolchains/llvm/prebuilt/linux-x86_64/bin/
19
20  export AR=${TOOLCHAIN}${HOST}-ar
21  export AS=${TOOLCHAIN}${TARGET}-clang
22  export CC=${TOOLCHAIN}${TARGET}-clang
23  export CXX=${TOOLCHAIN}${TARGET}-clang++
24  export LD=${TOOLCHAIN}${HOST}-ld
25  export STRIP=${TOOLCHAIN}${HOST}-strip
26
27  # Tell configure what flags Android requires.
28  export CFLAGS="-fPIE -fPIC"
29  export LDFLAGS="-pie"
30
31  ./configure --host=${HOST} --without-zlib
32
33  mkdir -p configs/${ARCH}/MagickCore
34  mv MagickCore/version.h configs/${ARCH}/MagickCore/
35  mv MagickCore/magick-baseconfig.h configs/${ARCH}/MagickCore/
36}
37
38RunConfigure "aarch64-linux-android" "aarch64-linux-android28" "arm64"
39RunConfigure "arm-linux-androideabi" "armv7a-linux-androideabi28" "arm"
40RunConfigure "i686-linux-android" "i686-linux-android28" "x86"
41RunConfigure "x86_64-linux-android" "x86_64-linux-android28" "x86-64"
42