Last active
November 7, 2024 07:38
-
-
Save truebit/27c595fc3d9b7988f6b29fec2b655e04 to your computer and use it in GitHub Desktop.
Valgrind 3.12.0 cross compile on Android
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
#ndk root now could be installed in Android SDK manager/Extras/NDK Bundle; should be $ANDROID_HOME/ndk_bundle | |
echo "NKDROOT: " $NDKROOT | |
export ANRDOID_TOOLCHAIN="arm-linux-androideabi-4.9" | |
# Set up toolchain paths. | |
# | |
# For ARM | |
export AR=$NDKROOT/toolchains/$ANRDOID_TOOLCHAIN/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-ar | |
export LD=$NDKROOT/toolchains/$ANRDOID_TOOLCHAIN/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-ld | |
export CC=$NDKROOT/toolchains/$ANRDOID_TOOLCHAIN/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-gcc | |
export CXX=$NDKROOT/toolchains/$ANRDOID_TOOLCHAIN/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-g++ | |
export RANLIB=$NDKROOT/toolchains/$ANRDOID_TOOLCHAIN/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-ranlib | |
echo "AR: " $AR | |
echo "LD: " $LD | |
echo "CC: " $CC | |
echo "CXX: " $CXX | |
[[ ! -d "$NDKROOT" || ! -f "$AR" || ! -f "$LD" || ! -f "$CC" || ! -f "$CXX" ]] && echo "Make sure AR, LD, CC, CXX variables are defined correctly. Ensure NDKROOT is defined also" && exit -1 | |
./autogen.sh | |
# for ARM | |
ANDROID_PLATFORM=android-17 | |
ANDROID_SYSROOT="$NDKROOT/platforms/${ANDROID_PLATFORM}/arch-arm" | |
echo "SYSROOT: " $ANDROID_SYSROOT | |
export HWKIND=generic | |
export CPPFLAGS="--sysroot=$ANDROID_SYSROOT -DANDROID_HARDWARE_$HWKIND" | |
export CFLAGS="--sysroot=$ANDROID_SYSROOT -DANDROID_HARDWARE_$HWKIND" | |
export LDFLAGS="--sysroot=$ANDROID_SYSROOT -DANDROID_HARDWARE_$HWKIND" | |
export ARFLAGS="--sysroot=$ANDROID_SYSROOT -DANDROID_HARDWARE_$HWKIND" | |
./configure \ | |
--prefix=/data/local/Inst \ | |
--host=armv7-unknown-linux --target=armv7-unknown-linux \ | |
--with-tmpdir=/sdcard | |
if [ $? -ne 0 ] | |
then | |
exit 1 | |
else | |
echo "configure success!" | |
fi | |
# note: on android emulator, android-14 platform was also tested and works. | |
# It is not clear what this platform nr really is. | |
make -j7 | |
if [ $? -ne 0 ] | |
then | |
exit 1 | |
else | |
echo "build success!" | |
fi | |
#install in source_code/Inst dir | |
make -j7 install DESTDIR=`pwd`/Inst |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment