It is missing (semaphore), which requires libraries that do not exist on Android. I'm attaching the full source, hoping Lutz will add everything necessary to make this work as part of the main newlisp download.
Steps to compile:
1. Download the android-ndk - http://developer.android.com/tools/sdk/ndk/index.html
2. Make sure your environment works (see above documentation) on your platform
3. Unpack and put newlisp-ndk in the android-ndk directory
4. Compile newlisp
Code: Select all
kanen (~/Code/android-ndk)$ ./ndk-build -C newlisp-ndk/
make: Entering directory `/Users/kanen/Code/android-ndk/newlisp-ndk'
Compile thumb : newlisp <= newlisp.c
Compile thumb : newlisp <= nl-symbol.c
Compile thumb : newlisp <= nl-math.c
Compile thumb : newlisp <= nl-list.c
Compile thumb : newlisp <= nl-liststr.c
Compile thumb : newlisp <= nl-string.c
Compile thumb : newlisp <= nl-sock.c
Compile thumb : newlisp <= nl-import.c
Compile thumb : newlisp <= nl-xml.c
Compile thumb : newlisp <= nl-web.c
Compile thumb : newlisp <= nl-matrix.c
Compile thumb : newlisp <= nl-debug.c
Compile thumb : newlisp <= pcre.c
Compile thumb : newlisp <= nl-filesys.c
Executable : newlisp
Install : newlisp => libs/armeabi/newlisp
make: Leaving directory `/Users/kanen/Code/android-ndk/newlisp-ndk'
For that, you need the android-sdk - http://developer.android.com/sdk/index.html
First, list the targets and find the armeabi version you want to use. I use Target 4, which isn't the most recent, but is the most widely deployed, at API level 15.
Code: Select all
kanen (~/Code/android-sdk/tools)$ ./android list targets
Available Android targets:
id: 4 or "Google Inc.:Google APIs:15"
Name: Google APIs
Type: Add-On
Vendor: Google Inc.
Revision: 2
Description: Android + Google APIs
Based on Android 4.0.3 (API level 15)
ABIs : armeabi-v7a
Code: Select all
kanen (~/Code/android-sdk/tools)$ ./android create avd -n MyEmulator -t 4
Code: Select all
kanen (~/Code/android-sdk/tools)$ ./emulator -avd MyEmulator
Code: Select all
kanen (~/Code/android-sdk/platform-tools)$ ./adb shell
Code: Select all
# mkdir /data/nl
# chmod 777 /data/nl
# exit
Code: Select all
./adb push ~/Code/android-ndk/newlisp-ndk/libs/armeabi/newlisp /data/nl
Code: Select all
kanen (~/Code/android-sdk/platform-tools)$ ./adb shell
# cd /data
# cd nl
# ls
newlisp
# ./newlisp
newLISP v.10.4.5 on Linux IPv4/6, execute 'newlisp -h' for more info.
>
I've also included a link to the newLisp on arm binary, if you don't want to compile all this and just want to push newLisp to your shiny Android device: https://dl.dropbox.com/u/602830/newlisp