Skip to content

Latest commit

 

History

History
68 lines (45 loc) · 1.54 KB

README.md

File metadata and controls

68 lines (45 loc) · 1.54 KB

CFN++

CFN++ is a native-code compiler for AWS::Serverless.

Install

Currently, the only way to install CFN++ is to build from source. The compiler is written in OCaml and uses LLVM to generate code. A successful build will produce a cfn++ command-line tool a la the go tool.

External Dependencies

First, install the core dependencies needed to build the compiler itself: the OCaml compiler and the Opam package manager.

brew install ocaml opam

CFN++ generates code with LLVM. This needs to be installed after OCaml so that the OCaml language bindings are generated correctly.

brew install llvm

Next, initialize Opam and bring it up to date.

opam init
opam update

Clone the CFN++ source from GitHub:

git clone https://github.com/watersofoblivion/cfn
cd cfn

You can then install CFN++ using the opam tool. This will install all of the dependencies and build the compiler. This will take a little while as Opam builds all dependencies from source.

opam install .

Quickstart

TODO

Developing

Useful Commands

Opam

  • opam install . in the project directory installs the dependencies for the project
  • opam update . in the project directory updates the dependencies for the project. (Does not process uncomitted changes.)

Dune

  • dune runtest -w runs test continuously