|
| 1 | +#!/bin/bash |
| 2 | + |
| 3 | +ROOTDIR=`pwd` |
| 4 | +ARCH=$JSC_ARCH |
| 5 | + |
| 6 | +ANDROID_API=21 |
| 7 | + |
| 8 | +# platform specific settings |
| 9 | + |
| 10 | +CROSS_COMPILE_PLATFORM_arm="arm-linux-androideabi" |
| 11 | +CROSS_COMPILE_PLATFORM_arm64="aarch64-linux-android" |
| 12 | +CROSS_COMPILE_PLATFORM_x86="i686-linux-android" |
| 13 | +CROSS_COMPILE_PLATFORM_x86_64="x86_64-linux-android" |
| 14 | + |
| 15 | +# arch |
| 16 | +var="CROSS_COMPILE_PLATFORM_$JSC_ARCH" |
| 17 | +CROSS_COMPILE_PLATFORM=${!var} |
| 18 | +TOOLCHAIN_DIR=$ROOTDIR/target/toolchains/$CROSS_COMPILE_PLATFORM |
| 19 | + |
| 20 | +# settings |
| 21 | +PLATFORM_CFLAGS_arm=" \ |
| 22 | +-march=armv7-a \ |
| 23 | +-mfloat-abi=softfp \ |
| 24 | +-mfpu=neon \ |
| 25 | +-mthumb \ |
| 26 | +" |
| 27 | + |
| 28 | +PLATFORM_LDFLAGS_arm=" \ |
| 29 | +-L$TOOLCHAIN_DIR/$CROSS_COMPILE_PLATFORM/lib/armv7-a \ |
| 30 | +-march=armv7-a \ |
| 31 | +-Wl,--fix-cortex-a8 \ |
| 32 | +" |
| 33 | + |
| 34 | +PLATFORM_LDFLAGS_arm64=" \ |
| 35 | +-L$TOOLCHAIN_DIR/$CROSS_COMPILE_PLATFORM/lib \ |
| 36 | +" |
| 37 | + |
| 38 | +PLATFORM_LDFLAGS_x86=" \ |
| 39 | +-L$TOOLCHAIN_DIR/$CROSS_COMPILE_PLATFORM/lib \ |
| 40 | +" |
| 41 | + |
| 42 | +PLATFORM_LDFLAGS_x86_64=" \ |
| 43 | +-L$TOOLCHAIN_DIR/$CROSS_COMPILE_PLATFORM/lib \ |
| 44 | +" |
| 45 | + |
| 46 | +# arch |
| 47 | +var="PLATFORM_CFLAGS_$JSC_ARCH" |
| 48 | +PLATFORM_CFLAGS=${!var} |
| 49 | +var="PLATFORM_LDFLAGS_$JSC_ARCH" |
| 50 | +PLATFORM_LDFLAGS=${!var} |
| 51 | + |
| 52 | +# checks |
| 53 | +err=false |
| 54 | +if ! [[ $CROSS_COMPILE_PLATFORM ]]; then echo "set JSC_ARCH to one of {arm,arm64,x86,x86_64}"; err=true; fi |
| 55 | +if ! [[ $ANDROID_HOME ]]; then echo "set ANDROID_HOME to android sdk dir"; err=true; fi |
| 56 | +if ! [[ $ANDROID_NDK ]]; then echo "set ANDROID_NDK to android ndk dir"; err=true; fi |
| 57 | + |
| 58 | +if [[ $err = true ]]; then exit 1; fi |
| 59 | + |
| 60 | +#### |
| 61 | + |
| 62 | +COMMON_LDFLAGS=" \ |
| 63 | +-fuse-ld=gold \ |
| 64 | +-Wl,--icf=safe \ |
| 65 | +-Wl,-z,noexecstack \ |
| 66 | +-s \ |
| 67 | +" |
| 68 | + |
| 69 | +COMMON_CFLAGS=" \ |
| 70 | +-fstack-protector \ |
| 71 | +-ffunction-sections \ |
| 72 | +-fomit-frame-pointer \ |
| 73 | +-fno-strict-aliasing \ |
| 74 | +-fno-exceptions \ |
| 75 | +-funwind-tables \ |
| 76 | +-DPIC \ |
| 77 | +-fPIC \ |
| 78 | +-fvisibility=hidden \ |
| 79 | +-DNDEBUG \ |
| 80 | +" |
| 81 | + |
| 82 | +COMMON_CXXFLAGS=" \ |
| 83 | +--std=c++11 \ |
| 84 | +" |
| 85 | + |
| 86 | +ICU_CFLAGS="$COMMON_CFLAGS $PLATFORM_CFLAGS" |
| 87 | +ICU_CXXFLAGS="$COMMON_CXXFLAGS $ICU_CFLAGS" |
| 88 | +ICU_LDFLAGS="$COMMON_LDFLAGS $PLATFORM_LDFLAGS" |
| 89 | + |
0 commit comments