diff options
Diffstat (limited to '')
| -rw-r--r-- | lib/dune | 10 | ||||
| -rw-r--r-- | lib/hello.ml | 1 | ||||
| -rw-r--r-- | lib/merklecpp_stubs.cpp | 15 |
3 files changed, 25 insertions, 1 deletions
@@ -1,2 +1,10 @@ (library - (name relational_engine)) + (name relational_engine) + (foreign_stubs + (language cxx) + (names merklecpp_stubs) + (flags + (:standard -lssl -lcrypto) + (-L %{env:LIBRESSL_LIB_PATH=}) + (-I %{env:LIBRESSL_INCLUDE_PATH=}) + (-I %{env:MERKLECPP_INCLUDE_PATH=})))) diff --git a/lib/hello.ml b/lib/hello.ml new file mode 100644 index 0000000..1a3a138 --- /dev/null +++ b/lib/hello.ml @@ -0,0 +1 @@ +external hello : unit -> int = "hello_ocaml" diff --git a/lib/merklecpp_stubs.cpp b/lib/merklecpp_stubs.cpp new file mode 100644 index 0000000..4ce427e --- /dev/null +++ b/lib/merklecpp_stubs.cpp @@ -0,0 +1,15 @@ +#include <iostream> +#include <merklecpp.h> + +void cpp_normal_function() { + std::cout << "HELLO OCAML! :)" << std::endl; +} + +extern "C" { +#include <caml/mlvalues.h> +#include <caml/memory.h> + extern value hello_ocaml(value unit){ + cpp_normal_function(); + return 0; + } +} |
