2 |
# |
# |
3 |
# the following is a list of the targets (in addition to sml) that |
# the following is a list of the targets (in addition to sml) that |
4 |
# this shell script can install. Comment out those that you do not |
# this shell script can install. Comment out those that you do not |
5 |
# want. Note that ml-burg requires the smlnj-lib target, and that cml-lib |
# want. Note that cml-lib requires cml. |
6 |
# requires cml. |
|
7 |
# |
# |
8 |
|
# But first, decide where you want to have stable libraries stored. |
9 |
|
# If you set $MOVE_LIBRARIES to true, then the install script will |
10 |
|
# move all libraries out of the source tree and into the $LIBDIR |
11 |
|
# directory. Thus, you can then delete the entire source tree without |
12 |
|
# losing functionality. So choose one of these two: |
13 |
|
|
14 |
|
MOVE_LIBRARIES=true |
15 |
|
#MOVE_LIBRARIES=false |
16 |
|
|
17 |
|
# Now let's get started with the target list... |
18 |
|
|
19 |
|
TARGETS="" |
20 |
|
|
21 |
|
# (Always: build the basic sml compiler. This is not reflected in $TARGETS.) |
22 |
|
|
|
# build the basic sml compiler |
|
|
TARGETS="sml" |
|
23 |
|
|
24 |
# unpack the source code for the SML/NJ compiler; this is not required, |
# unpack the source code for the SML/NJ compiler; this is not required, |
25 |
# unless you are doing compiler hacking, but it may be interesting to look at. |
# unless you are doing compiler hacking, but it may be interesting to look at. |
26 |
# |
# |
27 |
#TARGETS="$TARGETS src-smlnj" |
#TARGETS="$TARGETS src-smlnj" |
28 |
|
|
|
# |
|
|
# build the sml compiler with all compiler modules visible at top-level |
|
|
# |
|
|
#TARGETS="$TARGETS sml-full" |
|
|
|
|
29 |
# build ML-Yacc |
# build ML-Yacc |
30 |
# |
# |
31 |
TARGETS="$TARGETS ml-yacc" |
TARGETS="$TARGETS ml-yacc" |
32 |
|
|
33 |
# pre-compile and install the ML-Yacc Library; this is necessary to use |
# Always: install the pre-compiled ML-Yacc Library; this is necessary |
34 |
# parsers produced by ML-Yacc |
# to use parsers produced by ML-Yacc, but also to bootstrap the system |
35 |
# |
# in the first place. |
36 |
TARGETS="$TARGETS ml-yacc-lib" |
|
37 |
|
|
38 |
# build ML-Lex |
# build ML-Lex |
39 |
# |
# |
40 |
TARGETS="$TARGETS ml-lex" |
TARGETS="$TARGETS ml-lex" |
41 |
|
|
42 |
# pre-compile and install the SML/NJ Library. Note that this must come |
# Always: install the pre-compiled SML/NJ Library (necessary to bootstrap). |
43 |
# after ml-lex and ml-yacc, but before ml-burg. |
|
|
# |
|
|
TARGETS="$TARGETS smlnj-lib" |
|
44 |
|
|
45 |
# build ML-Burg |
# build ML-Burg |
46 |
# |
# |
47 |
TARGETS="$TARGETS ml-burg" |
TARGETS="$TARGETS ml-burg" |
48 |
|
|
49 |
|
# pre-compile and install the remaining components of the SML/NJ library |
50 |
|
# (everything except smlnj-lib.cm, aka Util, itself) |
51 |
|
TARGETS="$TARGETS smlnj-lib" |
52 |
|
|
53 |
# pre-compile and install Concurrent ML, which is a library for message-passing |
# pre-compile and install Concurrent ML, which is a library for message-passing |
54 |
# concurrency. |
# concurrency. |
55 |
# |
# |
56 |
TARGETS="$TARGETS cml" |
#TARGETS="$TARGETS cml" |
57 |
|
|
58 |
# pre-compile and install the CML Library, which provides some useful CML |
# pre-compile and install the CML Library, which provides some useful CML |
59 |
# modules. |
# modules. |
60 |
# |
# |
61 |
TARGETS="$TARGETS cml-lib" |
#TARGETS="$TARGETS cml-lib" |
62 |
|
|
63 |
# pre-compile and install eXene, which is a library for X-Windows programming. |
# pre-compile and install eXene, which is a library for X-Windows programming. |
64 |
# EXene requires CML. |
# EXene requires CML. |
65 |
# |
# |
66 |
TARGETS="$TARGETS eXene" |
#TARGETS="$TARGETS eXene" |
67 |
|
|
68 |
# unpack and install the documentation directory. |
# unpack and install the documentation directory. |
69 |
# |
# |
70 |
#TARGETS="$TARGETS doc" |
#TARGETS="$TARGETS doc" |
71 |
|
|
|
# If this flag is set to TRUE, then autoloading is enabled in CM. |
|
|
# |
|
|
ENABLE_AUTOLOADING=TRUE |
|
|
|
|
|
# build a version of sml-cm with CML autoloading available. This |
|
|
# is called cml-cm. Eventually, this will evolve into a proper |
|
|
# interactive version of CML. |
|
|
# |
|
|
#TARGETS="$TARGETS cml-cm" |
|
|
|
|
|
# These flags control which libraries sml-cm will autoload. |
|
|
# |
|
|
AUTOLOAD_SMLNJ_LIB=TRUE # lib/smlnj-lib.cm |
|
|
AUTOLOAD_SMLNJ_UNIX=TRUE # lib/unix-lib.cm |
|
|
AUTOLOAD_SMLNJ_INET=TRUE # lib/inet-lib.cm |
|
|
#AUTOLOAD_SMLNJ_HTML=TRUE # lib/html-lib.cm |
|
|
#AUTOLOAD_SMLNJ_PP=TRUE # lib/pp-lib.cm |
|
|
#AUTOLOAD_SMLNJ_REGEXP=TRUE # lib/regexp-lib.cm |
|
|
#AUTOLOAD_SMLNJ_REACTIVE=TRUE # lib/reactive-lib.cm |
|
|
|
|
|
# These flags control which libraries cml-cm will autoload. |
|
|
# |
|
|
AUTOLOAD_CML_LIB=TRUE # lib/cml-lib.cm |
|
|
#AUTOLOAD_EXENE=TRUE # lib/eXene.cm |
|
72 |
|
|
73 |
|
# Note: autoloading is always enabled. |