Archived
1
0
Fork 0

gnu: Add ocaml-llvm.

* gnu/packages/ocaml.scm (make-ocaml-llvm, ocaml-llvm, ocaml-llvm-9)
(ocaml-llvm-10, ocaml-llvm-11): New variables.
This commit is contained in:
Julien Lepiller 2021-02-16 16:38:15 +01:00
parent 4390934f0b
commit 8f710cc598
No known key found for this signature in database
GPG key ID: 53D457B2D636EE82

View file

@ -6197,3 +6197,44 @@ provides support to program with time varying values: declarative events and
signals. React doesn't define any primitive event or signal, it lets the signals. React doesn't define any primitive event or signal, it lets the
client chooses the concrete timeline.") client chooses the concrete timeline.")
(license license:lgpl2.1+))) (license license:lgpl2.1+)))
(define (make-ocaml-llvm llvm)
(package
(inherit llvm)
(name "ocaml-llvm")
(outputs '("out"))
(arguments
`(#:configure-flags
(list
(string-append "-DLLVM_OCAML_EXTERNAL_LLVM_LIBDIR="
(assoc-ref %build-inputs "llvm") "/lib")
"-DBUILD_SHARED_LIBS=TRUE"
"-DLLVM_OCAML_OUT_OF_TREE=TRUE"
(string-append "-DLLVM_OCAML_INSTALL_PATH="
(assoc-ref %outputs "out") "/lib/ocaml/site-lib"))
#:phases
(modify-phases %standard-phases
(replace 'build
(lambda _
(invoke "make" "ocaml_all")))
(replace 'install
(lambda _
(invoke "cmake" "-P" "bindings/ocaml/cmake_install.cmake"))))))
(inputs
`(("llvm" ,llvm)))
(native-inputs
`(("ocaml" ,ocaml)
("ocaml-findlib" ,ocaml-findlib)
("ocaml-ounit" ,ocaml-ounit)
("python" ,python)))
(propagated-inputs
`(("ocaml-integers" ,ocaml-integers)
("ocaml-ctypes" ,ocaml-ctypes)))
(synopsis "OCaml bindings to LLVM")
(description "This package contains the OCaml bindings distributed with
LLVM.")))
(define-public ocaml-llvm (make-ocaml-llvm llvm))
(define-public ocaml-llvm-9 (make-ocaml-llvm llvm-9))
(define-public ocaml-llvm-10 (make-ocaml-llvm llvm-10))
(define-public ocaml-llvm-11 (make-ocaml-llvm llvm-11))