Remove dependency between hh_single_compile_cpp and ocaml_ffi_mock
Summary:
AFAIK, ocaml_ffi_mock is always a hackaround for a problem we could solve in a more principled way. A rust_binary or cpp_binary target should really never need to depend on ocaml_ffi_mock--it could just refrain from depending on targets that want to link to the OCaml runtime in the first place. The usual culprit for a dependency on the OCaml runtime in our code is `ocamlrep_ocamlpool` (which is explicitly for exposing OCaml FFIs, so it's appropriate for that library to link to the runtime). If we keep our OCaml FFIs in isolated targets, then we should be able to write Rust or C++ binaries without needing ocaml_ffi_mock.
In this case, hh_single_compile_cpp depends on a bunch of targets that list ocaml_ffi_mock as a test dependency for no reason that I can discern, and one target that lists ocaml_ffi_mock as a dependency because it uses ocamlrep_ocamlpool (rust_facts_ffi). We can just avoid depending on the OCaml FFI for facts altogether, and remove the unnecessary ocaml_ffi_mock test dependency from all targets that don't need it.
Reviewed By: shayne-fletcher
Differential Revision:
D32467946
fbshipit-source-id:
c8b68408c744748df595432ada9f8a9430acd93a