SWI-Prolog Distribution Directory ** Last update: Thu Sep 28 2000 (Version 3.3.10) AUTHOR ====== Jan Wielemaker SWI University of Amsterdam Roetersstraat 15 1018 WB Amsterdam The Netherlands E-mail: jan@swi.psy.uva.nl WEB-HOME ======== Please find the up-to-date information on SWI-Prolog at the link below. You will find the latest sources (also accessible through CVS), a FAQ, mailinglist archive, various additional packages, etc. http://www.swi.psy.uva.nl/projects/SWI-Prolog/ DIRECTORIES =========== The SWI-Prolog source tree consists of the following directories: ./src C sources ./boot Prolog system predicates defined in Prolog ./library Prolog user's library ./include Include files. Mostly for handling foreign-code ./man Manual (LaTeX) BUILDING SWI-Prolog =================== Unix ---- SWI-Prolog configuration under Unix is driven by the GNU-autoconf package. Please check INSTALL for the generic installation options and INSTALL.notes for some SWI-Prolog specific things. SWI-Prolog should compile using any Unix-type system with 32 or larger (64) word-length and an ANSI-compliant C-compiler. If SWI-Prolog crashes during the installation, the most likely cause is that the detection of mmap() for stack-memory management or handling exception-based stack guarding is not configured properly. If you are knowledgeable in these issues, check src/test/mmap.c and src/pl-setup.c. Otherwise, run configure using the options below, first to get rid of exception-handling and second to fall back to malloc() based stack management. ./configure --diable-segv-handling ./configure --disable-mapped-stacks Run `make clean && make' to recompile after reconfiguration. MS-Windows ---------- Unless there is a special reason, please use the binary distribution on MS-Windows. If you insist using the sources, the windows version is build using MSVC 5.0. If you have this version, load src\pl.dsw and recompile those parts of the system you need. The executables are created in the `bin' directory, the import-libraries in the `lib' directory. They can be run from this location. It is adviced to copy them into a binary distribution to arrive at a properly configured system. GNU-EMACS INTERFACE =================== The Prolog-mode of GNU-Emacs is rather poor. Personally, I use XPCE (see Prolog WWW home). For those whishing a proper Prolog mode for GNU-Emacs, I got the following pointers from Sam Steel: ``Fortunately there seems to be such an interface: though I suspect you know it and know of some problem I have missed. Though I have only used it for a short while, it seems to work for me. The only problem is that the interaction between it and the pager for the online help is imperfect. It is the prolog.el mode for Emacs-20 at http://www.freesoft.cz/~pdm/software/emacs/prolog-mode/ There is also apparently a version for Emacs-19 at http://w1.858.telia.com/~u85810764/Prolog-mode/index.html but I have not used this. Both appear to be freely redistributable. SWI Prolog is one of the flavours of Prolog explicitly handled.'' MODIFYING SWI-Prolog ==================== You are free to modify SWI-Prolog under the GPL-2. As we also provide licenses for use with proprietary software, your changes will only be integrated into the base system if you grant us the copyright. CONTRIBUTING ============ There are a number of ways in which you can contribute to the success of SWI-Prolog. If you encounter problems or have suggestions, please send them to prolog-bugs@swi.psy.uva.nl. If you write applications, please acknowledge the use of SWI-Prolog in your application. If your application has a web-page, please link to the SWI-Prolog home page (see the top of this file). If you write reusable libraries, consider providing them to the SWI-Prolog user community as a package (see the SWI-Prolog home page). Finally, if you use SWI-Prolog for commercial purposes, consider buying a commercial license. It allows you to use the system without the restrictions imposed by the GPL and helps us to find the resources for maintaining and improving SWI-Prolog.