1996-09-27 06:29:02 -04:00
|
|
|
+----------------------------+
|
|
|
|
| STk 3.1 Installation notes |
|
|
|
|
+----------------------------+
|
|
|
|
|
|
|
|
|
|
|
|
IMPORTANT NOTE - IMPORTANT NOTE - IMPORTANT NOTE
|
|
|
|
------------------------------------------------
|
|
|
|
|
|
|
|
|
| STk bignums are implemented with the GNU mp APIs. This library provides a
|
|
|
|
| VERY EFFICIENT implementation of multiple precision numbers. This library
|
|
|
|
| is placed under the GNU GENERAL PUBLIC LICENSE. However, to avoid to fall
|
|
|
|
| under the restrictive GPL terms you can use the FGMP package (FGMP is a
|
|
|
|
| public domain implementation of a subset of the GNU gmp library with the
|
|
|
|
| same API, written by Mark Henderson <markh@wimsey.bc.ca>). This package
|
|
|
|
| has the advantage to be totally *FREE*, and the disadventage to be *SLOW*.
|
|
|
|
|
|
|
|
|
| So, if your concern is speed, and if the GPL is not a problem for you,
|
|
|
|
| use the Gnu package.
|
|
|
|
|
|
|
|
|
| Both package are in the distribution file. You don't need to ftp them.
|
|
|
|
|
|
|
|
|
---------------------------------------------------------------------
|
|
|
|
END OF IMPORTANT NOTE - END OF IMPORTANT NOTE - END OF IMPORTANT NOTE
|
|
|
|
|
|
|
|
|
|
|
|
To install this package:
|
|
|
|
|
|
|
|
*** 1. Configure the package for your system.
|
|
|
|
|
|
|
|
In the directory that this file is in, type
|
|
|
|
|
|
|
|
$ /bin/sh ./configure
|
|
|
|
|
|
|
|
This line runs the `configure' shell script. This script attempts to
|
|
|
|
guess correct values for various system-dependent variables used
|
|
|
|
during compilation, and creates various files necessary for package
|
|
|
|
building.
|
|
|
|
|
|
|
|
Default configuration will compile the package with the the "gcc"
|
|
|
|
compiler and the "-O2" option. This can be changed by changing the
|
|
|
|
default value of the CC and CFLAGS shell variables. For instance:
|
|
|
|
|
|
|
|
$ /bin/sh -c 'CC=another-cc CFLAGS="-O2 -g" ./configure'
|
|
|
|
|
|
|
|
will configure the package to use the "another-cc" compiler with
|
|
|
|
options "-O2" and "-g".
|
|
|
|
|
|
|
|
By default, `make install' will install the package's files in
|
|
|
|
/usr/local/bin, /usr/local/lib, /usr/local/man, etc. You can specify
|
|
|
|
an installation prefix other than /usr/local by giving `configure' the
|
|
|
|
option `--prefix=PATH'. For instance to place everything in the
|
|
|
|
directory whose name is 'another/place' You'll have to type
|
|
|
|
|
|
|
|
$ /bin/sh configure --prefix=/another/place
|
|
|
|
|
|
|
|
By default STk is compiled with the Gnu MP library. If using GNU
|
|
|
|
software is a problem for you you can specify to use the FGMP package
|
|
|
|
with the '--with-fgmp' option. Example:
|
|
|
|
|
|
|
|
$ /bin/sh configure --prefix=/another/place --with-fgmp
|
|
|
|
|
|
|
|
Several features can also specified at configuration time. To enable
|
|
|
|
the feature XXX you'll have to specify the '--enable-XXX'. Of course,
|
|
|
|
'--disable-XXX' permits to disable an option which is enabled by
|
|
|
|
default. The following table gives the list of possible features
|
|
|
|
available when compiling STk and their default value.
|
|
|
|
|
|
|
|
________________________________________________________________
|
|
|
|
| XXX | Default | |
|
|
|
|
| | value | |
|
|
|
|
|=============|=========|=======================================|
|
|
|
|
| hash | enabled | Compile support for hash tables |
|
|
|
|
|-------------|-------------------------------------------------|
|
|
|
|
| stklos | enabled | Compile support for stklos (requires |
|
|
|
|
| | | hash tables) |
|
|
|
|
|-------------|---------|---------------------------------------|
|
|
|
|
| socket | enabled | Compile support for sockets. |
|
|
|
|
|-------------|-------------------------------------------------|
|
|
|
|
| dynload | depends | Specifies if STk uses dynamic loading |
|
|
|
|
| | | for extensions. By default, dynamic |
|
|
|
|
| | | loading is enabled for systems which |
|
|
|
|
| | | support it (and for which support has |
|
|
|
|
| | | been integrated into the interpreter |
|
|
|
|
| | | This option permit to change this |
|
|
|
|
| | | default value. |
|
|
|
|
| | | See below for systems for which |
|
|
|
|
| | | dynamic loading support exists |
|
|
|
|
|-------------|-------------------------------------------------|
|
|
|
|
| elf | depends | Use it to enable or disable ELF |
|
|
|
|
| | | dynamic loading on Linux system. |
|
|
|
|
| | | Default value is choosen by the |
|
|
|
|
| | | configure script. If this value is |
|
|
|
|
| | | incorrect, use this option to toggle |
|
|
|
|
| | | it. This option works only on Linux |
|
|
|
|
| | | systems |
|
|
|
|
|-------------|-------------------------------------------------|
|
|
|
|
| pixmap [ enabled | Add pixmap support for Tk images |
|
1998-04-10 06:59:06 -04:00
|
|
|
|-------------|-------------------------------------------------|
|
|
|
|
| jpeg [ enabled | Add JPEG support for Tk images |
|
1996-09-27 06:29:02 -04:00
|
|
|
|-------------|-------------------------------------------------|
|
|
|
|
| html | enabled | Compile support for html |
|
|
|
|
|-------------|-------------------------------------------------|
|
|
|
|
| dld | disabled| Use it to enable synamic loading using|
|
|
|
|
| | | the DLD package (works on Linux only) |
|
|
|
|
|-------------|---------|---------------------------------------|
|
|
|
|
| regexp | enabled | Add support for regular expressions |
|
|
|
|
|-------------|---------|---------------------------------------|
|
|
|
|
| process | enabled | Add support for running processes from|
|
|
|
|
| | | the interpreter and redirecting their |
|
|
|
|
| | | IO |
|
|
|
|
|-------------|---------|---------------------------------------|
|
|
|
|
| posix | enabled | Add support for POSIX.1 functions. |
|
|
|
|
| | | Support is very incmplete but will |
|
|
|
|
| | | grow |
|
|
|
|
|_____________|_________|_______________________________________|
|
|
|
|
|
|
|
|
For instance
|
|
|
|
|
|
|
|
$ /bin/sh -c 'CC=gcc ./configure --with-fgmp \
|
|
|
|
--enable-socket --prefix=/scheme'
|
|
|
|
|
|
|
|
will configure the package to use the free bignum library and the socket
|
|
|
|
support . All the needed files will be installed in the /scheme/bin
|
|
|
|
/scheme/lib ... directories.
|
|
|
|
|
|
|
|
|
|
|
|
*** 2 . Compiling the package (and testing it)
|
|
|
|
|
|
|
|
Once configuration is done, just type
|
|
|
|
|
|
|
|
$ make
|
|
|
|
|
|
|
|
in this directory to make the whole system. Once the make is terminated you
|
|
|
|
can do a minimal test of stk with
|
|
|
|
|
|
|
|
$ (cd Src; /bin/sh test-stk)
|
|
|
|
|
|
|
|
This will bring a little squared window on your screen (if your DISPLAY
|
|
|
|
variable is correctly set). When this is done, enter the following line
|
|
|
|
|
1998-04-10 06:59:06 -04:00
|
|
|
(pack (button '.test :text "Hello, world" :command (lambda () (exit 0))))
|
1996-09-27 06:29:02 -04:00
|
|
|
|
|
|
|
at the scheme prompt. This will display an Hello world button. Clicking on it
|
|
|
|
will leave the scheme interpreter. A more complete demo can be obtained with:
|
|
|
|
|
|
|
|
$ make demos
|
|
|
|
|
|
|
|
This command runs the STk HTML browser on a file which allows you to launch
|
|
|
|
simply the demos located in the "Demos" directory.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*** 3. Documentation
|
|
|
|
|
|
|
|
Documentation is provided in Postscript and in TeX. To rebuild the
|
|
|
|
documentation, you'll have to type
|
|
|
|
|
|
|
|
$ make doc
|
|
|
|
|
|
|
|
This will rebuilt the Postscript documentation. To make only the
|
|
|
|
dvi files, use
|
|
|
|
|
|
|
|
$ make dvi
|
|
|
|
|
|
|
|
|
|
|
|
*** 4. Installation
|
|
|
|
|
|
|
|
To install stk in the definitive place, type
|
|
|
|
|
|
|
|
$ make install
|
|
|
|
|
1998-04-30 07:04:33 -04:00
|
|
|
Intalling STk and Tk libraries (useless if you don't plan to write some C code)
|
|
|
|
is done with.
|
1998-04-10 06:59:06 -04:00
|
|
|
|
|
|
|
$ make install.lib
|
|
|
|
|
1996-09-27 06:29:02 -04:00
|
|
|
Have fun
|
|
|
|
|