Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .travis.sh
Original file line number Diff line number Diff line change
Expand Up @@ -93,11 +93,11 @@ if [[ "$QEMU" != "" ]]; then
export GIT_SSL_NO_VERIFY=1
git clone http://salsa.debian.org/science-team/euslisp /tmp/euslisp-dfsg
for file in $(cat /tmp/euslisp-dfsg/debian/patches/series); do
# skip patches already applied by https://github.com/euslisp/EusLisp/pull/482, https://github.com/euslisp/EusLisp/pull/511, https://github.com/euslisp/EusLisp/pull/523, https://github.com/euslisp/EusLisp/pull/524, https://github.com/euslisp/EusLisp/pull/525
[[ $file =~ use-rtld-global-loadelf.patch|fix-arm-ldflags.patch|fix-library-not-linked-against-libc.patch|fix-manpage-has-bad-whatis-entry-on-man-pages.patch|fix-jpegmemcd-compile-error.patch|install-bin-lib-man-to-destdir.patch|install-eusjpeg-lib.patch|fix-lintian-typo.patch|fix-makefile-linux-MACHINE.patch|fix-makefile-generic1-version.patch|fix-localtime-arm32.patch|fix-ppc64el-test.patch|fix-for-blhc.patch ]] && continue;
# skip patches already applied by https://github.com/euslisp/EusLisp/pull/482, https://github.com/euslisp/EusLisp/pull/511, https://github.com/euslisp/EusLisp/pull/522, https://github.com/euslisp/EusLisp/pull/523, https://github.com/euslisp/EusLisp/pull/524, https://github.com/euslisp/EusLisp/pull/525
[[ $file =~ use-rtld-global-loadelf.patch|fix-arm-ldflags.patch|fix-library-not-linked-against-libc.patch|fix-manpage-has-bad-whatis-entry-on-man-pages.patch|fix-jpegmemcd-compile-error.patch|install-bin-lib-man-to-destdir.patch|install-eusjpeg-lib.patch|fix-lintian-typo.patch|fix-makefile-linux-MACHINE.patch|fix-makefile-generic1-version.patch|fix-localtime-arm32.patch|fix-ppc64el-test.patch|fix-for-blhc.patch|remove-libeus-link-from-exe.patch|load-lib-from-eusdir-arch-lib.patch|fix-for-hardening.patch ]] && continue;
# skip patch already applied by https://github.com/euslisp/EusLisp/pull/441, https://github.com/euslisp/EusLisp/pull/509, https://github.com/euslisp/EusLisp/pull/512, https://github.com/euslisp/EusLisp/pull/514, https://github.com/euslisp/EusLisp/pull/517
if [[ $file =~ fix-for-reprotest.patch ]]; then
filterdiff -p1 -x 'lisp/image/jpeg/makefile' -x 'lisp/comp/comp.l' < /tmp/euslisp-dfsg/debian/patches/$file > /tmp/euslisp-dfsg/debian/patches/$file-fix
filterdiff -p1 -x 'lisp/image/jpeg/makefile' -x 'lisp/l/common.l' -x 'lisp/comp/comp.l' < /tmp/euslisp-dfsg/debian/patches/$file > /tmp/euslisp-dfsg/debian/patches/$file-fix
file=$file-fix
fi
echo $file
Expand Down
32 changes: 31 additions & 1 deletion lib/eusglrt.l
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,37 @@
;; )
;; irix
(push :GL *features*)
(sys::exec-module-init "oglforeign" "opengl/src/loadgl.l")
(let ((libeusgl (find-if #'(lambda (f) (probe-file f))
(list (concatenate string *eusdir*
(format nil "~A/lib/libeusgl.so"
(cond ((member :solaris2 *features*) "SunOS5")
((member :irix *features*) "IRIX")
((member :irix6 *features*) "IRIX6")
((member :darwin *features*) "Darwin")
((member :sh4 *features*) "LinuxSH4")
((member :linux *features*)
(cond
((member :x86_64 *features*)
"Linux64")
((member :arm *features*)
"LinuxARM")
(t "Linux")))
((member :SunOS4.1 *features*) "SunOS4")
((member :Windows *features*) "Windows")
((member :Windows95 *features*) "Win95")
((member :WindowsNT *features*) "WinNT")
((member :alpha *features*) "Alpha")
((member :cygwin *features*) "Cygwin"))))
(format nil "/usr/lib/~A/euslisp/libeusgl.so" lisp::*deb-host-multiarch*)))))
(if (eq (unix::access libeusgl) t)
(let ((libmod (load libeusgl :entry nil))
(modules `("oglforeign" "gldecl" "glconst" "glforeign" "gluconst" "gluforeign" "glxconst"
"glxforeign" "eglforeign" "eglfunc" "glutil" "gltexture" "glprim"
"gleus" "glview" "toiv")))
(nconc sys::*load-entries*
(sys::list-module-initializers libmod modules))
(sys::exec-module-init "oglforeign"))
(sys::exec-module-init "oglforeign" "opengl/src/loadgl.l")))
(in-package "GL")
(use-package "GEOMETRY")
(unless (find-symbol "*LIBGL*") ; for SunOS4 with .so bug
Expand Down
36 changes: 35 additions & 1 deletion lib/eusrt.l
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,36 @@
;; initilize Xlib interface
(when (and
(or (substringp "sx" (pathname-name *program-name*)) (substringp "gl" (pathname-name *program-name*)))
(sys::exec-module-init "xforeign" "xwindow/loadx.l")
(let ((libeusx (find-if #'(lambda (f) (probe-file f))
(list (concatenate string *eusdir*
(format nil "~A/lib/libeusx.so"
(cond ((member :solaris2 *features*) "SunOS5")
((member :irix *features*) "IRIX")
((member :irix6 *features*) "IRIX6")
((member :darwin *features*) "Darwin")
((member :sh4 *features*) "LinuxSH4")
((member :linux *features*)
(cond
((member :x86_64 *features*)
"Linux64")
((member :arm *features*)
"LinuxARM")
(t "Linux")))
((member :SunOS4.1 *features*) "SunOS4")
((member :Windows *features*) "Windows")
((member :Windows95 *features*) "Win95")
((member :WindowsNT *features*) "WinNT")
((member :alpha *features*) "Alpha")
((member :cygwin *features*) "Cygwin"))))
(format nil "/usr/lib/~A/euslisp/libeusx.so" lisp::*deb-host-multiarch*)))))
(if (eq (unix::access libeusx) t)
(let ((libmod (load libeusx :entry nil))
(modules `("xforeign" "Xdecl" "Xeus" "Xevent" "Xgraphics" "Xcolor" "Xpanel"
"Xitem" "Xtext" "Xmenu" "Xscroll" "Xcanvas" "Xtop" "Xapplwin")))
(nconc sys::*load-entries*
(sys::list-module-initializers libmod modules))
(sys::exec-module-init "xforeign"))
(sys::exec-module-init "xforeign" "xwindow/loadx.l")))
#+(and :thread :x11r6.1)
(InitThreads)
)
Expand Down Expand Up @@ -86,6 +115,11 @@
;;
(unless (find-symbol "*XLIB*") ; for SunOS4 with .so bug
(in-package "IMAGE")
(let ((libmod (find "libeusgeo" lisp::*loaded-modules*
:key #'lisp::load-module-file-name :test #'equal))
(modules `("pixword" "RGBHLS" "convolve" "piximage" "pbmfile" "image_correlation")))
(nconc sys::*load-entries*
(sys::list-module-initializers libmod modules)))
(sys::exec-module-init "pixword")
(sys::exec-module-init "RGBHLS")
(sys::exec-module-init "convolve")
Expand Down
1 change: 1 addition & 0 deletions lib/llib/pgsql.l
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,7 @@
((probe-file "/usr/lib/libpq.so") (load "/usr/lib/libpq.so"))
((probe-file "/usr/lib/x86_64-linux-gnu/libpq.so") (load "/usr/lib/x86_64-linux-gnu/libpq.so"))
((probe-file "/usr/lib/i386-linux-gnu/libpq.so") (load "/usr/lib/i386-linux-gnu/libpq.so"))
((probe-file (format nil "/usr/lib/~A/libpq.so" lisp::*deb-host-multiarch*)) (load (format nil "/usr/lib/~A/libpq.so" lisp::*deb-host-multiarch*)))
(t nil)))
#+:cygwin
(setq *libpq* (cond
Expand Down
2 changes: 1 addition & 1 deletion lisp/Makefile.Darwin
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ XLIB= -L/opt/local/lib -L/opt/X11/lib -lX11

# specify directories where euslisp's libraries are located.
EUSLIB= -L$(ADLIBDIR)
GLLIB= -L$/opt/X11/lib -lGLU -lGL -lXext -leusgl
GLLIB= -L$/opt/X11/lib -lGLU -lGL -lXext

# POSIX Thread
THREADDEP=mthread_posix.c
Expand Down
2 changes: 1 addition & 1 deletion lisp/Makefile.Linux
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ XLIB= -L/usr/X11R6/lib -lX11
# specify directories where euslisp's libraries are located.
EUSRPATH=-R$(ADLIBDIR):$(EUSDIR)/lib/Linux
EUSLIB= -Xlinker $(EUSRPATH) -L$(ADLIBDIR)
GLLIB= -L$(ADLIBDIR) -lGLU -lGL -lXext -leusgl
GLLIB= -L$(ADLIBDIR) -lGLU -lGL -lXext

# POSIX Thread
THREADDEP=mthread_posix.c
Expand Down
2 changes: 1 addition & 1 deletion lisp/Makefile.Linux.thread
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ XLIB= -L/usr/X11R6/lib -lX11
# specify directories where euslisp's libraries are located.
EUSRPATH=-R$(ADLIBDIR):$(EUSDIR)/lib/Linux
EUSLIB= -Xlinker $(EUSRPATH) -L$(ADLIBDIR)
GLLIB= -L$(ADLIBDIR) -lGLU -lGL -lXext -leusgl
GLLIB= -L$(ADLIBDIR) -lGLU -lGL -lXext

# POSIX Thread
THREADDEP=mthread_posix.c
Expand Down
9 changes: 5 additions & 4 deletions lisp/Makefile.Linux64
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ MACHINE=x86_64
DEBUG= -g
WFLAGS= -Wno-old-style-definition #-Wall -Wno-unused -Wno-switch -Wno-return-type

CFLAGS= $(WFLAGS) -fPIC -D$(MACHINE) -DLinux -D_REENTRANT -DVERSION=\"$(VERSION)\" \
CFLAGS:= $(CFLAGS) $(CPPFLAGS) $(WFLAGS) -fPIC -D$(MACHINE) -DLinux -D_REENTRANT -DVERSION=\"$(VERSION)\" \
-DLIB6 $(ALIGN_FUNCTIONS) \
$(DEBUG) $(CPU_OPTIMIZE) $(THREAD) -D$(XVERSION) \
-DGCC $(GCC3) \
Expand All @@ -73,7 +73,7 @@ XLIB= -L/usr/X11R6/lib -lX11
# specify directories where euslisp's libraries are located.
EUSRPATH=-R$(ADLIBDIR)
EUSLIB= -Xlinker $(EUSRPATH) -L$(ADLIBDIR)
GLLIB= -L$(ADLIBDIR) -lGLU -lGL -lXext -leusgl
GLLIB= -L$(ADLIBDIR) -lGLU -lGL -lXext

# POSIX Thread
THREADDEP=mthread_posix.c
Expand All @@ -83,8 +83,9 @@ THREADDEP=mthread_posix.c
OFLAGS= -O2

# link-editor's default flags ?-rdynamic
SOFLAGS= -shared -build-id
LDFLAGS= -rdynamic -fno-stack-protector -z execstack $(ADD_LDFLAGS)
SOFLAGS:= $(LDFLAGS) -shared
LD=gcc
LDFLAGS:= $(LDFLAGS) -rdynamic -fno-stack-protector -z execstack $(ADD_LDFLAGS)
MTCOBJECTS= $(OBJDIR)/mthread.o $(OBJDIR)/mthread_posix.o
#MTCOBJECTS= $(OBJDIR)/mthread.o $(OBJDIR)/pthreads.o
MAPOPTION= $(OBJDIR)/par.o
Expand Down
14 changes: 8 additions & 6 deletions lisp/Makefile.LinuxARM
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ DEBUG= -g
# If you use libc.so.5, remove -DLIB6 option.
# In order to include thread library, libc.so.6 is preferrable.

CFLAGS=$(WFLAGS) -D$(MACHINE) -DLinux -DARM -D_REENTRANT -DVERSION=\"$(VERSION)\" \
CFLAGS:= $(CFLAGS) $(CPPFLAGS) $(WFLAGS) -D$(MACHINE) -DLinux -DARM -D_REENTRANT -DVERSION=\"$(VERSION)\" \
-DLIB6 $(ALIGN_FUNCTIONS) $(ADD_CFLAGS) \
$(DEBUG) $(CPU_OPTIMIZE) $(THREAD) -D$(XVERSION) \
-DGCC $(GCC3) \
Expand Down Expand Up @@ -97,8 +97,9 @@ RAWLIB=-ldl -lm -lpthread -lc
XLIB= -L/usr/X11R6/lib -lX11

# specify directories where euslisp's libraries are located.
EUSLIB= -Xlinker -R$(ADLIBDIR):$(EUSDIR)/lib/LinuxARM -L$(ADLIBDIR)
GLLIB= -L$(ADLIBDIR) -lGLU -lGL -lXext -leusgl
EUSRPATH=-R$(ADLIBDIR):$(EUSDIR)/lib/LinuxARM
EUSLIB= -Xlinker $(EUSRPATH) -L$(ADLIBDIR)
GLLIB= -L$(ADLIBDIR) -lGLU -lGL -lXext

# POSIX Thread
THREADDEP=mthread_posix.c
Expand All @@ -107,9 +108,10 @@ THREADDEP=mthread_posix.c
# If you don't like optimization, comment out the next line.
OFLAGS=-O2

# link-editor's default flags ?-rdynamic
SOFLAGS= -shared -Xlinker -build-id
LDFLAGS= -rdynamic -fno-stack-protector -Wl,-z,execstack $(ADD_LDFLAGS)
# link-editor's default flags ?-rdynamic
SOFLAGS:= $(LDFLAGS) -shared -Xlinker -build-id
LD=gcc
LDFLAGS:= $(LDFLAGS) -rdynamic -fno-stack-protector -Wl,-z,execstack $(ADD_LDFLAGS)
MTCOBJECTS= $(OBJDIR)/mthread.o $(OBJDIR)/mthread_posix.o
#MTCOBJECTS= $(OBJDIR)/mthread.o $(OBJDIR)/pthreads.o
MAPOPTION=$(OBJDIR)/par.o
Expand Down
14 changes: 7 additions & 7 deletions lisp/Makefile.generic2
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ $(ADLIBDIR)/$(LIBEUSGEO): $(GEOOBJECTS) $(GEOCOBJECTS) \
$(IMGCOBJECTS) $(IMGOBJECTS))
$(ADLIBDIR)/$(LIBEUSGL): $(GLCOBJECTS) $(GLOBJECTS)
( $(LD) $(SOFLAGS) -o $(ADLIBDIR)/$(LIBEUSGL) \
$(GLCOBJECTS) $(GLOBJECTS))
$(OBJDIR)/oglforeign.c.o $(OBJDIR)/eglfunc.o $(GLOBJECTS))

$(CDIR)/makedate.c: $(filter-out $(CDIR)/makedate.c, $(shell echo $(CDIR)/*.c)) \
$(LDIR)/*.l $(GEODIR)/*.l $(COMPDIR)/*.l \
Expand Down Expand Up @@ -234,7 +234,7 @@ $(BINDIR)/eusg: $(BINDIR)/eus2 $(MTOBJECTS) $(ADLIBDIR)/$(LIBEUSGEO)
($(CC) -o $(BINDIR)/eusg $(LDFLAGS) \
$(NOKOBJECTS) $(KOBJECTS) $(KSOBJECTS) $(LOBJECTS) \
$(LCOBJECTS) $(MTCOBJECTS) $(RGCOBJECTS) $(MTOBJECTS) \
$(COMPOBJECTS) $(EUSLIB) $(GEOLIB) $(RAWLIB) ; \
$(COMPOBJECTS) $(RAWLIB) ; \
cd $(BINDIR); rm -f euscomp; ln -sf eusg euscomp)

$(BINDIR)/eusx: $(NOKOBJECTS) $(KOBJECTS) $(KSOBJECTS) $(LOBJECTS) \
Expand All @@ -246,7 +246,7 @@ $(BINDIR)/eusx: $(NOKOBJECTS) $(KOBJECTS) $(KSOBJECTS) $(LOBJECTS) \
$(NOKOBJECTS) $(KOBJECTS) $(KSOBJECTS) \
$(LOBJECTS) $(LCOBJECTS) $(COMPOBJECTS) \
$(MTCOBJECTS) $(RGCOBJECTS) $(MTOBJECTS) \
$(EUSLIB) $(EUSXLIB) $(GEOLIB) $(XLIB) $(RAWLIB);)
$(RAWLIB);)

$(BINDIR)/eus: $(BINDIR)/eusx $(NOKOBJECTS) $(KOBJECTS) $(KSOBJECTS) $(LOBJECTS) \
$(LCOBJECTS) $(COMPOBJECTS) \
Expand All @@ -257,7 +257,7 @@ $(BINDIR)/eus: $(BINDIR)/eusx $(NOKOBJECTS) $(KOBJECTS) $(KSOBJECTS) $(LOBJECTS
$(LOBJECTS) $(LCOBJECTS) $(COMPOBJECTS) \
$(MTCOBJECTS) $(RGCOBJECTS) $(MTOBJECTS) \
$(MAPOPTION) \
$(EUSLIB) $(EUSXLIB) $(GEOLIB) $(XLIB) $(RAWLIB) \
$(XLIB) $(RAWLIB) \
>$(ADLIBDIR)/eusmap ; \
cd $(BINDIR); rm -f euscomp eusx; \
ln -sf eus euscomp; ln -sf eus eusx; )
Expand All @@ -278,7 +278,7 @@ $(BINDIR)/eusgl: $(NOKOBJECTS) $(KOBJECTS) $(KSOBJECTS) $(LOBJECTS) \
$(LOBJECTS) $(LCOBJECTS) $(COMPOBJECTS) \
$(MTCOBJECTS) $(RGCOBJECTS) $(MTOBJECTS) \
$(MAPOPTION) \
$(EUSLIB) $(EUSXLIB) $(GEOLIB) $(GLLIB) $(XLIB) $(RAWLIB)\
$(OBJDIR)/util.o $(GLLIB) $(XLIB) $(RAWLIB) \
>$(ADLIBDIR)/eusmap ;)

$(BINDIR)/raweus.so: $(NOKOBJECTS) $(KOBJECTS) $(LOBJECTS) \
Expand Down Expand Up @@ -313,7 +313,7 @@ $(GLCOBJECTS):
$(CC) -c -o $@ $(CFLAGS) $(OFLAGS) $(GLINCLUDE) $(@F:.o=.c))
$(GCCLS): MKDIR
(cd $(TOOLDIR); \
$(CC) -o $(BINDIR)/gccls gccls.c ;\
$(CC) $(LDFLAGS) -o $(BINDIR)/gccls $(CFLAGS) gccls.c ;\
cd $(EUSDIR) )
$(LCOBJECTS): $(GCCLS)
(cd $(LDIR); $(BINDIR)/gccls constants.l; \
Expand All @@ -336,7 +336,7 @@ $(XOBJECTS) $(XTKOBJECTS): $(OBJDIR)/compile_xwindow.log
$(OBJDIR)/compile_xwindow.log: $(BINDIR)/eusg $(patsubst $(OBJDIR)/%.o,$(XWINDOWDIR)/%.l,$(XOBJECTS)) $(patsubst $(OBJDIR)/%.o,$(XWINDOWDIR)/%.l,$(XTKOBJECTS))
(cd $(XWINDOWDIR); $(BINDIR)/euscomp <../$(TOOLDIR)/compile_xwindow.l > $(OBJDIR)/compile_xwindow.log)
$(GLOBJECTS): $(OBJDIR)/compile_gl.log
$(OBJDIR)/compile_gl.log: $(BINDIR)/eusx $(patsubst $(OBJDIR)/%.o,$(GLDIR)/%.l,$(GLOBJECTS))
$(OBJDIR)/compile_gl.log: $(BINDIR)/eus $(patsubst $(OBJDIR)/%.o,$(GLDIR)/%.l,$(GLOBJECTS))
($(BINDIR)/eusx <$(TOOLDIR)/compile_gl.l > $(OBJDIR)/compile_gl.log)
$(XWINDOWDIR)/Xlibfuncs.o: $(XWINDOWDIR)/Xlibfuncs.c
(cd $(XWINDOWDIR) ; \
Expand Down
1 change: 1 addition & 0 deletions lisp/c/eus.c
Original file line number Diff line number Diff line change
Expand Up @@ -1264,6 +1264,7 @@ register context *ctx;
Spevalof(PACKAGE)=userpkg;

defvar(ctx,"*PROGRAM-NAME*",makestring(progname,strlen(progname)),lisppkg);
defvar(ctx,"*DEB-HOST-MULTIARCH*",makestring("@@DEB_HOST_MULTIARCH@@",strlen("@@DEB_HOST_MULTIARCH@@")),lisppkg);

/* exec_module_initializers(); */
ctx->vsp=ctx->stack;
Expand Down
23 changes: 22 additions & 1 deletion lisp/image/jpeg/eusjpeg.l
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,28 @@

(eval-when (load eval)
(let ((m
(load-foreign (format nil "~A/~A/lib/jpegmemcd" *eusdir* (unix:getenv "ARCHDIR")))))
(load-foreign
(find-if #'probe-file
(list (format nil "~A/~A/lib/jpegmemcd.so" *eusdir*
(cond ((member :solaris2 *features*) "SunOS5")
((member :irix *features*) "IRIX")
((member :irix6 *features*) "IRIX6")
((member :darwin *features*) "Darwin")
((member :sh4 *features*) "LinuxSH4")
((member :linux *features*)
(cond
((member :x86_64 *features*)
"Linux64")
((member :arm *features*)
"LinuxARM")
(t "Linux")))
((member :SunOS4.1 *features*) "SunOS4")
((member :Windows *features*) "Windows")
((member :Windows95 *features*) "Win95")
((member :WindowsNT *features*) "WinNT")
((member :alpha *features*) "Alpha")
((member :cygwin *features*) "Cygwin")))
(format nil "/usr/lib/~A/euslisp/jpegmemcd.so" lisp::*deb-host-multiarch*))))))
(defforeign jpeg_header m "JPEG_header" () :integer)
(defforeign jpeg_decompress m "JPEG_decompress" () :integer)
(defforeign jpeg_compress m "JPEG_compress" () :integer)))
Expand Down
6 changes: 3 additions & 3 deletions lisp/image/jpeg/makefile
Original file line number Diff line number Diff line change
Expand Up @@ -53,11 +53,11 @@ $(LIBDIR)/jpegmemcd.$(LSFX): $(OBJFILES)
$(LD) -fPIC $(LDFLAGS) -o $(LIBDIR)/jpegmemcd.$(LSFX) $(OBJDIR)/jpegmemcd.o $(OBJDIR)/jmemsrc.o $(OBJDIR)/jmemdst.o -ljpeg

$(OBJDIR)/jpegmemcd.o: jpegmemcd.c
$(CC) $(CFLAGS) -c -o $@ $^
$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $^
$(OBJDIR)/jmemsrc.o: jmemsrc.c
$(CC) $(CFLAGS) -c -o $@ $^
$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $^
$(OBJDIR)/jmemdst.o: jmemdst.c
$(CC) $(CFLAGS) -c -o $@ $^
$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $^
clean:
rm -f $(OBJFILES) $(LIBDIR)/jpegmemcd.$(LSFX) eusjpeg.c eusjpeg.h

Expand Down
4 changes: 1 addition & 3 deletions lisp/l/common.l
Original file line number Diff line number Diff line change
Expand Up @@ -62,11 +62,9 @@
(defun lisp-implementation-type () "EusLisp")
(defun lisp-implementation-version ()
(format nil
"EusLisp ~A~A for ~A created on ~A(~A)"
"EusLisp ~A for ~A created on ~A"
(car lisp-implementation-version)
(cdddr lisp-implementation-version)
*OS-VERSION*
(cadr lisp-implementation-version)
(caddr lisp-implementation-version)
))
(setq euserror nil)
Expand Down
33 changes: 32 additions & 1 deletion lisp/l/eusstart.l
Original file line number Diff line number Diff line change
Expand Up @@ -377,7 +377,38 @@
(sys:alloc 50000)
(in-package "GEOMETRY")
#-:SunOS4.1
(sys::exec-module-init "intersection" nil)
(unless (sys::exec-module-init "intersection" nil)
(let ((libeusgeo (find-if #'(lambda (f) (probe-file f))
(list (concatenate string *eusdir*
(format nil "~A/lib/libeusgeo.so"
(cond ((member :solaris2 *features*) "SunOS5")
((member :irix *features*) "IRIX")
((member :irix6 *features*) "IRIX6")
((member :darwin *features*) "Darwin")
((member :sh4 *features*) "LinuxSH4")
((member :linux *features*)
(cond
((member :x86_64 *features*)
"Linux64")
((member :arm *features*)
"LinuxARM")
(t "Linux")))
((member :SunOS4.1 *features*) "SunOS4")
((member :Windows *features*) "Windows")
((member :Windows95 *features*) "Win95")
((member :WindowsNT *features*) "WinNT")
((member :alpha *features*) "Alpha")
((member :cygwin *features*) "Cygwin"))))
(format nil "/usr/lib/~A/euslisp/libeusgeo.so" lisp::*deb-host-multiarch*)))))
(when (eq (unix::access libeusgeo) t)
(let ((libmod (load libeusgeo :entry nil))
(modules `("intersection" "geoclasses" "geopack" "geobody"
"primt" "compose" "polygon" "viewing" "viewport"
"viewsurface" "hid" "shadow" "bodyrel"
"dda")))
(nconc sys::*load-entries*
(sys::list-module-initializers libmod modules))
(sys::exec-module-init "intersection" nil)))))
#+:SunOS4.1
(unless (sys::exec-module-init "intersection" nil)
(let ((libeusgeo (concatenate string *eusdir*
Expand Down
5 changes: 3 additions & 2 deletions test/loader.l
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

;; check because ldmodule have #if ARM for objname, handle
(deftest test-load
(let ((libpath (format nil "~A/~A/lib/libeusgeo.so" *eusdir*
(let ((libpath (find-if #'probe-file (list (format nil "~A/~A/lib/libeusgeo.so" *eusdir*
(cond ((member :solaris2 *features*) "SunOS5")
((member :irix *features*) "IRIX")
((member :irix6 *features*) "IRIX6")
Expand All @@ -22,7 +22,8 @@
((member :Windows95 *features*) "Win95")
((member :WindowsNT *features*) "WinNT")
((member :alpha *features*) "Alpha")
((member :cygwin *features*) "Cygwin"))))
((member :cygwin *features*) "Cygwin")))
(format nil "/usr/lib/~A/euslisp/libeusgeo.so" lisp::*deb-host-multiarch*))))
libmod)
(format *error-output* "loading ~A~%" libpath)
(setq libmod (load libpath :entry nil))
Expand Down
Loading