+2002-04-06 Kevin Rosenberg (kevin@rosenberg.net)
+ * src/mcl/libraries.cl:
+ Removed unnecessary function and added find-foreign-library
+ * src/mcl/*.cl:
+ Added authorship for John DeSoi
+ * doc/ref.sgml:
+ Added documentation for find-foreign-library
+
+2002-04-04 John DeSoi (desoi@mac.com)
+ * src/mcl/*.cl
+ Added initial support for MCL
+
2002-04-02 Kevin Rosenberg (kevin@rosenberg.net)
* src/libraries.cl:
Added test for .so libraries on CMUCL and use sys::load-object-file instead
of alien:load-library-file
-
* examples/Makefile:
Updated defaults so library is created correctly on Linux, FreeBSD, and Solaris
2002-04-02 Kevin Rosenberg (kevin@rosenberg.net)
* examples/compress.cl:
Fixed missing '/'
-
* examples/union.cl:
Added support for SPARC big-endian
-
* test-examples.cl:
Automated testing suite
2002-04-01 Kevin Rosenberg (kevin@rosenberg.net)
-
* src/libraries.cl:
* examples/Makefile:
Changed default type for FreeBSD and updated Makefile for
Add support to use find-foreign-library
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
-
* src/libraries.cl:
Added default type and find-foreign-library functions
2002-03-29 Kevin Rosenberg (kevin@rosenberg.net)
-
* src/objects.cl:
Fixed bug in deref-pointer (Thanks John Desoi!)
2002-03-22 Kevin Rosenberg (kevin@rosenberg.net)
-
* src/aggregates.cl:
Changed name and implementation of def-array to more appropriate
def-array-pointer
-
* src/ref.sgml:
Updated def-array-pointer documentation
-
* src/primitives.cl:
Made results of def-constant equal those of cl:defconstant
-
* src/objects.cl:
Made type be evaluated for with-foreign-object and allocate-foreign-object
-
* VERSION:
Increase to 0.3.0 to coincide with the release of CLSQL.
# Programer: Kevin M. Rosenberg, M.D.
# Date Started: Mar 2002
#
-# CVS Id: $Id: Makefile,v 1.30 2002/04/01 17:16:15 kevin Exp $
+# CVS Id: $Id: Makefile,v 1.31 2002/04/06 19:23:04 kevin Exp $
#
# This file, part of UFFI, is Copyright (c) 2002 by Kevin M. Rosenberg
#
-name \*.log -or -name \*.out -or -name \*.dvi -or \
-name \*~ -or -name \*.ps -exec rm {} \;
@tar czf $(DIST_TARBALL) $(DISTDIR)
- @find $(DISTDIR) -type f -exec unix2dos -q {} \;
+ @find $(DISTDIR) -type f -and -name \*.cl -or -name \*.list -or \
+ -name \*.system -or -name Makefile -or -name ChangeLog -or \
+ -name COPYRIGHT -or -name TODO -or -name README -or -name INSTALL \
+ -or -name NEWS -or -name \*.sgml -or -name COPYING\* -or -name catalog \
+ | xargs unix2dos -q
@zip -rq $(DIST_ZIP) $(DISTDIR)
@rm -r $(DISTDIR)
+
-UFFI now tested and supported for FreeBSD with ACL and CMUCL.
+UFFI now supports MCL, though support is not yet complete.
+
+UFFI now tested and supported for FreeBSD with ACL and CMUCL and
+with Solaris with ACL and CMUCL.
+
# Programer: Kevin M. Rosenberg
# Date Started: Mar 2002
#
-# CVS Id: $Id: Makefile,v 1.9 2002/03/23 16:32:39 kevin Exp $
+# CVS Id: $Id: Makefile,v 1.10 2002/04/06 19:23:04 kevin Exp $
#
# This file, part of UFFI, is Copyright (c) 2002 by Kevin M. Rosenberg
#
pdf: ${PDFFILE}
${PDFFILE}: ${TEXFILE}
- pdfjadetex '\pdfcompresslevel=9' '\input ${TEXFILE}'
- pdfjadetex '\pdfcompresslevel=9' '\input ${TEXFILE}'
- pdfjadetex '\pdfcompresslevel=9' '\input ${TEXFILE}'
- pdfjadetex '\pdfcompresslevel=9' '\input ${TEXFILE}'
+ pdfjadetex '\pdfcompresslevel=9' '\input ${TEXFILE}' > /dev/null
+ pdfjadetex '\pdfcompresslevel=9' '\input ${TEXFILE}' > /dev/null
+ pdfjadetex '\pdfcompresslevel=9' '\input ${TEXFILE}' > /dev/null
+ pdfjadetex '\pdfcompresslevel=9' '\input ${TEXFILE}' > /dev/null
dvi: ${DVIFILE}
<sect1>
<title>Supported Implementations</title>
- <para> The primary tested and supported platforms for &uffi; are:
+ <para>The primary tested and supported platforms for &uffi; are:
</para>
<itemizedlist mark="opencircle">
- <listitem><para>&acl; v6.1 on Redhat Linux 7.2, FreeBSD 4.5, and Microsoft Windows.</para></listitem>
+ <listitem><para>&acl; v6.1 and v6.2.beta on Redhat Linux 7.2, Debian Woody,
+FreeBSD 4.5, Solaris v2.8, and Microsoft Windows.</para></listitem>
<listitem><para>&lw; v4.2 on Redhat Linux 7.2 and Microsoft Windows.</para></listitem>
- <listitem><para>&cmucl; 18c on Redhat Linux 7.2, FreeBSD 4.5, and Solaris 2.8</para></listitem>
+ <listitem><para>&cmucl; 18d-pre on Redhat Linux 7.2, FreeBSD 4.5, and Solaris 2.8</para></listitem>
+ </itemizedlist>
+ <para>Beta code is included with &uffi; for
+ </para>
+ <itemizedlist mark="opencircle">
+ <listitem><para>&mcl; with MacOSX</para></listitem>
</itemizedlist>
</sect1>
</refsect1>
</refentry>
+ <refentry id="find-foreign-library">
+ <refnamediv>
+ <refname>find-foreign-library</refname>
+ <refpurpose>Finds a foreign library file.
+ </refpurpose>
+ <refclass>Function</refclass>
+ </refnamediv>
+ <refsect1>
+ <title>Syntax</title>
+<synopsis>
+ <function>find-foreign-library</function> <replaceable>names directories & drive-letters types</replaceable> => <returnvalue>path</returnvalue>
+</synopsis>
+ </refsect1>
+ <refsect1>
+ <title>Arguments and Values</title>
+ <variablelist>
+ <varlistentry>
+ <term><parameter>names</parameter></term>
+ <listitem>
+ <para>A string or list of strings containing the base name of the library file.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><parameter>directories</parameter></term>
+ <listitem>
+ <para>A string or list of strings containing the directory the library file.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><parameter>drive-letters</parameter></term>
+ <listitem>
+ <para>A string or list of strings containing the drive letters for the library file.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><parameter>types</parameter></term>
+ <listitem>
+ <para>A string or list of strings containing the file type of the library file. Default
+is &nil;. If &nil;, will use a default type based on the currently running implementation.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><returnvalue>path</returnvalue></term>
+ <listitem>
+ <para>A path containing the path found, or &nil; if the library file was not found.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+ <refsect1>
+ <title>Description</title>
+ <para>Finds a foreign library by searching through a number of possible locations. Returns
+the path of the first found file.
+ </para>
+ </refsect1>
+ <refsect1>
+ <title>Examples</title>
+ <programlisting>
+(find-foreign-library '("libmysqlclient" "libmysql")
+ '("/opt/mysql/lib/mysql/" "/usr/local/lib/" "/usr/lib/" "/mysql/lib/opt/")
+ :types '("so" "dll")
+ :drive-letters '("C" "D" "E"))
+=> #P"D:\\mysql\\lib\\opt\\libmysql.dll"
+ </programlisting>
+ </refsect1>
+ <refsect1>
+ <title>Side Effects</title>
+ <para>None.
+ </para>
+ </refsect1>
+ <refsect1>
+ <title>Affected by</title>
+ <para>None.</para>
+ </refsect1>
+ <refsect1>
+ <title>Exceptional Situations</title>
+ <para>None.</para>
+ </refsect1>
+ </refentry>
+
</reference>
<!ENTITY ffi "<acronym>FFI</acronym>">
<!ENTITY cmucl "<application>CMUCL</application>">
<!ENTITY lw "<application>Lispworks</application>">
+<!ENTITY mcl "<application>MCL</application>">
<!ENTITY acl "<application>AllegroCL</application>">
<!ENTITY cl "<application>ANSI Common Lisp</application>">
<!ENTITY t "<constant>T</constant>">