75b2645e3f
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1580 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
203 lines
8.8 KiB
Plaintext
203 lines
8.8 KiB
Plaintext
=================================================================
|
|
Logtalk - Object oriented extension to Prolog
|
|
Release 2.27.1
|
|
|
|
Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
|
|
=================================================================
|
|
|
|
|
|
This file contains detailed instructions for installing and configuring
|
|
Logtalk. You should also consult the "scripts/NOTES" file for a description
|
|
of a set of shell scripts that might be used for Logtalk installation on
|
|
some operating-systems and for easy Logtalk integration with popular
|
|
Prolog compilers.
|
|
|
|
Note that the broad compatibility of Logtalk, both with Prolog compilers and
|
|
operating-systems, together with all the possible user scenarios, means that
|
|
installation can vary from very simple by running a couple of scripts to the
|
|
need of patching both Logtalk and Prolog compilers to workaround the lack of
|
|
strong Prolog standards.
|
|
|
|
|
|
1. LOGTALK BASIC INSTALLATION
|
|
|
|
Installing Logtalk can be as simple as decompressing the downloaded archive
|
|
and copying the resulting directory to a suitable location. This location
|
|
depends on the working environment and on the number of users. The Logtalk
|
|
directory can reside in any user accessible location. Whenever possible, it
|
|
is recommended that Logtalk be installed by a user with administrative rights,
|
|
as described below. This leads to a setup where each Logtalk user may freely
|
|
try and modify the provided examples, library, and configuration files with
|
|
the option of, at any time, restoring the files to its original state by
|
|
simply running one of the provided scripts.
|
|
|
|
|
|
* Installing for a single user with no administrative rights:
|
|
|
|
In the case of a single user with no administrative rights, the Logtalk
|
|
directory may simply be copied to the user home directory.
|
|
|
|
|
|
* Installing for one or more users by a user with administrative rights:
|
|
|
|
In the case of installation by a user with administrative rights, the Logtalk
|
|
directory can be copied to any location that its accessible by all the users
|
|
(assuming that copying the Logtalk directory to each user home directory is,
|
|
for some reason, not feasible or desired).
|
|
|
|
The "scripts" sub-directory contains shell scripts for easy installation of
|
|
Logtalk on MacOS X, Windows, Linux, and Unix-like (POSIX) operating systems
|
|
(see the "scripts/NOTES" file for details).
|
|
|
|
>> POSIX systems installation (starting from the Logtalk directory):
|
|
|
|
% cd scripts
|
|
% sudo ./lgt_install.sh
|
|
|
|
>> Windows installation (starting from the Logtalk directory):
|
|
|
|
C:\logtalk> cd scripts
|
|
C:\logtalk> cscript lgt_install.js
|
|
RESTART
|
|
|
|
The "scripts/lgt_install.*" installation scripts make all files read-only in
|
|
order to avoid user tempering. This is a convenient setup for computer labs,
|
|
given that making directories world-writable is a security risk.
|
|
|
|
|
|
2. SETTING LOGTALK ENVIRONMENT VARIABLES
|
|
|
|
You need to set two environment variables, LOGTALKHOME and LOGTALKUSER. The
|
|
environment variable LOGTALKHOME should point to the Logtalk installation
|
|
directory. The environment variable LOGTALKUSER should point to a directory
|
|
in your home directory where you want to store the user-specific Logtalk files
|
|
(for example, ~/logtalk). Both environment variables may be set for all users
|
|
by a user with administration privileges. The two environment variables can
|
|
have the same value if you are the only Logtalk user on your computer and if
|
|
you have full permissions to the Logtalk installation directory. In addition,
|
|
you may want to add the Logtalk sub-directory "xml", which contains useful
|
|
scripts for processing XML documenting files, to your execution path.
|
|
|
|
>> POSIX systems:
|
|
|
|
If you use a csh shell, add the following line to your ~/.cshrc file:
|
|
|
|
setenv LOGTALKHOME /your/logtalk/installation/directory
|
|
setenv LOGTALKUSER $HOME/logtalk
|
|
setenv PATH $PATH:$LOGTALKHOME/xml:$LOGTALKHOME/scripts
|
|
|
|
If you use a bash shell, add the following lines to your ~/.profile file:
|
|
|
|
LOGTALKHOME=/your/logtalk/installation/directory
|
|
LOGTALKUSER=$HOME/logtalk
|
|
PATH=$PATH:$LOGTALKHOME/xml:$LOGTALKHOME/scripts
|
|
export PATH LOGTALKHOME LOGTALKUSER
|
|
|
|
When using the provided shell script for installing Logtalk, a symbolic link
|
|
to the Logtalk installation directory is automatically created. The link is
|
|
named "logtalk". In this case, you may use this symbolic link to define the
|
|
LOGTALKHOME environment variable in order to avoid breaking it when upgrading
|
|
Logtalk.
|
|
|
|
>> Windows systems:
|
|
|
|
In Windows 2000/XP, environment variables are defined using the System
|
|
properties control panel. If you are a system administrator, the "scripts/
|
|
lgt_install.js" JScript install script sets the LOGTALKHOME environment
|
|
variable for all users and also sets the LOGTALKUSER environment variable
|
|
for the administrator user running the script.
|
|
|
|
|
|
3. COPYING THE LOGTALK USER-MODIFIABLE FILES TO USERS HOME DIRECTORIES
|
|
|
|
If you installed Logtalk on your home directory, then skip this step if you
|
|
have set both Logtalk environment variables (LOGTALKHOME and LOGTALKUSER) to
|
|
point to the same directory.
|
|
|
|
Each user must make a local copy of the Logtalk user-modifiable files to its
|
|
home directory. This setup allows each user to easily and independently
|
|
customize Logtalk to its needs. These copies can be easily made by instructing
|
|
end-users to simply run the shell scripts "cplgtdirs.*" (which are described
|
|
in the "scripts/NOTES" file).
|
|
|
|
>> POSIX systems:
|
|
|
|
% cplgtdirs
|
|
|
|
>> Windows:
|
|
|
|
C:\> cplgtdirs
|
|
|
|
The local copies made by the "cplgtdirs" scripts have both read and write
|
|
permissions for the user running the script. When used with one of the
|
|
Prolog compilers for which an integration script is provided on the "scripts"
|
|
directory, this setup as the advantage of allowing each end-user to
|
|
independently customize default compilation options and library paths.
|
|
|
|
|
|
4. CREATING NEW PROLOG TOP-LEVELS FOR AUTOMATIC LOADING OF LOGTALK
|
|
|
|
Most Prolog compilers allows the user to define an initialization file that
|
|
is automatically consulted at startup. This initialization file may contain
|
|
directives for loading other files, such as the Logtalk configuration file
|
|
and the Logtalk compiler. The "$LOGTALKHOME/scripts" sub-directory contains
|
|
several scripts (named "make_*lgt.*") for automating the creation of these
|
|
initialization files for some Prolog compilers. In addition, be sure to read
|
|
the "configs/NOTES" file notes on the Prolog compilers that you intend to use.
|
|
There are also "makeall_lgt.*" scripts that try to run all the individual
|
|
"make_*lgt.*" scripts:
|
|
|
|
>> POSIX systems:
|
|
|
|
% cd $LOGTALKHOME/scripts
|
|
% sudo ./makeall_lgt.sh
|
|
|
|
>> Windows:
|
|
|
|
C:\> cd %LOGTALKHOME%\scripts
|
|
C:\> cscript makeall_lgt.js
|
|
|
|
This assumes that your favorite Prolog compilers are supported by the
|
|
"make_*lgt.*" scripts. If that is not the case, don't worry: just follow
|
|
the steps described in the "QUICK_START" file.
|
|
|
|
|
|
5. SETTING LIBRARY PATHS
|
|
|
|
In Logtalk, a library is simply a directory containing source files. Library
|
|
paths can be declared using a dynamic predicate. This allows compiling and
|
|
loading of libraries and library files to be performed without worries about
|
|
library paths. Assuming that you have used the "scripts/cplgtdirs.*" shell
|
|
scripts for making a copy of the user-modifiable Logtalk files, you will find
|
|
in the "$LOGTALKUSER/libpaths" directory a sample file which, when loaded,
|
|
defines the library paths for the Logtalk standard library and for all the
|
|
supplied examples. This file may need to be edited to match your Logtalk
|
|
installation and your Prolog compiler and operating-system requirements. For
|
|
more details, see the file "$LOGTALKUSER/libpaths/NOTES".
|
|
|
|
|
|
6. CUSTOMIZING PROLOG CONFIGURATION FILES
|
|
|
|
Logtalk interfaces with a specific Prolog compiler via a configuration file
|
|
that can be found on the "$LOGTALKUSER/configs" directory. These configuration
|
|
files can be customized by changing the values of the default flags that are
|
|
used by Logtalk when compiling source files. For a full description of these
|
|
default flags, consult the "Running and debugging Logtalk programs" section of
|
|
the User Manual. Some of the default flags that you may want to change are:
|
|
"smart_compilation", "startup_message", "portability", "underscore_vars",
|
|
"altdirs", and the set of documentation-related flags ("xmldocs", "xslfile",
|
|
"xmlspec", and "xmlsref"). Be sure to read the "$LOGTALKUSER/configs/NOTES"
|
|
file for Prolog specific notes; some Prolog compilers do not support the whole
|
|
range of compilation flag values.
|
|
|
|
|
|
7. CUSTOMIZING DOCUMENTATION PROCESSING SCRIPTS AND SUPPORTING FILES
|
|
|
|
Logtalk provides, in the "$LOGTALKUSER/xml" directory, a set of shell scripts,
|
|
CSS and XSLT style-sheets, and DTD and XML Schema files for processing the XML
|
|
documenting files that are automatically generated when you compile source
|
|
files. You may want to customize these CSS and XSLT files to modify the layout
|
|
or style of the resulting PDF/(X)HTML files or to write new scripts and
|
|
transformations to generate other formats. For more details, see the file
|
|
"$LOGTALKUSER/xml/NOTES".
|