fixes for Android compilation
This commit is contained in:
parent
8994abfada
commit
1f301ded89
@ -592,17 +592,21 @@ libYap.a: $(LIB_OBJECTS) yapi.o
|
|||||||
done
|
done
|
||||||
|
|
||||||
@STARTUP_ANDROID@startup.yss: yap@EXEC_SUFFIX@ @DYNYAPLIB@ $(PL_SOURCES) $(SWI_LIB_SOURCES)
|
@STARTUP_ANDROID@startup.yss: yap@EXEC_SUFFIX@ @DYNYAPLIB@ $(PL_SOURCES) $(SWI_LIB_SOURCES)
|
||||||
|
adb shell rm -rf /data/yap
|
||||||
adb shell mkdir -p /data/yap
|
adb shell mkdir -p /data/yap
|
||||||
adb shell mkdir -p /data/yap/pl
|
adb shell mkdir -p /data/yap/pl
|
||||||
adb shell mkdir -p /data/yap/swi/library
|
adb shell mkdir -p /data/yap/swi/library
|
||||||
adb push yap /data/yap/
|
adb push yap /data/yap/
|
||||||
adb push @DYNYAPLIB@ /data/yap/
|
adb push @DYNYAPLIB@ /data/yap/
|
||||||
adb push $(GMPDIR)/lib/libgmp.so data/yap/
|
for p in $(EXTRAYAPLIBS); do \
|
||||||
|
adb shell $(LN_S) /data/yap/@DYNYAPLIB@ /data/yap/$$p; \
|
||||||
|
done
|
||||||
|
adb push $(GMPDIR)/lib/libgmp.so /data/yap
|
||||||
adb push $(srcdir)/swi/library /data/yap/swi/library
|
adb push $(srcdir)/swi/library /data/yap/swi/library
|
||||||
adb push $(srcdir)/pl /data/yap/pl/
|
adb push $(srcdir)/pl /data/yap/pl/
|
||||||
adb shell "echo \"bootstrap('/data/yap/pl/init.yap'). module(user). qsave_program('/data/yap/startup.yss').\" | LD_LIBRARY_PATH=/data/yap /data/yap/yap@EXEC_SUFFIX@ -b /data/yap/pl/boot.yap"
|
adb shell "echo \"bootstrap('/data/yap/pl/init.yap'). module(user). qsave_program('/data/yap/startup.yss').\" | LD_LIBRARY_PATH=/data/yap /data/yap/yap@EXEC_SUFFIX@ -b /data/yap/pl/boot.yap"
|
||||||
adb pull /data/yap/startup.yss
|
adb pull /data/yap/startup.yss
|
||||||
$(MAKE) install_unix
|
adb shell rm -rf /data/yap
|
||||||
|
|
||||||
install: @INSTALL_COMMAND@ install_startup install_common
|
install: @INSTALL_COMMAND@ install_startup install_common
|
||||||
|
|
||||||
|
@ -511,7 +511,7 @@ dnl Checks for programs.
|
|||||||
AC_PROG_LN_S
|
AC_PROG_LN_S
|
||||||
AC_PROG_INSTALL
|
AC_PROG_INSTALL
|
||||||
AC_PROG_RANLIB
|
AC_PROG_RANLIB
|
||||||
AC_CHECK_TOOL(AR,ar,:)
|
AC_CHECK_TOOL(AR,[ar],:)
|
||||||
AC_PATH_PROG(INSTALL_INFO,install-info,true,$PATH:/sbin:/usr/sbin:/usr/etc:/usr/local/sbin)
|
AC_PATH_PROG(INSTALL_INFO,install-info,true,$PATH:/sbin:/usr/sbin:/usr/etc:/usr/local/sbin)
|
||||||
AC_PATH_PROG(SHELL,sh)
|
AC_PATH_PROG(SHELL,sh)
|
||||||
AC_CHECK_TOOL([INDENT], [indent], [:])
|
AC_CHECK_TOOL([INDENT], [indent], [:])
|
||||||
|
@ -2,13 +2,8 @@
|
|||||||
#
|
#
|
||||||
# script to compile yap for Android.
|
# script to compile yap for Android.
|
||||||
|
|
||||||
BUILD=x86_64-apple-darwin
|
export SDK_ROOT=$HOME/Yap/android-sdk-linux
|
||||||
|
|
||||||
export SDK_ROOT=$HOME/Yap/android-sdk-macosx
|
|
||||||
export NDK_ROOT=$HOME/Yap/android-ndk-r9d
|
export NDK_ROOT=$HOME/Yap/android-ndk-r9d
|
||||||
export NDK_HOST=darwin-x86_64
|
|
||||||
export GCC_VERSION=4.8
|
|
||||||
#export PATH=$PATH:"$NDK_ROOT"/toolchains/arm-linux-androideabi-"$GCC_VERSION"/prebuilt/$NDK_HOST/bin
|
|
||||||
export PATH=$PATH:"$SDK_ROOT"/tools:"$NDK_ROOT"
|
export PATH=$PATH:"$SDK_ROOT"/tools:"$NDK_ROOT"
|
||||||
|
|
||||||
export GMPDIR=$HOME/Yap/gmp-android
|
export GMPDIR=$HOME/Yap/gmp-android
|
||||||
@ -16,17 +11,24 @@ export GMPDIR=$HOME/Yap/gmp-android
|
|||||||
export ANDROID_NDK_ROOT="$NDK_ROOT"/
|
export ANDROID_NDK_ROOT="$NDK_ROOT"/
|
||||||
export ANDROID_SYSROOT="$NDK_ROOT"/platforms/android-17/arch-arm
|
export ANDROID_SYSROOT="$NDK_ROOT"/platforms/android-17/arch-arm
|
||||||
|
|
||||||
|
# which platform to compile for
|
||||||
|
ANDROID_PLATFORM=android-17
|
||||||
|
# which gcc to use
|
||||||
|
GCC_VERSION=4.8
|
||||||
|
# which disk
|
||||||
|
IMAGE=first
|
||||||
|
|
||||||
if test -d $HOME/Yap/my-android-toolchain
|
if test -d $HOME/Yap/my-android-toolchain
|
||||||
then
|
then
|
||||||
echo using the setup at $HOME/Yap/my-android-toolchain
|
echo using the setup at $HOME/Yap/my-android-toolchain
|
||||||
else
|
else
|
||||||
"$NDK_ROOT"/build/tools/make-standalone-toolchain.sh \
|
"$NDK_ROOT"/build/tools/make-standalone-toolchain.sh \
|
||||||
--platform=android-17 \
|
--platform="$ANDROID_PLATFORM" \
|
||||||
--toolchain=arm-linux-androideabi-"$GCC_VERSION" \
|
--toolchain=arm-linux-androideabi-"$GCC_VERSION" \
|
||||||
--install-dir="$HOME"/Yap/my-android-toolchain
|
--install-dir="$HOME"/Yap/my-android-toolchain
|
||||||
fi
|
fi
|
||||||
|
|
||||||
export PATH=$HOME/Yap/my-android-toolchain/bin:$PATH
|
export PATH=$HOME/Yap/my-android-toolchain/bin:"$NDK_ROOT":"$SDK_ROOT/tools":"$SDK_ROOT/platform-tools":$PATH
|
||||||
|
|
||||||
cd ~/Yap/bins/android
|
cd ~/Yap/bins/android
|
||||||
|
|
||||||
@ -36,34 +38,20 @@ then
|
|||||||
rm -r packages/swig/android
|
rm -r packages/swig/android
|
||||||
elif test x$1 = xenv
|
elif test x$1 = xenv
|
||||||
then
|
then
|
||||||
return 0;
|
return 0
|
||||||
elif test x$1 = xeclipse
|
elif test x$1 = xeclipse
|
||||||
then
|
then
|
||||||
emulator -avd first &
|
emulator -avd $IMAGE &
|
||||||
~/eclipse/eclipse &
|
~/eclipse/eclipse &
|
||||||
exit 0;
|
return 0
|
||||||
# not working
|
|
||||||
# elif test x$1 = xgmp
|
|
||||||
# then
|
|
||||||
# cd ~/Yap/gmp-6.0.0
|
|
||||||
# export LDFLAGS="-Wl,--fix-cortex-a8 -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now"
|
|
||||||
# export BASE_CFLAGS='-O2 -g -pedantic -fomit-frame-pointer -Wa,--noexecstack -ffunction-sections -funwind-tables -fstack-protector -fno-strict-aliasing'
|
|
||||||
# export CFLAGS="${BASE_CFLAGS} -mfloat-abi=softfp -mfpu=vfp"
|
|
||||||
# export LIBGMP_LDFLAGS='-avoid-version'
|
|
||||||
# export LIBGMPXX_LDFLAGS='-avoid-version'
|
|
||||||
# export PATH="$NDK_ROOT"/toolchains/arm-linux-androideabi-4.8/prebuilt/$NDK_HOST/arm-linux-androideabi/bin:$PATH
|
|
||||||
# export MPN_PATH="arm/v6t2 arm/v6 arm/v5 arm generic"
|
|
||||||
# ./configure --host=arm-linux-androideabi --build=$BUILD --prefix=$HOME/Yap/gmp-android
|
|
||||||
# # make
|
|
||||||
# exit 0
|
|
||||||
else
|
else
|
||||||
|
emulator -avd $IMAGE &
|
||||||
rm -rf ~/Yap/bins/android/*
|
rm -rf ~/Yap/bins/android/*
|
||||||
~/git/yap-6.3/configure --host=arm-linux-androideabi --prefix=`pwd` --with-readline=no --enable-low-level-tracer --enable-debug-yap --enable-dynamic-loading --with-swig --with-gmp=$GMPDIR --disable-chr #--enable-threads
|
cd ~/Yap/bins/android
|
||||||
|
~/git/yap-6.3/configure --host=arm-linux-androideabi --prefix=`pwd` --enable-low-level-tracer --enable-debug-yap --enable-dynamic-loading --with-swig --with-gmp=$GMPDIR --disable-chr #--enable-threads
|
||||||
make depend
|
make depend
|
||||||
make -j install
|
make -j install
|
||||||
|
|
||||||
fi
|
fi
|
||||||
cp libYap.so libYapi.so $GMPDIR/lib/libgmp.so $ANDROID_NDK_ROOT/build/core/lib/
|
|
||||||
cd packages/swig
|
cd packages/swig
|
||||||
mkdir -p $ANDROID_NDK_ROOT/build/core/lib
|
mkdir -p $ANDROID_NDK_ROOT/build/core/lib
|
||||||
make android
|
make android
|
||||||
|
@ -1,8 +0,0 @@
|
|||||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/yap
|
|
||||||
DIR=/data/yap
|
|
||||||
cd $DIR
|
|
||||||
$DIR/yap -b $DIR/pl/boot.yap << EOF
|
|
||||||
bootstrap("pl/init.yap").
|
|
||||||
module(user).
|
|
||||||
qsave_program('startup.yss').
|
|
||||||
EOF
|
|
Reference in New Issue
Block a user