# 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 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 # build new (Unicode-capable) ML-ULex # request ml-ulex # # 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 should be # kept off by default. # WARNING: This is incompatible with ml-ulex-lex-ext!! #request ml-ulex-lex-ext # # Register the "mllex" CM tool class in such a way that "legacy" ml-lex # input is processed by "ml-ulex --ml-lex-mode". # (If you want the .lex extension to be mapped to the "mllex" class # and have that be processed by ml-ulex, you should request # ml-ulex-mllex-tool and ml-lex-lex-ext, but NOT ml-ulex-lex-ext.) # WARNING: This is incompatible with ml-lex-mllex-tool!! request ml-ulex-mllex-tool # build legacy ML-Lex # request ml-lex # # Register the "mllex" CM tool class in such a way that "legacy" ml-lex # input is processed by the legacy ml-lex program. # WARNING: This is incompatible with ml-ulex-mllex-tool!! #request ml-lex-mllex-tool # # Arrange for the .lex suffix to be recognized by CM as legacy ml-lex input. # This requires that either ml-lex-mllex-tool or ml-ulex-mllex-tool # (but not both at the same time!) is installed. # 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-lex-lex-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). # build ML-Burg # #request ml-burg # pre-compile and install the remaining components of the SML/NJ library # (everything except smlnj-lib.cm, aka Util, itself) # request smlnj-lib # 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. # #request ml-nlffi-lib # 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. # #request ml-nlffigen # 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 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' - an experimental component of # a new facility for producing true stand-alone executables. #request heap2asm # 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.