I am trying to create a library including both OCaml and C code. I use the c_names
field to specify C files to include, like so:
#!/bin/bash
echo "This C file does not compile" > exists.c
echo "let x = 42" > a.ml
cat << EOF > jbuild
(jbuild_version 1)
(library
((name mylib)
(modules (a))
(c_names (exists doesnotexist))
))
EOF
jbuilder build mylib.cmxa --verbose
This does not attempt to even compile my C files (it does not either complain that one of them does not exist). I am puzzled because this looks the same as what is done for instance in async ssl. (Also, if you look at the --verbose
output the final command has -cclib -lmylib_stubs
: this native library does not exist AFAICS but the command still succeeds!)