-rw-r--r-- 1 lex lex 1023936 2010-07-20 02:45 gforth-0.7.0_arm.ipk -rw-r--r-- 1 lex lex 1021762 2010-07-20 02:46 gforth-0.7.0_arm.tgz-ipk -rw-r--r-- 1 lex lex 1021328 2010-07-20 02:21 gforth-0.7.0-arm.tar.gz -rw-r--r-- 1 lex lex 26012 2010-07-20 02:21 gforth-0.7.0-arm.txt -rw-r--r-- 1 lex lex 59950 2010-07-20 02:10 gforth-config.log -rwxr-xr-x 1 lex lex 32163 2010-07-20 02:10 gforth-config.status -rw-r--r-- 1 lex lex 259 2010-07-20 02:17 index.html -rw-r--r-- 1 lex lex 379 2010-07-20 02:50 md5sums.txtThis is gforth-0.7.0, compiled on an ARMv4/StrongARM platform (Zaurus SL-5500), using gcc 3.4.4 (the system is OpenZaurus 3.5.4). I have compiled it with libffi support, and libffi is included in the release file (see above). I have put together two IPKs: one 'Debian-format' and one 'Zaurus-format': one was assembled with 'ar' and the other with 'tar' - please rename the .tgz-ipk one with a .ipk suffix. I think that the Zaurus-type IPK is the .tgz type; have a look at 'gforth-0.7.0-arm.txt' to see the contents of the archives. There are no scripts in the IPKs as no post- or pre-install is necessary - just make sure that you have /usr/local/bin in your PATH. If possible, please use the .tar.gz files, as opposed to the IPKs - I'm not sure if I got the Control file right and you may have package-dependency issues because of my inclusion of libffi in the package.
If you want to learn Forth, may I suggest a visit to www.forth.com and in particular, the reading or purchase of the Starting Forth book.
lex@attraction:gforth-0.7.0$ make check cp -p kernl32l.fi kernl32l.fi~ cp -p kernl32l.fi- kernl32l.fi make checkone check-nofast ENGINE="./gforth --no-dynamic" >/dev/null 2>&1 make checkone check-nofast ENGINE="./gforth-itc" >/dev/null 2>&1 make checkone check-nofast ENGINE="./gforth-ditc" >/dev/null 2>&1 make checkone ENGINE="./gforth-fast --no-dynamic" >/dev/null 2>&1 make checkone check-nofast ENGINE="./gforth" >/dev/null 2>&1 make checkone ENGINE="./gforth-fast" >/dev/null 2>&1 *** Check successful *** ./gforth-fast --diag -e bye *** no performance problems ***My configure line was:
./configure CFLAGS="-I/usr/local/lib/libffi-3.0.9/include"During configuration, there was a strange warning with libffi:
checking ffi.h usability... yes checking ffi.h presence... no configure: WARNING: ffi.h: accepted by the compiler, rejected by the preprocessor! configure: WARNING: ffi.h: proceeding with the compiler's result checking for ffi.h... yes checking for ffi_call in -lffi... yesBinaries provided:
gforth gforth-fast-0.7.0 gforthmi vmgen-0.7.0 gforth-0.7.0 gforth-itc gforthmi-0.7.0 gforth-fast gforth-itc-0.7.0 vmgenA brief session follows; 'attraction' is one of my SL-5500/Collies. Input typed by me is in boldface; all other text is from the computer.
[ 20th July 2010 .. 03:20 GMT ] [ This example is from http://en.wikipedia.org/wiki/Forth_(programming_language) ] lex@attraction:lex$ uname -a Linux attraction 2.4.18-rmk7-pxa3-embedix #1 Sun, 12 Mar 2006 16:58:40 +0100 armv4l unknown lex@attraction:lex$ which gforth /usr/local/bin/gforth lex@attraction:lex$ which gforth-fast /usr/local/bin/gforth-fast lex@attraction:lex$ lex@attraction:lex$ gforth-fast Gforth 0.7.0, Copyright (C) 1995-2008 Free Software Foundation, Inc. Gforth comes with ABSOLUTELY NO WARRANTY; for details type `license' Type `bye' to exit 0 VALUE ii ok 0 VALUE jj ok CREATE S[] 256 CHARS ALLOT ok ok : ARCFOUR ( c -- x ) compiled ii 1+ DUP TO ii 255 AND ( -- i ) compiled S[] + DUP C@ ( -- 'S[i] S[i] ) compiled DUP jj + 255 AND DUP TO jj ( -- 'S[i] S[i] 'S[j] ) compiled S[] + DUP C@ >R compiled OVER SWAP C! compiled R@ ROT C! compiled R> + compiled 255 AND S[] + C@ compiled XOR ; ok ok : ARCFOUR-INIT ( key len -- ) compiled 256 MIN LOCALS| len key | compiled 256 0 DO I S[] I + C! LOOP compiled 0 TO jj compiled 256 0 DO ( key len -- ) compiled key I len MOD + C@ compiled S[] I + C@ + jj + 255 AND TO jj compiled S[] I + DUP C@ SWAP ( c1 add1 ) compiled S[] jj + DUP C@ ( c1 addr1 addr2 c2 ) ROT C! C! compiled LOOP compiled 0 TO ii 0 TO jj ; ok ok ( validation program ) ok CREATE KEY: 64 CHARS ALLOT ok : !KEY ( c1 c2 ... cn n--store the specified key of length n ) compiled DUP 63 U> ABORT" key too long (<64)" compiled DUP KEY: C! KEY: + KEY: 1+ SWAP ?DO I C! -1 +LOOP ; ok HEX 61 8A 63 D2 FB 5 !KEY ok KEY: COUNT ARCFOUR-INIT ok CR ok DC ARCFOUR 2 .R SPACE F1 ok EE ARCFOUR 2 .R SPACE 38 ok 4C ARCFOUR 2 .R SPACE 29 ok F9 ARCFOUR 2 .R SPACE C9 ok 2C ARCFOUR 2 .R DE ok CR ok .( Yay! Validation okay ) Yay! Validation okay ok