-
Notifications
You must be signed in to change notification settings - Fork 13
/
targets
206 lines (179 loc) · 5.99 KB
/
targets
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
194
195
196
197
198
199
200
201
202
203
204
205
206
# targets
#
# the following is a list of the targets (in addition to sml) that
# this shell script can install. Comment out those that you do not
# want. Note that cml-lib requires cml.
#
# The syntax of requests is as follows:
#
# <file> ::= <req>*
# <req> ::= 'request' <module> NL
# | 'if' SYMBOL NL <req>* <elif>* 'endif' NL
# <elif> ::= 'elif' SYMBOL NL <req>*
#
# where NL represents end-of-line and SYMBOL is one of
#
# SIZE_32 -- true for 32-bit systems
# SIZE_64 -- true for 64-bit systems
# WINDOWS -- true for Microsoft Windows
# UNIX -- true for Unix systems (including macOS and Linux)
#
# The install script will move all libraries out of the source tree
# and into the $LIBDIR directory. Thus, you can later delete the
# entire source tree without losing functionality.
# (Notice that the old "dont_move_libraries" directive broke a while ago
# and has been removed.)
#
# (The base system consisting of runtime, compiler, and basic libraries
# will always be built.)
# unpack the source code for everything (including for the SML/NJ compiler
# itself); this is not required, unless you are doing compiler hacking,
# but it may be interesting to look at.
#
#request src-smlnj
# include backward-compatible versions of the Basis Library.
#
request old-basis
# build new (Unicode-capable) ML-ULex
#
request ml-ulex
#
# Register the "mllex" CM tool class in such a way that "legacy" ml-lex
# input is processed by "ml-ulex --ml-lex-mode". Since the legacy ml-lex
# is no longer included in the sources, this request should always be
# enabled
request ml-ulex-mllex-tool
#
# Arrange for the .lex suffix to be recognized by CM as (new-style)
# ML-ULex input.
# (Notice that you should NOT select this option even if you want to have
# ml-ulex process legacy ml-lex input using the --ml-lex-mode option.)
# Since most existing projects have legacy .lex files, this is kept off by default.
# WARNING: This is incompatible with ml-lex-lex-ext!!
#request ml-ulex-lex-ext
#
# Arrange for the .lex suffix to be processed by "ml-ulex --ml-lex-mode"
# Since most existing projects have legacy .lex files, this should be
# kept on by default.
# WARNING: This is incompatible with ml-ulex-lex-ext!!
request ml-ulex-mllex-ext
# build ML-Yacc (must come after ml-lex)
#
request ml-yacc
#
# Arrange for the .grm suffix to be recognized by CM as ML-Yacc input.
# Since .grm files in most existing project are ML-Yacc input, this should be
# kept on by default.
# WARNING: This is incompatible with ml-antlr-grm-ext!!
request ml-yacc-grm-ext
# Always: install the pre-compiled ML-Yacc Library; this is necessary
# to use parsers produced by ML-Yacc, but also to bootstrap the system
# in the first place.
# build ML-Antlr
#
request ml-antlr
#
# Arrange for the .grm suffix to be recognized by CM as ML-Antlr input.
# Since .grm files in most existing project are ML-Yacc input, this should be
# kept off by default.
# WARNING: This is incompatible with ml-yacc-grm-ext!!
#request ml-antlr-grm-ext
# utility library for ml-antlr and ml-ulex
#
request ml-lpt-lib
# Always: install the pre-compiled SML/NJ Library (necessary to bootstrap).
# pre-compile and install the remaining components of the SML/NJ library
# (everything except smlnj-lib.cm, aka Util, itself)
#
request smlnj-lib
# build asdlgen and install ASDL libraries
#
# NOTE: currently asdlgen does not build on Windows
#
if UNIX
request asdl
endif
# pre-compile and install CM "portable graph" utility library
#
#request pgraph-util
# pre-compile and install "Trace-Debug-Profile" utility library
# (provides simple back-trace- and coverage facilities)
#
request tdp-util
# pre-compile and install Concurrent ML, which is a library for message-passing
# concurrency.
#
request cml
# pre-compile and install the CML Library, which provides some useful CML
# modules.
#
request cml-lib
# pre-compile and install eXene, which is a library for X-Windows programming.
# EXene requires CML.
#
#request eXene
# pre-compile (certain) parts of MLRISC that are not already part of the SML/NJ
# compiler itself
#
#request mlrisc
# pre-compile and install the C-Kit, which is a library for parsing and
# type-checking C programs
#
request ckit
# pre-compile and install the ML-NLFFI Library, which is the core of
# a new foreign function interface (where "foreign" functions are
# "no longer foreign")
# This library is necessary to compile and/or run programs that use
# the new FFI.
# This preview release currently works under X86/Linux, Sparc/Solaris,
# PPC/MacOSX, and X86/Win32.
#
#
# NOTE: currently NLFFI is not supported on 64-bit machines
#
if SIZE_32
request ml-nlffi-lib
endif
# build ML-NLFFI-Gen, a program generator tool used in conjunction with
# the new "NLFFI" foreign function interface. The tool generates ML
# glue code from C source code.
# (Requires ckit!)
# This preview release currently works under X86/Linux, Sparc/Solaris,
# PPC/MacOSX, and X86/Win32.
#
#
# NOTE: currently NLFFI is not supported on 64-bit machines
#
if SIZE_32
request ml-nlffigen
endif
# pre-compile and install the MLRISC Tools library.
# This library is for parsing and pretty printing SML code.
# It's used by various MLRISC code generator generator.
#
#request mlrisc-tools
# build ML-Burg
#
request ml-burg
# Build and install the 'nowhere' program translator.
# This tool translates programs with conditional patterns (where clauses)
# into legal SML code. See MLRISC/Tools/Doc/nowhere.tex for its
# (bad) documentation.
# (Requires the mlrisc-tools library!)
#
#request nowhere
# Build and install 'heap2asm', which is used by 'heap2exec'
# for producing self-contained (aka stand-alone) executables.
# This facility is currently only supported on Linux and macOS
#
if UNIX
# request heap2asm
endif
# Download the documentation directory.
#
request doc
# Note: autoloading is always enabled.
# In order to customize what is being pre-registered for autoloading
# edit file "preloads". You should make sure that it contains at least
# "$smlnj/cm.cm".
# Also, it is a good idea to have "$/basis.cm" pre-loaded.