Skip to content

Commit 405e773

Browse files
brainstormradare
authored andcommittedMar 9, 2017
Dockcross and android-arm (radareorg#6612)
* Changes needed to compile android-arm, see: radareorg#6319 (comment) * Android dockcross building fixes... * Correct full path inside dockcross, thanks @trufae * Retab the file * Quotes and tabs * Cleanup/clarification on dockcross compiling for android-arm. Thanks @trufae
1 parent 82eb655 commit 405e773

File tree

2 files changed

+62
-51
lines changed

2 files changed

+62
-51
lines changed
 

‎mk/android.mk

+8-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,14 @@
1-
#CC=arm-linux-androideabi-gcc
1+
# Ugly yet that's the path inside dockcross
2+
ifeq (${PATH},"/usr/arm-linux-androideabi/bin/${ARCH}-linux-androideabi-gcc")
3+
CC=${ARCH}-linux-androideabi-gcc
4+
RANLIB={ARCH}-linux-androideabi-ranlib
5+
USERCC=${ARCH}-linux-androideabi-gcc -fPIC -fPIE
6+
else
27
CC=ndk-gcc -fPIC -fPIE
38
#RANLIB=ndk-ranlib
49
USERCC=ndk-gcc -fPIC -fPIE
10+
endif
11+
512
ARCH=arm
613

714
ifeq (${NDK_ARCH},x86)

‎sys/android-shell.sh

+54-50
Original file line numberDiff line numberDiff line change
@@ -45,21 +45,24 @@ ROOT=`dirname $PWD/$0`
4545
OS=`uname|tr 'A-Z' 'a-z'`
4646
[ "${OS}" = macosx ] && OS=darwin
4747

48-
# TODO: autodetect or gtfo
49-
if [ -f ~/.r2androidrc ]; then
50-
. ~/.r2androidrc
51-
echo "Using data from ${HOME}/.r2androidrc.."
52-
else
53-
#[ -z "${SDK}" ] && SDK=${HOME}/Downloads/android-sdk-${OS}
54-
if [ -z "${NDK}" ]; then
55-
if [ "`uname`" = "Darwin" ]; then
56-
NDK=${HOME}/Library/Android/sdk/ndk-bundle/
57-
else
58-
NDK=${HOME}/Downloads/android-ndk-r7b
48+
if [ ! -x /work ]
49+
echo "Building android locally with NDK instead of dockcross..."
50+
# TODO: autodetect or gtfo
51+
if [ -f ~/.r2androidrc ]; then
52+
. ~/.r2androidrc
53+
echo "Using data from ${HOME}/.r2androidrc.."
54+
else
55+
#[ -z "${SDK}" ] && SDK="${HOME}/Downloads/android-sdk-${OS}"
56+
if [ -z "${NDK}" ]; then
57+
if [ "`uname`" = "Darwin" ]; then
58+
NDK="${HOME}/Library/Android/sdk/ndk-bundle/"
59+
else
60+
NDK="${HOME}/Downloads/android-ndk-r7b"
61+
fi
5962
fi
63+
[ -z "${NDK}" ] && NDK="${HOME}/Downloads/android-ndk-r7b"
6064
fi
61-
[ -z "${NDK}" ] && NDK=${HOME}/Downloads/android-ndk-r7b
62-
fi
65+
6366

6467
#if [ ! -d "${SDK}/tools" ]; then
6568
# echo "Cannot find Android SDK ${SDK}"
@@ -76,44 +79,45 @@ if [ "${BUILD}" != 0 ]; then
7679
exit 1
7780
fi
7881

79-
TOOLCHAIN_MIPS=`ls ${NDK}/toolchains/ |grep "^mips" | grep -v mips64|sort |head -n 1`
80-
TOOLCHAIN_MIPS64=`ls ${NDK}/toolchains/ |grep "mips64" |sort |head -n 1`
81-
TOOLCHAIN_ARM=`ls ${NDK}/toolchains/ |grep "^arm" |sort |head -n 1`
82-
TOOLCHAIN_AARCH64=`ls ${NDK}/toolchains/ |grep "^aarch64" |sort |head -n 1`
83-
TOOLCHAIN_X86=`ls ${NDK}/toolchains/ |grep "^x86" |sort |head -n 1`
82+
TOOLCHAIN_MIPS=`ls ${NDK}/toolchains/ |grep "^mips" | grep -v mips64|sort |head -n 1`
83+
TOOLCHAIN_MIPS64=`ls ${NDK}/toolchains/ |grep "mips64" |sort |head -n 1`
84+
TOOLCHAIN_ARM=`ls ${NDK}/toolchains/ |grep "^arm" |sort |head -n 1`
85+
TOOLCHAIN_AARCH64=`ls ${NDK}/toolchains/ |grep "^aarch64" |sort |head -n 1`
86+
TOOLCHAIN_X86=`ls ${NDK}/toolchains/ |grep "^x86" |sort |head -n 1`
8487

85-
NDKPATH_MIPS=`echo ${NDK}/toolchains/${TOOLCHAIN_MIPS}/prebuilt/${OS}-x86*/bin/`
86-
NDKPATH_MIPS64=`echo ${NDK}/toolchains/${TOOLCHAIN_MIPS64}/prebuilt/${OS}-x86*/bin/`
87-
NDKPATH_ARM=`echo ${NDK}/toolchains/${TOOLCHAIN_ARM}/prebuilt/${OS}-x86*/bin/`
88-
NDKPATH_AARCH64=`echo ${NDK}/toolchains/${TOOLCHAIN_AARCH64}/prebuilt/${OS}-x86*/bin/`
89-
NDKPATH_X86=`echo ${NDK}/toolchains/${TOOLCHAIN_X86}/prebuilt/${OS}-x86*/bin/`
88+
NDKPATH_MIPS=`echo ${NDK}/toolchains/${TOOLCHAIN_MIPS}/prebuilt/${OS}-x86*/bin/`
89+
NDKPATH_MIPS64=`echo ${NDK}/toolchains/${TOOLCHAIN_MIPS64}/prebuilt/${OS}-x86*/bin/`
90+
NDKPATH_ARM=`echo ${NDK}/toolchains/${TOOLCHAIN_ARM}/prebuilt/${OS}-x86*/bin/`
91+
NDKPATH_AARCH64=`echo ${NDK}/toolchains/${TOOLCHAIN_AARCH64}/prebuilt/${OS}-x86*/bin/`
92+
NDKPATH_X86=`echo ${NDK}/toolchains/${TOOLCHAIN_X86}/prebuilt/${OS}-x86*/bin/`
9093

91-
# r7b
92-
#NDKPATH_ARM=`echo ${NDK}/toolchains/arm-*/prebuilt/$(uname|tr A-Z a-z)-x86/bin/`
93-
#INCDIR=${NDK}/platforms/android-8/arch-arm/usr/include/
94-
#CFLAGS=-I${INCDIR}
95-
#echo $NDKPATH_ARM
94+
# r7b
95+
#NDKPATH_ARM=`echo ${NDK}/toolchains/arm-*/prebuilt/$(uname|tr A-Z a-z)-x86/bin/`
96+
#INCDIR=${NDK}/platforms/android-8/arch-arm/usr/include/
97+
#CFLAGS=-I${INCDIR}
98+
#echo $NDKPATH_ARM
9699

97-
#PATH=$SDK/tools:$SDK/platform-tools:$NDK:${NDKPATH_X86}:${NDKPATH_ARM}:${NDKPATH_MIPS64}:${NDKPATH_AARCH64}:${NDKPATH_MIPS}:$PATH
98-
PATH=$NDK:${NDKPATH_X86}:${NDKPATH_ARM}:${NDKPATH_MIPS64}:${NDKPATH_AARCH64}:${NDKPATH_MIPS}:$PATH
99-
export PATH
100-
fi
101-
export CFLAGS
102-
export NDK
103-
export NDK_ARCH
104-
[ -z "${SHELL}" ] && SHELL=sh
105-
SHELL=sh
106-
cp ${ROOT}/ndk-gcc ${NDK}
107-
chmod +x ${NDK}/ndk-gcc
108-
CC=ndk-gcc
109-
PS1="[r2-android-${NDK_ARCH}]> "
110-
export CC
111-
export PS1
112-
export AR
113-
export RANLIB
114-
A=$@
115-
if [ -n "$A" ]; then
116-
${SHELL} -c "$A"
117-
else
118-
${SHELL}
100+
#PATH=$SDK/tools:$SDK/platform-tools:$NDK:${NDKPATH_X86}:${NDKPATH_ARM}:${NDKPATH_MIPS64}:${NDKPATH_AARCH64}:${NDKPATH_MIPS}:$PATH
101+
PATH=$NDK:${NDKPATH_X86}:${NDKPATH_ARM}:${NDKPATH_MIPS64}:${NDKPATH_AARCH64}:${NDKPATH_MIPS}:$PATH
102+
export PATH
103+
fi
104+
export CFLAGS
105+
export NDK
106+
export NDK_ARCH
107+
[ -z "${SHELL}" ] && SHELL=sh
108+
SHELL=sh
109+
cp ${ROOT}/ndk-gcc ${NDK}
110+
chmod +x ${NDK}/ndk-gcc
111+
CC=ndk-gcc
112+
PS1="[r2-android-${NDK_ARCH}]> "
113+
export CC
114+
export PS1
115+
export AR
116+
export RANLIB
117+
A=$@
118+
if [ -n "$A" ]; then
119+
${SHELL} -c "$A"
120+
else
121+
${SHELL}
122+
fi
119123
fi

0 commit comments

Comments
 (0)