Git Product home page Git Product logo

mlton-bootstrap's Introduction


Superseded by https://github.com/extensibl/ports
================================================






GENERATES (OR COMPILES) MLTON BOOTSTRAP FILES
=============================================

Note: Most likely you need to jump to step 2 - compile bootstrap.

1. On a machine with preinstalled MLton compiler.
-------------------------------------------------

Run:

    $ make generate_bootstrap

Requires approx. 2GB of RAM or more.

Generates .c files needed to bootstrap MLton on a machine without 
mlton compiler. Also generates yacc.grm.sml and yacc.grm.sig - 
mlyacc needs to be compiled with itself, too.

This is NOT a cross-platform compilation script, both parts 
need to be run on the same platform/architecture/OS version.

For details on cross-compilation, see http://mlton.org/Development
Also review bin/add-cross and bin/build-cross-gcc scripts.


2. On target machine with no MLton.
-----------------------------------

Refer to OpenBSD lang/mlton port for details.


Simplified manual process is:

Unpack MLton sources into ${MLTON_SRC}, run:

    $ gmake dirs runtime

Unpack bootstrap, put bootstrap directory into ${MLTON_SRC}:

    $ cd ${MLTON_SRC}
    $ tar xzf mlton-bootstrap-OpenBSD-5.9-amd64.tar.gz
    
Compile bootstrap (that replaces MLton's `gmake compiler' step):

    $ cd ${MLTON_SRC}/bootstrap 
    $ make compile_bootstrap 

Copy mlton-compile executable into ${MLTON_SRC}/build/lib/ directory,
adjust your PATH to include  ${MLTON_SRC}/build/bin.
    
    $ cp ${MLTON_SRC}/bootstrap/mlton-compile ${MLTON_SRC}/build/lib/
    $ export PATH=${PATH}:${MLTON_SRC}/build/bin
    
Run the remaining MLton build steps, i.e.:

    $ gmake basis-no-check script mlbpathmap constants libraries

Add ${MLTON_SRC}/mllex to your PATH, copy yacc.grm.s* from bootstrap, 
then run:

    $ gmake tools

mlton-bootstrap's People

Contributors

alexanderaa avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.