Hello! This is the main directory for BuckleScript. jscomp
is just a name that mirrors OCaml's own bytecomp
and asmcomp
(bytecode compilation and native compilation logic respectively). For building it, please see CONTRIBUTING.md.
Extra info:
For best results, you probably want to complete the full Setup before following the below guidelines.
opam switch 4.02.3
eval `opam config env`
opam install js_of_ocaml
which js_of_ocaml # symlink this into your $PATH, maybe /usr/local/bin or something
You need to have bucklescript-playground cloned next to the Bucklescript directory for the following to work.
opam switch 4.02.3+buckle-master
eval `opam config env`
opam install camlp4 ocp-ocamlres
(cd vendor/ocaml && ./configure -prefix `pwd` && make world)
(cd jscomp && BS_RELEASE_BUILD=true BS_PLAYGROUND=../../bucklescript-playground node repl.js)
A copy of standard library from OCaml distribution(4.02) for fast development, so that we don't need bootstrap compiler, everytime we deliver a new feature.
- Files copied
- sources
- Makefile.shared Compflags .depend Makefile
- Patches Most in Makefile.shared
The directory containing unit-test files, some unit tests are copied from OCaml distribution(4.02)
- ext (portable)
- common (portable)
- bsb
- depends (portable)
- core
- bspp
- outcome_printer
- stubs
- super_errors
- syntax
ocamlopt.opt -I +compiler-libs unix.cmxa ./stubs/ext_basic_hash_stubs.c stubs/bs_hash_stubs.cmx ocamlcommon.cmxa ext.cmxa common.cmxa depends.cmxa core/bspack_main.cmx -o bspack.dev