5

jemalloc for android

编译的jemalloc在android下使用,会导致GLThread线程崩溃,
在简单的测试程序上则不会,下面是编译的配置,不知道是不是
有什么地方没有配对,或者缺失什么,是在MAC下编译的。

#! /bin/sh
 DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
host_os=`uname -s | tr "[:upper:]" "[:lower:]"`
build_os=`uname -m`
SRCDIR=$DIR/src

if [ ! -f "$DIR/configure" ]; then
    for i in autoconf; do
        echo "$i"
        $i
        if [ $? -ne 0 ]; then
            echo "Error $? in $i"
            exit 1
        fi
    done
fi

BASE_CONFIG=""
ARM_COMPILE_VERSION=4.8
X86_COMPILE_VERSION=4.8
NDK_HOST=darwin-x86

NDK=$NDK_ROOT
NDKABI=8
NDKVER=$NDK/toolchains/arm-linux-androideabi-$ARM_COMPILE_VERSION
NDKP=$NDKVER/prebuilt/$NDK_HOST/bin/arm-linux-androideabi-
NDKF="--sysroot $NDK/platforms/android-$NDKABI/arch-arm"

# Android/ARM, armeabi (ARMv5TE soft-float), Android 2.2+ (Froyo)
DESTDIR=$DIR/prebuilt/android/armeabi

export PATH=$PATH:$NDKVER/prebuilt/$NDK_HOST/bin
export CFLAGS="$NDKF"
export LDFLAGS="$NDKF"
export CPPFLAGS="$NDKF"
./configure --build=$build_os --host=arm-linux-androideabi --target=arm-linux-androideabi --prefix=$DESTDIR $BASE_CONFIG
if [ $? -ne 0 ]; then
    echo "Error $? in ./configure"
    exit 1
fi

make clean
make -j8 HOST_CC="gcc -m32" CROSS=$NDKP TARGET_SYS=Linux TARGET_FLAGS="$NDKF"
make install
查看全部
losemymind
losemymind
2015/09/08 01:36
  • jemalloc
  • 点赞
  • 收藏
  • 回答
    私信

1个回复