PicoLisp64: Import PicoLisp64 based on wip/PicoLisp

This commit is contained in:
Mateusz Poszwa 2017-03-08 22:30:20 +01:00
parent 719a8f79cf
commit 73847c7d82
12 changed files with 483 additions and 54 deletions

View file

@ -27,6 +27,7 @@ SUBDIR+= PHPUnit
SUBDIR+= PPower4
SUBDIR+= PatternPaint
SUBDIR+= PicoLisp
SUBDIR+= PicoLisp64
SUBDIR+= PyBabelFish
SUBDIR+= Pythonol
SUBDIR+= R-BiocGenerics

View file

@ -1,58 +1,6 @@
# $NetBSD$
DISTNAME= picoLisp
PKGNAME= PicoLisp-17.3.4
CATEGORIES= lang
MASTER_SITES= http://software-lab.de/
EXTRACT_SUFX= .tgz
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://picolisp.com/
COMMENT= Simple programming language and application server framework
LICENSE= mit
WRKSRC= ${WRKDIR}/picoLisp
BUILD_DIRS+= src
USE_TOOLS+= gmake
AUTO_MKDIRS= yes
BIN_DIR= ${PREFIX}/bin
LIB_DIR= ${PREFIX}/lib
SUBST_CLASSES+= fix-paths
SUBST_STAGE.fix-paths= pre-configure
SUBST_MESSAGE.fix-paths= Fixing absolute paths.
SUBST_FILES.fix-paths+= bin/pil
SUBST_SED.fix-paths+= -e 's,/usr/bin,${BIN_DIR},g'
SUBST_SED.fix-paths+= -e 's,/usr/lib,${LIB_DIR},g'
SUBST_CLASSES+= move-tests
SUBST_STAGE.move-tests= pre-install
SUBST_MESSAGE.move-tests= Fixing paths of moved tests.
SUBST_FILES.move-tests+= lib/test.l
SUBST_FILES.move-tests+= test/src/*.l
SUBST_SED.move-tests= -e 's,"@test,"${PREFIX}/tests/picolisp/test,g'
do-test:
${WRKSRC}/bin/picolisp ${WRKSRC}/lib.l @lib/misc.l @lib/pilog.l @lib/test.l -bye +
do-install:
${INSTALL_ENV} ${INSTALL_PROGRAM} ${WRKSRC}/bin/picolisp ${DESTDIR}${BIN_DIR}
${INSTALL_ENV} ${INSTALL_SCRIPT} ${WRKSRC}/bin/pil ${DESTDIR}${BIN_DIR}
${INSTALL_ENV} ${INSTALL_SCRIPT} ${WRKSRC}/lib.l ${DESTDIR}${LIB_DIR}/picolisp/
${INSTALL_ENV} ${INSTALL_SCRIPT} ${WRKSRC}/lib/*.l ${DESTDIR}${LIB_DIR}/picolisp/lib/
${INSTALL_ENV} ${INSTALL_SCRIPT} ${WRKSRC}/loc/*.l ${DESTDIR}${LIB_DIR}/picolisp/loc/
${INSTALL_ENV} ${INSTALL_DATA} ${WRKSRC}/loc/?? ${DESTDIR}${LIB_DIR}/picolisp/loc/
${INSTALL_ENV} ${INSTALL_LIB} ${WRKSRC}/lib/ext ${DESTDIR}${LIB_DIR}/picolisp/lib/
${INSTALL_ENV} ${INSTALL_LIB} ${WRKSRC}/lib/ht ${DESTDIR}${LIB_DIR}/picolisp/lib/
${INSTALL_ENV} ${INSTALL_DATA} ${WRKSRC}/lib/map ${DESTDIR}${LIB_DIR}/picolisp/lib/
${INSTALL_ENV} ${INSTALL_MAN} ${WRKSRC}/man/man1/picolisp.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/
${INSTALL_ENV} ${INSTALL_MAN} ${WRKSRC}/man/man1/pil.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/
${INSTALL_ENV} ${INSTALL_SCRIPT} ${WRKSRC}/lib/test.l ${DESTDIR}${PREFIX}/tests/picolisp/lib/
${INSTALL_ENV} ${INSTALL_SCRIPT} ${WRKSRC}/test/lib.l ${DESTDIR}${PREFIX}/tests/picolisp/test/
${INSTALL_ENV} ${INSTALL_SCRIPT} ${WRKSRC}/test/lib/*.l ${DESTDIR}${PREFIX}/tests/picolisp/test/lib/
${INSTALL_ENV} ${INSTALL_SCRIPT} ${WRKSRC}/test/src/*.l ${DESTDIR}${PREFIX}/tests/picolisp/test/src/
PKGNAME= PicoLisp-${PIL_VERSION}
.include "Makefile.common"
.include "../../mk/bsd.pkg.mk"

58
PicoLisp/Makefile.common Normal file
View file

@ -0,0 +1,58 @@
# $NetBSD$
# used by wip/PicoLisp/Makefile
# used by wip/PicoLisp64/Makefile
DISTNAME= picoLisp
PIL_VERSION= 17.3.4
CATEGORIES= lang
MASTER_SITES= http://software-lab.de/
EXTRACT_SUFX= .tgz
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://picolisp.com/
COMMENT= Simple programming language and application server framework
LICENSE= mit
WRKSRC= ${WRKDIR}/picoLisp
BUILD_DIRS+= src
USE_TOOLS+= gmake
AUTO_MKDIRS= yes
BIN_DIR= ${PREFIX}/bin
LIB_DIR= ${PREFIX}/lib
SUBST_CLASSES+= fix-paths
SUBST_STAGE.fix-paths= pre-configure
SUBST_MESSAGE.fix-paths= Fixing absolute paths.
SUBST_FILES.fix-paths+= bin/pil
SUBST_SED.fix-paths+= -e 's,/usr/bin,${BIN_DIR},g'
SUBST_SED.fix-paths+= -e 's,/usr/lib,${LIB_DIR},g'
SUBST_CLASSES+= move-tests
SUBST_STAGE.move-tests= pre-install
SUBST_MESSAGE.move-tests= Fixing paths of moved tests.
SUBST_FILES.move-tests+= lib/test.l
SUBST_FILES.move-tests+= test/src/*.l
SUBST_SED.move-tests= -e 's,"@test,"${PREFIX}/tests/picolisp/test,g'
do-test:
${WRKSRC}/bin/picolisp ${WRKSRC}/lib.l @lib/misc.l @lib/pilog.l @lib/test.l -bye +
do-install:
${INSTALL_ENV} ${INSTALL_PROGRAM} ${WRKSRC}/bin/picolisp ${DESTDIR}${BIN_DIR}
${INSTALL_ENV} ${INSTALL_SCRIPT} ${WRKSRC}/bin/pil ${DESTDIR}${BIN_DIR}
${INSTALL_ENV} ${INSTALL_SCRIPT} ${WRKSRC}/lib.l ${DESTDIR}${LIB_DIR}/picolisp/
${INSTALL_ENV} ${INSTALL_SCRIPT} ${WRKSRC}/lib/*.l ${DESTDIR}${LIB_DIR}/picolisp/lib/
${INSTALL_ENV} ${INSTALL_SCRIPT} ${WRKSRC}/loc/*.l ${DESTDIR}${LIB_DIR}/picolisp/loc/
${INSTALL_ENV} ${INSTALL_DATA} ${WRKSRC}/loc/?? ${DESTDIR}${LIB_DIR}/picolisp/loc/
${INSTALL_ENV} ${INSTALL_LIB} ${WRKSRC}/lib/ext ${DESTDIR}${LIB_DIR}/picolisp/lib/
${INSTALL_ENV} ${INSTALL_LIB} ${WRKSRC}/lib/ht ${DESTDIR}${LIB_DIR}/picolisp/lib/
${INSTALL_ENV} ${INSTALL_DATA} ${WRKSRC}/lib/map ${DESTDIR}${LIB_DIR}/picolisp/lib/
${INSTALL_ENV} ${INSTALL_MAN} ${WRKSRC}/man/man1/picolisp.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/
${INSTALL_ENV} ${INSTALL_MAN} ${WRKSRC}/man/man1/pil.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/
${INSTALL_ENV} ${INSTALL_SCRIPT} ${WRKSRC}/lib/test.l ${DESTDIR}${PREFIX}/tests/picolisp/lib/
${INSTALL_ENV} ${INSTALL_SCRIPT} ${WRKSRC}/test/lib.l ${DESTDIR}${PREFIX}/tests/picolisp/test/
${INSTALL_ENV} ${INSTALL_SCRIPT} ${WRKSRC}/test/lib/*.l ${DESTDIR}${PREFIX}/tests/picolisp/test/lib/
${INSTALL_ENV} ${INSTALL_SCRIPT} ${WRKSRC}/test/src/*.l ${DESTDIR}${PREFIX}/tests/picolisp/test/src/

17
PicoLisp64/DESCR Normal file
View file

@ -0,0 +1,17 @@
PicoLisp provides a 1-to-1 mapping of a clean and powerful
Lisp derivate, to a simple and efficient virtual machine.
It supports persistent objects as a first class data type,
resulting in a database system of Entity/Relation classes and a
Prolog-like query language tightly integrated into the system.
As an application server framework, PicoLisp provides for
NoSQL Database Management:
Index trees, Object local indexes, Entity/Relation
classes, Pilog (PicoLisp Prolog) queries, Multi-user
synchronization, DB Garbage collection, Journaling, Replication
User Interface
Browser GUI, (X)HTML/CSS, XMLHttpRequest/JavaScript
Application Server
Process management, Process family communication, XML I/O,
Import/export, User administration, Internationalization,
Security, Object linkage, Postscript/Printing

9
PicoLisp64/Makefile Normal file
View file

@ -0,0 +1,9 @@
# $NetBSD$
PKGNAME= PicoLisp64-${PIL_VERSION}
.include "../../wip/PicoLisp/Makefile.common"
BUILD_DIRS+= src64
.include "../../mk/bsd.pkg.mk"

100
PicoLisp64/PLIST Normal file
View file

@ -0,0 +1,100 @@
@comment $NetBSD$
bin/picolisp
bin/pil
lib/picolisp/lib.l
lib/picolisp/lib/adm.l
lib/picolisp/lib/app.l
lib/picolisp/lib/boss.l
lib/picolisp/lib/btree.l
lib/picolisp/lib/cal.l
lib/picolisp/lib/canvas.l
lib/picolisp/lib/complete.l
lib/picolisp/lib/conDbgc.l
lib/picolisp/lib/db.l
lib/picolisp/lib/db32-64.l
lib/picolisp/lib/debug.l
lib/picolisp/lib/ed.l
lib/picolisp/lib/edit.l
lib/picolisp/lib/eedit.l
lib/picolisp/lib/eled.l
lib/picolisp/lib/ext
lib/picolisp/lib/form.l
lib/picolisp/lib/frac.l
lib/picolisp/lib/gcc.l
lib/picolisp/lib/heartbeat.l
lib/picolisp/lib/ht
lib/picolisp/lib/http.l
lib/picolisp/lib/import.l
lib/picolisp/lib/json.l
lib/picolisp/lib/led.l
lib/picolisp/lib/led.min.l
lib/picolisp/lib/lint.l
lib/picolisp/lib/map
lib/picolisp/lib/math.l
lib/picolisp/lib/math32.l
lib/picolisp/lib/math64.l
lib/picolisp/lib/misc.l
lib/picolisp/lib/native.l
lib/picolisp/lib/openGl.l
lib/picolisp/lib/pilog.l
lib/picolisp/lib/prof.l
lib/picolisp/lib/ps.l
lib/picolisp/lib/readline.l
lib/picolisp/lib/role.l
lib/picolisp/lib/rsa.l
lib/picolisp/lib/scrape.l
lib/picolisp/lib/simul.l
lib/picolisp/lib/sq.l
lib/picolisp/lib/svg.l
lib/picolisp/lib/term.l
lib/picolisp/lib/test.l
lib/picolisp/lib/tex.l
lib/picolisp/lib/tinymce.l
lib/picolisp/lib/too.l
lib/picolisp/lib/tsm.l
lib/picolisp/lib/user.l
lib/picolisp/lib/xhtml.l
lib/picolisp/lib/xm.l
lib/picolisp/lib/xml.l
lib/picolisp/lib/xmlrpc.l
lib/picolisp/lib/z3d.l
lib/picolisp/lib/zahlwort.l
lib/picolisp/loc/AR.l
lib/picolisp/loc/CH.l
lib/picolisp/loc/DE.l
lib/picolisp/loc/ES.l
lib/picolisp/loc/FR.l
lib/picolisp/loc/JP.l
lib/picolisp/loc/NIL.l
lib/picolisp/loc/NO.l
lib/picolisp/loc/RU.l
lib/picolisp/loc/SE.l
lib/picolisp/loc/UK.l
lib/picolisp/loc/US.l
lib/picolisp/loc/ar
lib/picolisp/loc/ch
lib/picolisp/loc/de
lib/picolisp/loc/es
lib/picolisp/loc/fr
lib/picolisp/loc/jp
lib/picolisp/loc/no
lib/picolisp/loc/ru
lib/picolisp/loc/sv
man/man1/picolisp.1
man/man1/pil.1
tests/picolisp/lib/test.l
tests/picolisp/test/lib.l
tests/picolisp/test/lib/lint.l
tests/picolisp/test/lib/math.l
tests/picolisp/test/lib/misc.l
tests/picolisp/test/src/apply.l
tests/picolisp/test/src/big.l
tests/picolisp/test/src/db.l
tests/picolisp/test/src/ext.l
tests/picolisp/test/src/flow.l
tests/picolisp/test/src/ht.l
tests/picolisp/test/src/io.l
tests/picolisp/test/src/main.l
tests/picolisp/test/src/net.l
tests/picolisp/test/src/subr.l
tests/picolisp/test/src/sym.l

1
PicoLisp64/TODO Normal file
View file

@ -0,0 +1 @@
Fix src64/sys/x86-64.netBsd.code.l

10
PicoLisp64/distinfo Normal file
View file

@ -0,0 +1,10 @@
$NetBSD$
SHA1 (picoLisp.tgz) = 9464d84f56a9236b34c520b29d00e80497d61709
RMD160 (picoLisp.tgz) = bd1dd41317aaf76ff0178e9cfd335ab4d04e2e59
SHA512 (picoLisp.tgz) = a0d2bba345816a174d659ab222cd099d8fd8538d298b9baaa37ba929855d49b6b18a751c9120afb1a35d71ec858e1687e12efe0595261393c16a13e53c257ba9
Size (picoLisp.tgz) = 984138 bytes
SHA1 (patch-src64_Makefile) = db6c7d7eec81bee237e4b8ef03686d02d02a0332
SHA1 (patch-src64_sys_x86-64.netBsd.code.l) = 65f2192a64354847def32d204b903aa08688f532
SHA1 (patch-src64_sys_x86-64.netBsd.defs.l) = f4295dec32dfa835df723f3cca2dbc04a0af0bda
SHA1 (patch-src_Makefile) = fe320943e1660063e3c916d958eb2161c22d86f1

View file

@ -0,0 +1,53 @@
$NetBSD$
Add support for NetBSD
--- src64/Makefile.orig 2016-12-05 12:09:18.000000000 +0000
+++ src64/Makefile
@@ -28,11 +28,16 @@ else
UNAME = SunOS
MACHINE = x86_64
else
- UNAME = $(shell uname)
- ifeq ($(MAKECMDGOALS), emu)
- MACHINE = emu
+ ifeq ($(MAKECMDGOALS), x86-64.netBsd)
+ UNAME = NetBSD
+ MACHINE = x86_64
else
- MACHINE = $(shell uname -m)
+ UNAME = $(shell uname)
+ ifeq ($(MAKECMDGOALS), emu)
+ MACHINE = emu
+ else
+ MACHINE = $(shell uname -m)
+ endif
endif
endif
endif
@@ -103,6 +108,17 @@ else
LD-MAIN = -m64 -lc -lm -ldl -lsocket -lnsl
LD-SHARED = -m64 -shared
STRIP = strip
+ else
+ ifeq ($(UNAME), NetBSD)
+ OS = NetBSD
+ SYS = .netBsd
+ FMT = .s
+ ARCH = x86-64
+ AS = as
+ LD-MAIN = -m64 -lc -lm
+ LD-SHARED = -m64 -shared -rdynamic
+ STRIP = strip
+ endif
endif
endif
endif
@@ -124,6 +140,7 @@ ppc64.linux: $(sFiles)
x86-64.freeBsd: $(sFiles)
x86-64.openBsd: $(sFiles)
x86-64.sunOs: $(sFiles)
+x86-64.netBsd: $(sFiles)
emu: picolisp
picolisp: $(bin)/picolisp $(lib)/ext $(lib)/ht

View file

@ -0,0 +1,58 @@
$NetBSD$
Add support for NetBSD
--- src64/sys/x86-64.netBsd.code.l.orig 2017-03-06 21:09:34.700658304 +0000
+++ src64/sys/x86-64.netBsd.code.l
@@ -0,0 +1,51 @@
+# 07jan13abu
+# Mansur Mamkin <mmamkin@mail.ru>
+
+# System macros
+(code 'errno_A 0)
+ call __errno # Get address of 'errno'
+ ld A (A) # Load value
+ ret
+
+(code 'errnoC 0)
+ call __errno # Get address of 'errno'
+ ld (A) C # Store new value
+ ret
+
+#define>_WSTATUS(x)<--->(_W_INT(x) & 0177)
+#define>_WSTOPPED<----->0177<--><------>/* _WSTATUS if process is stopped */
+#define _WCONTINUED 0xffffU
+#define>WIFSTOPPED(x)<->(_WSTATUS(x) == _WSTOPPED)
+#define WIFSTOPPED(x) (_WSTATUS(x) == _WSTOPPED && !WIFCONTINUED(x))
+#define WIFCONTINUED(x) (_W_INT(x) == _WCONTINUED)
+#define WSTOPSIG(x) ((int)(((unsigned int)_W_INT(x)) >> 8) & 0xff)
+#define WIFSIGNALED(x) (!WIFSTOPPED(x) && !WIFCONTINUED(x) && !WIFEXITED(x))
+#define>WIFSIGNALED(x)<>(_WSTATUS(x) != _WSTOPPED && _WSTATUS(x) != 0)
+#define>WTERMSIG(x)<--->(_WSTATUS(x))
+#define WIFEXITED(x) (_WSTATUS(x) == 0)
+#define WEXITSTATUS(x) ((int)(((unsigned int)_W_INT(x)) >> 8) & 0xff)
+
+# ((status & 0177) == 0177 && !(x == 0x0000ffffU))
+
+(code 'wifstoppedS_F 0) # WIFSTOPPED
+ ld A (S I) # Get status
+ and B `(oct "0177")
+ cmp B `(oct "0177") # (((status) & 0177) == 0177)
+ ret
+
+(code 'wifsignaledS_F 0) # WIFSIGNALED
+ ld A (S I) # Get status
+ and B `(oct "0177") # ((((status) & 0177) != 0177) && ((status) & 0177) != 0)
+ cmp B `(oct "0177")
+ if ne
+ nul B
+ end
+ ret
+
+(code 'wtermsigS_A 0) # WTERMSIG
+ ld A (S I) # Get status
+ and B `(oct "0177") # ((status) & 0177)
+ zxt
+ ret
+
+# vi:et:ts=3:sw=3

View file

@ -0,0 +1,161 @@
$NetBSD$
Add support for NetBSD
--- src64/sys/x86-64.netBsd.defs.l.orig 2017-03-06 21:09:34.714744409 +0000
+++ src64/sys/x86-64.netBsd.defs.l
@@ -0,0 +1,154 @@
+# Endianess
+L
+# Wordsize
+64
+
+# errno
+(equ ENOENT 2)
+(equ EINTR 4)
+(equ EBADF 9)
+(equ EAGAIN 35)
+(equ EACCES 13)
+(equ EPIPE 32)
+(equ ECONNRESET 54)
+
+# open/fcntl
+(equ O_RDONLY 0)
+(equ O_WRONLY 1)
+(equ O_RDWR 2)
+(equ O_CREAT 512)
+(equ O_EXCL 2048)
+(equ O_TRUNC 1024)
+(equ O_APPEND 8)
+(equ F_GETFD 1)
+(equ F_SETFD 2)
+(equ FD_CLOEXEC 1)
+
+# stdio
+(equ BUFSIZ 1024)
+(equ PIPE_BUF 512)
+(equ GETCWDLEN 0)
+(equ stdin '__sF)
+(equ stdout '(& (__sF 152)))
+(equ stderr '(& (__sF 304)))
+
+# dlfcn
+(equ RTLD_LAZY 1)
+(equ RTLD_GLOBAL 256)
+
+# fcntl
+(equ FLOCK 24)
+(equ L_TYPE 20)
+(equ L_WHENCE 22)
+(equ L_START 0)
+(equ L_LEN 8)
+(equ L_PID 16)
+(equ SEEK_SET 0)
+(equ SEEK_CUR 1)
+(equ F_RDLCK 1)
+(equ F_WRLCK 3)
+(equ F_UNLCK 2)
+(equ F_GETFL 3)
+(equ F_SETFL 4)
+(equ F_GETLK 7)
+(equ F_SETLK 8)
+(equ F_SETLKW 9)
+(equ F_SETOWN 6)
+(equ O_NONBLOCK 4)
+(equ O_ASYNC 64)
+
+# stat
+(equ STAT 152)
+(equ ST_MODE 8)
+(equ ST_SIZE 112)
+(equ ST_MTIME 64)
+(equ S_IFMT 61440)
+(equ S_IFREG 32768)
+(equ S_IFDIR 16384)
+
+# times
+(equ TMS 16)
+(equ TMS_UTIME 0)
+(equ TMS_STIME 4)
+
+# termios
+(equ TERMIOS 44)
+(equ C_IFLAG 0)
+(equ C_OFLAG 4)
+(equ C_CFLAG 8)
+(equ C_LFLAG 12)
+(equ C_CC 16)
+(equ OPOST 1)
+(equ ONLCR 2)
+(equ ISIG 128)
+(equ VMIN 16)
+(equ VTIME 17)
+(equ TCSADRAIN 1)
+
+# signal
+(equ SIGACTION 32)
+(equ SIGSET_T 16)
+(equ SA_HANDLER 0)
+(equ SA_MASK 8)
+(equ SA_FLAGS 24)
+(equ SIG_DFL 0)
+(equ SIG_IGN 1)
+(equ SIG_UNBLOCK 2)
+(equ SIGHUP 1)
+(equ SIGINT 2)
+(equ SIGUSR1 30)
+(equ SIGUSR2 31)
+(equ SIGPIPE 13)
+(equ SIGALRM 14)
+(equ SIGTERM 15)
+(equ SIGCHLD 20)
+(equ SIGCONT 19)
+(equ SIGSTOP 17)
+(equ SIGTSTP 18)
+(equ SIGTTIN 21)
+(equ SIGTTOU 22)
+(equ SIGIO 23)
+(equ SIGNALS 32)
+
+# wait
+(equ WNOHANG 1)
+(equ WUNTRACED 2)
+
+# select
+(equ FD_SET 32)
+
+# time
+(equ TM_SEC 0)
+(equ TM_MIN 4)
+(equ TM_HOUR 8)
+(equ TM_MDAY 12)
+(equ TM_MON 16)
+(equ TM_YEAR 20)
+(equ TM_GMTOFF 40)
+
+# dir
+(equ D_NAME 13)
+
+# Sockets
+(equ SOCK_STREAM 1)
+(equ SOCK_DGRAM 2)
+(equ AF_UNSPEC 0)
+(equ AF_UNIX 1)
+(equ AF_INET6 24)
+(equ SOL_SOCKET 65535)
+(equ SO_REUSEADDR 4)
+(equ IPPROTO_IPV6 41)
+(equ IPV6_V6ONLY 27)
+(equ INET6_ADDRSTRLEN 46)
+(equ NI_MAXHOST 1025)
+(equ NI_NAMEREQD 4)
+(equ SOCKADDR_IN6 28)
+(equ SIN6_FAMILY 1)
+(equ SIN6_PORT 2)
+(equ SIN6_ADDR 8)
+(equ ADDRINFO 48)
+(equ AI_FAMILY 4)
+(equ AI_SOCKTYPE 8)
+(equ AI_ADDRLEN 16)
+(equ AI_ADDR 32)
+(equ AI_NEXT 40)

View file

@ -0,0 +1,13 @@
$NetBSD$
--- src/Makefile.orig 2016-02-02 15:52:49.000000000 +0000
+++ src/Makefile
@@ -48,7 +48,7 @@ ifeq ($(shell uname), FreeBSD)
else
ifeq ($(shell uname), NetBSD)
OS = NetBSD
- CFLAGS += -m32
+ CFLAGS += -m32 -fpic
PICOLISP-FLAGS = -m32 -rdynamic
LIB-FLAGS = -lm
DYNAMIC-LIB-FLAGS = -m32 -shared -export-dynamic