From 2bd3a8844d18afb4149c775d3108ad2d32a16bf5 Mon Sep 17 00:00:00 2001 From: "Kevin M. Rosenberg" Date: Sun, 31 Mar 2002 23:05:07 +0000 Subject: [PATCH 1/1] r1708: *** empty log message *** --- ChangeLog | 8 ++++++++ VERSION | 2 +- examples/Makefile | 32 +++++++++++++++++++++++--------- examples/c-test-fns.cl | 6 ++++-- src/strings.cl | 3 +-- tests/Makefile | 32 +++++++++++++++++++++++--------- tests/c-test-fns.cl | 6 ++++-- 7 files changed, 64 insertions(+), 25 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6fafcdc..ef62a14 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2002-03-31 Kevin Rosenberg (kevin@rosenberg.net) + + * src/strings.cl: + Fixed bug in with-foreign-string (Thanks Harald Hanche-Olsen) + + * examples/Makefile: + Create a .a library file for FreeBSD + 2002-03-29 Kevin Rosenberg (kevin@rosenberg.net) * src/objects.cl: diff --git a/VERSION b/VERSION index 69367fd..d22f29b 100644 --- a/VERSION +++ b/VERSION @@ -1,2 +1,2 @@ -0.3.0 +0.3.1 diff --git a/examples/Makefile b/examples/Makefile index 198134b..3e3aa0e 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -5,7 +5,7 @@ # Programer: Kevin M. Rosenberg # Date Started: Mar 2002 # -# CVS Id: $Id: Makefile,v 1.2 2002/03/21 02:41:30 kevin Exp $ +# CVS Id: $Id: Makefile,v 1.3 2002/03/31 23:05:07 kevin Exp $ # # This file, part of UFFI, is Copyright (c) 2002 by Kevin M. Rosenberg # @@ -18,6 +18,7 @@ CC=gcc SHARED_CC_OPT=-fpic SHARED_LD_OPT=-shared +AR=ar # If you are using Solaris, these are the correct values # for creating a shared library @@ -25,18 +26,31 @@ SHARED_LD_OPT=-shared #SHARED_CC_OPT=-KPIC #SHARED_LD_OPT=-G + +base=c-test-fns + # Nothing to configure beyond this point +source=$(base).c +object=$(base).o +shared_lib=$(base).so +static_lib=$(base).a + +all: $(shared_lib) $(static_lib) -all: lib -lib: c-test-fns.so +$(shared_lib): $(source) + $(CC) ${SHARED_CC_OPT} -c $(source) -o $(object) + ld ${SHARED_LD_OPT} $(object) -o $(shared_lib) + $(AR) r $(static_lib) $(object) + rm $(object) -c-test-fns.so: c-test-fns.c - ${CC} ${SHARED_CC_OPT} -c c-test-fns.c -o c-test-fns.o - ld ${SHARED_LD_OPT} c-test-fns.o -o c-test-fns.so +$(static_lib): $(source) + ${CC} -c $(source) -o $(object) + $(AR) r $(static_lib) $(object) + rm $(object) clean: - rm -f *.o *.so + rm -f $(object) $(static_lib) $(shared_lib) -realclean: - rm -f *.o *.so *~ +realclean: clean + rm -f *~ diff --git a/examples/c-test-fns.cl b/examples/c-test-fns.cl index 45f144d..a45dda9 100644 --- a/examples/c-test-fns.cl +++ b/examples/c-test-fns.cl @@ -7,7 +7,7 @@ ;;;; Programmer: Kevin M. Rosenberg ;;;; Date Started: Mar 2002 ;;;; -;;;; $Id: c-test-fns.cl,v 1.2 2002/03/21 09:54:34 kevin Exp $ +;;;; $Id: c-test-fns.cl,v 1.3 2002/03/31 23:05:07 kevin Exp $ ;;;; ;;;; This file, part of UFFI, is Copyright (c) 2002 by Kevin M. Rosenberg ;;;; @@ -20,7 +20,9 @@ (unless (uffi:load-foreign-library (make-pathname :name "c-test-fns" - :type #+(or linux unix)"so" #+(or win32 mswindows) "dll" + :type #+(or linux unix)"so" + #+(or win32 mswindows) "dll" + #+freebsd "a" :defaults *load-truename*) :supporting-libraries '("c") :force-load t) diff --git a/src/strings.cl b/src/strings.cl index 4d95e33..cc3a1ed 100644 --- a/src/strings.cl +++ b/src/strings.cl @@ -7,7 +7,7 @@ ;;;; Programmer: Kevin M. Rosenberg ;;;; Date Started: Feb 2002 ;;;; -;;;; $Id: strings.cl,v 1.14 2002/03/23 17:06:57 kevin Exp $ +;;;; $Id: strings.cl,v 1.15 2002/03/31 23:05:07 kevin Exp $ ;;;; ;;;; This file, part of UFFI, is Copyright (c) 2002 by Kevin M. Rosenberg ;;;; @@ -156,7 +156,6 @@ that LW/CMU automatically converts strings from c-calls." ) (defmacro with-foreign-string ((foreign-string lisp-string) &body body) - #-(or lispworks cmu) (let ((result (gensym))) `(let* ((,foreign-string (convert-to-foreign-string ,lisp-string)) (,result (progn ,@body))) diff --git a/tests/Makefile b/tests/Makefile index 198134b..3e3aa0e 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -5,7 +5,7 @@ # Programer: Kevin M. Rosenberg # Date Started: Mar 2002 # -# CVS Id: $Id: Makefile,v 1.2 2002/03/21 02:41:30 kevin Exp $ +# CVS Id: $Id: Makefile,v 1.3 2002/03/31 23:05:07 kevin Exp $ # # This file, part of UFFI, is Copyright (c) 2002 by Kevin M. Rosenberg # @@ -18,6 +18,7 @@ CC=gcc SHARED_CC_OPT=-fpic SHARED_LD_OPT=-shared +AR=ar # If you are using Solaris, these are the correct values # for creating a shared library @@ -25,18 +26,31 @@ SHARED_LD_OPT=-shared #SHARED_CC_OPT=-KPIC #SHARED_LD_OPT=-G + +base=c-test-fns + # Nothing to configure beyond this point +source=$(base).c +object=$(base).o +shared_lib=$(base).so +static_lib=$(base).a + +all: $(shared_lib) $(static_lib) -all: lib -lib: c-test-fns.so +$(shared_lib): $(source) + $(CC) ${SHARED_CC_OPT} -c $(source) -o $(object) + ld ${SHARED_LD_OPT} $(object) -o $(shared_lib) + $(AR) r $(static_lib) $(object) + rm $(object) -c-test-fns.so: c-test-fns.c - ${CC} ${SHARED_CC_OPT} -c c-test-fns.c -o c-test-fns.o - ld ${SHARED_LD_OPT} c-test-fns.o -o c-test-fns.so +$(static_lib): $(source) + ${CC} -c $(source) -o $(object) + $(AR) r $(static_lib) $(object) + rm $(object) clean: - rm -f *.o *.so + rm -f $(object) $(static_lib) $(shared_lib) -realclean: - rm -f *.o *.so *~ +realclean: clean + rm -f *~ diff --git a/tests/c-test-fns.cl b/tests/c-test-fns.cl index 45f144d..a45dda9 100644 --- a/tests/c-test-fns.cl +++ b/tests/c-test-fns.cl @@ -7,7 +7,7 @@ ;;;; Programmer: Kevin M. Rosenberg ;;;; Date Started: Mar 2002 ;;;; -;;;; $Id: c-test-fns.cl,v 1.2 2002/03/21 09:54:34 kevin Exp $ +;;;; $Id: c-test-fns.cl,v 1.3 2002/03/31 23:05:07 kevin Exp $ ;;;; ;;;; This file, part of UFFI, is Copyright (c) 2002 by Kevin M. Rosenberg ;;;; @@ -20,7 +20,9 @@ (unless (uffi:load-foreign-library (make-pathname :name "c-test-fns" - :type #+(or linux unix)"so" #+(or win32 mswindows) "dll" + :type #+(or linux unix)"so" + #+(or win32 mswindows) "dll" + #+freebsd "a" :defaults *load-truename*) :supporting-libraries '("c") :force-load t) -- 2.34.1