+----------------------------+ | STk 4.0 Installation notes | +----------------------------+ ** This is the Unix INSTALL file. For Windows platform, please look at the ** INSTALL.win32 file 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 ). 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 | |-------------|-------------------------------------------------| | jpeg [ enabled | Add JPEG support for Tk images | |-------------|-------------------------------------------------| | 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 | |-------------|-------------------------------------------------| | base64 | enabled | Compile support for Base64 encoding | |-------------|-------------------------------------------------| | locale | enabled | Compile support for locale in string | | | | comparisons | |_____________|_________|_______________________________________| 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) When you have the STk prompt (and if your DISPLAY variable is correctly set), just enter the following form: (pack (button '.test :text "Hello, world" :command (lambda () (exit 0)))) 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 Alternatively, you can use the command $ make install-no-strip to install the executable without stripping them. Intalling STk and Tk libraries (useless if you don't plan to write some C code) is done with. $ make install.lib Have fun