annotate rust/hg-core/build.rs @ 52755:1b7a57a5b47a

rust: add safe bindings to bdiff.c I wrote C FFI bindings manually rather than using a bindgen build step because there are only 2 structs and 3 functions and they're not going to change. Note that the relative path in build.rs means that cargo publish will no longer work. If in the future we want to publish to crates.io, we would probably need to add a Makefile step that copies bdiff sources into the hg-core crate.
author Mitchell Kember <mkember@janestreet.com>
date Wed, 18 Dec 2024 10:35:01 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
52755
1b7a57a5b47a rust: add safe bindings to bdiff.c
Mitchell Kember <mkember@janestreet.com>
parents:
diff changeset
1 fn main() {
1b7a57a5b47a rust: add safe bindings to bdiff.c
Mitchell Kember <mkember@janestreet.com>
parents:
diff changeset
2 // The relative paths work locally but won't if published to crates.io.
1b7a57a5b47a rust: add safe bindings to bdiff.c
Mitchell Kember <mkember@janestreet.com>
parents:
diff changeset
3 println!("cargo::rerun-if-changed=../../mercurial/bdiff.c");
1b7a57a5b47a rust: add safe bindings to bdiff.c
Mitchell Kember <mkember@janestreet.com>
parents:
diff changeset
4 println!("cargo::rerun-if-changed=../../mercurial/bdiff.h");
1b7a57a5b47a rust: add safe bindings to bdiff.c
Mitchell Kember <mkember@janestreet.com>
parents:
diff changeset
5 println!("cargo::rerun-if-changed=../../mercurial/compat.h");
1b7a57a5b47a rust: add safe bindings to bdiff.c
Mitchell Kember <mkember@janestreet.com>
parents:
diff changeset
6 println!("cargo::rerun-if-changed=../../mercurial/bitmanipulation.h");
1b7a57a5b47a rust: add safe bindings to bdiff.c
Mitchell Kember <mkember@janestreet.com>
parents:
diff changeset
7 cc::Build::new()
1b7a57a5b47a rust: add safe bindings to bdiff.c
Mitchell Kember <mkember@janestreet.com>
parents:
diff changeset
8 .warnings(true)
1b7a57a5b47a rust: add safe bindings to bdiff.c
Mitchell Kember <mkember@janestreet.com>
parents:
diff changeset
9 .file("../../mercurial/bdiff.c")
1b7a57a5b47a rust: add safe bindings to bdiff.c
Mitchell Kember <mkember@janestreet.com>
parents:
diff changeset
10 .compile("bdiff");
1b7a57a5b47a rust: add safe bindings to bdiff.c
Mitchell Kember <mkember@janestreet.com>
parents:
diff changeset
11 }