diff --git a/README.org b/README.org index 3e31475b31..040d7f91c1 100644 --- a/README.org +++ b/README.org @@ -164,6 +164,16 @@ juvix compile --target wasm HelloWorld.juvix wasmer HelloWorld.wasm #+end_src +** Building the project with `cabal` + +We recommend that contributors use the `stack` build tool with this project. + +If you would prefer to use the `cabal` build tool instead then you must generate +the `juvix.cabal` file using [[https://github.com/sol/hpack][hpack]] before running `cabal build`. + +To configure the Haskell LSP server to use `cabal` then replace `hie.yaml` with +`cabal.hie.yaml` in the root of the repostiory. + ** The Juvix programming language Juvix allows us to write programs with a high degree of assurance. The Juvix diff --git a/cabal.hie.yaml b/cabal.hie.yaml new file mode 100644 index 0000000000..da79588bac --- /dev/null +++ b/cabal.hie.yaml @@ -0,0 +1,10 @@ +cradle: + cabal: + - path: "./src" + component: "lib:juvix" + + - path: "./app" + component: "exe:juvix" + + - path: "./test" + component: "test:juvix-test" diff --git a/cabal.project b/cabal.project new file mode 100644 index 0000000000..953b40d18d --- /dev/null +++ b/cabal.project @@ -0,0 +1,17 @@ +-- Generated by stackage-to-hackage + +with-compiler: ghc-9.2.5 + +packages: + ./ + +jobs: $ncpus + +allow-older: * +allow-newer: * + +import: https://www.stackage.org/lts-20.2/cabal.config + +package juvix + ghc-options: -optP-Wno-nonportable-include-path + test-show-details: direct diff --git a/package.yaml b/package.yaml index e5fa68fd75..7d04dee4d6 100644 --- a/package.yaml +++ b/package.yaml @@ -5,7 +5,7 @@ license-file: LICENSE copyright: (c) 2022- Heliax AG. maintainer: The PLT Team at Heliax AG author: [ Jonathan Prieto-Cubides , Jan Mas Rovira , Paul Cadman , Lukasz Czajka , Github's contributors ] -tested-with: ghc == 9.2.4 +tested-with: ghc == 9.2.5 homepage: https://juvix.org bug-reports: https://github.com/anoma/juvix/issues description: The Juvix compiler @@ -15,6 +15,11 @@ github: anoma/juvix extra-source-files: - README.org - assets/* +- juvix-stdlib/**/*.juvix +- runtime/include/**/*.h +- runtime/**/*.a +- c-runtime/**/*.h +- c-runtime/walloc/walloc.c dependencies: - aeson == 2.0.*