serval-dna/nacl-jni-prep
gardners d5004e15d2 Fix various Android NDK build issues
(specify endianness, copy libsqlite.so from an Android phone
for link templating)
2011-12-19 08:56:25 +10:30

46 lines
1.5 KiB
Plaintext
Executable File

# Fetch latest version of source as recommended by nacl installation page
[ -e nacl-source.tar.bz2 ] || \
`wget -q -O - http://nacl.cr.yp.to/install.html | grep wget | sed -e 's/^ *//g' -e 's/^wget /wget -O nacl-source.tar.bz2 /'`
# Extract tarball
bzip2 -d nacl-source.tar.bz2
mkdir nacl-source
cd nacl-source
tar xvf ../nacl-source.tar
nacldir=`echo *`
cd ${nacldir}
# Now build the actual compilable sources using our
# hacked version of NaCl's 'do' script
cp ../../nacl-prepare-sources .
chmod 755 nacl-prepare-sources
./nacl-prepare-sources
cd nacl-source
ls -1 *.h | grep -v mphlr.h | sed -e 's,^,#include ",' -e 's,$,",' > nacl.h
ls -1 *.h >../../../nacl-sources.list
mv *.h ../../../
cd ../../../
rm nacl-source/*/nacl-source/*/measure.c
echo `ls -1 nacl-source/*/nacl-source/*/*.c` >>nacl-sources.list
# Now build Android.mk with the extra .c files listed
sources=`echo nacl-source/*/nacl-source/*/*.c`
echo sed -e 's,LOCAL_SRC_FILES:= \\,LOCAL_SRC_FILES:= '"${sources}"' \\,'
cat Android-without-NaCl.mk | sed -e 's,LOCAL_SRC_FILES:= \\,LOCAL_SRC_FILES:= '"${sources}"' \\,' > Android.mk
# Copy libsqlite.so from /system/lib/ on an android phone.
phonecount=`adb devices | wc -l`
if [ ${phonecount} -lt 3 ]; then
echo "ERROR: You MUST connect and Android phone with USB debugging enabled"
echo " so that I can copy /system/lib/libsqlite.so to link against."
exit 3
fi
dev=`adb devices | awk '($1>"") { n=$1;} END { print n;}'`
echo "Copying /system/lib/sqlite.so from device $dev"
adb -s $dev pull /system/lib/libsqlite.so