forked from egallesio/STk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathINSTALL
194 lines (142 loc) · 7.11 KB
/
INSTALL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
+----------------------------+
| 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 <[email protected]>). 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