195 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			195 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		    +----------------------------+
 | 
						|
		    | 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 <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	  |
 | 
						|
  |-------------|-------------------------------------------------|
 | 
						|
  | 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
 | 
						|
 |