Logtalk 2.30.1 files.

git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1903 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
pmoura
2007-06-12 10:39:47 +00:00
parent 84f478c301
commit 6b4bde14e1
475 changed files with 6213 additions and 6424 deletions

View File

@@ -1,55 +1,54 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.29.5
================================================================
Logtalk - Open source object-oriented logic programming language
Release 2.30.1
Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
=================================================================
================================================================
This directory contains several shell scripts used for Logtalk packaging,
This directory contains some shell scripts used for Logtalk packaging,
installation, and integration with Prolog compilers. Those with extension
".sh" are Bourne-compatible shells scripts for MacOS X, Linux, and similar
systems. Those with extension ".js" are JScript command-line scripts for
Windows; they require WSH 5.6 or later version to be installed and should
be run using cscript.exe from a DOS command line shell (you may download
WSH 5.6 from http://msdn.microsoft.com/downloads/list/webdev.asp)
WSH 5.6 from http://msdn.microsoft.com/downloads/list/webdev.asp).
build_release.sh
helper script for building the distribution files of a new Logtalk release
helper script for building most of the distribution files of a new
Logtalk release
lgt_install.sh
cleandist.sh
script for cleaning a Logtalk distribution in preparation for packaging
install.sh
shell script for installing Logtalk in a system-wide location for Unix
and Unix-like operating systems (must be run from this directory by a
user with administration privileges; accepts as an optional argument
a prefix for the installation directory, default is "/usr/local" with
useful scripts written to "/usr/local/bin", which should be your path)
lgt_install.js
Windows 2000/XP JScript script for completing the Logtalk installation by
setting the LOGTALKHOME system environment variable and the LOGTALKUSER
user environment variable (for the user performing the installation), by
creating a new program group named "Logtalk" in the Windows Start Menu,
and by adding the directories "%LOGTALKHOME%\scripts" and "%LOGTALKHOME%\xml"
to the system path environment variable (must be run from this directory
by a user with administration privileges after decompressing the Logtalk
distribution into its final destination; you must restart your computer
after running this script in order to use the items on the "Logtalk"
program group due to the definition of new system environment variables)
a prefix for the installation directory: default is "/opt/local" on
Darwin and "/usr/local" on other POSIX systems, resulting in Logtalk
being installed in "$prefix/share" with useful scripts written to
"$prefix/bin", which should be your path)
linux/build_rpm.sh
simple shell script for building Linux RPMs
uninstall.sh
shell script for de-installing Logtalk in Unix and Unix-like operating
systems (must be run from this directory by a user with administration
privileges)
linux/logtalk.spec
specification file for building Linux RPMs
(copy the Logtalk tarball to your RPM SOURCES directory and then
run the command: rpmbuild -ba --target=noarch-*-linux logtalk.spec)
debian
directory containing support files for building a Debian package
(work in progress; experimental)
linux
directory containing files used when building
macosx
directory containing files used when building MacOS X installer packages
directory containing files used when building MacOS X installer
packages
windows/logtalk.iss
Inno Setup GUI Windows installer script; you may compile it with Inno
Setup 5.1.9 or later version to produce a Windows 2000/XP GUI installer
(http://www.jrsoftware.org/isinfo.php)
windows
directory containing files used when building Windows 2000/XP GUI
installers
cplgtdirs.sh
cplgtdirs.js
@@ -58,130 +57,6 @@ cplgtdirs.js
LOGTALKUSER (defaults to "~/logtalk" on POSIX operating-systems
and to "My Documents\Logtalk" on Windows when the variable is not
defined); must be run by the end-user in order to ensure proper
permissions for the copied files
cleandist.sh
script for cleaning a Logtalk distribution in preparation for packaging
debian
directory containing support files for building a Debian package
(work in progress; not yet functional)
The following scripts allow easy integration of Logtalk with selected Prolog
compilers; they must be run by a user with administration privileges:
make_ciaolgt.sh
makes a shell script named "ciaolgt" for running Logtalk with CIAO Prolog
(the first run of the "ciaolgt" script must be made as root or using sudo)
make_ciaolgt.js
makes a Windows shortcut named "Logtalk - CIAO" for running Logtalk with
CIAO 1.10 (the first call to the shortcut must be made by a user with
administrative rights)
make_eclipselgt.sh
makes a shell script named "eclipselgt" for running Logtalk with ECLiPSe
make_eclipselgt.js
makes a Windows shortcut named "Logtalk - ECLiPSe" for running Logtalk
with ECLiPSe 5.11 or 5.10 (if you are using a different version, you must
edit the reference to the registry key in the script; if you prefer to use
TkEclipse, open the "%LOGTALKHOME%\bin\logtalke_eclipse.pl" file with it)
make_gplgt.sh
makes a shell script named "gplgt" for running Logtalk with GNU Prolog
(this script is adequate for development purposes but does not provide
the best possible performance for running Logtalk with this Prolog
compiler; for optimal performance, see the "configs/NOTES.txt" file)
make_gplgt.js
makes a Windows shortcut named "Logtalk - GNU Prolog" for running Logtalk
with GNU Prolog (this script is adequate for development purposes but does
not provide the best possible performance for running Logtalk with this
Prolog compiler; for optimal performance, see the "configs/NOTES.txt" file)
make_plclgt.sh
makes a shell script named "plclgt" for running Logtalk with K-Prolog
make_plclgt.js
makes a Windows shortcut named "Logtalk - K-Prolog" for running Logtalk
with K-Prolog
make_qplgt.sh
makes a shell script named "qplgt" for running Logtalk with Qu-Prolog
(based on script code contributed by Peter Robinson); this script does
not read at runtime the config and the libpaths files: you will need to
run this script again if you modify these files
make_sicstuslgt.sh
makes a shell script named "sicstuslgt" for running Logtalk with SICStus
Prolog
make_sicstuslgt.js
makes a Windows shortcut named "Logtalk - SICStus Prolog" for running
Logtalk with SICStus Prolog 3.12 or 4.0 (if you are using a different
version, you must edit the reference to the registry key in the script)
make_swilgt.sh
makes a shell script named "swilgt" for running Logtalk with SWI-Prolog;
the script assumes that the SWI-Prolog executable is named "swipl" on
MacOS X and named "pl" on Linux and other similar operating systems;
with multi-threading support turned on, you will get an warmless message
when halting the system regarding threads that wouldn't die: you can
supress the message by using "% swilgt 2> /dev/null"
make_swilgt.js
makes a Windows shortcut named "Logtalk - SWI-Prolog" for running
Logtalk´with SWI-Prolog
make_yaplgt.sh
makes a shell script named "yaplgt" for running Logtalk with YAP
make_yaplgt.js
makes a Windows shortcut named "Logtalk - YAP" for running Logtalk
with YAP (assumes that the Yap folder is installed in "C:\Program Files";
edit the path to the "yap.exe" executable in the script if necessary)
make_xsblgt.sh
makes a shell script named "xsblgt" for running Logtalk with XSB (the
first run of the "xsblgt" script must be made as root or using sudo);
due to lack of XSB support for dealing with environment variables in
file paths, each user must set the environment variable LOGTALKUSER to
"~/logtalk"
make_xsblgt.js
makes a Windows shortcut named "Logtalk - XSB" for running Logtalk
with XSB (the first call to the shortcut must be made by a user with
administrative rights; assumes that XSB is installed in "C:\", edit
the path to the "xsb.exe" executable in the script if necessary; each
user will need to edit the file "libpaths/libpaths_no_env_var.pl" in
order to replace all occurrences of the LOGTALKUSER environment variable
with its value)
makeall_lgt.sh
simple shell script for running all the "make_*lgt.sh" shell scripts
in sequence (except the "make_qplgt.sh" as this script implies
modifications to the Logtalk files which are not necessary for the
other Prolog compilers); note that this script will not print any of
the special instructions, remarks, or error messages that you may get
when running the "make_*lgt.sh" shell scripts individually
makeall_lgt.js
simple shell script for running all the "make_*lgt.js" shell scripts
in sequence; note that this script will not print any of the special
instructions, remarks, or error messages that you may get when running
the "make_*lgt.js" shell scripts individually
These scripts require the environment variable LOGTALKHOME (pointing
to the Logtalk installation directory) to be defined. The "*.sh" shell
scripts accept as an optional argument a prefix for the location of a
link to the scripts (default is "/usr/local", creating the links in
"/usr/local/bin"). The "*.js" scripts add the created shortcuts to the
"Logtalk" program group (which is accessed from the Windows Start Menu).
Please note that the environment variables LOGTALKHOME and LOGTALKUSER
must be defined in order to run the "*lgt" scripts that are created by
the shell scripts above or the Windows shortcuts (see the "INSTALL.txt"
file for details on setting the variables).
When Logtalk is manually installed from sources, the shell scripts
might not have the executable permission bit set. In that case it will
be necessary to first run the command "chmod a+x *.sh" on the "scripts"
and "xml" directories.
Depending on the size and complexity of your Logtalk applications, you
may need to change the integration scripts in order to allocate more
memory to Prolog compilers. Please consult the documentation on the
Prolog compilers you intend to use for details.
permissions for the copied files; the LOGTALKHOME environment
variable must be defined (pointing to the Logtalk installation
directory)

View File

@@ -1,54 +1,86 @@
#!/bin/sh
## =================================================================
## Logtalk - Object oriented extension to Prolog
## Release 2.29.5
## ================================================================
## Logtalk - Open source object-oriented logic programming language
## Release 2.30.1
##
## Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
## =================================================================
## ================================================================
dir=`PWD`
cvs -d :pserver:anonymous@cvs.logtalk.org:/usr/local/cvsroot checkout logtalk
svn export http://svn.logtalk.org/logtalk/trunk logtalk
cd logtalk
scripts/cleandist.sh
find . -type f -print0 | xargs -0 chmod 644
find . -type d -print0 | xargs -0 chmod 755
chmod a+x integration/*.sh
chmod a+x manuals/userman/*.sh
chmod a+x manuals/refman/*.sh
chmod a+x scripts/*.sh
chmod a-x scripts/*.js
chmod a+x scripts/debian/postinst
chmod a+x scripts/debian/prerm
chmod a+x scripts/debian/postrm
chmod a+x scripts/linux/*.sh
chmod a+x scripts/macosx/postflight
chmod a+x xml/*.sh
chmod a-x xml/*.js
cd ..
cp -R logtalk/manuals man2295
tar -czf man2295.tgz man2295
mv logtalk lgt2295
tar -czf lgt2295.tgz lgt2295
cp -R logtalk/manuals man2301
tar -czf man2301.tgz man2301
mv logtalk lgt2301
tar -cjf lgt2301.tar.bz2 lgt2301
md5="`md5 -q lgt2295.tgz`"
mkdir -p debian/usr/bin
mkdir -p debian/usr/share/doc/logtalk
mkdir -p debian/usr/share/doc-base
mkdir -p debian/usr/share/menu
mkdir -p debian/DEBIAN
cd lgt2301/scripts
./install.sh $dir/debian/usr
cp debian/logtalk.doc-base $dir/debian/usr/share/doc-base/logtalk-docs
cp debian/menu $dir/debian/usr/share/menu/logtalk
cp ../*.bib $dir/debian/usr/share/doc/logtalk
cp ../*.txt $dir/debian/usr/share/doc/logtalk
cp debian/copyright $dir/debian/usr/share/doc/logtalk
cp debian/changelog $dir/debian/usr/share/doc/logtalk
cp debian/changelog.Debian $dir/debian/usr/share/doc/logtalk
gzip --best $dir/debian/usr/share/doc/logtalk/*.bib
gzip --best $dir/debian/usr/share/doc/logtalk/*.txt
gzip --best $dir/debian/usr/share/doc/logtalk/changelog
gzip --best $dir/debian/usr/share/doc/logtalk/changelog.Debian
cp debian/control $dir/debian/DEBIAN
cp debian/postinst $dir/debian/DEBIAN
cp debian/prerm $dir/debian/DEBIAN
cp debian/postrm $dir/debian/DEBIAN
cd $dir
dpkg-deb --build debian logtalk_2.30.1-1_all.deb
md5="`md5 -q lgt2301.tar.bz2`"
sudo mkdir -p /opt/local/var/db/dports/distfiles/logtalk
sudo cp -f lgt2295.tgz /opt/local/var/db/dports/distfiles/logtalk/lgt2295.tgz
sudo cp -f lgt2301.tar.bz2 /opt/local/var/db/dports/distfiles/logtalk/lgt2301.tar.bz2
cd /opt/local/var/db/dports/sources/rsync.rsync.darwinports.org_dpupdate_dports/lang/logtalk/
sudo cp -f Portfile Portfile.old
sudo sed -e 's/^version.*/version 2.29.5/' -i '' Portfile
sudo sed -e 's/^version.*/version 2.30.1/' -i '' Portfile
sudo sed -e "s/^checksums.*/checksums md5 $md5/" -i '' Portfile
sudo sed -e 's/^distname.*/distname lgt2295/' -i '' Portfile
sudo sed -e 's/^distname.*/distname lgt2301/' -i '' Portfile
sudo sed -e 's/^extract\.suffix.*/extract.suffix .tar.bz2/' -i '' Portfile
sudo port clean --archive logtalk
sudo port install logtalk
sudo port destroot logtalk
sudo port pkg logtalk
cp -R work/logtalk-2.29.5.pkg $dir
sudo port uninstall logtalk
cp -R work/logtalk-2.30.1.pkg $dir
sudo port clean logtalk
cd $dir
mkdir manpdf2295
cd man2295/userman
mkdir manpdf2301
cd man2301/userman
./userman.sh
mv userman.pdf ../../manpdf2295
mv userman.pdf ../../manpdf2301
cd ../refman
./refman.sh
mv refman.pdf ../../manpdf2295
mv refman.pdf ../../manpdf2301
cd ../..
tar -czf manpdf2295.tgz manpdf2295
tar -czf manpdf2301.tgz manpdf2301

View File

@@ -1,11 +1,11 @@
#!/bin/sh
## =================================================================
## Logtalk - Object oriented extension to Prolog
## Release 2.29.5
## ================================================================
## Logtalk - Open source object-oriented logic programming language
## Release 2.30.1
##
## Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
## =================================================================
## ================================================================
find . -name .svn -print0 | xargs -0 rm -rf
find . -name CVS -print0 | xargs -0 rm -rf

View File

@@ -1,9 +1,9 @@
// =================================================================
// Logtalk - Object oriented extension to Prolog
// Release 2.29.5
// ================================================================
// Logtalk - Open source object-oriented logic programming language
// Release 2.30.1
//
// Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
// =================================================================
// ================================================================
if (ScriptEngineMajorVersion() < 5 || ScriptEngineMajorVersion() == 5 && ScriptEngineMinorVersion() < 6) {
WScript.Echo('Error! WSH 5.6 or later version needed for running this script.');
@@ -80,6 +80,7 @@ FSObject.CreateFolder(logtalk_user);
WScript.Echo("Copying Logtalk files and directories...");
FSObject.CopyFolder(logtalk_home + "\\configs", logtalk_user + "\\configs");
FSObject.CopyFile(logtalk_user + "\\configs\\xsb.config", logtalk_user + "\\configs\\xsb.pl");
FSObject.CopyFile(logtalk_user + "\\configs\\xsbcvs.config", logtalk_user + "\\configs\\xsbcvs.pl");
FSObject.CopyFolder(logtalk_home + "\\contributions", logtalk_user + "\\contributions");
FSObject.CopyFolder(logtalk_home + "\\examples", logtalk_user + "\\examples");
FSObject.CopyFolder(logtalk_home + "\\libpaths", logtalk_user + "\\libpaths");
@@ -121,6 +122,11 @@ link.Description = "Shortcut to Logtalk DTD";
link.TargetPath = logtalk_home + "\\xml\\logtalk.dtd";
link.Save();
link = WshShell.CreateShortcut(logtalk_user + "\\xml\\logtalk.rng.lnk");
link.Description = "Shortcut to Logtalk RELAX NG Schema";
link.TargetPath = logtalk_home + "\\xml\\logtalk.rng";
link.Save();
link = WshShell.CreateShortcut(logtalk_user + "\\xml\\logtalk.xsd.lnk");
link.Description = "Shortcut to Logtalk XML Schema";
link.TargetPath = logtalk_home + "\\xml\\logtalk.xsd";
@@ -140,6 +146,8 @@ WScript.Echo("the configuration file for your Prolog compiler found in the direc
WScript.Echo("");
WScript.Echo(" " + logtalk_user + "\\configs");
WScript.Echo("");
WScript.Echo("See the \%LOGTALKUSER\%\\CUSTOMIZE.txt file for details.");
WScript.Echo("");
WScript.Quit(0);

View File

@@ -1,27 +1,43 @@
#!/bin/sh
## =================================================================
## Logtalk - Object oriented extension to Prolog
## Release 2.29.5
## ================================================================
## Logtalk - Open source object-oriented logic programming language
## Release 2.30.1
##
## Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
## =================================================================
## ================================================================
echo
echo "This script copies the Logtalk user-modifiable files and directories"
echo "to the user home directory. The location can be set by the environment"
echo "variable \$LOGTALKUSER (defaults to ~/logtalk when the variable is not"
echo "variable \$LOGTALKUSER (defaults to \"~/logtalk\" when the variable is not"
echo "defined)"
echo
if ! [ "$LOGTALKHOME" ]
then
echo "The environment variable LOGTALKHOME must be defined first!"
if ! [ "$LOGTALKHOME" ]; then
echo "The environment variable LOGTALKHOME should be defined first!"
echo "Trying default Logtalk installation directories..."
if [ -d "/usr/local/share/logtalk" ]; then
LOGTALKHOME=/usr/local/share/logtalk
echo "Using Logtalk installation at \"/usr/local/share/logtalk\""
elif [ -d "/usr/share/logtalk" ]; then
LOGTALKHOME=/usr/share/logtalk
echo "Using Logtalk installation at \"/usr/share/logtalk\""
elif [ -d "/opt/local/share/logtalk" ]; then
LOGTALKHOME=/opt/local/share/logtalk
echo "Using Logtalk installation at \"/opt/local/share/logtalk\""
elif [ -d "/opt/share/logtalk" ]; then
LOGTALKHOME=/opt/share/logtalk
echo "Using Logtalk installation at \"/opt/share/logtalk\""
else
echo "Unable to locate Logtalk installation directory!"
echo
exit 1
fi
echo "After the script completion, you must set the environment variable"
echo "LOGTALKHOME pointing to \"$LOGTALKHOME\"."
echo
exit 1
fi
if ! [ -d "$LOGTALKHOME" ]; then
elif ! [ -d "$LOGTALKHOME" ]; then
echo "The environment variable LOGTALKHOME points to a non-existing directory!"
echo "Its current value is: $LOGTALKHOME"
echo "The variable must be set to your Logtalk installation directory!"
@@ -33,7 +49,7 @@ if ! [ "$LOGTALKUSER" ]
then
LOGTALKUSER=$HOME/logtalk
echo "After the script completion, you must set the environment variable"
echo "LOGTALKUSER pointing to $LOGTALKUSER"
echo "LOGTALKUSER pointing to \"$LOGTALKUSER\"."
echo
fi
@@ -41,7 +57,7 @@ if [ -d "$LOGTALKUSER" ]
then
date=`eval date \"+%Y-%m-%d %H-%M-%S\"`
mv $LOGTALKUSER "$LOGTALKUSER backup $date"
echo "Created a backup of the existing $LOGTALKUSER directory."
echo "Created a backup of the existing \"$LOGTALKUSER\" directory."
echo
fi
@@ -54,6 +70,7 @@ mkdir -p "$LOGTALKUSER"/library
mkdir -p "$LOGTALKUSER"/xml
cp -RL "$LOGTALKHOME"/configs "$LOGTALKUSER"/
ln -sf xsb.config "$LOGTALKUSER"/configs/xsb.pl
ln -sf xsbcvs.config "$LOGTALKUSER"/configs/xsbcvs.pl
cp -RL "$LOGTALKHOME"/contributions "$LOGTALKUSER"/
cp -RL "$LOGTALKHOME"/examples "$LOGTALKUSER"/
cp -RL "$LOGTALKHOME"/libpaths "$LOGTALKUSER"/
@@ -78,14 +95,17 @@ ln -sf "$LOGTALKHOME"/xml/lgt2html.sh "$LOGTALKUSER"/xml/lgt2html
ln -sf "$LOGTALKHOME"/xml/lgt2pdf.sh "$LOGTALKUSER"/xml/lgt2pdf
ln -sf "$LOGTALKHOME"/xml/lgt2xml.sh "$LOGTALKUSER"/xml/lgt2xml
ln -sf "$LOGTALKHOME"/xml/logtalk.dtd "$LOGTALKUSER"/xml/logtalk.dtd
ln -sf "$LOGTALKHOME"/xml/logtalk.rng "$LOGTALKUSER"/xml/logtalk.rng
ln -sf "$LOGTALKHOME"/xml/logtalk.xsd "$LOGTALKUSER"/xml/logtalk.xsd
echo "Finished copying Logtalk files and directories."
echo
echo "You may need to edit the \$LOGTALKUSER/libpaths/libpaths.pl file to match"
echo "your Prolog compiler and operating-system requirements or to add your own"
echo "library paths."
echo "You may need to edit the \"$LOGTALKUSER/libpaths/libpaths.pl\""
echo "file to match your Prolog compiler and operating-system requirements or"
echo "to add your own library paths."
echo
echo "You may want to customize the default Logtalk compiler flags by editing"
echo "the configuration file for your Prolog compiler found in the directory"
echo "\$LOGTALKUSER/configs."
echo "\"$LOGTALKUSER/configs\"."
echo "For more information on customizing Logtalk and your working environment,"
echo "consult the \"$LOGTALKUSER/CUSTOMIZE.txt\" file."
echo

View File

@@ -0,0 +1,5 @@
logtalk (2.30.1-1) unstable; urgency=low
* Initial Release.
-- Paulo Moura <pmoura@logtalk.org> Sat May 29 10:52:34 WEST 2007

View File

@@ -0,0 +1,3 @@
Logtalk Debian maintainer and upstream author are the same.
Consult the normal changelog file for any Debian changes.
Consult the RELEASE_NOTES.txt file for Logtalk changes.

View File

@@ -1,9 +1,14 @@
Source: logtalk
Version: 2.29.5
Package: logtalk
Version: 2.30.1
Maintainer: Paulo Moura <pmoura@logtalk.org>
Section: devel
Priority: optional
Architecture: any
Architecture: all
Essential: no
Recommends: swi-prolog | gprolog
Maintainer: Paulo Moura <pmoura@logtalk.org>
Description: Logtalk is an open source object-oriented extension to the Prolog programming language. Integrating logic programming with object-oriented and event-driven programming, it is compatible with most Prolog compilers. It supports both prototypes and classes. In addition, it supports component-based programming through category-based composition.
Description: Open source object-oriented logic programming language.
Logtalk is an open source object-oriented logic programming language
that can use most Prolog implementations as a back-end compiler.
As a multi-paradigm language, Logtalk includes support for both
prototypes and classes, protocols, component-based programming
through category-based composition, event-driven programming, and
multi-threading programming.

View File

@@ -0,0 +1,210 @@
This package was debianized by Paulo Moura <pmoura@logtalk.org>.
It was downloaded from: http://logtalk.org/files/
This software is copyright (c) 1998-2007 by Paulo Moura, Logtalk.org
You are free to distribute this software under the terms of
the The Artistic License 2.0:
The Artistic License 2.0
Copyright (c) 2000-2006, The Perl Foundation.
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
This license establishes the terms under which a given free software
Package may be copied, modified, distributed, and/or redistributed.
The intent is that the Copyright Holder maintains some artistic
control over the development of that Package while still keeping the
Package available as open source and free software.
You are always permitted to make arrangements wholly outside of this
license directly with the Copyright Holder of a given Package. If the
terms of this license do not permit the full use that you propose to
make of the Package, you should contact the Copyright Holder and seek
a different licensing arrangement.
Definitions
"Copyright Holder" means the individual(s) or organization(s)
named in the copyright notice for the entire Package.
"Contributor" means any party that has contributed code or other
material to the Package, in accordance with the Copyright Holder's
procedures.
"You" and "your" means any person who would like to copy,
distribute, or modify the Package.
"Package" means the collection of files distributed by the
Copyright Holder, and derivatives of that collection and/or of
those files. A given Package may consist of either the Standard
Version, or a Modified Version.
"Distribute" means providing a copy of the Package or making it
accessible to anyone else, or in the case of a company or
organization, to others outside of your company or organization.
"Distributor Fee" means any fee that you charge for Distributing
this Package or providing support for this Package to another
party. It does not mean licensing fees.
"Standard Version" refers to the Package if it has not been
modified, or has been modified only in ways explicitly requested
by the Copyright Holder.
"Modified Version" means the Package, if it has been changed, and
such changes were not explicitly requested by the Copyright
Holder.
"Original License" means this Artistic License as Distributed with
the Standard Version of the Package, in its current version or as
it may be modified by The Perl Foundation in the future.
"Source" form means the source code, documentation source, and
configuration files for the Package.
"Compiled" form means the compiled bytecode, object code, binary,
or any other form resulting from mechanical transformation or
translation of the Source form.
Permission for Use and Modification Without Distribution
(1) You are permitted to use the Standard Version and create and use
Modified Versions for any purpose without restriction, provided that
you do not Distribute the Modified Version.
Permissions for Redistribution of the Standard Version
(2) You may Distribute verbatim copies of the Source form of the
Standard Version of this Package in any medium without restriction,
either gratis or for a Distributor Fee, provided that you duplicate
all of the original copyright notices and associated disclaimers. At
your discretion, such verbatim copies may or may not include a
Compiled form of the Package.
(3) You may apply any bug fixes, portability changes, and other
modifications made available from the Copyright Holder. The resulting
Package will still be considered the Standard Version, and as such
will be subject to the Original License.
Distribution of Modified Versions of the Package as Source
(4) You may Distribute your Modified Version as Source (either gratis
or for a Distributor Fee, and with or without a Compiled form of the
Modified Version) provided that you clearly document how it differs
from the Standard Version, including, but not limited to, documenting
any non-standard features, executables, or modules, and provided that
you do at least ONE of the following:
(a) make the Modified Version available to the Copyright Holder
of the Standard Version, under the Original License, so that the
Copyright Holder may include your modifications in the Standard
Version.
(b) ensure that installation of your Modified Version does not
prevent the user installing or running the Standard Version. In
addition, the Modified Version must bear a name that is different
from the name of the Standard Version.
(c) allow anyone who receives a copy of the Modified Version to
make the Source form of the Modified Version available to others
under
(i) the Original License or
(ii) a license that permits the licensee to freely copy,
modify and redistribute the Modified Version using the same
licensing terms that apply to the copy that the licensee
received, and requires that the Source form of the Modified
Version, and of any works derived from it, be made freely
available in that license fees are prohibited but Distributor
Fees are allowed.
Distribution of Compiled Forms of the Standard Version
or Modified Versions without the Source
(5) You may Distribute Compiled forms of the Standard Version without
the Source, provided that you include complete instructions on how to
get the Source of the Standard Version. Such instructions must be
valid at the time of your distribution. If these instructions, at any
time while you are carrying out such distribution, become invalid, you
must provide new instructions on demand or cease further distribution.
If you provide valid instructions or cease distribution within thirty
days after you become aware that the instructions are invalid, then
you do not forfeit any of your rights under this license.
(6) You may Distribute a Modified Version in Compiled form without
the Source, provided that you comply with Section 4 with respect to
the Source of the Modified Version.
Aggregating or Linking the Package
(7) You may aggregate the Package (either the Standard Version or
Modified Version) with other packages and Distribute the resulting
aggregation provided that you do not charge a licensing fee for the
Package. Distributor Fees are permitted, and licensing fees for other
components in the aggregation are permitted. The terms of this license
apply to the use and Distribution of the Standard or Modified Versions
as included in the aggregation.
(8) You are permitted to link Modified and Standard Versions with
other works, to embed the Package in a larger work of your own, or to
build stand-alone binary or bytecode versions of applications that
include the Package, and Distribute the result without restriction,
provided the result does not expose a direct interface to the Package.
Items That are Not Considered Part of a Modified Version
(9) Works (including, but not limited to, modules and scripts) that
merely extend or make use of the Package, do not, by themselves, cause
the Package to be a Modified Version. In addition, such works are not
considered parts of the Package itself, and are not subject to the
terms of this license.
General Provisions
(10) Any use, modification, and distribution of the Standard or
Modified Versions is governed by this Artistic License. By using,
modifying or distributing the Package, you accept this license. Do not
use, modify, or distribute the Package, if you do not accept this
license.
(11) If your Modified Version has been derived from a Modified
Version made by someone other than you, you are nevertheless required
to ensure that your Modified Version complies with the requirements of
this license.
(12) This license does not grant you the right to use any trademark,
service mark, tradename, or logo of the Copyright Holder.
(13) This license includes the non-exclusive, worldwide,
free-of-charge patent license to make, have made, use, offer to sell,
sell, import and otherwise transfer the Package with respect to any
patent claims licensable by the Copyright Holder that are necessarily
infringed by the Package. If you institute patent litigation
(including a cross-claim or counterclaim) against any party alleging
that the Package constitutes direct or contributory patent
infringement, then this Artistic License to you shall terminate on the
date that such litigation is filed.
(14) Disclaimer of Warranty:
THE PACKAGE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS
IS' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES. THE IMPLIED
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
NON-INFRINGEMENT ARE DISCLAIMED TO THE EXTENT PERMITTED BY YOUR LOCAL
LAW. UNLESS REQUIRED BY LAW, NO COPYRIGHT HOLDER OR CONTRIBUTOR WILL
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THE PACKAGE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

View File

@@ -0,0 +1,8 @@
BIBLIOGRAPHY.bib
CUSTOMIZE.txt
INSTALL.txt
LICENSE.txt
QUICK_START.txt
README.txt
RELEASE_NOTES.txt
UPGRADING.txt

View File

@@ -0,0 +1,15 @@
Document: logtalk-docs
Title: Logtalk
Author: Paulo Moura
Abstract: Logtalk documentation.
Logtalk is an open source object-oriented logic programming language,
which can be used with a large number of back-end Prolog compilers.
Section: Apps/Programming
Format: HTML
Index: /usr/share/logtalk/manuals/index.html
Files: /usr/share/logtalk/manuals/*
Format: text
Files: /usr/share/logtalk/BIBLIOGRAPHY.bib /usr/share/logtalk/CUSTOMIZE.txt /usr/share/logtalk/INSTALL.txt /usr/share/logtalk/LICENSE.txt /usr/share/logtalk/QUICK_START.txt /usr/share/logtalk/README.txt /usr/share/logtalk/RELEASE_NOTES.txt /usr/share/logtalk/UPGRADING.txt

View File

@@ -0,0 +1 @@
?package(logtalk): needs="text" section="Apps/Programming" title="Logtalk - GNU Prolog" command="gplgt"

62
Logtalk/scripts/debian/postinst Executable file
View File

@@ -0,0 +1,62 @@
#!/bin/bash
## ================================================================
## Logtalk - Open source object-oriented logic programming language
## Release 2.30.1
##
## Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
## ================================================================
echo ""
echo "Installed Logtalk on \"/usr/share\"."
chown -f -R -L root:root /usr/share/logtalk
echo ""
echo "Installing and registering Logtalk online documentation..."
if [ "$1" = configure ]; then
if which install-docs >/dev/null 2>&1; then
install-docs -i /usr/share/doc-base/logtalk-docs
fi
fi
chown -f -R -L root:root /usr/share/doc/logtalk
echo "Adding menu entries for some of the Logtalk integration scripts..."
if test -x /usr/bin/update-menus; then
update-menus
fi
echo
echo "Links to the \"cplgtdirs\", \"lgt2pdf\", \"lgt2html\", and \"lgt2xml\" scripts have"
echo "been created on \"/usr/bin\"."
echo
echo "The following integration scripts are installed for running Logtalk"
echo "with selected back-end Prolog compilers:"
echo
echo " B-Prolog: bplgt (first run must use sudo)"
echo " CIAO: ciaolgt (first run must use sudo)"
echo " CxProlog: cxlgt"
echo " ECLiPSe: eclipselgt"
echo " GNU Prolog: gplgt"
echo " K-Prolog: plclgt"
echo " SICStus Prolog: sicstuslgt"
echo " SWI-Prolog: swilgt"
echo " XSB: xsblgt (first run must use sudo)"
echo " YAP: yaplgt"
echo
echo "The Prolog integration scripts can be found on \"/usr/bin\"."
echo "Make sure that the Prolog compilers are properly installed and available"
echo "on your execution path."
echo
echo "Users should run the \"cplgtdirs\" shell script once before using the"
echo "integration scripts."
echo
echo "If you get an unexpected failure when using one of the Prolog integration"
echo "scripts, consult see the \"/usr/share/logtalk/configs/NOTES.txt\" file"
echo "for compatibility notes."
echo
echo "Logtalk basic installation completed."
echo

18
Logtalk/scripts/debian/postrm Executable file
View File

@@ -0,0 +1,18 @@
#!/bin/bash
## ================================================================
## Logtalk - Open source object-oriented logic programming language
## Release 2.30.1
##
## Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
## ================================================================
echo "Removing menu entries for some of the Logtalk integration scripts..."
if test -x /usr/bin/update-menus; then
update-menus
fi
echo ""
echo "You have succesfully uninstalled Logtalk!"
echo ""

22
Logtalk/scripts/debian/prerm Executable file
View File

@@ -0,0 +1,22 @@
#!/bin/bash
## ================================================================
## Logtalk - Open source object-oriented logic programming language
## Release 2.30.1
##
## Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
## ================================================================
echo ""
echo "Uninstalling and de-registering Logtalk online documentation..."
if [ "$1" = remove -o "$1" = upgrade ]; then
if which install-docs >/dev/null 2>&1; then
install-docs -r logtalk-docs
fi
fi
echo ""
echo "Removing Logtalk integration and documentation scripts..."
rm -rf /usr/share/logtalk/bin

112
Logtalk/scripts/install.sh Executable file
View File

@@ -0,0 +1,112 @@
#!/bin/sh
## ================================================================
## Logtalk - Open source object-oriented logic programming language
## Release 2.30.1
##
## Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
## ================================================================
if [ -z "$1" ]; then
case $( uname -s ) in
Darwin ) prefix=/opt/local;;
* ) prefix=/usr/local;;
esac
mkdir -p $prefix
else
prefix="$1"
fi
if ! [ -d "$prefix" ]; then
echo "Directory prefix does not exist!"
echo
exit 1
fi
echo
echo "Installing Logtalk on $prefix/share ..."
echo
mkdir -p $prefix/share
rm -rf $prefix/share/lgt2301
rm -f $prefix/share/logtalk
mkdir $prefix/share/lgt2301
cd ..
cp -R * $prefix/share/lgt2301
cd $prefix/share/lgt2301
scripts/cleandist.sh
find . -type f -print0 | xargs -0 chmod 644
find . -type d -print0 | xargs -0 chmod 755
chmod a+x integration/*.sh
chmod a+x manuals/userman/*.sh
chmod a+x manuals/refman/*.sh
chmod a+x scripts/*.sh
chmod a-x scripts/*.js
chmod a+x scripts/debian/postinst
chmod a+x scripts/debian/prerm
chmod a+x scripts/debian/postrm
chmod a+x scripts/linux/*.sh
chmod a+x scripts/macosx/postflight
chmod a+x xml/*.sh
chmod a-x xml/*.js
cd ..
ln -sf lgt2301 logtalk
mkdir -p $prefix/bin
cd $prefix/bin
ln -sf ../share/logtalk/scripts/cplgtdirs.sh cplgtdirs
ln -sf ../share/logtalk/xml/lgt2pdf.sh lgt2pdf
ln -sf ../share/logtalk/xml/lgt2html.sh lgt2html
ln -sf ../share/logtalk/xml/lgt2xml.sh lgt2xml
echo "Links to the \"cplgtdirs\", \"lgt2pdf\", \"lgt2html\", and \"lgt2xml\" scripts"
echo "have been created on \"$prefix/bin\"; you may need to add this directory"
echo "to your execution path."
echo
ln -sf ../share/logtalk/integration/bplgt.sh bplgt
ln -sf ../share/logtalk/integration/ciaolgt.sh ciaolgt
ln -sf ../share/logtalk/integration/cxlgt.sh cxlgt
ln -sf ../share/logtalk/integration/eclipselgt.sh eclipselgt
ln -sf ../share/logtalk/integration/gplgt.sh gplgt
ln -sf ../share/logtalk/integration/plclgt.sh plclgt
#ln -sf ../share/logtalk/integration/qplgt.sh qplgt
ln -sf ../share/logtalk/integration/sicstuslgt.sh sicstuslgt
ln -sf ../share/logtalk/integration/swilgt.sh swilgt
ln -sf ../share/logtalk/integration/xsblgt.sh xsblgt
ln -sf ../share/logtalk/integration/yaplgt.sh yaplgt
echo "The following integration scripts are installed for running Logtalk"
echo "with selected back-end Prolog compilers:"
echo
echo " B-Prolog: bplgt (first run must use sudo)"
echo " CIAO: ciaolgt (first run must use sudo)"
echo " CxProlog: cxlgt"
echo " ECLiPSe: eclipselgt"
echo " GNU Prolog: gplgt"
echo " K-Prolog: plclgt"
echo " SICStus Prolog: sicstuslgt"
echo " SWI-Prolog: swilgt"
echo " XSB: xsblgt (first run must use sudo)"
echo " YAP: yaplgt"
echo
echo "The Prolog integration scripts can be found on \"$prefix/bin\"."
echo "Make sure that the Prolog compilers are properly installed and available"
echo "on your execution path."
echo
echo "Users should ensure that the environment variable LOGTALKHOME is set to"
echo "\"$prefix/share/logtalk\" and then run the \"cplgtdirs\" shell script once"
echo "before running the integration scripts."
echo
echo "If you get an unexpected failure when using one of the Prolog integration"
echo "scripts, consult the \"$prefix/share/logtalk/configs/NOTES.txt\" file"
echo "for compatibility notes."
echo
echo "Logtalk basic installation completed."
echo

View File

@@ -1,138 +0,0 @@
// =================================================================
// Logtalk - Object oriented extension to Prolog
// Release 2.29.5
//
// Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
// =================================================================
if (ScriptEngineMajorVersion() < 5 || ScriptEngineMajorVersion() == 5 && ScriptEngineMinorVersion() < 6) {
WScript.Echo('Error! WSH 5.6 or later version needed for running this script.');
WScript.Quit(1);
}
if (WScript.Arguments.Unnamed.Length > 0) {
usage_help();
WScript.Quit(0);
}
WScript.Echo('');
WScript.Echo('Completing Logtalk installation...');
WScript.Echo('');
var WshShell = new ActiveXObject("WScript.Shell");
var WshSystemEnv = WshShell.Environment("SYSTEM");
var WshUserEnv = WshShell.Environment("USER");
var FSObject = new ActiveXObject("Scripting.FileSystemObject");
WshShell.CurrentDirectory = "..";
WshSystemEnv.Item("LOGTALKHOME") = WshShell.CurrentDirectory;
WScript.Echo("Defined system environment variable LOGTALKHOME pointing to:");
WScript.Echo("");
WScript.Echo(" " + WshShell.CurrentDirectory);
WScript.Echo("");
if (WshUserEnv.Item("LOGTALKUSER")) {
WScript.Echo("Reusing user environment variable LOGTALKUSER pointing to:");
WScript.Echo("");
WScript.Echo(" " + WshUserEnv.Item("LOGTALKUSER"));
}
else {
WshUserEnv.Item("LOGTALKUSER") = WshShell.SpecialFolders("MyDocuments") + "\\logtalk";
WScript.Echo("Defined user environment variable LOGTALKUSER pointing to:");
WScript.Echo("");
WScript.Echo(" " + WshShell.SpecialFolders("MyDocuments") + "\\logtalk");
}
WScript.Echo("");
FSObject.CopyFile(WshShell.CurrentDirectory + "\\scripts\\*.bat", FSObject.GetSpecialFolder(0));
FSObject.CopyFile(WshShell.CurrentDirectory + "\\xml\\*.bat", FSObject.GetSpecialFolder(0));
WScript.Echo("Copied Logtalk documenting batch scripts to the system's Windows folder");
WScript.Echo("");
var ProgramsPath = WshShell.SpecialFolders("AllUsersPrograms");
if (!FSObject.FolderExists(ProgramsPath + "\\Logtalk"))
FSObject.CreateFolder(ProgramsPath + "\\Logtalk");
var link = WshShell.CreateShortcut(ProgramsPath + "\\Logtalk\\Logtalk Web Site.url");
link.TargetPath = "http://logtalk.org/";
link.Save();
link = WshShell.CreateShortcut(ProgramsPath + "\\Logtalk\\Logtalk HTML Documentation.lnk");
link.Description = "Browse Logtalk Documentation";
link.TargetPath = WshShell.CurrentDirectory + "\\manuals\\index.html";
link.Save();
link = WshShell.CreateShortcut(ProgramsPath + "\\Logtalk\\Logtalk ReadMe.lnk");
link.Description = "Open Logtalk ReadMe";
link.TargetPath = WshShell.CurrentDirectory + "\\README.txt";
link.Save();
link = WshShell.CreateShortcut(ProgramsPath + "\\Logtalk\\Logtalk Installation and Configuration.lnk");
link.Description = "Open Logtalk Install and configuration instructions";
link.TargetPath = WshShell.CurrentDirectory + "\\INSTALL.txt";
link.Save();
link = WshShell.CreateShortcut(ProgramsPath + "\\Logtalk\\Logtalk Customization.lnk");
link.Description = "Open Logtalk customization instructions";
link.TargetPath = WshShell.CurrentDirectory + "\\CUSTOMIZE.txt";
link.Save();
link = WshShell.CreateShortcut(ProgramsPath + "\\Logtalk\\Logtalk Quick Start.lnk");
link.Description = "Open Logtalk Quick Start";
link.TargetPath = WshShell.CurrentDirectory + "\\QUICK_START.txt";
link.Save();
link = WshShell.CreateShortcut(ProgramsPath + "\\Logtalk\\Logtalk Bibliography.lnk");
link.Description = "Open Logtalk Bibliography";
link.TargetPath = WshShell.CurrentDirectory + "\\BIBLIOGRAPHY.bib";
link.Save();
link = WshShell.CreateShortcut(ProgramsPath + "\\Logtalk\\Logtalk License.lnk");
link.Description = "Open Logtalk License";
link.TargetPath = WshShell.CurrentDirectory + "\\LICENSE.txt";
link.Save();
link = WshShell.CreateShortcut(ProgramsPath + "\\Logtalk\\Logtalk Release Notes.lnk");
link.Description = "Open Logtalk Release Notes";
link.TargetPath = WshShell.CurrentDirectory + "\\RELEASE_NOTES.txt";
link.Save();
link = WshShell.CreateShortcut(ProgramsPath + "\\Logtalk\\Logtalk Upgrading.lnk");
link.Description = "Open Logtalk Upgrading instructions";
link.TargetPath = WshShell.CurrentDirectory + "\\UPGRADING.txt";
link.Save();
WScript.Echo('Logtalk basic installation completed. You will need to RESTART in order');
WScript.Echo('to activate the new system environment variables and use the items in');
WScript.Echo('the new Logtalk program group. See the INSTALL and CUSTOMIZATION files');
WScript.Echo('for details on customizing your working environment.');
WScript.Echo('');
WScript.Echo('After restarting your computer, you may want to run some of the Prolog');
WScript.Echo('integration scripts, which you will find on the same directory as this');
WScript.Echo('installer script.');
WScript.Echo('');
WScript.Echo('Users must run the batch script "cplgtdirs" once in order to copy the');
WScript.Echo('Logtalk user-modifiable files to their home directories. The path to');
WScript.Echo('the "cplgtdirs", "lgt2pdf", "lgt2html", and "lgt2xml" batch scripts');
WScript.Echo('has been added to the system path environment variable.');
WScript.Echo('');
WScript.Quit(0);
function usage_help() {
WScript.Echo('');
WScript.Echo('This script completes the installation of Logtalk by setting the LOGTALKHOME');
WScript.Echo('and LOGTALKUSER system environment variables and by creating a new program');
WScript.Echo('group named "Logtalk" in the Windows Start Menu.');
WScript.Echo('');
WScript.Echo('The script must be run from this directory, by a user with administration');
WScript.Echo('privileges, after decompressing the Logtalk distribution into its final');
WScript.Echo('destination.');
WScript.Echo('');
WScript.Echo('Usage:');
WScript.Echo(' ' + WScript.ScriptName + ' help');
WScript.Echo(' ' + WScript.ScriptName);
WScript.Echo('');
}

View File

@@ -1,66 +0,0 @@
#!/bin/sh
## =================================================================
## Logtalk - Object oriented extension to Prolog
## Release 2.29.5
##
## Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
## =================================================================
if [ -z "$1" ]; then
prefix=/usr/local
else
prefix="$1"
fi
if ! [ -d "$prefix" ]; then
echo "Directory prefix does not exist!"
echo
exit 1
fi
echo
echo "Installing Logtalk on $prefix ..."
echo
rm -rf $prefix/lgt2295
rm -f $prefix/logtalk
mkdir $prefix/lgt2295
cd ..
cp -R * $prefix/lgt2295
cd $prefix
chmod -R go-w,a+r lgt2295
chmod a+x lgt2295
chmod a+x lgt2295/scripts/*.sh
chmod a-x lgt2295/scripts/*.js
chmod a+x lgt2295/scripts/linux/*.sh
chmod a+x lgt2295/scripts/macosx/postflight
chmod a+x lgt2295/xml/*.sh
chmod a-x lgt2295/xml/*.js
ln -sf lgt2295 logtalk
mkdir -p bin
cd bin
ln -sf ../logtalk/scripts/cplgtdirs.sh cplgtdirs
ln -sf ../logtalk/xml/lgt2pdf.sh lgt2pdf
ln -sf ../logtalk/xml/lgt2html.sh lgt2html
ln -sf ../logtalk/xml/lgt2xml.sh lgt2xml
echo "Logtalk basic installation completed. See the INSTALL and CUSTOMIZATION"
echo "files for details on customizing your working environment."
echo
echo "You may want to run some of the Prolog integration scripts, which you"
echo "will find on the same directory as this installer script."
echo
echo "Users must define the environment variable LOGTALKHOME pointing to"
echo "$prefix/logtalk and then run the shell script cplgtdirs"
echo "in order to copy the Logtalk user-modifiable files to their home"
echo "directories."
echo
echo "Links to the cplgtdirs, lgt2pdf, lgt2html, and lgt2xml scripts have"
echo "been created on $prefix/bin; you may need to add this directory to"
echo "your execution path."
echo

View File

@@ -1,53 +0,0 @@
#!/bin/sh
## =================================================================
## Logtalk - Object oriented extension to Prolog
## Release 2.29.5
##
## Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
## =================================================================
echo
echo "Uninstalling Logtalk system-level files..."
echo
if ! [ "$LOGTALKHOME" ]
then
echo "The environment variable LOGTALKHOME must be defined first!"
echo
exit 1
fi
if ! [ -d "$LOGTALKHOME" ]; then
echo "The environment variable LOGTALKHOME points to a non-existing directory!"
echo "Its current value is: $LOGTALKHOME"
echo "The variable must be set to your Logtalk installation directory!"
echo
exit 1
fi
cd $LOGTALKHOME/..
rm -rf lgt2295
rm -f logtalk
if [ -d bin ]; then
cd bin
rm -f bplgt
rm -f ciaolgt
rm -f cplgtdirs
rm -f eclipselgt
rm -f gplgt
rm -f lgt2html
rm -f lgt2pdf
rm -f lgt2xml
rm -f plclgt
rm -f qplgt
rm -f sicstuslgt
rm -f swilgt
rm -f xsblgt
rm -f yaplgt
fi
echo "Logtalk system-level uninstall completed. For uninstalling user-level"
echo "Logtalk files simply delete the LOGTALKUSER directories."
echo

View File

@@ -1,9 +1,9 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.29.5
================================================================
Logtalk - Open source object-oriented logic programming language
Release 2.30.1
Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
=================================================================
================================================================
This directory contains files used when building Linux RPM packages.

View File

@@ -1,24 +1,21 @@
#!/bin/sh
## =================================================================
## Logtalk - Object oriented extension to Prolog
## Release 2.29.5
## ================================================================
## Logtalk - Open source object-oriented logic programming language
## Release 2.30.1
##
## Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
## =================================================================
## ================================================================
dir="$PWD"
cd ..
LOGTALKHOME=/usr/local/logtalk ./lgt_uninstall.sh
./lgt_install.sh
LOGTALKHOME=/usr/local/share/logtalk ./uninstall.sh
./install.sh
cd /usr/local/logtalk
scripts/cleandist.sh
cd ..
tar -czf lgt2295.tgz lgt2295
mv lgt2295.tgz /usr/src/redhat/SOURCES
cd /usr/local/share
tar -cjf lgt2301.tar.bz2 lgt2301
mv lgt2301.tar.bz2 /usr/src/redhat/SOURCES
cd "$dir"
rpmbuild -ba --target=noarch-*-linux logtalk.spec

View File

@@ -1,73 +1,132 @@
Name: logtalk
Summary: Logtalk - Open source object-oriented extension to Prolog
Version: 2.29.5
Summary: Logtalk - Open source object-oriented logic programming language
Version: 2.30.1
Release: 1
License: Artistic License 2.0
Group: Development/Languages
Packager: Paulo Moura <pmoura@logtalk.org>
Source: http://logtalk.org/files/lgt2295.tgz
Source: http://logtalk.org/files/lgt2301.tar.bz2
BuildArchitectures: noarch
URL: http://logtalk.org/
Prefix: /usr/local
AutoReqProv: no
%description
Logtalk is an open source object-oriented extension to the Prolog programming language. Integrating logic programming with object-oriented and event-driven programming, it is compatible with most Prolog compilers. It supports both prototypes and classes. In addition, it supports component-based programming through category-based composition.
Logtalk is an open source object-oriented logic programming language that can use most Prolog implementations as a back-end compiler. As a multi-paradigm language, Logtalk includes support for both prototypes and classes, protocols, component-based programming through category-based composition, event-driven programming, and multi-threading programming.
%prep
%setup -n lgt2295
%setup -n lgt2301
%build
%install
rm -rf /usr/local/lgt2295
rm -f /usr/local/logtalk
mkdir /usr/local/lgt2295
cp -R * /usr/local/lgt2295
cd /usr/local
chmod -R go-w,a+r lgt2295
chmod a+x lgt2295
chmod a+x lgt2295/scripts/*.sh
chmod a-x lgt2295/scripts/*.js
chmod a+x lgt2295/scripts/linux/*.sh
chmod a+x lgt2295/scripts/macosx/postflight
chmod a+x lgt2295/xml/*.sh
chmod a-x lgt2295/xml/*.js
ln -sf lgt2295 logtalk
mkdir -p /usr/local/share
rm -rf /usr/local/share/lgt2301
rm -f /usr/local/share/logtalk
mkdir /usr/local/share/lgt2301
cp -R * /usr/local/share/lgt2301
cd /usr/local/share
find lgt2301 -type f -print0 | xargs -0 chmod 644
find lgt2301 -type d -print0 | xargs -0 chmod 755
chmod a+x lgt2301/integration/*.sh
chmod a+x lgt2301/scripts/*.sh
chmod a-x lgt2301/scripts/*.js
chmod a+x lgt2301/scripts/linux/*.sh
chmod a+x lgt2301/scripts/macosx/postflight
chmod a+x lgt2301/xml/*.sh
chmod a-x lgt2301/xml/*.js
ln -sf lgt2301 logtalk
cd ..
mkdir -p bin
cd bin
ln -sf ../logtalk/scripts/cplgtdirs.sh cplgtdirs
ln -sf ../logtalk/xml/lgt2pdf.sh lgt2pdf
ln -sf ../logtalk/xml/lgt2html.sh lgt2html
ln -sf ../logtalk/xml/lgt2xml.sh lgt2xml
ln -sf ../share/logtalk/integration/bplgt.sh bplgt
ln -sf ../share/logtalk/integration/ciaolgt.sh ciaolgt
ln -sf ../share/logtalk/integration/cxlgt.sh cxlgt
ln -sf ../share/logtalk/integration/eclipselgt.sh eclipselgt
ln -sf ../share/logtalk/integration/gplgt.sh gplgt
ln -sf ../share/logtalk/integration/plclgt.sh plclgt
ln -sf ../share/logtalk/integration/sicstuslgt.sh sicstuslgt
ln -sf ../share/logtalk/integration/swilgt.sh swilgt
ln -sf ../share/logtalk/integration/xsblgt.sh xsblgt
ln -sf ../share/logtalk/integration/yaplgt.sh yaplgt
ln -sf ../share/logtalk/scripts/cplgtdirs.sh cplgtdirs
ln -sf ../share/logtalk/xml/lgt2pdf.sh lgt2pdf
ln -sf ../share/logtalk/xml/lgt2html.sh lgt2html
ln -sf ../share/logtalk/xml/lgt2xml.sh lgt2xml
%clean
%files
%defattr(-,root,users)
%doc /usr/local/lgt2295/BIBLIOGRAPHY.bib
%doc /usr/local/lgt2295/CUSTOMIZE.txt
%doc /usr/local/lgt2295/INSTALL.txt
%doc /usr/local/lgt2295/LICENSE.txt
%doc /usr/local/lgt2295/QUICK_START.txt
%doc /usr/local/lgt2295/README.txt
%doc /usr/local/lgt2295/RELEASE_NOTES.txt
%doc /usr/local/lgt2295/UPGRADING.txt
/usr/local/lgt2295/compiler
/usr/local/lgt2295/configs
/usr/local/lgt2295/contributions
/usr/local/lgt2295/examples
/usr/local/lgt2295/libpaths
/usr/local/lgt2295/library
%docdir /usr/local/lgt2295/manuals
/usr/local/lgt2295/manuals
/usr/local/lgt2295/scripts
/usr/local/lgt2295/wenv
/usr/local/lgt2295/xml
/usr/local/logtalk
%defattr(-,root,root)
%doc /usr/local/share/lgt2301/BIBLIOGRAPHY.bib
%doc /usr/local/share/lgt2301/CUSTOMIZE.txt
%doc /usr/local/share/lgt2301/INSTALL.txt
%doc /usr/local/share/lgt2301/LICENSE.txt
%doc /usr/local/share/lgt2301/QUICK_START.txt
%doc /usr/local/share/lgt2301/README.txt
%doc /usr/local/share/lgt2301/RELEASE_NOTES.txt
%doc /usr/local/share/lgt2301/UPGRADING.txt
/usr/local/share/lgt2301/compiler
/usr/local/share/lgt2301/configs
/usr/local/share/lgt2301/contributions
/usr/local/share/lgt2301/examples
/usr/local/share/lgt2301/integration
/usr/local/share/lgt2301/libpaths
/usr/local/share/lgt2301/library
%docdir /usr/local/share/lgt2301/manuals
/usr/local/share/lgt2301/manuals
/usr/local/share/lgt2301/scripts
/usr/local/share/lgt2301/wenv
/usr/local/share/lgt2301/xml
/usr/local/share/logtalk
/usr/local/bin/cplgtdirs
/usr/local/bin/lgt2pdf
/usr/local/bin/lgt2html
/usr/local/bin/lgt2xml
/usr/local/bin/bplgt
/usr/local/bin/ciaolgt
/usr/local/bin/cxlgt
/usr/local/bin/eclipselgt
/usr/local/bin/gplgt
/usr/local/bin/plclgt
/usr/local/bin/sicstuslgt
/usr/local/bin/swilgt
/usr/local/bin/xsblgt
/usr/local/bin/yaplgt
%post
echo
echo "Installed Logtalk on \"$RPM_INSTALL_PREFIX/share\"."
echo
echo "Links to the \"cplgtdirs\", \"lgt2pdf\", \"lgt2html\", and \"lgt2xml\" scripts"
echo "have been created on \"$RPM_INSTALL_PREFIX/bin\"; you may need to add this directory"
echo "to your execution path."
echo
echo "The following integration scripts are installed for running Logtalk"
echo "with selected back-end Prolog compilers:"
echo
echo " B-Prolog: bplgt (first run must use sudo)"
echo " CIAO: ciaolgt (first run must use sudo)"
echo " CxProlog: cxlgt"
echo " ECLiPSe: eclipselgt"
echo " GNU Prolog: gplgt"
echo " K-Prolog: plclgt"
echo " SICStus Prolog: sicstuslgt"
echo " SWI-Prolog: swilgt"
echo " XSB: xsblgt (first run must use sudo)"
echo " YAP: yaplgt"
echo
echo "The Prolog integration scripts can be found on \"$RPM_INSTALL_PREFIX/bin\"."
echo "Make sure that the Prolog compilers are properly installed and available"
echo "on your execution path."
echo
echo "If you get an unexpected failure when using one of the Prolog integration"
echo "scripts, consult the \"$RPM_INSTALL_PREFIX/share/logtalk/configs/NOTES.txt\" file"
echo "for compatibility notes."
echo
mkdir -p /etc/profile.d
echo "# Logtalk environment setup" > /etc/profile.d/logtalk.sh
echo "" >> /etc/profile.d/logtalk.sh
echo "# Logtalk installation directory:" >> /etc/profile.d/logtalk.sh
echo "export LOGTALKHOME=$RPM_INSTALL_PREFIX/logtalk" >> /etc/profile.d/logtalk.sh
echo "export LOGTALKHOME=$RPM_INSTALL_PREFIX/share/logtalk" >> /etc/profile.d/logtalk.sh
echo "" >> /etc/profile.d/logtalk.sh
echo "# Default location for Logtalk end-user files:" >> /etc/profile.d/logtalk.sh
echo "export LOGTALKUSER=\$HOME/logtalk" >> /etc/profile.d/logtalk.sh
@@ -75,25 +134,28 @@ chmod a+x /etc/profile.d/logtalk.sh
echo "# Logtalk environment setup" > /etc/profile.d/logtalk.csh
echo "" >> /etc/profile.d/logtalk.csh
echo "# Logtalk installation directory:" >> /etc/profile.d/logtalk.csh
echo "setenv LOGTALKHOME $RPM_INSTALL_PREFIX/logtalk" >> /etc/profile.d/logtalk.csh
echo "setenv LOGTALKHOME $RPM_INSTALL_PREFIX/share/logtalk" >> /etc/profile.d/logtalk.csh
echo "" >> /etc/profile.d/logtalk.csh
echo "# Default location for Logtalk end-user files:" >> /etc/profile.d/logtalk.csh
echo "setenv LOGTALKUSER \$HOME/logtalk" >> /etc/profile.d/logtalk.csh
chmod a+x /etc/profile.d/logtalk.csh
eval export LOGTALKHOME=$RPM_INSTALL_PREFIX/logtalk; cd $LOGTALKHOME/scripts; ./makeall_lgt.sh $RPM_INSTALL_PREFIX
echo ""
echo "Defined the following environment variables for all users:"
echo ""
echo " Logtalk installation directory: LOGTALKHOME = $RPM_INSTALL_PREFIX/logtalk"
echo
echo " Logtalk installation directory: LOGTALKHOME = $RPM_INSTALL_PREFIX/share/logtalk"
echo " Default Logtalk user files directory: LOGTALKUSER = \$HOME/logtalk"
echo ""
echo
echo "You may need to logout and login again or start a new shell in order to"
echo "use the new environment variables."
echo ""
echo "You may change the default value of the LOGTALKUSER environment variable"
echo "in your shell configuration files if you already use, or want to use, a "
echo "different location for the Logtalk user files directory."
echo ""
echo
echo "Users may change the default value of the LOGTALKUSER environment variable"
echo "in their shell configuration files if they already use, or want to use, a "
echo "different location for the Logtalk user files directory. This directory "
echo "is created by running the \"cplgtdirs\" shell script, which must be run "
echo "once by each user before using the integration scripts."
echo
echo "Logtalk basic installation completed."
echo
%postun
rm -f /etc/profile.d/logtalk.sh
rm -f /etc/profile.d/logtalk.csh
rm -f /etc/profile.d/logtalk.sh 2> /dev/null
rm -f /etc/profile.d/logtalk.csh 2> /dev/null

View File

@@ -1,208 +0,0 @@
; Script generated by the Inno Setup Script Wizard.
#define MyAppName "Logtalk"
#define MyAppVerName "Logtalk 2.28.2"
#define MyAppPublisher "Logtalk.org"
#define MyAppURL "http://logtalk.org"
#define MyAppUrlName "Logtalk Web Site.url"
#define MyAppRegURL "http://logtalk.org/regform.html"
#define MyAppRegUrlName "Logtalk Registration.url"
#define LOGTALKHOME "{reg:HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment,LOGTALKHOME|{pf}\Logtalk}"
#define LOGTALKUSER "{reg:HKCU\Environment,LOGTALKUSER|{userdocs}\Logtalk}"
[Setup]
AppName={#MyAppName}
AppVerName={#MyAppVerName}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
ChangesEnvironment=yes
DefaultDirName={#LOGTALKHOME}
DefaultGroupName={#MyAppName}
DisableProgramGroupPage=yes
LicenseFile=C:\logtalk\LICENSE.txt
InfoBeforeFile=C:\logtalk\README.txt
OutputBaseFilename=lgt2282
Compression=lzma
SolidCompression=yes
VersionInfoVersion=2.28.2
VersionInfoCopyright=<3D> Paulo Moura, 1998-2006
AllowRootDirectory=yes
UninstallFilesDir="{userdocs}\Logtalk uninstaller"
MinVersion=0,5.0
[Types]
Name: "full"; Description: "Full installation (recommended)"
Name: "base"; Description: "Base system installation"
Name: "user"; Description: "User data files installation (must be run by all end-users)"
Name: "prolog"; Description: "Prolog integration (see documentation for compatibility details)"
Name: "custom"; Description: "Custom installation"; Flags: iscustom
[Components]
Name: "base"; Description: "Base system"; Types: full base custom; Flags: disablenouninstallwarning
Name: "user"; Description: "User data files"; Types: full user custom; Flags: checkablealone disablenouninstallwarning
Name: "user\backup"; Description: "Backup current user data files"; Types: full user custom; Flags: disablenouninstallwarning
Name: "prolog"; Description: "Prolog integration"; Types: full prolog custom; Flags: disablenouninstallwarning
Name: "prolog\bp"; Description: "B-Prolog integration (version 6.9 or later)"; Types: full prolog custom; Flags: disablenouninstallwarning
Name: "prolog\ciao"; Description: "Ciao Prolog integration (version 1.10#5 or later)"; Types: full prolog custom; Flags: disablenouninstallwarning
Name: "prolog\eclipse"; Description: "ECLiPSe integration (version 5.10#26 or later)"; Types: full prolog custom; Flags: disablenouninstallwarning
Name: "prolog\gprolog"; Description: "GNU Prolog integration (version 1.2.16 or later)"; Types: full prolog custom; Flags: disablenouninstallwarning
Name: "prolog\plc"; Description: "K-Prolog integration (version 5.1.4 or later)"; Types: full prolog custom; Flags: disablenouninstallwarning
Name: "prolog\sicstus"; Description: "SICStus Prolog integration (versions 3.12.x, 4.0)"; Types: full prolog custom; Flags: disablenouninstallwarning
Name: "prolog\swi"; Description: "SWI-Prolog integration (version 5.6.16 or later)"; Types: full prolog custom; Flags: disablenouninstallwarning
Name: "prolog\xsb"; Description: "XSB integration (version 3.0 or later)"; Types: full prolog custom; Flags: disablenouninstallwarning
Name: "prolog\yap"; Description: "YAP integration (version 5.1.1 or later)"; Types: full prolog custom; Flags: disablenouninstallwarning
[Tasks]
Name: registration; Description: "&Register {#MyAppName} (opens a web page; requires an Internet connection)"; Components: base user
Name: shortcut; Description: "&Create a desktop shortcut to the Logtalk user folder"; Components: user
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
[Messages]
BeveledLabel=Logtalk 2.28.2 <20> Paulo Moura, 1998-2006
[Dirs]
Name: {code:GetLgtUserDir}; Components: user; Flags: uninsneveruninstall
Name: "{userdocs}\Logtalk uninstaller"
[Files]
Source: "C:\logtalk\*"; Excludes: ".*,CVS"; DestDir: "{app}"; Components: base; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\logtalk\configs\*"; Excludes: ".*,CVS"; DestDir: "{code:GetLgtUserDir}\configs"; Components: user; Flags: ignoreversion recursesubdirs createallsubdirs uninsneveruninstall
Source: "C:\logtalk\contributions\*"; Excludes: ".*,CVS"; DestDir: "{code:GetLgtUserDir}\contributions"; Components: user; Flags: ignoreversion recursesubdirs createallsubdirs uninsneveruninstall
Source: "C:\logtalk\examples\*"; Excludes: ".*,CVS"; DestDir: "{code:GetLgtUserDir}\examples"; Components: user; Flags: ignoreversion recursesubdirs createallsubdirs uninsneveruninstall
Source: "C:\logtalk\libpaths\*"; Excludes: ".*,CVS"; DestDir: "{code:GetLgtUserDir}\libpaths"; Components: user; Flags: ignoreversion recursesubdirs createallsubdirs uninsneveruninstall
Source: "C:\logtalk\library\*"; Excludes: ".*,CVS"; DestDir: "{code:GetLgtUserDir}\library"; Components: user; Flags: ignoreversion recursesubdirs createallsubdirs uninsneveruninstall
Source: "C:\logtalk\xml\*"; Excludes: ".*,CVS"; DestDir: "{code:GetLgtUserDir}\xml"; Components: user; Flags: ignoreversion recursesubdirs createallsubdirs uninsneveruninstall
Source: "C:\logtalk\configs\xsb.config"; DestDir: "{code:GetLgtUserDir}\configs"; DestName: "xsb.pl"; Components: user; Flags: ignoreversion uninsneveruninstall
Source: "C:\logtalk\libpaths\libpaths.pl"; DestDir: "{code:GetLgtUserDir}\libpaths"; DestName: "libpaths_no_env_var.pl"; Components: user; Flags: ignoreversion uninsneveruninstall
Source: "C:\logtalk\scripts\*.bat"; DestDir: "{win}"; Components: base; Flags: ignoreversion
Source: "C:\logtalk\xml\*.bat"; DestDir: "{win}"; Components: base; Flags: ignoreversion
[INI]
Filename: "{app}\{#MyAppUrlName}"; Section: "InternetShortcut"; Key: "URL"; String: "{#MyAppURL}"; Components: base
Filename: "{app}\{#MyAppRegUrlName}"; Section: "InternetShortcut"; Key: "URL"; String: "{#MyAppRegURL}"; Components: base
[Icons]
Name: "{group}\{#MyAppName} Bibliography"; Filename: "{app}\BIBLIOGRAPHY.bib"; Components: base
Name: "{group}\{#MyAppName} Documentation"; Filename: "{app}\manuals\index.html"; Components: base
Name: "{group}\{#MyAppName} License"; Filename: "{app}\LICENSE.txt"; Components: base
Name: "{group}\{#MyAppName} Release Notes"; Filename: "{app}\RELEASE_NOTES.txt"; Components: base
Name: "{group}\{#MyAppName} Read Me"; Filename: "{app}\README.txt"; Components: base
Name: "{group}\{#MyAppName} Customization instructions"; Filename: "{app}\CUSTOMIZE.txt"; Components: base
Name: "{group}\{#MyAppName} Web Site"; Filename: "{app}\{#MyAppUrlName}"; Components: base
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"; Components: base
Name: "{code:GetLgtUserDir}\manuals"; Filename: "{app}\manuals"; Components: user
Name: "{code:GetLgtUserDir}\wenv"; Filename: "{app}\wenv"; Components: user
Name: "{userdesktop}\Logtalk user files"; Filename: "{code:GetLgtUserDir}"; Components: user; Tasks: shortcut
[Registry]
Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; ValueType: expandsz; ValueName: "LOGTALKHOME"; ValueData: "{app}"; Components: base; Flags: deletevalue uninsdeletevalue
Root: HKCU; Subkey: "Environment"; ValueType: expandsz; ValueName: "LOGTALKUSER"; ValueData: "{code:GetLgtUserDir}"; Flags: deletevalue uninsdeletevalue
[Run]
Filename: "{cmd}"; Parameters: "/C set LOGTALKHOME={app} & cscript ""{app}\scripts\make_bplgt.js"""; Description: "B-Prolog integration"; Components: prolog\bp
Filename: "{cmd}"; Parameters: "/C set LOGTALKHOME={app} & cscript ""{app}\scripts\make_ciaolgt.js"""; Description: "Ciao Prolog integration"; Components: prolog\ciao
Filename: "{cmd}"; Parameters: "/C set LOGTALKHOME={app} & cscript ""{app}\scripts\make_eclipselgt.js"""; Description: "ECLiPSe integration"; Components: prolog\eclipse
Filename: "{cmd}"; Parameters: "/C set LOGTALKHOME={app} & cscript ""{app}\scripts\make_gplgt.js"""; Description: "GNU Prolog integration"; Components: prolog\gprolog
Filename: "{cmd}"; Parameters: "/C set LOGTALKHOME={app} & cscript ""{app}\scripts\make_plclgt.js"""; Description: "K-Prolog integration"; Components: prolog\plc
Filename: "{cmd}"; Parameters: "/C set LOGTALKHOME={app} & cscript ""{app}\scripts\make_sicstuslgt.js"""; Description: "SICStus Prolog integration"; Components: prolog\sicstus
Filename: "{cmd}"; Parameters: "/C set LOGTALKHOME={app} & cscript ""{app}\scripts\make_swilgt.js"""; Description: "SWI-Prolog integration"; Components: prolog\swi
Filename: "{cmd}"; Parameters: "/C set LOGTALKHOME={app} & cscript ""{app}\scripts\make_xsblgt.js"""; Description: "XSB integration"; Components: prolog\xsb
Filename: "{cmd}"; Parameters: "/C set LOGTALKHOME={app} & cscript ""{app}\scripts\make_yaplgt.js"""; Description: "YAP integration"; Components: prolog\yap
Filename: "{app}\RELEASE_NOTES.txt"; Description: "View the release notes"; Components: base user; Flags: postinstall shellexec skipifsilent
Filename: "{app}\CUSTOMIZE.txt"; Description: "Read the customization instructions for completing your setup"; Components: base user; Flags: postinstall shellexec skipifsilent
Filename: "{app}\{#MyAppRegUrlName}"; Flags: shellexec nowait; Tasks: registration
[UninstallDelete]
Type: filesandordirs; Name: "{app}"; Components: base
Type: filesandordirs; Name: "{group}"; Components: base
[Code]
var
LgtUserDirPage: TInputDirWizardPage;
WarningPage: TOutputMsgWizardPage;
Explanation, Warning, Scripts: String;
procedure InitializeWizard;
begin
Explanation := 'Select the folder in which Setup should install Logtalk user data files, then click Next.'
+ Chr(13) + Chr(13)
+ 'These files allows each user to independently customize Logtalk and to freely modify the provided programming examples.'
+ Chr(13) + Chr(13)
+ 'A copy of these files must exist in the user home folder in order to use the Logtalk-Prolog integration scripts available from the Start Menu.'
+ Chr(13) + Chr(13)
+ 'Addtional end-users may use this installer to make a copy of these files on their home folders after a full installation of Logtalk.';
LgtUserDirPage := CreateInputDirPage(wpSelectDir,
'Select folder for Logtalk user data files', 'Where should Logtalk user data files be installed?',
Explanation,
False, 'New Folder');
LgtUserDirPage.Add('');
LgtUserDirPage.Values[0] := ExpandConstant('{#LOGTALKUSER}');
if not IsAdminLoggedOn then
begin
Warning := 'Full installation of Logtalk requires an administrative user.'
+ Chr(13) + Chr(13)
+ 'If the base Logtalk system is already installed, you may proceed in order to setup Logtalk for you as an end-user.'
+ Chr(13) + Chr(13)
+ 'If Logtalk is already set for you, this installer will make a backup copy of your current files (if you choose the same installation folder) and will restore all user data files to their default, pristine state.';
WarningPage := CreateOutputMsgPage(wpWelcome,
'Information', 'Please read the following important information before continuing.', Warning);
end
end;
function GetLgtUserDir(Param: String): String;
begin
Result := LgtUserDirPage.Values[0]
end;
function GetCurrentDate(Param: String): String;
begin
Result := GetDateTimeString('dddddd tt', '-', '-')
end;
function ShouldSkipPage(PageID: Integer): Boolean;
begin
if (PageID = wpSelectDir) and not IsAdminLoggedOn then
Result := True
else if (PageID = wpSelectComponents) and not IsAdminLoggedOn then
begin
WizardForm.TypesCombo.ItemIndex := 2;
WizardForm.TypesCombo.OnChange(nil);
Result := True
end
else if (PageID = wpReady) and not IsAdminLoggedOn then
Result := True
else
Result := False;
end;
procedure CurStepChanged(CurStep: TSetupStep);
begin
if (CurStep = ssInstall) and DirExists(LgtUserDirPage.Values[0]) and (pos('backup', WizardSelectedComponents(False)) > 0) then
RenameFile(LgtUserDirPage.Values[0], LgtUserDirPage.Values[0] + ' backup ' + GetDateTimeString('dddddd tt', '-', '-'));
if (CurStep = ssInstall) and (pos('prolog', WizardSelectedComponents(False)) > 0) then
begin
Scripts := 'The installer needs to run a set of JScripts scripts within command shells' + Chr(13) +
'in order to integrate Logtalk with your installed Prolog compilers.' + Chr(13) + Chr(13) +
'These scripts require WSH 5.6 (or later version) to be installed.' + Chr(13) + Chr(13) +
'Make sure that any security software you may have installed do not block' + Chr(13) +
'the execution of the scripts.';
MsgBox(Scripts, mbInformation, MB_OK)
end
end;

View File

@@ -1,95 +0,0 @@
Name: logtalk
Summary: Logtalk - Open source object-oriented extension to Prolog
Version: 2.28.2
Release: 1
License: Artistic License 2.0
Group: Development/Languages
Packager: Paulo Moura <pmoura@logtalk.org>
Source: http://logtalk.org/files/lgt2282.tgz
BuildArchitectures: noarch
URL: http://logtalk.org/
Prefix: /usr/local
AutoReqProv: no
%description
Logtalk is an open source object-oriented extension to the Prolog programming language. Integrating logic programming with object-oriented and event-driven programming, it is compatible with most Prolog compilers. It supports both prototypes and classes. In addition, it supports component-based programming through category-based composition.
%prep
%setup -n lgt2282
%build
%install
rm -rf /usr/local/lgt2282
rm -f /usr/local/logtalk
mkdir /usr/local/lgt2282
cp -R * /usr/local/lgt2282
cd /usr/local
chmod -R go-w,a+r lgt2282
chmod a+x lgt2282
chmod a+x lgt2282/scripts/*.sh
chmod a+x lgt2282/xml/*.sh
ln -sf lgt2282 logtalk
cd bin
ln -sf ../logtalk/scripts/cplgtdirs.sh cplgtdirs
ln -sf ../logtalk/xml/lgt2pdf.sh lgt2pdf
ln -sf ../logtalk/xml/lgt2html.sh lgt2html
ln -sf ../logtalk/xml/lgt2xml.sh lgt2xml
%clean
%files
%defattr(-,root,users)
%doc /usr/local/lgt2282/BIBLIOGRAPHY.bib
%doc /usr/local/lgt2282/CUSTOMIZE.txt
%doc /usr/local/lgt2282/INSTALL.txt
%doc /usr/local/lgt2282/LICENSE.txt
%doc /usr/local/lgt2282/QUICK_START.txt
%doc /usr/local/lgt2282/README.txt
%doc /usr/local/lgt2282/RELEASE_NOTES.txt
%doc /usr/local/lgt2282/UPGRADING.txt
/usr/local/lgt2282/compiler
/usr/local/lgt2282/configs
/usr/local/lgt2282/contributions
/usr/local/lgt2282/examples
/usr/local/lgt2282/libpaths
/usr/local/lgt2282/library
%docdir /usr/local/lgt2282/manuals
/usr/local/lgt2282/manuals
/usr/local/lgt2282/scripts
/usr/local/lgt2282/wenv
/usr/local/lgt2282/xml
/usr/local/logtalk
/usr/local/bin/cplgtdirs
/usr/local/bin/lgt2pdf
/usr/local/bin/lgt2html
/usr/local/bin/lgt2xml
%post
mkdir -p /etc/profile.d
echo "# Logtalk environment setup" > /etc/profile.d/logtalk.sh
echo "" >> /etc/profile.d/logtalk.sh
echo "# Logtalk installation directory:" >> /etc/profile.d/logtalk.sh
echo "export LOGTALKHOME=$RPM_INSTALL_PREFIX/logtalk" >> /etc/profile.d/logtalk.sh
echo "" >> /etc/profile.d/logtalk.sh
echo "# Default location for Logtalk end-user files:" >> /etc/profile.d/logtalk.sh
echo "export LOGTALKUSER=$HOME/logtalk" >> /etc/profile.d/logtalk.sh
chmod a+x /etc/profile.d/logtalk.sh
echo "# Logtalk environment setup" > /etc/profile.d/logtalk.csh
echo "" >> /etc/profile.d/logtalk.csh
echo "# Logtalk installation directory:" >> /etc/profile.d/logtalk.csh
echo "setenv LOGTALKHOME $RPM_INSTALL_PREFIX/logtalk" >> /etc/profile.d/logtalk.csh
echo "" >> /etc/profile.d/logtalk.csh
echo "# Default location for Logtalk end-user files:" >> /etc/profile.d/logtalk.csh
echo "setenv LOGTALKUSER $HOME/logtalk" >> /etc/profile.d/logtalk.csh
chmod a+x /etc/profile.d/logtalk.csh
eval export LOGTALKHOME=$RPM_INSTALL_PREFIX/logtalk; cd $LOGTALKHOME/scripts; ./makeall_lgt.sh $RPM_INSTALL_PREFIX
echo ""
echo "Defined the following environment variables for all users:"
echo ""
echo " Logtalk installation directory: LOGTALKHOME = $RPM_INSTALL_PREFIX/logtalk"
echo " Default Logtalk user files directory: LOGTALKUSER = $HOME/logtalk"
echo ""
echo "You may need to logout and login again or start a new shell in order to"
echo "use the new environment variables."
echo ""
echo "You may change the default value of the LOGTALKUSER environment variable"
echo "in your shell configuration files if you already use, or want to use, a
echo "different location for the Logtalk user files directory."
echo ""
%postun
rm -f /etc/profile.d/logtalk.sh
rm -f /etc/profile.d/logtalk.csh

View File

@@ -1,9 +1,9 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.29.5
================================================================
Logtalk - Open source object-oriented logic programming language
Release 2.30.1
Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
=================================================================
================================================================
This directory contains files used when building MacOS X installer

View File

@@ -1,6 +1,7 @@
<h1>Logtalk - Object oriented extension to Prolog</h1>
<h1>Logtalk</h1>
<h2>Open source object-oriented logic programming language</h2>
<h3>Release 2.29.5</h3>
<h3>Release 2.30.1</h3>
<h3>Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.</h3>
@@ -41,8 +42,8 @@ about Logtalk.</p>
<h2>3. Registration</h2>
<p>To register as a Logtalk user either use the registration form found at
the Logtalk web site or send an email message to:</p>
<p>
To register as a Logtalk user either use the registration form found at the Logtalk web site, <a href="http://logtalk.org/regform.html">http://logtalk.org/regform.html</a>, or send an email message to:</p>
<blockquote>
<p><a href="&#109;&#x61;&#105;l&#116;&#111;:&#x72;&#101;&#103;&#x69;&#115;t&#x72;&#97;&#116;&#x69;&#111;n&#64;&#x6C;o&#x67;&#x74;&#x61;l&#107;.o&#114;&#103;">&#x72;&#101;&#103;&#x69;&#115;t&#x72;&#97;&#116;&#x69;&#111;n&#64;&#x6C;o&#x67;&#x74;&#x61;l&#107;.o&#114;&#103;</a></p>
@@ -56,29 +57,9 @@ platforms (mac, pc, unix,...) (optional)</p>
<h2>4. Support</h2>
<p>Logtalk support is available for registered users via email to
<a href="&#109;&#x61;&#105;&#108;&#116;&#x6F;:&#115;&#117;&#112;&#112;o&#114;&#116;&#64;&#108;o&#103;t&#97;&#x6C;&#107;&#x2E;&#x6F;r&#103;">&#115;&#117;&#112;&#112;o&#114;&#116;&#64;&#108;o&#103;t&#97;&#x6C;&#107;&#x2E;&#x6F;r&#103;</a>.</p>
<p>At the URL <a href="http://logtalk.org/bugs.html">http://logtalk.org/bugs.html</a> you can find a list of known
problems and download bug fixes. The latest news about Logtalk are
available at the URL <a href="http://logtalk.org/news.html">http://logtalk.org/news.html</a>.</p>
<p>There is also a mailing list, "logtalk", used to announce new releases and
bug fixes and for discussion between registered Logtalk users, that you
may subscribe. For instructions on how to subscribe, please visit the web
page:</p>
<blockquote>
<p><a href="http://lserv.ci.uc.pt/mailman/listinfo/logtalk">http://lserv.ci.uc.pt/mailman/listinfo/logtalk</a></p>
</blockquote>
<p>or send an email message to:</p>
<blockquote>
<p><a href="&#x6D;&#97;&#105;&#108;&#116;&#x6F;:&#x6C;&#x6F;&#103;&#x74;&#x61;l&#107;&#x2D;&#x72;&#x65;&#113;&#x75;&#x65;&#x73;&#x74;&#64;l&#x73;&#x65;&#114;&#x76;&#x2E;&#99;&#x69;&#x2E;&#117;&#x63;&#x2E;&#112;&#116;">&#x6C;&#x6F;&#103;&#x74;&#x61;l&#107;&#x2D;&#x72;&#x65;&#113;&#x75;&#x65;&#x73;&#x74;&#64;l&#x73;&#x65;&#114;&#x76;&#x2E;&#99;&#x69;&#x2E;&#117;&#x63;&#x2E;&#112;&#116;</a></p>
</blockquote>
<p>with just the word "help" in the subject or in the message body.</p>
<p>
For support options, please consult the page <a href="http://logtalk.org/support.html">http://logtalk.org/support.html</a>.
</p>
<h2>5. Installation</h2>
@@ -99,7 +80,7 @@ Logtalk installation and working environment.</p>
<h2>7. Quick start</h2>
<p>The file <code>QUICK_START</code> provides quick instructions for those of you in a hurry
<p>The file <code>QUICK_START.txt</code> provides quick instructions for those of you in a hurry
to run Logtalk, provided that your favorite Prolog compiler is supported.</p>
<h2>7. Documentation</h2>
@@ -107,20 +88,20 @@ to run Logtalk, provided that your favorite Prolog compiler is supported.</p>
<p>The reference and user manuals and the tutorial are provided in XHTML format
and can be found in the "manuals" directory.</p>
<p>The file <code>RELEASE_NOTES</code> contains descriptions of all Logtalk updates since the
<p>The file <code>RELEASE_NOTES.txt</code> contains descriptions of all Logtalk updates since the
first public version. Read it carefully if you have been using a previous
Logtalk version.</p>
<h2>8. Upgrading</h2>
<p>If you are upgrading from a previous Logtalk version, please check the file
<code>UPGRADING</code> for instructions on how to upgrade your programs or your custom
<code>UPGRADING.txt</code> for instructions on how to upgrade your programs or your custom
configuration files to run under this new version.</p>
<h2>9. Citations</h2>
<p>If you want to cite Logtalk in your publications, please consult the file
<code>BIBLIOGRAPHY</code> for bibliographic references in BibTeX format.</p>
<code>BIBLIOGRAPHY.bib</code> for bibliographic references in BibTeX format.</p>
<h2>10. Contributions</h2>

View File

@@ -8,10 +8,10 @@
<b>Welcome to the Logtalk for Mac OS X Installer</b>
</p>
<p>
Logtalk is an open source object-oriented extension to the Prolog programming language. Integrating logic programming with object-oriented and event-driven programming, it is compatible with most Prolog compilers. It supports both prototypes and classes. In addition, it supports component-based programming through category-based composition.
Logtalk is an open source object-oriented logic programming language that can use most Prolog implementations as a back-end compiler. As a multi-paradigm language, Logtalk includes support for both prototypes and classes, protocols, component-based programming through category-based composition, event-driven programming, and multi-threading programming.
</p>
<p>
This installer guides you through the steps necessary to install Logtalk for Mac OS X. Logtalk is installed on the <b>/opt/local/share/logtalk</b> directory. After completing the installation, each Logtalk end-user must run the shell command <b>cplgtdirs</b> once before using the Logtalk &ndash; Prolog integration scripts. This command creates a folder named <b>logtalk</b> on the user's home directory containing configuration files, examples, and documentation. Inside this folder is a link to a <b>CUSTOMIZE.txt</b> file describes how to customize Logtalk for your personal use. Links to the Logtalk &ndash; Prolog integration scripts are created on the <b>/opt/local/bin</b> directory, which must be on your system path. The integration scripts are described on the <b>/opt/local/share/logtalk/scripts/NOTES.txt</b> file.
This installer guides you through the steps necessary to install Logtalk for Mac OS X. Logtalk is installed on the <b>/opt/local/share/logtalk</b> directory. A link to the Logtalk installation folder is automatically created on the Applications folder. After completing the installation, each Logtalk end-user must run the shell command <b>cplgtdirs</b> once before using the Prolog integration scripts. This command creates a folder named <b>logtalk</b> on the user's home directory containing configuration files, examples, and documentation. Inside this folder is a link to a <b>CUSTOMIZE.txt</b> file describes how to customize Logtalk for your personal use. Links to the Prolog integration scripts are created on the <b>/opt/local/bin</b> directory, which must be on your system path. See the <b>/Applications/Logtalk/QUICK_START.txt</b> file for instructions on how to run Logtalk.
</p>
<p>
To get started, click Continue.

View File

@@ -1,14 +1,14 @@
#!/bin/bash
## =================================================================
## Logtalk - Object oriented extension to Prolog
## Release 2.29.5
## ================================================================
## Logtalk - Open source object-oriented logic programming language
## Release 2.30.1
##
## Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
## =================================================================
## ================================================================
echo ""
echo "Checking the LOGTALKHOME environment variable definition..."
echo "Checking for the Logtalk environment variable definitions..."
echo ""
if grep "LOGTALKHOME=/opt/local/share/logtalk" /etc/profile >/dev/null 2>&1; then
@@ -32,6 +32,10 @@ else
echo 'setenv LOGTALKUSER $HOME/logtalk' >> /etc/csh.cshrc
fi
echo ""
echo "Creating a link to the Logtalk installation folder in the /Applications folder..."
ln -sf /opt/local/share/logtalk /Applications/Logtalk
echo ""
echo "You have succesfully installed Logtalk!"
echo ""

Binary file not shown.

View File

@@ -1,63 +0,0 @@
#!/bin/sh
## =================================================================
## Logtalk - Object oriented extension to Prolog
## Release 2.29.5
##
## Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
## =================================================================
echo
echo "Creating a script named bplgt for running Logtalk with B-Prolog ..."
echo
if ! [ "$LOGTALKHOME" ]
then
echo "The environment variable LOGTALKHOME must be defined first!"
echo
exit 1
fi
if ! [ -d "$LOGTALKHOME" ]; then
echo "The environment variable LOGTALKHOME points to a non-existing directory!"
echo "Its current value is: $LOGTALKHOME"
echo "The variable must be set to your Logtalk installation directory!"
echo
exit 1
fi
if [ -z "$1" ]; then
prefix=/usr/local
else
prefix="$1"
fi
if ! [ -d "$prefix" ]; then
echo "Directory prefix does not exist!"
echo
exit 1
fi
cd "$LOGTALKHOME"
mkdir -p bin
cd bin
eval bp -g "\"set_prolog_flag(redefined, off), compile('../compiler/logtalk.pl').\""
mv ../compiler/logtalk.pl.out .
echo ":- set_prolog_flag(redefined, off)." > logtalk_bp.pl
echo ":- compile('\$LOGTALKUSER/configs/b.config')." >> logtalk_bp.pl
echo ":- load('\$LOGTALKUSER/configs/b.config')." >> logtalk_bp.pl
echo ":- load('\$LOGTALKHOME/bin/logtalk.pl')." >> logtalk_bp.pl
echo ":- compile('\$LOGTALKUSER/libpaths/libpaths.pl')." >> logtalk_bp.pl
echo ":- load('\$LOGTALKUSER/libpaths/libpaths.pl')." >> logtalk_bp.pl
echo "#/bin/sh" > bplgt
echo "bp -g \"consult('\\\$LOGTALKHOME/bin/logtalk_bp.pl'), \\\$bp_top_level\" \"\$@\"" >> bplgt
chmod a+x bplgt
ln -sf $LOGTALKHOME/bin/bplgt $prefix/bin/bplgt
echo "Done. A link to the script was been created in $prefix/bin."
echo
echo "Users should ensure that the environment variables LOGTALKHOME"
echo "and LOGTALKUSER are defined and then run the \"cplgtdirs\" script"
echo "once prior to using the bplgt script."
echo

View File

@@ -1,117 +0,0 @@
// =================================================================
// Logtalk - Object oriented extension to Prolog
// Release 2.29.5
//
// Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
// =================================================================
if (ScriptEngineMajorVersion() < 5 || ScriptEngineMajorVersion() == 5 && ScriptEngineMinorVersion() < 6) {
WScript.Echo('Error! WSH 5.6 or later version needed for running this script.');
WScript.Quit(1);
}
if (WScript.Arguments.Unnamed.Length > 0) {
usage_help();
WScript.Quit(0);
}
WScript.Echo('');
WScript.Echo('Creating a shortcut named "Logtalk - CIAO" for running Logtalk');
WScript.Echo('with CIAO...');
WScript.Echo('');
var WshShell = new ActiveXObject("WScript.Shell");
var prolog_path = WshShell.RegRead("HKLM\\Software\\Ciao Prolog\\ciao_dir") + "\\shell\\ciaosh.cpx";
var FSObject = new ActiveXObject("Scripting.FileSystemObject");
if (!FSObject.FileExists(prolog_path)) {
WScript.Echo("Error! Cannot find ciaosh.cpx at the expected place!");
WScript.Echo("Please, edit the script and update the location of the ciaosh.cpx executable.");
WScript.Quit(1);
}
var WshSystemEnv = WshShell.Environment("SYSTEM");
var WshUserEnv = WshShell.Environment("USER");
var logtalk_home;
if (WshSystemEnv.Item("LOGTALKHOME"))
logtalk_home = WshSystemEnv.Item("LOGTALKHOME");
else if (WshUserEnv.Item("LOGTALKHOME"))
logtalk_home = WshUserEnv.Item("LOGTALKHOME")
else {
WScript.Echo("Error! The system environment variable LOGTALKHOME must be defined first!");
usage_help();
WScript.Quit(1);
}
if (!FSObject.FolderExists(logtalk_home)) {
WScript.Echo("The environment variable LOGTALKHOME points to a non-existing directory!");
WScript.Echo("Its current value is: %LOGTALKHOME%");
WScript.Echo("The variable must be set to your Logtalk installation directory!");
WScript.Echo("");
usage_help();
WScript.Quit(1);
}
logtalk_home = logtalk_home.replace(/\\/g, "\\\\");
if (!FSObject.FolderExists(logtalk_home + "\\bin"))
FSObject.CreateFolder(logtalk_home + "\\bin");
var f = FSObject.CreateTextFile(logtalk_home + "\\bin\\logtalk_ciao.pl", true);
f.WriteLine(":- ensure_loaded('$LOGTALKUSER/configs/ciao_aux.config').");
f.WriteLine(":- set_prolog_flag(multi_arity_warnings, off).");
f.WriteLine(":- ensure_loaded('$LOGTALKHOME/compiler/logtalk.pl').");
f.WriteLine(":- ensure_loaded('$LOGTALKUSER/libpaths/libpaths.pl').");
f.WriteLine(":- op(600, xfy, ::).");
f.WriteLine(":- op(600, fy, ::).");
f.WriteLine(":- op(600, fy, ^^).");
f.WriteLine(":- op(200, fy, +).");
f.WriteLine(":- op(200, fy, ?).");
f.WriteLine(":- op(200, fy, @).");
f.WriteLine(":- op(200, fy, -).");
f.Close();
var ProgramsPath = WshShell.SpecialFolders("AllUsersPrograms");
if (!FSObject.FolderExists(ProgramsPath + "\\Logtalk"))
FSObject.CreateFolder(ProgramsPath + "\\Logtalk");
var link = WshShell.CreateShortcut(ProgramsPath + "\\Logtalk\\Logtalk - CIAO.lnk");
link.Arguments = '-l "$LOGTALKHOME/bin/logtalk_ciao.pl"';
link.Description = 'Runs Logtalk with CIAO';
link.IconLocation = 'app.exe,1';
link.TargetPath = prolog_path;
link.WindowStyle = 1;
link.WorkingDirectory = logtalk_home;
link.Save();
WScript.Echo('Done. The "Logtalk - CIAO" shortcut was been added to the');
WScript.Echo('Start Menu Programs. Make sure that the environment variables');
WScript.Echo('LOGTALKHOME and LOGTALKUSER are defined for all users wishing');
WScript.Echo('to use the shortcut.');
WScript.Echo('');
WScript.Echo('The first call to the shortcut must be made by a user with');
WScript.Echo('administrative rights.');
WScript.Echo('');
WScript.Echo('Users must run the batch script "cplgtdirs" once before using');
WScript.Echo('the "Logtalk - CIAO" shortcut.');
WScript.Echo('');
WScript.Quit(0);
function usage_help() {
WScript.Echo('');
WScript.Echo('This script creates a shortcut named "Logtalk - CIAO" for running Logtalk');
WScript.Echo('with CIAO. The script must be run by a user with administrative rights.');
WScript.Echo('The LOGTALKHOME environment variable must be defined before running this');
WScript.Echo('script.');
WScript.Echo('');
WScript.Echo('Usage:');
WScript.Echo(' ' + WScript.ScriptName + ' help');
WScript.Echo(' ' + WScript.ScriptName);
WScript.Echo('');
}

View File

@@ -1,66 +0,0 @@
#!/bin/sh
## =================================================================
## Logtalk - Object oriented extension to Prolog
## Release 2.29.5
##
## Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
## =================================================================
echo
echo "Creating a script named ciaolgt for running Logtalk with CIAO..."
echo
if ! [ "$LOGTALKHOME" ]
then
echo "The environment variable LOGTALKHOME must be defined first!"
echo
exit 1
fi
if ! [ -d "$LOGTALKHOME" ]; then
echo "The environment variable LOGTALKHOME points to a non-existing directory!"
echo "Its current value is: $LOGTALKHOME"
echo "The variable must be set to your Logtalk installation directory!"
echo
exit 1
fi
if [ -z "$1" ]; then
prefix=/usr/local
else
prefix="$1"
fi
if ! [ -d "$prefix" ]; then
echo "Directory prefix does not exist!"
echo
exit 1
fi
cd "$LOGTALKHOME"
mkdir -p bin
cd bin
echo ":- ensure_loaded('\$LOGTALKUSER/configs/ciao_aux.config')." > logtalk_ciao.pl
echo ":- set_prolog_flag(multi_arity_warnings, off)." >> logtalk_ciao.pl
echo ":- ensure_loaded('\$LOGTALKHOME/compiler/logtalk.pl')." >> logtalk_ciao.pl
echo ":- ensure_loaded('\$LOGTALKUSER/libpaths/libpaths.pl')." >> logtalk_ciao.pl
echo ":- op(600, xfy, ::)." >> logtalk_ciao.pl
echo ":- op(600, fy, ::)." >> logtalk_ciao.pl
echo ":- op(600, fy, ^^)." >> logtalk_ciao.pl
echo ":- op(200, fy, +)." >> logtalk_ciao.pl
echo ":- op(200, fy, ?)." >> logtalk_ciao.pl
echo ":- op(200, fy, @)." >> logtalk_ciao.pl
echo ":- op(200, fy, -)." >> logtalk_ciao.pl
echo "#/bin/sh" > ciaolgt
echo "ciaosh -l \"\$LOGTALKHOME/bin/logtalk_ciao.pl\" \"\$@\"" >> ciaolgt
chmod a+x ciaolgt
ln -sf $LOGTALKHOME/bin/ciaolgt $prefix/bin/ciaolgt
echo "Done. A link to the script was been created in $prefix/bin."
echo "The first call to the script the must be made as root or using"
echo "sudo."
echo
echo "Users should ensure that the environment variables LOGTALKHOME"
echo "and LOGTALKUSER are defined and then run the \"cplgtdirs\" script"
echo "once prior to using the ciaolgt script."
echo

View File

@@ -1,145 +0,0 @@
// =================================================================
// Logtalk - Object oriented extension to Prolog
// Release 2.29.5
//
// Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
// =================================================================
if (ScriptEngineMajorVersion() < 5 || ScriptEngineMajorVersion() == 5 && ScriptEngineMinorVersion() < 6) {
WScript.Echo('Error! WSH 5.6 or later version needed for running this script.');
WScript.Quit(1);
}
if (WScript.Arguments.Unnamed.Length > 0) {
usage_help();
WScript.Quit(0);
}
WScript.Echo('');
WScript.Echo('Creating a shortcut named "Logtalk - ECLiPSe" for running Logtalk with');
WScript.Echo('ECLiPSe 5.11 or 5.10 (edit this script if you are using a different version)...');
WScript.Echo('');
var WshShell = new ActiveXObject("WScript.Shell");
var prolog_path;
var prolog_path511;
var prolog_path510;
try {
prolog_path511 = WshShell.RegRead("HKLM\\Software\\IC-Parc\\Eclipse\\5.11\\ECLIPSEDIR") + "\\lib\\i386_nt\\eclipse.exe";
}
catch(e) {
prolog_path511 = "not_installed.lgt";
}
try {
prolog_path510 = WshShell.RegRead("HKLM\\Software\\IC-Parc\\Eclipse\\5.10\\ECLIPSEDIR") + "\\lib\\i386_nt\\eclipse.exe";
}
catch(e) {
prolog_path510 = "not_installed.lgt";
}
var FSObject = new ActiveXObject("Scripting.FileSystemObject");
if (FSObject.FileExists(prolog_path511)) {
prolog_path = prolog_path511;
}
else if (FSObject.FileExists(prolog_path510)) {
prolog_path = prolog_path510;
}
else {
WScript.Echo("Error! Cannot find eclipse.exe at the expected place!");
WScript.Echo("Please, edit the script and update the location of the eclipse.exe executable.");
WScript.Quit(1);
}
var WshSystemEnv = WshShell.Environment("SYSTEM");
var WshUserEnv = WshShell.Environment("USER");
var logtalk_home;
if (WshSystemEnv.Item("LOGTALKHOME"))
logtalk_home = WshSystemEnv.Item("LOGTALKHOME");
else if (WshUserEnv.Item("LOGTALKHOME"))
logtalk_home = WshUserEnv.Item("LOGTALKHOME")
else {
WScript.Echo("Error! The system environment variable LOGTALKHOME must be defined first!");
usage_help();
WScript.Quit(1);
}
if (!FSObject.FolderExists(logtalk_home)) {
WScript.Echo("The environment variable LOGTALKHOME points to a non-existing directory!");
WScript.Echo("Its current value is: %LOGTALKHOME%");
WScript.Echo("The variable must be set to your Logtalk installation directory!");
WScript.Echo("");
usage_help();
WScript.Quit(1);
}
logtalk_home = logtalk_home.replace(/\\/g, "\\\\");
if (!FSObject.FolderExists(logtalk_home + "\\bin"))
FSObject.CreateFolder(logtalk_home + "\\bin");
var f1 = FSObject.CreateTextFile(logtalk_home + "\\bin\\logtalk_comp_eclipse.pl", true);
var f2 = FSObject.OpenTextFile(logtalk_home + "\\compiler\\logtalk.pl", 1);
var line;
f1.WriteLine(":- pragma(system).");
f1.WriteLine(":- pragma(nodebug).");
while (!f2.AtEndOfStream) {
line = f2.ReadLine();
f1.WriteLine(line);
}
f1.Close();
f2.Close();
f = FSObject.CreateTextFile(logtalk_home + "\\bin\\logtalk_eclipse.pl", true);
f.WriteLine(":- ensure_loaded(library(toplevel)).");
f.WriteLine(":- cd('$LOGTALKUSER').");
f.WriteLine(":- compile('configs/eclipseiso.config').");
f.WriteLine(":- cd('$LOGTALKHOME').");
f.WriteLine(":- compile('bin/logtalk_comp_eclipse.pl').");
f.WriteLine(":- cd('$LOGTALKUSER').");
f.WriteLine(":- compile('libpaths/libpaths.pl').");
f.Close();
var ProgramsPath = WshShell.SpecialFolders("AllUsersPrograms");
if (!FSObject.FolderExists(ProgramsPath + "\\Logtalk"))
FSObject.CreateFolder(ProgramsPath + "\\Logtalk");
var link = WshShell.CreateShortcut(ProgramsPath + "\\Logtalk\\Logtalk - ECLiPSe.lnk");
link.Arguments = '-b "%LOGTALKHOME%\\bin\\logtalk_eclipse.pl"';
link.Description = 'Runs Logtalk with ECLiPSe';
link.IconLocation = 'app.exe,1';
link.TargetPath = prolog_path;
link.WindowStyle = 1;
link.WorkingDirectory = '%LOGTALKUSER%';
link.Save();
WScript.Echo('Done. The "Logtalk - ECLiPSe" shortcut was been added to the');
WScript.Echo('Start Menu Programs. Make sure that the environment variables');
WScript.Echo('LOGTALKHOME and LOGTALKUSER are defined for all users wishing');
WScript.Echo('to use the shortcut.');
WScript.Echo('');
WScript.Echo('Users must run the batch script "cplgtdirs" once before using');
WScript.Echo('the "Logtalk - ECLiPSe" shortcut.');
WScript.Echo('');
WScript.Quit(0);
function usage_help() {
WScript.Echo('');
WScript.Echo('This script creates a shortcut named "Logtalk - ECLiPSe" for running Logtalk');
WScript.Echo('with ECLiPSe. The script must be run by a user with administrative rights.');
WScript.Echo('The LOGTALKHOME environment variable must be defined before running this');
WScript.Echo('script.');
WScript.Echo('');
WScript.Echo('Usage:');
WScript.Echo(' ' + WScript.ScriptName + ' help');
WScript.Echo(' ' + WScript.ScriptName);
WScript.Echo('');
}

View File

@@ -1,64 +0,0 @@
#!/bin/sh
## =================================================================
## Logtalk - Object oriented extension to Prolog
## Release 2.29.5
##
## Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
## =================================================================
echo
echo "Creating a script named eclipselgt for running Logtalk with ECLiPSe..."
echo
if ! [ "$LOGTALKHOME" ]
then
echo "The environment variable LOGTALKHOME must be defined first!"
echo
exit 1
fi
if ! [ -d "$LOGTALKHOME" ]; then
echo "The environment variable LOGTALKHOME points to a non-existing directory!"
echo "Its current value is: $LOGTALKHOME"
echo "The variable must be set to your Logtalk installation directory!"
echo
exit 1
fi
if [ -z "$1" ]; then
prefix=/usr/local
else
prefix="$1"
fi
if ! [ -d "$prefix" ]; then
echo "Directory prefix does not exist!"
echo
exit 1
fi
cd "$LOGTALKHOME"
mkdir -p bin
cd bin
echo ":- pragma(system)." > logtalk_comp_eclipse.pl
echo ":- pragma(nodebug)." >> logtalk_comp_eclipse.pl
echo ":- ensure_loaded(library(toplevel))." >> logtalk_comp_eclipse.pl
echo ":- include('\$LOGTALKHOME/compiler/logtalk.pl')." >> logtalk_comp_eclipse.pl
echo ":- compile('\$LOGTALKUSER/configs/eclipseiso.config')." > logtalk_eclipse.pl
echo ":- compile('\$LOGTALKHOME/bin/logtalk_comp_eclipse.pl')." >> logtalk_eclipse.pl
echo ":- compile('\$LOGTALKUSER/libpaths/libpaths.pl')." >> logtalk_eclipse.pl
echo "#/bin/sh" > eclipselgt
echo "eclipse -b \"\$LOGTALKHOME/bin/logtalk_eclipse.pl\" \"\$@\"" >> eclipselgt
chmod a+x eclipselgt
ln -sf $LOGTALKHOME/bin/eclipselgt $prefix/bin/eclipselgt
echo "Done. A link to the script was been created in $prefix/bin."
echo
echo "Users should ensure that the environment variables LOGTALKHOME"
echo "and LOGTALKUSER are defined and then run the \"cplgtdirs\" script"
echo "once prior to using the eclipselgt script."
echo

View File

@@ -1,114 +0,0 @@
// =================================================================
// Logtalk - Object oriented extension to Prolog
// Release 2.29.5
//
// Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
// =================================================================
if (ScriptEngineMajorVersion() < 5 || ScriptEngineMajorVersion() == 5 && ScriptEngineMinorVersion() < 6) {
WScript.Echo('Error! WSH 5.6 or later version needed for running this script.');
WScript.Quit(1);
}
if (WScript.Arguments.Unnamed.Length > 0) {
usage_help();
WScript.Quit(0);
}
WScript.Echo('');
WScript.Echo('Creating a shortcut named "Logtalk - GNU Prolog" for running Logtalk');
WScript.Echo('with GNU Prolog...');
WScript.Echo('');
var WshShell = new ActiveXObject("WScript.Shell");
var prolog_path = WshShell.RegRead("HKCU\\Software\\GnuProlog\\RootPath") + "\\bin\\gprolog.exe";
var FSObject = new ActiveXObject("Scripting.FileSystemObject");
if (!FSObject.FileExists(prolog_path)) {
WScript.Echo("Error! Cannot find gprolog.exe at the expected place!");
WScript.Echo("Please, edit the script and update the location of the gprolog.exe executable.");
WScript.Quit(1);
}
var WshSystemEnv = WshShell.Environment("SYSTEM");
var WshUserEnv = WshShell.Environment("USER");
var logtalk_home;
if (WshSystemEnv.Item("LOGTALKHOME"))
logtalk_home = WshSystemEnv.Item("LOGTALKHOME");
else if (WshUserEnv.Item("LOGTALKHOME"))
logtalk_home = WshUserEnv.Item("LOGTALKHOME")
else {
WScript.Echo("Error! The system environment variable LOGTALKHOME must be defined first!");
usage_help();
WScript.Quit(1);
}
if (!FSObject.FolderExists(logtalk_home)) {
WScript.Echo("The environment variable LOGTALKHOME points to a non-existing directory!");
WScript.Echo("Its current value is: %LOGTALKHOME%");
WScript.Echo("The variable must be set to your Logtalk installation directory!");
WScript.Echo("");
usage_help();
WScript.Quit(1);
}
logtalk_home = logtalk_home.replace(/\\/g, "\\\\");
if (!FSObject.FolderExists(logtalk_home + "\\bin"))
FSObject.CreateFolder(logtalk_home + "\\bin");
FSObject.CopyFile(logtalk_home + "\\configs\\gnu.config", logtalk_home + "\\bin\\gnu.pl");
var f1 = FSObject.CreateTextFile(logtalk_home + "\\bin\\logtalk_gp.pl", true);
var f2 = FSObject.OpenTextFile(logtalk_home + "\\compiler\\logtalk.pl", 1);
var line;
f1.WriteLine(":- built_in.");
while (!f2.AtEndOfStream) {
line = f2.ReadLine();
f1.WriteLine(line);
}
f1.Close();
f2.Close();
var ProgramsPath = WshShell.SpecialFolders("AllUsersPrograms");
if (!FSObject.FolderExists(ProgramsPath + "\\Logtalk"))
FSObject.CreateFolder(ProgramsPath + "\\Logtalk");
var link = WshShell.CreateShortcut(ProgramsPath + "\\Logtalk\\Logtalk - GNU Prolog.lnk");
link.Arguments = "--init-goal \"['$LOGTALKUSER/configs/gnu.config', '$LOGTALKHOME/bin/logtalk_gp.pl', '$LOGTALKUSER/libpaths/libpaths.pl']\"";
link.Description = "Runs Logtalk with GNU Prolog";
link.IconLocation = "app.exe,1";
link.TargetPath = prolog_path;
link.WindowStyle = 1;
link.WorkingDirectory = logtalk_home;
link.Save();
WScript.Echo('Done. The "Logtalk - GNU Prolog" shortcut was been added to the');
WScript.Echo('Start Menu Programs. Make sure that the environment variables');
WScript.Echo('LOGTALKHOME and LOGTALKUSER are defined for all users wishing');
WScript.Echo('to use the shortcut.');
WScript.Echo('');
WScript.Echo('Users must run the batch script "cplgtdirs" once before using');
WScript.Echo('the "Logtalk - GNU Prolog" shortcut.');
WScript.Echo('');
WScript.Quit(0);
function usage_help() {
WScript.Echo('');
WScript.Echo('This script creates a shortcut named "Logtalk - GNU Prolog" for running Logtalk');
WScript.Echo('with GNU Prolog. The script must be run by a user with administrative rights.');
WScript.Echo('The LOGTALKHOME environment variable must be defined before running this');
WScript.Echo('script.');
WScript.Echo('');
WScript.Echo('Usage:');
WScript.Echo(' ' + WScript.ScriptName + ' help');
WScript.Echo(' ' + WScript.ScriptName);
WScript.Echo('');
}

View File

@@ -1,55 +0,0 @@
#!/bin/sh
## =================================================================
## Logtalk - Object oriented extension to Prolog
## Release 2.29.5
##
## Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
## =================================================================
echo
echo "Creating a script named gplgt for running Logtalk with GNU Prolog..."
echo
if ! [ "$LOGTALKHOME" ]
then
echo "The environment variable LOGTALKHOME must be defined first!"
echo
exit 1
fi
if ! [ -d "$LOGTALKHOME" ]; then
echo "The environment variable LOGTALKHOME points to a non-existing directory!"
echo "Its current value is: $LOGTALKHOME"
echo "The variable must be set to your Logtalk installation directory!"
echo
exit 1
fi
if [ -z "$1" ]; then
prefix=/usr/local
else
prefix="$1"
fi
if ! [ -d "$prefix" ]; then
echo "Directory prefix does not exist!"
echo
exit 1
fi
cd "$LOGTALKHOME"
mkdir -p bin
cd bin
echo ":- built_in." > logtalk_gp.pl
cat ../compiler/logtalk.pl >> logtalk_gp.pl
echo "#/bin/sh" > gplgt
echo "gprolog --init-goal \"['\$LOGTALKUSER/configs/gnu.config', '\$LOGTALKHOME/bin/logtalk_gp.pl', '\$LOGTALKUSER/libpaths/libpaths.pl']\" \"\$@\"" >> gplgt
chmod a+x gplgt
ln -sf $LOGTALKHOME/bin/gplgt $prefix/bin/gplgt
echo "Done. A link to the script was been created in $prefix/bin."
echo
echo "Users should ensure that the environment variables LOGTALKHOME"
echo "and LOGTALKUSER are defined and then run the \"cplgtdirs\" script"
echo "once prior to using the gplgt script."
echo

View File

@@ -1,115 +0,0 @@
// =================================================================
// Logtalk - Object oriented extension to Prolog
// Release 2.29.5
//
// Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
// =================================================================
if (ScriptEngineMajorVersion() < 5 || ScriptEngineMajorVersion() == 5 && ScriptEngineMinorVersion() < 6) {
WScript.Echo('Error! WSH 5.6 or later version needed for running this script.');
WScript.Quit(1);
}
if (WScript.Arguments.Unnamed.Length > 0) {
usage_help();
WScript.Quit(0);
}
WScript.Echo('');
WScript.Echo('Creating a shortcut named "Logtalk - K-Prolog" for running Logtalk');
WScript.Echo('with K-Prolog...');
WScript.Echo('');
var WshShell = new ActiveXObject("WScript.Shell");
var WshSystemEnv = WshShell.Environment("SYSTEM");
var WshUserEnv = WshShell.Environment("USER");
var prolog_path;
if (WshSystemEnv.Item("PLC"))
prolog_path = WshSystemEnv.Item("PLC") + "\\plc.exe";
else if (WshUserEnv.Item("PLC"))
prolog_path = WshUserEnv.Item("PLC") + "\\plc.exe"
else {
WScript.Echo("Error! The K-Prolog environment variable PLC must be defined first!");
usage_help();
WScript.Quit(1);
}
var FSObject = new ActiveXObject("Scripting.FileSystemObject");
if (!FSObject.FileExists(prolog_path)) {
WScript.Echo("Error! Cannot find plc.exe at the expected place!");
WScript.Quit(1);
}
var logtalk_home;
if (WshSystemEnv.Item("LOGTALKHOME"))
logtalk_home = WshSystemEnv.Item("LOGTALKHOME");
else if (WshUserEnv.Item("LOGTALKHOME"))
logtalk_home = WshUserEnv.Item("LOGTALKHOME")
else {
WScript.Echo("Error! The environment variable LOGTALKHOME must be defined first!");
usage_help();
WScript.Quit(1);
}
if (!FSObject.FolderExists(logtalk_home)) {
WScript.Echo("The environment variable LOGTALKHOME points to a non-existing directory!");
WScript.Echo("Its current value is: %LOGTALKHOME%");
WScript.Echo("The variable must be set to your Logtalk installation directory!");
WScript.Echo("");
usage_help();
WScript.Quit(1);
}
logtalk_home = logtalk_home.replace(/\\/g, "\\\\");
if (!FSObject.FolderExists(logtalk_home + "\\bin"))
FSObject.CreateFolder(logtalk_home + "\\bin");
f = FSObject.CreateTextFile(logtalk_home + "\\bin\\logtalk_plc.pl", true);
f.WriteLine(":- consult('$LOGTALKUSER/configs/k.config').");
f.WriteLine(":- consult('$LOGTALKHOME/compiler/logtalk.pl').");
f.WriteLine(":- consult('$LOGTALKUSER/libpaths/libpaths.pl').");
f.Close();
var ProgramsPath = WshShell.SpecialFolders("AllUsersPrograms");
if (!FSObject.FolderExists(ProgramsPath + "\\Logtalk"))
FSObject.CreateFolder(ProgramsPath + "\\Logtalk");
var link = WshShell.CreateShortcut(ProgramsPath + "\\Logtalk\\Logtalk - K-Prolog.lnk");
link.Arguments = "-h 2048k -l 1024k -g 2048k -e \"(consult('$LOGTALKHOME/bin/logtalk_plc.pl'), '$root').\"";
link.Description = "Runs Logtalk with K-Prolog";
link.IconLocation = "app.exe,1";
link.TargetPath = prolog_path;
link.WindowStyle = 1;
link.WorkingDirectory = logtalk_home;
link.Save();
WScript.Echo('Done. The "Logtalk - K-Prolog" shortcut was been added to the');
WScript.Echo('Start Menu Programs. Make sure that the environment variables');
WScript.Echo('LOGTALKHOME and LOGTALKUSER are defined for all users wishing');
WScript.Echo('to use the shortcut.');
WScript.Echo('');
WScript.Echo('Users must run the batch script "cplgtdirs" once before using');
WScript.Echo('the "Logtalk - K-Prolog" shortcut.');
WScript.Echo('');
WScript.Quit(0);
function usage_help() {
WScript.Echo('');
WScript.Echo('This script creates a shortcut named "Logtalk - K-Prolog" for');
WScript.Echo('running Logtalk with K-Prolog. The script must be run by a user');
WScript.Echo('with administrative rights. The LOGTALKHOME environment variable');
WScript.Echo('must be defined before running this script.');
WScript.Echo('');
WScript.Echo('Usage:');
WScript.Echo(' ' + WScript.ScriptName + ' help');
WScript.Echo(' ' + WScript.ScriptName);
WScript.Echo('');
}

View File

@@ -1,56 +0,0 @@
#!/bin/sh
## =================================================================
## Logtalk - Object oriented extension to Prolog
## Release 2.29.5
##
## Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
## =================================================================
echo
echo "Creating a script named plclgt for running Logtalk with K-Prolog..."
echo
if ! [ "$LOGTALKHOME" ]
then
echo "The environment variable LOGTALKHOME must be defined first!"
echo
exit 1
fi
if ! [ -d "$LOGTALKHOME" ]; then
echo "The environment variable LOGTALKHOME points to a non-existing directory!"
echo "Its current value is: $LOGTALKHOME"
echo "The variable must be set to your Logtalk installation directory!"
echo
exit 1
fi
if [ -z "$1" ]; then
prefix=/usr/local
else
prefix="$1"
fi
if ! [ -d "$prefix" ]; then
echo "Directory prefix does not exist!"
echo
exit 1
fi
cd "$LOGTALKHOME"
mkdir -p bin
cd bin
echo ":- ensure_loaded('\$LOGTALKUSER/configs/k.config')." > logtalk_plc.pl
echo ":- ensure_loaded('\$LOGTALKHOME/compiler/logtalk.pl')." >> logtalk_plc.pl
echo ":- ensure_loaded('\$LOGTALKUSER/libpaths/libpaths.pl')." >> logtalk_plc.pl
echo "#/bin/sh" > plclgt
echo "\$PLC/plc -h 2048k -l 1024k -g 2048k -e \"(consult('\\\$LOGTALKHOME/bin/logtalk_plc.pl'), '\\\$root').\" \"\$@\"" >> plclgt
chmod a+x plclgt
ln -sf $LOGTALKHOME/bin/plclgt $prefix/bin/plclgt
echo "Done. A link to the script was been created in $prefix/bin."
echo
echo "Users should ensure that the environment variables LOGTALKHOME"
echo "and LOGTALKUSER are defined and then run the \"cplgtdirs\" script"
echo "once prior to using the plclgt script."
echo

View File

@@ -1,29 +1,48 @@
#!/bin/sh
## =================================================================
## Logtalk - Object oriented extension to Prolog
## Release 2.29.5
## ================================================================
## Logtalk - Open source object-oriented logic programming language
## Release 2.30.1
##
## Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
## =================================================================
## ================================================================
# makes a shell script named "qplgt" for running Logtalk with Qu-Prolog
# (based on script code contributed by Peter Robinson); this script does
# not read at runtime the config and the libpaths files: you will need to
# run this script again if you modify these files
echo
echo "Creating a script named qplgt for running Logtalk with Qu-Prolog..."
echo
if ! [ "$LOGTALKHOME" ]
then
echo "The environment variable LOGTALKHOME must be defined first!"
echo
exit 1
fi
if ! [ -d "$LOGTALKHOME" ]; then
echo "The environment variable LOGTALKHOME points to a non-existing directory!"
echo "Its current value is: $LOGTALKHOME"
echo "The variable must be set to your Logtalk installation directory!"
echo
exit 1
if ! [ "$LOGTALKHOME" ]; then
echo "The environment variable LOGTALKHOME should be defined first!"
echo "Trying default Logtalk installation directories..."
if [ -d "/usr/local/share/logtalk" ]; then
LOGTALKHOME=/usr/local/share/logtalk
echo "Using Logtalk installation at \"/usr/local/share/logtalk\""
elif [ -d "/usr/share/logtalk" ]; then
LOGTALKHOME=/usr/share/logtalk
echo "Using Logtalk installation at \"/usr/share/logtalk\""
elif [ -d "/opt/local/share/logtalk" ]; then
LOGTALKHOME=/opt/local/share/logtalk
echo "Using Logtalk installation at \"/opt/local/share/logtalk\""
elif [ -d "/opt/share/logtalk" ]; then
LOGTALKHOME=/opt/share/logtalk
echo "Using Logtalk installation at \"/opt/share/logtalk\""
else
echo "Unable to locate Logtalk installation directory!"
echo
exit 1
fi
elif ! [ -d "$LOGTALKHOME" ]; then
echo "The environment variable LOGTALKHOME points to a non-existing directory!"
echo "Its current value is: $LOGTALKHOME"
echo "The variable must be set to your Logtalk installation directory!"
echo
exit 1
fi
if [ -z "$1" ]; then
@@ -40,6 +59,7 @@ fi
cd "$LOGTALKHOME"
mkdir -p bin
cd configs
cp qu.config qu.ql
echo "fcompile('qu.ql', [assemble_only(true)]), load(qu). \
@@ -49,12 +69,16 @@ qc -c qphook.ql
cd ../bin
qc -s 3072 -d 1024 -h 2048 -o qplgt ../configs/qphook.qo ../configs/qu.qo ../compiler/logtalk.qo ../libpaths/libpaths.qo
chmod a+x qplgt
mkdir -p $prefix/bin
ln -sf $LOGTALKHOME/bin/qplgt $prefix/bin/qplgt
rm ../configs/qu.ql
rm ../configs/qphook.qo
rm ../configs/qu.qo
rm ../compiler/logtalk.qo
rm ../libpaths/libpaths.qo
echo "Done. A link to the script was been created in $prefix/bin."
echo "The script must be regenerated whenever changes are made to"
echo "either the config file or the libpaths file."

View File

@@ -1,130 +0,0 @@
// =================================================================
// Logtalk - Object oriented extension to Prolog
// Release 2.29.5
//
// Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
// =================================================================
if (ScriptEngineMajorVersion() < 5 || ScriptEngineMajorVersion() == 5 && ScriptEngineMinorVersion() < 6) {
WScript.Echo('Error! WSH 5.6 or later version needed for running this script.');
WScript.Quit(1);
}
if (WScript.Arguments.Unnamed.Length > 0) {
usage_help();
WScript.Quit(0);
}
WScript.Echo('');
WScript.Echo('Creating a shortcut named "Logtalk - SICStus Prolog" for running Logtalk with');
WScript.Echo('SICStus Prolog 4.0 or 3.12 (edit the script if you are using other version)...');
WScript.Echo('');
var WshShell = new ActiveXObject("WScript.Shell");
var prolog_path;
var prolog_path4;
var prolog_path3;
var config_file;
try {
prolog_path4 = WshShell.RegRead("HKLM\\Software\\SICS\\SICStus4.0_win32\\SP_PATH") + "\\bin\\spwin.exe";
}
catch(e) {
prolog_path4 = "not_installed.lgt";
}
try {
prolog_path3 = WshShell.RegRead("HKLM\\Software\\SICS\\SICStus3.12_win32\\SP_PATH") + "\\bin\\spwin.exe";
}
catch(e) {
prolog_path3 = "not_installed.lgt";
}
var FSObject = new ActiveXObject("Scripting.FileSystemObject");
if (FSObject.FileExists(prolog_path4)) {
prolog_path = prolog_path4;
config_file = "sicstus4.config";
}
else if (FSObject.FileExists(prolog_path3)) {
prolog_path = prolog_path3;
config_file = "sicstus.config";
}
else {
WScript.Echo("Error! Cannot find spwin.exe at the expected places!");
WScript.Echo("Please, edit the script and update the location of the spwin.exe executable.");
WScript.Quit(1);
}
var WshSystemEnv = WshShell.Environment("SYSTEM");
var WshUserEnv = WshShell.Environment("USER");
var logtalk_home;
if (WshSystemEnv.Item("LOGTALKHOME"))
logtalk_home = WshSystemEnv.Item("LOGTALKHOME");
else if (WshUserEnv.Item("LOGTALKHOME"))
logtalk_home = WshUserEnv.Item("LOGTALKHOME")
else {
WScript.Echo("Error! The environment variable LOGTALKHOME must be defined first!");
usage_help();
WScript.Quit(1);
}
if (!FSObject.FolderExists(logtalk_home)) {
WScript.Echo("The environment variable LOGTALKHOME points to a non-existing directory!");
WScript.Echo("Its current value is: %LOGTALKHOME%");
WScript.Echo("The variable must be set to your Logtalk installation directory!");
WScript.Echo("");
usage_help();
WScript.Quit(1);
}
logtalk_home = logtalk_home.replace(/\\/g, "\\\\");
if (!FSObject.FolderExists(logtalk_home + "\\bin"))
FSObject.CreateFolder(logtalk_home + "\\bin");
var f = FSObject.CreateTextFile(logtalk_home + "\\bin\\logtalk_sicstus.pl", true);
f.WriteLine(":- consult('$LOGTALKUSER/configs/" + config_file + "').");
f.WriteLine(":- consult('$LOGTALKHOME/compiler/logtalk.pl').");
f.WriteLine(":- consult('$LOGTALKUSER/libpaths/libpaths.pl').");
f.Close();
var ProgramsPath = WshShell.SpecialFolders("AllUsersPrograms");
if (!FSObject.FolderExists(ProgramsPath + "\\Logtalk"))
FSObject.CreateFolder(ProgramsPath + "\\Logtalk");
var link = WshShell.CreateShortcut(ProgramsPath + "\\Logtalk\\Logtalk - SICStus Prolog.lnk");
link.Arguments = '-l "%LOGTALKHOME%\\bin\\logtalk_sicstus.pl"';
link.Description = 'Runs Logtalk with SICStus Prolog';
link.IconLocation = 'app.exe,1';
link.TargetPath = prolog_path;
link.WindowStyle = 1;
link.WorkingDirectory = logtalk_home;
link.Save();
WScript.Echo('Done. The "Logtalk - SICStus Prolog" shortcut was been added to');
WScript.Echo('the Start Menu Programs. Make sure that the environment variables');
WScript.Echo('LOGTALKHOME and LOGTALKUSER are defined for all users wishing');
WScript.Echo('to use the shortcut.');
WScript.Echo('');
WScript.Echo('Users must run the batch script "cplgtdirs" once before using the');
WScript.Echo('"Logtalk - SICStus Prolog" shortcut.');
WScript.Echo('');
WScript.Quit(0);
function usage_help() {
WScript.Echo('');
WScript.Echo('This script creates a shortcut named "Logtalk - SICStus Prolog" for');
WScript.Echo('running Logtalk with SICStus Prolog. The script must be run by a user');
WScript.Echo('with administrative rights. The LOGTALKHOME environment variable must');
WScript.Echo('be defined before running this script.');
WScript.Echo('');
WScript.Echo('Usage:');
WScript.Echo(' ' + WScript.ScriptName + ' help');
WScript.Echo(' ' + WScript.ScriptName);
WScript.Echo('');
}

View File

@@ -1,63 +0,0 @@
#!/bin/sh
## =================================================================
## Logtalk - Object oriented extension to Prolog
## Release 2.29.5
##
## Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
## =================================================================
echo
echo "Creating a script named sicstuslgt for running Logtalk with SICStus Prolog..."
echo
if ! [ "$LOGTALKHOME" ]
then
echo "The environment variable LOGTALKHOME must be defined first!"
echo
exit 1
fi
if ! [ -d "$LOGTALKHOME" ]; then
echo "The environment variable LOGTALKHOME points to a non-existing directory!"
echo "Its current value is: $LOGTALKHOME"
echo "The variable must be set to your Logtalk installation directory!"
echo
exit 1
fi
if [ -z "$1" ]; then
prefix=/usr/local
else
prefix="$1"
fi
if ! [ -d "$prefix" ]; then
echo "Directory prefix does not exist!"
echo
exit 1
fi
cd "$LOGTALKHOME"
mkdir -p bin
cd bin
if sicstus -f --goal "halt." 2>&1 | grep "SICStus 4" 2>&1 >/dev/null; then
echo ":- compile('\$LOGTALKUSER/configs/sicstus4.config')." > logtalk_sicstus.pl
sed -e '/call_with_args/ s//call/g' ../compiler/logtalk.pl > logtalk_comp_sicstus.pl
echo ":- compile('\$LOGTALKHOME/bin/logtalk_comp_sicstus.pl')." >> logtalk_sicstus.pl
else
echo ":- compile('\$LOGTALKUSER/configs/sicstus.config')." > logtalk_sicstus.pl
echo ":- compile('\$LOGTALKHOME/compiler/logtalk.pl')." >> logtalk_sicstus.pl
fi
echo ":- compile('\$LOGTALKUSER/libpaths/libpaths.pl')." >> logtalk_sicstus.pl
echo "#/bin/sh" > sicstuslgt
echo "sicstus -l \"\$LOGTALKHOME/bin/logtalk_sicstus.pl\" \"\$@\"" >> sicstuslgt
chmod a+x sicstuslgt
ln -sf $LOGTALKHOME/bin/sicstuslgt $prefix/bin/sicstuslgt
echo "Done. A link to the script was been created in $prefix/bin."
echo
echo "Users should ensure that the environment variables LOGTALKHOME"
echo "and LOGTALKUSER are defined and then run the \"cplgtdirs\" script"
echo "once prior to using the sicstuslgt script."
echo

View File

@@ -1,118 +0,0 @@
// =================================================================
// Logtalk - Object oriented extension to Prolog
// Release 2.29.5
//
// Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
// =================================================================
if (WScript.Arguments.Unnamed.Length > 0) {
usage_help();
WScript.Quit(0);
}
WScript.Echo('');
WScript.Echo('Creating a shortcut named "Logtalk - SWI-Prolog" for running Logtalk');
WScript.Echo('with SWI-Prolog...');
WScript.Echo('');
var WshShell = new ActiveXObject("WScript.Shell");
var prolog_path = WshShell.RegRead("HKLM\\Software\\SWI\\Prolog\\home") + "\\bin\\plwin.exe";
var FSObject = new ActiveXObject("Scripting.FileSystemObject");
if (!FSObject.FileExists(prolog_path)) {
WScript.Echo("Error! Cannot find plwin.exe at the expected place!");
WScript.Echo("Please, edit the script and update the location of the plwin.exe executable.");
WScript.Quit(1);
}
var WshSystemEnv = WshShell.Environment("SYSTEM");
var WshUserEnv = WshShell.Environment("USER");
var logtalk_home;
if (WshSystemEnv.Item("LOGTALKHOME"))
logtalk_home = WshSystemEnv.Item("LOGTALKHOME");
else if (WshUserEnv.Item("LOGTALKHOME"))
logtalk_home = WshUserEnv.Item("LOGTALKHOME")
else {
WScript.Echo("Error! The environment variable LOGTALKHOME must be defined first!");
usage_help();
WScript.Quit(1);
}
if (!FSObject.FolderExists(logtalk_home)) {
WScript.Echo("The environment variable LOGTALKHOME points to a non-existing directory!");
WScript.Echo("Its current value is: %LOGTALKHOME%");
WScript.Echo("The variable must be set to your Logtalk installation directory!");
WScript.Echo("");
usage_help();
WScript.Quit(1);
}
logtalk_home = logtalk_home.replace(/\\/g, "\\\\");
if (!FSObject.FolderExists(logtalk_home + "\\bin"))
FSObject.CreateFolder(logtalk_home + "\\bin");
var f1 = FSObject.CreateTextFile(logtalk_home + "\\bin\\logtalk_comp_swi.pl", true);
var f2 = FSObject.OpenTextFile(logtalk_home + "\\compiler\\logtalk.pl", 1);
var line;
f1.WriteLine(":- set_prolog_flag(iso, true).");
f1.WriteLine(":- set_prolog_flag(generate_debug_info, false).");
f1.WriteLine(":- system_module.");
while (!f2.AtEndOfStream) {
line = f2.ReadLine();
f1.WriteLine(line);
}
f1.Close();
f2.Close();
f = FSObject.CreateTextFile(logtalk_home + "\\bin\\logtalk_swi.init", true);
f.WriteLine(":- consult('$LOGTALKUSER/configs/swi.config').");
f.WriteLine(":- consult('$LOGTALKHOME/bin/logtalk_comp_swi.pl').");
f.WriteLine(":- consult('$LOGTALKUSER/libpaths/libpaths.pl').");
f.WriteLine(":- consult('$LOGTALKUSER/configs/swihook.pl').");
f.WriteLine(":- consult('$LOGTALKUSER/configs/xpcehook.pl').");
f.Close();
var ProgramsPath = WshShell.SpecialFolders("AllUsersPrograms");
if (!FSObject.FolderExists(ProgramsPath + "\\Logtalk"))
FSObject.CreateFolder(ProgramsPath + "\\Logtalk");
var link = WshShell.CreateShortcut(ProgramsPath + "\\Logtalk\\Logtalk - SWI-Prolog.lnk");
link.Arguments = '-f "%LOGTALKHOME%\\bin\\logtalk_swi.init"';
link.Description = 'Runs Logtalk with SWI-Prolog';
link.IconLocation = 'app.exe,1';
link.TargetPath = prolog_path;
link.WindowStyle = 1;
link.WorkingDirectory = logtalk_home;
link.Save();
WScript.Echo('Done. The "Logtalk - SWI-Prolog" shortcut was been added to the');
WScript.Echo('Start Menu Programs. Make sure that the environment variables');
WScript.Echo('LOGTALKHOME and LOGTALKUSER are defined for all users wishing');
WScript.Echo('to use the shortcut.');
WScript.Echo('');
WScript.Echo('Users must run the batch script "cplgtdirs" once before using');
WScript.Echo('the "Logtalk - SWI-Prolog" shortcut.');
WScript.Echo('');
WScript.Quit(0);
function usage_help() {
WScript.Echo('');
WScript.Echo('This script creates a shortcut named "Logtalk - SWI-Prolog" for');
WScript.Echo('running Logtalk with SWI-Prolog. The script must be run by a user');
WScript.Echo('with administrative rights. The LOGTALKHOME environment variable');
WScript.Echo('must be defined before running this script.');
WScript.Echo('');
WScript.Echo('Usage:');
WScript.Echo(' ' + WScript.ScriptName + ' help');
WScript.Echo(' ' + WScript.ScriptName);
WScript.Echo('');
}

View File

@@ -1,65 +0,0 @@
#!/bin/sh
## =================================================================
## Logtalk - Object oriented extension to Prolog
## Release 2.29.5
##
## Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
## =================================================================
echo
echo "Creating a script named swilgt for running Logtalk with SWI-Prolog..."
echo
if ! [ "$LOGTALKHOME" ]
then
echo "The environment variable LOGTALKHOME must be defined first!"
echo
exit 1
fi
if ! [ -d "$LOGTALKHOME" ]; then
echo "The environment variable LOGTALKHOME points to a non-existing directory!"
echo "Its current value is: $LOGTALKHOME"
echo "The variable must be set to your Logtalk installation directory!"
echo
exit 1
fi
if [ -z "$1" ]; then
prefix=/usr/local
else
prefix="$1"
fi
if ! [ -d "$prefix" ]; then
echo "Directory prefix does not exist!"
echo
exit 1
fi
cd "$LOGTALKHOME"
mkdir -p bin
cd bin
echo ":- set_prolog_flag(iso, true)." > logtalk_comp_swi.pl
echo ":- set_prolog_flag(generate_debug_info, false)." >> logtalk_comp_swi.pl
echo ":- system_module." >> logtalk_comp_swi.pl
cat ../compiler/logtalk.pl >> logtalk_comp_swi.pl
echo ":- consult('\$LOGTALKUSER/configs/swi.config')." > logtalk_swi.pl
echo ":- consult('\$LOGTALKHOME/bin/logtalk_comp_swi.pl')." >> logtalk_swi.pl
echo ":- consult('\$LOGTALKUSER/libpaths/libpaths.pl')." >> logtalk_swi.pl
echo ":- consult('\$LOGTALKUSER/configs/swihook.pl')." >> logtalk_swi.pl
echo ":- consult('\$LOGTALKUSER/configs/xpcehook.pl')." >> logtalk_swi.pl
echo "#/bin/sh" > swilgt
case $( uname -s ) in
Darwin ) echo "swipl -f \"\$LOGTALKHOME/bin/logtalk_swi.pl\" \"\$@\"" >> swilgt;;
* ) echo "pl -f \"\$LOGTALKHOME/bin/logtalk_swi.pl\" \"\$@\"" >> swilgt;;
esac
chmod a+x swilgt
ln -sf $LOGTALKHOME/bin/swilgt $prefix/bin/swilgt
echo "Done. A link to the script was been created in $prefix/bin."
echo
echo "Users should ensure that the environment variables LOGTALKHOME"
echo "and LOGTALKUSER are defined and then run the \"cplgtdirs\" script"
echo "once prior to using the swilgt script."
echo

View File

@@ -1,108 +0,0 @@
// =================================================================
// Logtalk - Object oriented extension to Prolog
// Release 2.27.1
//
// Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
// =================================================================
var prolog_path = "C:\\Program Files\\XSB\\bin\\xsb.exe";
if (WScript.Arguments.Unnamed.Length > 0) {
usage_help();
WScript.Quit(0);
}
WScript.Echo('');
WScript.Echo('Creating a shortcut named "Logtalk - XSB CVS" for running Logtalk');
WScript.Echo('with XSB...');
WScript.Echo('');
var FSObject = new ActiveXObject("Scripting.FileSystemObject");
if (!FSObject.FileExists(prolog_path)) {
WScript.Echo("Error! Cannot find xsb.exe at the expected place!");
WScript.Echo("Please edit the script and update the location of the xsb.exe executable.");
WScript.Quit(1);
}
var WshShell = new ActiveXObject("WScript.Shell");
var WshSystemEnv = WshShell.Environment("SYSTEM");
var WshUserEnv = WshShell.Environment("USER");
var logtalk_home;
if (WshSystemEnv.Item("LOGTALKHOME"))
logtalk_home = WshSystemEnv.Item("LOGTALKHOME");
else if (WshUserEnv.Item("LOGTALKHOME"))
logtalk_home = WshUserEnv.Item("LOGTALKHOME")
else {
WScript.Echo("Error! The environment variable LOGTALKHOME must be defined first!");
usage_help();
WScript.Quit(1);
}
if (!FSObject.FolderExists(logtalk_home)) {
WScript.Echo("The environment variable LOGTALKHOME points to a non-existing directory!");
WScript.Echo("Its current value is: %LOGTALKHOME%");
WScript.Echo("The variable must be set to your Logtalk installation directory!");
WScript.Echo("");
usage_help();
WScript.Quit(1);
}
logtalk_home = logtalk_home.replace(/\\/g, "\\\\");
if (!FSObject.FolderExists(logtalk_home + "\\bin"))
FSObject.CreateFolder(logtalk_home + "\\bin");
FSObject.CopyFile(logtalk_home + "\\compiler\\logtalk.pl", logtalk_home + "\\bin\\logtalkcvs.P");
var f = FSObject.CreateTextFile(logtalk_home + "\\bin\\logtalk_xsbcvs.P", true);
f.WriteLine(":- reconsult('$LOGTALKUSER\\\\configs\\\\xsbcvs.P').");
f.WriteLine(":- reconsult('$LOGTALKHOME\\\\bin\\\\logtalk.P').");
f.WriteLine(":- reconsult('$LOGTALKUSER\\\\libpaths\\\\libpaths.P').");
f.Close();
var ProgramsPath = WshShell.SpecialFolders("AllUsersPrograms");
if (!FSObject.FolderExists(ProgramsPath + "\\Logtalk"))
FSObject.CreateFolder(ProgramsPath + "\\Logtalk");
var link = WshShell.CreateShortcut(ProgramsPath + "\\Logtalk\\Logtalk - XSB CVS.lnk");
link.Arguments = "-l %LOGTALKHOME%\\bin\\logtalk_xsbcvs.P";
link.Description = "Runs Logtalk with XSB CVS";
link.IconLocation = "app.exe,1";
link.TargetPath = prolog_path;
link.WindowStyle = 1;
link.WorkingDirectory = logtalk_home;
link.Save();
WScript.Echo('Done. The "Logtalk - XSB CVS" shortcut was been added to the Start Menu');
WScript.Echo('Programs. Make sure that the environment variables LOGTALKHOME and');
WScript.Echo('LOGTALKUSER are defined for all users wishing to use the shortcut.');
WScript.Echo('');
WScript.Echo('The first call to the shortcut must be made by a user with');
WScript.Echo('administrative rights.');
WScript.Echo('');
WScript.Echo('Users must run the batch script "cplgtdirs" before using the');
WScript.Echo('"Logtalk - XSB CVS" shortcut. Users must edit the contents of');
WScript.Echo('the "libpaths.P" file on the "libpaths" directory in order to');
WScript.Echo('replace all occurrences of the LOGTALKUSER environment variable');
WScript.Echo('by its value.');
WScript.Echo('');
WScript.Quit(0);
function usage_help() {
WScript.Echo('');
WScript.Echo('This script creates a shortcut named "Logtalk - XSB CVS" for running Logtalk');
WScript.Echo('with XSB. The script must be run by a user with administrative rights.');
WScript.Echo('The LOGTALKHOME environment variable must be defined before running this');
WScript.Echo('script.');
WScript.Echo('');
WScript.Echo('Usage:');
WScript.Echo(' ' + WScript.ScriptName + ' help');
WScript.Echo(' ' + WScript.ScriptName);
WScript.Echo('');
}

View File

@@ -1,58 +0,0 @@
#!/bin/sh
## =================================================================
## Logtalk - Object oriented extension to Prolog
## Release 2.27.1
##
## Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved.
## =================================================================
echo
echo "Creating a script named xsbcvslgt for running Logtalk with XSB..."
echo
if ! [ "$LOGTALKHOME" ]
then
echo "The environment variable LOGTALKHOME must be defined first!"
echo
exit 1
fi
if ! [ -d "$LOGTALKHOME" ]; then
echo "The environment variable LOGTALKHOME points to a non-existing directory!"
echo "Its current value is: $LOGTALKHOME"
echo "The variable must be set to your Logtalk installation directory!"
echo
exit 1
fi
if [ -z "$1" ]; then
prefix=/usr/local
else
prefix="$1"
fi
if ! [ -d "$prefix" ]; then
echo "Directory prefix does not exist!"
echo
exit 1
fi
cd "$LOGTALKHOME"
mkdir -p bin
cd bin
cp ../compiler/logtalk.pl logtalkcvs.P
echo ":- reconsult('$LOGTALKUSER/configs/xsbcvs.P')." > logtalkxsbcvs.P
echo ":- reconsult('$LOGTALKHOME/bin/logtalkcvs.P')." >> logtalkxsbcvs.P
echo ":- reconsult('$LOGTALKUSER/libpaths/libpaths.P')." >> logtalkxsbcvs.P
echo "#/bin/sh" > xsbcvslgt
echo "xsb -e \"reconsult('\$LOGTALKHOME/bin/logtalkxsbcvs.P').\"" >> xsbcvslgt
chmod a+x xsbcvslgt
ln -sf $LOGTALKHOME/bin/xsbcvslgt $prefix/bin/xsbcvslgt
echo "Done. A link to the script was been created in $prefix/bin."
echo "Users must define the environment variables LOGTALKHOME and"
echo "LOGTALKUSER in order to use the script. Users must run the"
echo "the cplgtdirs script before using the xsbcvslgt script."
echo
echo "The first call to the script must be made as root or using sudo."
echo

View File

@@ -1,111 +0,0 @@
// =================================================================
// Logtalk - Object oriented extension to Prolog
// Release 2.29.5
//
// Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
// =================================================================
if (ScriptEngineMajorVersion() < 5 || ScriptEngineMajorVersion() == 5 && ScriptEngineMinorVersion() < 6) {
WScript.Echo('Error! WSH 5.6 or later version needed for running this script.');
WScript.Quit(1);
}
var prolog_path = "C:\\XSB\\config\\x86-pc-windows\\bin\\xsb.exe";
if (WScript.Arguments.Unnamed.Length > 0) {
usage_help();
WScript.Quit(0);
}
WScript.Echo('');
WScript.Echo('Creating a shortcut named "Logtalk - XSB" for running Logtalk');
WScript.Echo('with XSB...');
WScript.Echo('');
var FSObject = new ActiveXObject("Scripting.FileSystemObject");
if (!FSObject.FileExists(prolog_path)) {
WScript.Echo("Error! Cannot find xsb.exe at the expected place!");
WScript.Echo("Please edit the script and update the location of the xsb.exe executable.");
WScript.Quit(1);
}
var WshShell = new ActiveXObject("WScript.Shell");
var WshSystemEnv = WshShell.Environment("SYSTEM");
var WshUserEnv = WshShell.Environment("USER");
var logtalk_home;
if (WshSystemEnv.Item("LOGTALKHOME"))
logtalk_home = WshSystemEnv.Item("LOGTALKHOME");
else if (WshUserEnv.Item("LOGTALKHOME"))
logtalk_home = WshUserEnv.Item("LOGTALKHOME")
else {
WScript.Echo("Error! The environment variable LOGTALKHOME must be defined first!");
usage_help();
WScript.Quit(1);
}
if (!FSObject.FolderExists(logtalk_home)) {
WScript.Echo("The environment variable LOGTALKHOME points to a non-existing directory!");
WScript.Echo("Its current value is: %LOGTALKHOME%");
WScript.Echo("The variable must be set to your Logtalk installation directory!");
WScript.Echo("");
usage_help();
WScript.Quit(1);
}
logtalk_home = logtalk_home.replace(/\\/g, "\\\\");
if (!FSObject.FolderExists(logtalk_home + "\\bin"))
FSObject.CreateFolder(logtalk_home + "\\bin");
var f = FSObject.CreateTextFile(logtalk_home + "\\bin\\logtalk_xsb.pl", true);
f.WriteLine(":- expand_filename('configs/xsb.pl', Path), reconsult(Path).");
f.WriteLine(":- reconsult('" + logtalk_home + "\\\\compiler\\\\logtalk.pl').");
f.WriteLine(":- expand_filename('libpaths/libpaths_no_env_var.pl', Path), reconsult(Path).");
f.Close();
var ProgramsPath = WshShell.SpecialFolders("AllUsersPrograms");
if (!FSObject.FolderExists(ProgramsPath + "\\Logtalk"))
FSObject.CreateFolder(ProgramsPath + "\\Logtalk");
var link = WshShell.CreateShortcut(ProgramsPath + "\\Logtalk\\Logtalk - XSB.lnk");
link.Arguments = "-l -e \"reconsult('%LOGTALKHOME%\\\\bin\\\\logtalk_xsb.pl').\"";
link.Description = "Runs Logtalk with XSB";
link.IconLocation = "app.exe,1";
link.TargetPath = prolog_path;
link.WindowStyle = 1;
link.WorkingDirectory = "%LOGTALKUSER%";
link.Save();
WScript.Echo('Done. The "Logtalk - XSB" shortcut was been added to the Start Menu');
WScript.Echo('Programs. Make sure that the environment variables LOGTALKHOME and');
WScript.Echo('LOGTALKUSER are defined for all users wishing to use the shortcut.');
WScript.Echo('');
WScript.Echo('The first call to the shortcut must be made by a user with');
WScript.Echo('administrative rights.');
WScript.Echo('');
WScript.Echo('Users must run the batch script "cplgtdirs" once before using the');
WScript.Echo('"Logtalk - XSB" shortcut. Users must edit the contents of the');
WScript.Echo('"libpaths_no_env_var.pl" file on the "libpaths" directory in order');
WScript.Echo('to replace all occurrences of the LOGTALKUSER environment variable');
WScript.Echo('by its value.');
WScript.Echo('');
WScript.Quit(0);
function usage_help() {
WScript.Echo('');
WScript.Echo('This script creates a shortcut named "Logtalk - XSB" for running Logtalk');
WScript.Echo('with XSB. The script must be run by a user with administrative rights.');
WScript.Echo('The LOGTALKHOME environment variable must be defined before running this');
WScript.Echo('script.');
WScript.Echo('');
WScript.Echo('Usage:');
WScript.Echo(' ' + WScript.ScriptName + ' help');
WScript.Echo(' ' + WScript.ScriptName);
WScript.Echo('');
}

View File

@@ -1,60 +0,0 @@
#!/bin/sh
## =================================================================
## Logtalk - Object oriented extension to Prolog
## Release 2.29.5
##
## Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
## =================================================================
echo
echo "Creating a script named xsblgt for running Logtalk with XSB..."
echo
if ! [ "$LOGTALKHOME" ]
then
echo "The environment variable LOGTALKHOME must be defined first!"
echo
exit 1
fi
if ! [ -d "$LOGTALKHOME" ]; then
echo "The environment variable LOGTALKHOME points to a non-existing directory!"
echo "Its current value is: $LOGTALKHOME"
echo "The variable must be set to your Logtalk installation directory!"
echo
exit 1
fi
if [ -z "$1" ]; then
prefix=/usr/local
else
prefix="$1"
fi
if ! [ -d "$prefix" ]; then
echo "Directory prefix does not exist!"
echo
exit 1
fi
cd "$LOGTALKHOME"
mkdir -p bin
cd bin
echo ":- reconsult('~/logtalk/configs/xsb.pl')." > logtalk_xsb.pl
echo ":- reconsult('compiler/logtalk.pl')." >> logtalk_xsb.pl
echo ":- reconsult('~/logtalk/libpaths/libpaths_no_env_var.pl')." >> logtalk_xsb.pl
echo ":- path_sysop(chdir, '~')." >> logtalk_xsb.pl
echo "#/bin/sh" > xsblgt
echo "cd \$LOGTALKHOME" >> xsblgt
echo "xsb -l -e \"reconsult('bin/logtalk_xsb.pl').\" \"\$@\"" >> xsblgt
chmod a+x xsblgt
ln -sf $LOGTALKHOME/bin/xsblgt $prefix/bin/xsblgt
echo "Done. A link to the script was been created in $prefix/bin."
echo "The first call to the script the must be made as root or using"
echo "sudo."
echo
echo "Users should ensure that the environment variables LOGTALKHOME"
echo "and LOGTALKUSER are defined and then run the \"cplgtdirs\" script"
echo "once prior to using the xsblgt script."
echo

View File

@@ -1,105 +0,0 @@
// =================================================================
// Logtalk - Object oriented extension to Prolog
// Release 2.29.5
//
// Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
// =================================================================
if (ScriptEngineMajorVersion() < 5 || ScriptEngineMajorVersion() == 5 && ScriptEngineMinorVersion() < 6) {
WScript.Echo('Error! WSH 5.6 or later version needed for running this script.');
WScript.Quit(1);
}
var prolog_path = "C:\\Yap\\bin\\yap.exe";
if (WScript.Arguments.Unnamed.Length > 0) {
usage_help();
WScript.Quit(0);
}
WScript.Echo('');
WScript.Echo('Creating a shortcut named "Logtalk - YAP" for running Logtalk');
WScript.Echo('with YAP...');
WScript.Echo('');
var FSObject = new ActiveXObject("Scripting.FileSystemObject");
if (!FSObject.FileExists(prolog_path)) {
WScript.Echo("Error! Cannot find yap.exe at the expected place!");
WScript.Echo("Please edit the script and update the location of the yap.exe executable.");
WScript.Quit(1);
}
var WshShell = new ActiveXObject("WScript.Shell");
var WshSystemEnv = WshShell.Environment("SYSTEM");
var WshUserEnv = WshShell.Environment("USER");
var logtalk_home;
if (WshSystemEnv.Item("LOGTALKHOME"))
logtalk_home = WshSystemEnv.Item("LOGTALKHOME");
else if (WshUserEnv.Item("LOGTALKHOME"))
logtalk_home = WshUserEnv.Item("LOGTALKHOME")
else {
WScript.Echo("Error! The environment variable LOGTALKHOME must be defined first!");
usage_help();
WScript.Quit(1);
}
if (!FSObject.FolderExists(logtalk_home)) {
WScript.Echo("The environment variable LOGTALKHOME points to a non-existing directory!");
WScript.Echo("Its current value is: %LOGTALKHOME%");
WScript.Echo("The variable must be set to your Logtalk installation directory!");
WScript.Echo("");
usage_help();
WScript.Quit(1);
}
logtalk_home = logtalk_home.replace(/\\/g, "\\\\");
if (!FSObject.FolderExists(logtalk_home + "\\bin"))
FSObject.CreateFolder(logtalk_home + "\\bin");
var f = FSObject.CreateTextFile(logtalk_home + "\\bin\\logtalk_yap.pl", true);
f.WriteLine(":- reconsult('$LOGTALKUSER\\\\configs\\\\yap.config').");
f.WriteLine(":- reconsult('$LOGTALKHOME\\\\compiler\\\\logtalk.pl').");
f.WriteLine(":- reconsult('$LOGTALKUSER\\\\libpaths\\\\libpaths.pl').");
f.Close();
var ProgramsPath = WshShell.SpecialFolders("AllUsersPrograms");
if (!FSObject.FolderExists(ProgramsPath + "\\Logtalk"))
FSObject.CreateFolder(ProgramsPath + "\\Logtalk");
var link = WshShell.CreateShortcut(ProgramsPath + "\\Logtalk\\Logtalk - YAP.lnk");
link.Arguments = '-l "%LOGTALKHOME%\\bin\\logtalk_yap.pl"';
link.Description = 'Runs Logtalk with YAP';
link.IconLocation = 'app.exe,1';
link.TargetPath = prolog_path;
link.WindowStyle = 1;
link.WorkingDirectory = logtalk_home;
link.Save();
WScript.Echo('Done. The "Logtalk - YAP" shortcut was been added to the Start Menu');
WScript.Echo('Programs. Make sure that the environment variables LOGTALKHOME and');
WScript.Echo('LOGTALKUSER are defined for all users wishing to use the shortcut.');
WScript.Echo('');
WScript.Echo('Users must run the batch script "cplgtdirs" once before using the');
WScript.Echo('"Logtalk - YAP" shortcut.');
WScript.Echo('');
WScript.Quit(0);
function usage_help() {
WScript.Echo('');
WScript.Echo('This script creates a shortcut named "Logtalk - YAP" for running Logtalk');
WScript.Echo('with YAP. The script must be run by a user with administrative rights.');
WScript.Echo('The LOGTALKHOME environment variable must be defined before running this');
WScript.Echo('script.');
WScript.Echo('');
WScript.Echo('Usage:');
WScript.Echo(' ' + WScript.ScriptName + ' help');
WScript.Echo(' ' + WScript.ScriptName);
WScript.Echo('');
}

View File

@@ -1,57 +0,0 @@
#!/bin/sh
## =================================================================
## Logtalk - Object oriented extension to Prolog
## Release 2.29.5
##
## Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
## =================================================================
echo
echo "Creating a script named yaplgt for running Logtalk with YAP..."
echo
if ! [ "$LOGTALKHOME" ]
then
echo "The environment variable LOGTALKHOME must be defined first!"
echo
exit 1
fi
if ! [ -d "$LOGTALKHOME" ]; then
echo "The environment variable LOGTALKHOME points to a non-existing directory!"
echo "Its current value is: $LOGTALKHOME"
echo "The variable must be set to your Logtalk installation directory!"
echo
exit 1
fi
if [ -z "$1" ]; then
prefix=/usr/local
else
prefix="$1"
fi
if ! [ -d "$prefix" ]; then
echo "Directory prefix does not exist!"
echo
exit 1
fi
cd "$LOGTALKHOME"
mkdir -p bin
cd bin
echo ":- reconsult('\$LOGTALKUSER/configs/yap.config')." > logtalk_yap.pl
echo ":- reconsult('\$LOGTALKHOME/compiler/logtalk.pl')." >> logtalk_yap.pl
echo ":- reconsult('\$LOGTALKUSER/libpaths/libpaths.pl')." >> logtalk_yap.pl
echo "#/bin/sh" > yaplgt
echo "yap -s 49152 -h 16384 -t 1024 -l \"\$LOGTALKHOME/bin/logtalk_yap.pl\" \"\$@\"" >> yaplgt
chmod a+x yaplgt
ln -sf $LOGTALKHOME/bin/yaplgt $prefix/bin/yaplgt
echo "Done. A link to the script was been created in $prefix/bin."
echo
echo "Users should ensure that the environment variables LOGTALKHOME"
echo "and LOGTALKUSER are defined and then run the \"cplgtdirs\" script"
echo "once prior to using the yaplgt script."
echo

View File

@@ -1,83 +0,0 @@
// =================================================================
// Logtalk - Object oriented extension to Prolog
// Release 2.29.5
//
// Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
// =================================================================
if (ScriptEngineMajorVersion() < 5 || ScriptEngineMajorVersion() == 5 && ScriptEngineMinorVersion() < 6) {
WScript.Echo('Error! WSH 5.6 or later version needed for running this script.');
WScript.Quit(1);
}
WScript.Echo('');
WScript.Echo('Creating shortcuts for running Logtalk with selected Prolog compilers...');
WScript.Echo('');
var WshShell = new ActiveXObject("WScript.Shell");
var WshSystemEnv = WshShell.Environment("SYSTEM");
var WshUserEnv = WshShell.Environment("USER");
if (WshSystemEnv.Item("LOGTALKHOME"))
logtalk_home = WshSystemEnv.Item("LOGTALKHOME");
else if (WshUserEnv.Item("LOGTALKHOME"))
logtalk_home = WshUserEnv.Item("LOGTALKHOME")
else {
WScript.Echo("Error! The environment variable LOGTALKHOME must be defined first!");
usage_help();
WScript.Quit(1);
}
var FSObject = new ActiveXObject("Scripting.FileSystemObject");
if (!FSObject.FolderExists(logtalk_home)) {
WScript.Echo("The environment variable LOGTALKHOME points to a non-existing directory!");
WScript.Echo("Its current value is: %LOGTALKHOME%");
WScript.Echo("The variable must be set to your Logtalk installation directory!");
WScript.Echo("");
usage_help();
WScript.Quit(1);
}
WScript.Echo('Creating shortcut Logtalk - B-Prolog...');
WshShell.Run("cscript %LOGTALKHOME%\\scripts\\make_bplgt.js", true);
WScript.Echo('Creating shortcut Logtalk - CIAO...');
WshShell.Run("cscript %LOGTALKHOME%\\scripts\\make_ciaolgt.js", true);
WScript.Echo('Creating shortcut Logtalk - ECLiPSe...');
WshShell.Run("cscript %LOGTALKHOME%\\scripts\\make_eclipselgt.js", true);
WScript.Echo('Creating shortcut Logtalk - GNU Prolog...');
WshShell.Run("cscript %LOGTALKHOME%\\scripts\\make_gplgt.js", true);
WScript.Echo('Creating shortcut Logtalk - K-Prolog...');
WshShell.Run("cscript %LOGTALKHOME%\\scripts\\make_plclgt.js", true);
WScript.Echo('Creating shortcut Logtalk - SICStus...');
WshShell.Run("cscript %LOGTALKHOME%\\scripts\\make_sicstuslgt.js", true);
WScript.Echo('Creating shortcut Logtalk - SWI-Prolog...');
WshShell.Run("cscript %LOGTALKHOME%\\scripts\\make_swilgt.js", true);
WScript.Echo('Creating shortcut Logtalk - XSB...');
WshShell.Run("cscript %LOGTALKHOME%\\scripts\\make_xsblgt.js", true);
WScript.Echo('Creating shortcut Logtalk - YAP...');
WshShell.Run("cscript %LOGTALKHOME%\\scripts\\make_yaplgt.js", true);
WScript.Echo('');
WScript.Echo('Done. Links to the created shortcuts are availasble from the Start Menu');
WScript.Echo('Logtalk program group. Ensure that the environment variables LOGTALKHOME');
WScript.Echo('and LOGTALKUSER are defined for all users wishing to use the shortcuts.');
WScript.Echo('');
WScript.Echo('Users must run the batch script "cplgtdirs" once prior to using the');
WScript.Echo('Logtalk - Prolog integration scripts.');
WScript.Echo('');
WScript.Echo('If you get an unexpected failure when creating or using a shortcut for');
WScript.Echo('one of the above Prolog compilers, make sure that the Prolog compiler');
WScript.Echo('is properly installed, consult the NOTES file on the scripts directory,');
WScript.Echo('and try to run the corresponding script individually.');
WScript.Echo('');
WScript.Quit(0);

View File

@@ -1,124 +0,0 @@
#!/bin/sh
## =================================================================
## Logtalk - Object oriented extension to Prolog
## Release 2.29.5
##
## Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
## =================================================================
echo
echo "Creating scripts for running Logtalk with selected Prolog compilers..."
echo
if ! [ "$LOGTALKHOME" ]
then
echo "The environment variable LOGTALKHOME must be defined first!"
echo
exit 1
fi
if ! [ -d "$LOGTALKHOME" ]; then
echo "The environment variable LOGTALKHOME points to a non-existing directory!"
echo "Its current value is: $LOGTALKHOME"
echo "The variable must be set to your Logtalk installation directory!"
echo
exit 1
fi
if [ -z "$1" ]; then
prefix=/usr/local
else
prefix="$1"
fi
if ! [ -d "$prefix" ]; then
echo "Directory prefix does not exist!"
echo
exit 1
fi
./make_bplgt.sh $prefix > /dev/null 2> /dev/null
if [ $? = 0 ] ; then
echo "bplgt script created (B-Prolog integration script)"
else
echo "bplgt script creation failed (B-Prolog integration script)"
fi
./make_ciaolgt.sh $prefix > /dev/null 2> /dev/null
if [ $? = 0 ] ; then
echo "ciaolgt script created (Ciao Prolog integration script)"
else
echo "ciaolgt script creation failed (Ciao Prolog integration script)"
fi
./make_eclipselgt.sh $prefix > /dev/null 2> /dev/null
if [ $? = 0 ] ; then
echo "eclipselgt script created (ECLiPSe integration script)"
else
echo "eclipselgt script creation failed (ECLiPSe integration script)"
fi
./make_gplgt.sh $prefix > /dev/null 2> /dev/null
if [ $? = 0 ] ; then
echo "gplgt script created (GNU Prolog integration script)"
else
echo "gplgt script creation failed (GNU Prolog integration script)"
fi
./make_plclgt.sh $prefix > /dev/null 2> /dev/null
if [ $? = 0 ] ; then
echo "plclgt script created (K-Prolog integration script)"
else
echo "plclgt script creation failed (K-Prolog integration script)"
fi
./make_qplgt.sh $prefix > /dev/null 2> /dev/null
if [ $? = 0 ] ; then
echo "qplgt script created (Qu-Prolog integration script)"
else
echo "qplgt script creation failed (Qu-Prolog integration script)"
fi
./make_sicstuslgt.sh $prefix > /dev/null 2> /dev/null
if [ $? = 0 ] ; then
echo "sicstuslgt script created (SICStus Prolog integration script)"
else
echo "sicstuslgt script creation failed (SICStus Prolog integration script)"
fi
./make_swilgt.sh $prefix > /dev/null 2> /dev/null
if [ $? = 0 ] ; then
echo "swilgt script created (SWI-Prolog integration script)"
else
echo "swilgt script creation failed (SWI-Prolog integration script)"
fi
./make_xsblgt.sh $prefix > /dev/null 2> /dev/null
if [ $? = 0 ] ; then
echo "xsblgt script created (XSB integration script)"
else
echo "xsblgt script creation failed (XSB integration script)"
fi
./make_yaplgt.sh $prefix > /dev/null 2> /dev/null
if [ $? = 0 ] ; then
echo "yaplgt script created (YAP integration script)"
else
echo "yaplgt script creation failed (YAP integration script)"
fi
echo
echo "Done. Links to the created scripts can be found on $prefix/bin."
echo "Make sure that the Prolog compilers are also available on your "
echo "execution path."
echo
echo "If you got an unexpected failure when creating or using one of the"
echo "Prolog integration scripts, make sure that the Prolog compiler is"
echo "properly installed, consult the NOTES file on the scripts directory,"
echo "and try to run the corresponding script individually."
echo
echo "Users should ensure that the environment variables LOGTALKHOME"
echo "and LOGTALKUSER are defined and then run the \"cplgtdirs\" script"
echo "once prior to using the Prolog integration scripts."
echo

64
Logtalk/scripts/uninstall.sh Executable file
View File

@@ -0,0 +1,64 @@
#!/bin/sh
## ================================================================
## Logtalk - Open source object-oriented logic programming language
## Release 2.30.1
##
## Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
## ================================================================
echo
echo "Uninstalling Logtalk system-level files..."
echo
if ! [ "$LOGTALKHOME" ]; then
echo "The environment variable LOGTALKHOME should be defined first!"
echo "Trying default Logtalk installation directories..."
if [ -d "/usr/local/share/logtalk" ]; then
LOGTALKHOME=/usr/local/share/logtalk
echo "Using Logtalk installation at \"/usr/local/share/logtalk\""
elif [ -d "/usr/share/logtalk" ]; then
LOGTALKHOME=/usr/share/logtalk
echo "Using Logtalk installation at \"/usr/share/logtalk\""
elif [ -d "/opt/local/share/logtalk" ]; then
LOGTALKHOME=/opt/local/share/logtalk
echo "Using Logtalk installation at \"/opt/local/share/logtalk\""
elif [ -d "/opt/share/logtalk" ]; then
LOGTALKHOME=/opt/share/logtalk
echo "Using Logtalk installation at \"/opt/share/logtalk\""
else
echo "Unable to locate Logtalk installation directory!"
echo
exit 1
fi
elif ! [ -d "$LOGTALKHOME" ]; then
echo "The environment variable LOGTALKHOME points to a non-existing directory!"
echo "Its current value is: $LOGTALKHOME"
echo "The variable must be set to your Logtalk installation directory!"
echo
exit 1
fi
cd $LOGTALKHOME/..
rm -rf lgt2301
rm -f logtalk
cd ../bin
rm -f bplgt
rm -f ciaolgt
rm -f cplgtdirs
rm -f cxlgt
rm -f eclipselgt
rm -f gplgt
rm -f lgt2html
rm -f lgt2pdf
rm -f lgt2xml
rm -f plclgt
rm -f qplgt
rm -f sicstuslgt
rm -f swilgt
rm -f xsblgt
rm -f yaplgt
echo "Logtalk system-level uninstall completed. For uninstalling user-level"
echo "Logtalk files simply delete the LOGTALKUSER directories."
echo

View File

@@ -1,9 +1,12 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.29.5
================================================================
Logtalk - Open source object-oriented logic programming language
Release 2.30.1
Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
=================================================================
================================================================
This directory contains files used when building Windows installers.
This directory contains files used when building Windows 2000/XP GUI
installers using Inno Setup 5.1.11 (or a later version):
http://www.jrsoftware.org/isinfo.php

View File

@@ -1,7 +1,7 @@
; Script generated by the Inno Setup Script Wizard.
#define MyAppName "Logtalk"
#define MyAppVerName "Logtalk 2.29.5"
#define MyAppVerName "Logtalk 2.30.1"
#define MyAppPublisher "Logtalk.org"
#define MyAppURL "http://logtalk.org"
#define MyAppUrlName "Logtalk Web Site.url"
@@ -24,12 +24,12 @@ DefaultGroupName={#MyAppName}
DisableProgramGroupPage=yes
LicenseFile=C:\logtalk\LICENSE.txt
InfoBeforeFile=C:\logtalk\README.txt
OutputBaseFilename=lgt2295
OutputBaseFilename=lgt2301
Compression=lzma
SolidCompression=yes
PrivilegesRequired=none
VersionInfoVersion=2.29.5
VersionInfoVersion=2.30.1
VersionInfoCopyright=<3D> Paulo Moura, 1998-2007
AllowRootDirectory=yes
@@ -49,7 +49,7 @@ Name: "base"; Description: "Base system"; Types: full base custom; Flags: disabl
Name: "user"; Description: "User data files"; Types: full user custom; Flags: checkablealone disablenouninstallwarning
Name: "user\backup"; Description: "Backup current user data files"; Types: full user custom; Flags: disablenouninstallwarning
Name: "prolog"; Description: "Prolog integration"; Types: full prolog custom; Flags: disablenouninstallwarning
Name: "prolog\bp"; Description: "B-Prolog integration (version 6.9 or later)"; Types: full prolog custom; Flags: disablenouninstallwarning
Name: "prolog\bp"; Description: "B-Prolog integration (version 7.0 or later)"; Types: full prolog custom; Flags: disablenouninstallwarning
Name: "prolog\ciao"; Description: "Ciao Prolog integration (version 1.10#5 or later)"; Types: full prolog custom; Flags: disablenouninstallwarning
Name: "prolog\eclipse"; Description: "ECLiPSe integration (version 5.10#26 or later)"; Types: full prolog custom; Flags: disablenouninstallwarning
Name: "prolog\gprolog"; Description: "GNU Prolog integration (version 1.2.16 or later)"; Types: full prolog custom; Flags: disablenouninstallwarning
@@ -67,7 +67,7 @@ Name: shortcut; Description: "&Create a desktop shortcut to the Logtalk user fol
Name: "english"; MessagesFile: "compiler:Default.isl"
[Messages]
BeveledLabel=Logtalk 2.29.5 <20> Paulo Moura, 1998-2007
BeveledLabel=Logtalk 2.30.1 <20> Paulo Moura, 1998-2007
[Dirs]
Name: {code:GetLgtUserDir}; Components: user; Flags: uninsneveruninstall
@@ -85,6 +85,7 @@ Source: "C:\logtalk\xml\*"; Excludes: ".*,CVS"; DestDir: "{code:GetLgtUserDir}\x
Source: "C:\logtalk\configs\amzi.config"; DestDir: "{code:GetLgtUserDir}\configs"; DestName: "amzi.pro"; Components: user; Flags: ignoreversion uninsneveruninstall
Source: "C:\logtalk\configs\xsb.config"; DestDir: "{code:GetLgtUserDir}\configs"; DestName: "xsb.pl"; Components: user; Flags: ignoreversion uninsneveruninstall
Source: "C:\logtalk\configs\xsbcvs.config"; DestDir: "{code:GetLgtUserDir}\configs"; DestName: "xsbcvs.pl"; Components: user; Flags: ignoreversion uninsneveruninstall
Source: "C:\logtalk\libpaths\libpaths.pl"; DestDir: "{code:GetLgtUserDir}\libpaths"; DestName: "libpaths_no_env_var.pl"; Components: user; Flags: ignoreversion uninsneveruninstall
Source: "C:\logtalk\scripts\*.bat"; DestDir: "{win}"; Components: base; Flags: ignoreversion
@@ -95,14 +96,37 @@ Filename: "{app}\{#MyAppUrlName}"; Section: "InternetShortcut"; Key: "URL"; Stri
Filename: "{app}\{#MyAppRegUrlName}"; Section: "InternetShortcut"; Key: "URL"; String: "{#MyAppRegURL}"; Components: base
[Icons]
Name: "{group}\{#MyAppName} Bibliography"; Filename: "{app}\BIBLIOGRAPHY.bib"; Components: base
Name: "{group}\{#MyAppName} Documentation"; Filename: "{app}\manuals\index.html"; Components: base
Name: "{group}\{#MyAppName} License"; Filename: "{app}\LICENSE.txt"; Components: base
Name: "{group}\{#MyAppName} Release Notes"; Filename: "{app}\RELEASE_NOTES.txt"; Components: base
Name: "{group}\{#MyAppName} Read Me"; Filename: "{app}\README.txt"; Components: base
Name: "{group}\{#MyAppName} Customization instructions"; Filename: "{app}\CUSTOMIZE.txt"; Components: base
Name: "{group}\Bibliography"; Filename: "{app}\BIBLIOGRAPHY.bib"; Components: base
Name: "{group}\Documentation"; Filename: "{app}\manuals\index.html"; Components: base
Name: "{group}\License"; Filename: "{app}\LICENSE.txt"; Components: base
Name: "{group}\Release Notes"; Filename: "{app}\RELEASE_NOTES.txt"; Components: base
Name: "{group}\Read Me"; Filename: "{app}\README.txt"; Components: base
Name: "{group}\Customization instructions"; Filename: "{app}\CUSTOMIZE.txt"; Components: base
Name: "{group}\Web Site"; Filename: "{#MyAppUrl}"; Components: base
Name: "{group}\Logtalk - B-Prolog"; Filename: "{code:GetBPExePath}"; Parameters: "-g ""consult('$LOGTALKHOME/integration/logtalk_bp.pl'), $bp_top_level"""; Comment: "Runs Logtalk with B-Prolog"; WorkingDir: "{code:GetLgtUserDir}"; Components: prolog\bp; Flags: createonlyiffileexists
Name: "{group}\Logtalk - Ciao Prolog"; Filename: "{code:GetCiaoExePath}"; Parameters: "-l ""$LOGTALKHOME/integration/logtalk_ciao.pl"""; Comment: "Runs Logtalk with Ciao Prolog"; WorkingDir: "{code:GetLgtUserDir}"; Components: prolog\ciao; Flags: createonlyiffileexists
Name: "{group}\Logtalk - ECLiPSe"; Filename: "{code:GetEclipseExePath}"; Parameters: "-b ""%LOGTALKHOME%\integration\logtalk_eclipse.pl"""; Comment: "Runs Logtalk with ECLiPSe"; WorkingDir: "{code:GetLgtUserDir}"; Components: prolog\eclipse; Flags: createonlyiffileexists
Name: "{group}\Logtalk - GNU Prolog"; Filename: "{code:GetGPExePath}"; Parameters: "--init-goal ""['$LOGTALKUSER/configs/gnu.config', '$LOGTALKHOME/integration/logtalk_gp.pl', '$LOGTALKUSER/libpaths/libpaths.pl']"""; Comment: "Runs Logtalk with GNU Prolog"; WorkingDir: "{code:GetLgtUserDir}"; Components: prolog\gprolog; Flags: createonlyiffileexists
Name: "{group}\Logtalk - K-Prolog"; Filename: "{code:GetKPExePath}"; Parameters: "-h 2048k -l 1024k -g 2048k -e ""(consult('$LOGTALKHOME/integration/logtalk_plc.pl'), '$root')."""; Comment: "Runs Logtalk with K-Prolog"; WorkingDir: "{code:GetLgtUserDir}"; Components: prolog\gprolog; Flags: createonlyiffileexists
Name: "{group}\Logtalk - SICStus Prolog 3"; Filename: "{code:GetSP3ExePath}"; Parameters: "-l ""%LOGTALKHOME%\integration\logtalk_sicstus3.pl"""; Comment: "Runs Logtalk with SSICStus Prolog 3"; WorkingDir: "{code:GetLgtUserDir}"; Components: prolog\sicstus; Flags: createonlyiffileexists
Name: "{group}\Logtalk - SICStus Prolog 4"; Filename: "{code:GetSP4ExePath}"; Parameters: "-l ""%LOGTALKHOME%\integration\logtalk_sicstus4.pl"""; Comment: "Runs Logtalk with SICStus Prolog 4"; WorkingDir: "{code:GetLgtUserDir}"; Components: prolog\sicstus; Flags: createonlyiffileexists
Name: "{group}\Logtalk - SWI-Prolog"; Filename: "{code:GetSWIExePath}"; Parameters: "-f ""%LOGTALKHOME%\integration\logtalk_swi.pl"""; Comment: "Runs Logtalk with SWI-Prolog"; WorkingDir: "{code:GetLgtUserDir}"; Components: prolog\swi; Flags: createonlyiffileexists
Name: "{group}\Logtalk - XSB"; Filename: "C:\XSB\config\x86-pc-windows\bin\xsb.exe"; Parameters: "-l -e ""['%LOGTALKUSER%\\configs\\xsb.pl', '%LOGTALKHOME%\\compiler\\logtalk.pl', '%LOGTALKUSER%\\libpaths\\libpaths_no_env_var.pl']."""; Comment: "Runs Logtalk with XSB"; WorkingDir: "{code:GetLgtUserDir}"; Components: prolog\xsb; Flags: createonlyiffileexists
Name: "{group}\Logtalk - XSB CVS"; Filename: "C:\XSB\config\x86-pc-windows\bin\xsb.exe"; Parameters: "-l -e ""['%LOGTALKUSER%\\configs\\xsbcvs.pl', '%LOGTALKHOME%\\compiler\\logtalk.pl', '%LOGTALKUSER%\\libpaths\\libpaths.pl']."""; Comment: "Runs Logtalk with XSB CVS"; WorkingDir: "{code:GetLgtUserDir}"; Components: prolog\xsb; Flags: createonlyiffileexists
Name: "{group}\Logtalk - YAP"; Filename: "C:\Yap\bin\yap.exe"; Parameters: "-l ""$LOGTALKHOME/integration/logtalk_yap.pl"""; Comment: "Runs Logtalk with YAP"; WorkingDir: "{code:GetLgtUserDir}"; Components: prolog\yap; Flags: createonlyiffileexists
Name: "{group}\{#MyAppName} Web Site"; Filename: "{#MyAppUrl}"; Components: base
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"; Components: base
Name: "{code:GetLgtUserDir}\manuals"; Filename: "{app}\manuals"; Components: user
@@ -115,16 +139,6 @@ Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environmen
Root: HKCU; Subkey: "Environment"; ValueType: expandsz; ValueName: "LOGTALKUSER"; ValueData: "{code:GetLgtUserDir}"; Flags: deletevalue uninsdeletevalue
[Run]
Filename: "{cmd}"; Parameters: "/C set LOGTALKHOME={app} & cscript ""{app}\scripts\make_bplgt.js"""; Description: "B-Prolog integration"; Components: prolog\bp
Filename: "{cmd}"; Parameters: "/C set LOGTALKHOME={app} & cscript ""{app}\scripts\make_ciaolgt.js"""; Description: "Ciao Prolog integration"; Components: prolog\ciao
Filename: "{cmd}"; Parameters: "/C set LOGTALKHOME={app} & cscript ""{app}\scripts\make_eclipselgt.js"""; Description: "ECLiPSe integration"; Components: prolog\eclipse
Filename: "{cmd}"; Parameters: "/C set LOGTALKHOME={app} & cscript ""{app}\scripts\make_gplgt.js"""; Description: "GNU Prolog integration"; Components: prolog\gprolog
Filename: "{cmd}"; Parameters: "/C set LOGTALKHOME={app} & cscript ""{app}\scripts\make_plclgt.js"""; Description: "K-Prolog integration"; Components: prolog\plc
Filename: "{cmd}"; Parameters: "/C set LOGTALKHOME={app} & cscript ""{app}\scripts\make_sicstuslgt.js"""; Description: "SICStus Prolog integration"; Components: prolog\sicstus
Filename: "{cmd}"; Parameters: "/C set LOGTALKHOME={app} & cscript ""{app}\scripts\make_swilgt.js"""; Description: "SWI-Prolog integration"; Components: prolog\swi
Filename: "{cmd}"; Parameters: "/C set LOGTALKHOME={app} & cscript ""{app}\scripts\make_xsblgt.js"""; Description: "XSB integration"; Components: prolog\xsb
Filename: "{cmd}"; Parameters: "/C set LOGTALKHOME={app} & cscript ""{app}\scripts\make_yaplgt.js"""; Description: "YAP integration"; Components: prolog\yap
Filename: "{app}\RELEASE_NOTES.txt"; Description: "View the release notes"; Components: base user; Flags: postinstall shellexec skipifsilent
Filename: "{app}\CUSTOMIZE.txt"; Description: "Read the customization instructions for completing your setup"; Components: base user; Flags: postinstall shellexec skipifsilent
@@ -138,7 +152,7 @@ Type: filesandordirs; Name: "{group}"; Components: base
var
LgtUserDirPage: TInputDirWizardPage;
WarningPage: TOutputMsgWizardPage;
Explanation, Warning, Scripts: String;
Explanation, Warning: String;
procedure InitializeWizard;
begin
@@ -196,14 +210,82 @@ end;
procedure CurStepChanged(CurStep: TSetupStep);
begin
if (CurStep = ssInstall) and DirExists(LgtUserDirPage.Values[0]) and (pos('backup', WizardSelectedComponents(False)) > 0) then
RenameFile(LgtUserDirPage.Values[0], LgtUserDirPage.Values[0] + ' backup ' + GetDateTimeString('dddddd tt', '-', '-'));
if (CurStep = ssInstall) and (pos('prolog', WizardSelectedComponents(False)) > 0) then
begin
Scripts := 'The installer needs to run a set of JScripts scripts within command shells' + Chr(13) +
'in order to integrate Logtalk with your installed Prolog compilers.' + Chr(13) + Chr(13) +
'These scripts require WSH 5.6 (or later version) to be installed.' + Chr(13) + Chr(13) +
'Make sure that any security software you may have installed do not block' + Chr(13) +
'the execution of the scripts.';
MsgBox(Scripts, mbInformation, MB_OK)
end
RenameFile(LgtUserDirPage.Values[0], LgtUserDirPage.Values[0] + ' backup ' + GetDateTimeString('dddddd tt', '-', '-'))
end;
function GetBPExePath(Param: String): String;
var
BPDIR: String;
begin
if RegQueryStringValue(HKLM, 'SYSTEM\CurrentControlSet\Control\Session Manager\Environment\', 'BPDIR', BPDIR) then
Result := BPDIR + '\bp.bat'
else
Result := 'lgt_exe_does_not_exist'
end;
function GetCiaoExePath(Param: String): String;
var
CiaoDir: String;
begin
if RegQueryStringValue(HKLM, 'Software\Ciao Prolog\', 'ciao_dir', CiaoDir) then
Result := CiaoDir + '\shell\ciaosh.cpx'
else
Result := 'lgt_exe_does_not_exist'
end;
function GetEclipseExePath(Param: String): String;
var
ECLIPSEDIR: String;
begin
if RegQueryStringValue(HKLM, 'Software\IC-Parc\Eclipse\5.11\', 'ECLIPSEDIR', ECLIPSEDIR) then
Result := ECLIPSEDIR + '\lib\i386_nt\eclipse.exe'
else if RegQueryStringValue(HKLM, 'Software\IC-Parc\Eclipse\5.10\', 'ECLIPSEDIR', ECLIPSEDIR) then
Result := ECLIPSEDIR + '\lib\i386_nt\eclipse.exe'
else
Result := 'lgt_exe_does_not_exist'
end;
function GetGPExePath(Param: String): String;
var
RootPath: String;
begin
if RegQueryStringValue(HKCU, 'Software\GnuProlog\', 'RootPath', RootPath) then
Result := RootPath + '\bin\gprolog.exe'
else
Result := 'lgt_exe_does_not_exist'
end;
function GetKPExePath(Param: String): String;
begin
Result := GetEnv('PLC') + '\plc.exe'
end;
function GetSP3ExePath(Param: String): String;
var
SP_PATH: String;
begin
if RegQueryStringValue(HKLM, 'Software\SICS\SICStus3.12_win32\', 'SP_PATH', SP_PATH) then
Result := SP_PATH + '\bin\spwin.exe'
else
Result := 'lgt_exe_does_not_exist'
end;
function GetSP4ExePath(Param: String): String;
var
SP_PATH: String;
begin
if RegQueryStringValue(HKLM, 'Software\SICS\SICStus4.0_win32\', 'SP_PATH', SP_PATH) then
Result := SP_PATH + '\bin\spwin.exe'
else
Result := 'lgt_exe_does_not_exist'
end;
function GetSWIExePath(Param: String): String;
var
Home: String;
begin
if RegQueryStringValue(HKLM, 'Software\SWI\Prolog\', 'home', Home) then
Result := Home + '\bin\plwin.exe'
else
Result := 'lgt_exe_does_not_exist'
end;