|
|
|
// Protocol Buffers - Google's data interchange format
|
|
|
|
// Copyright 2024 Google LLC. All rights reserved.
|
|
|
|
|
|
|
|
// Use of this source code is governed by a BSD-style
|
|
|
|
// license that can be found in the LICENSE file or at
|
|
|
|
// https://developers.google.com/open-source/licenses/bsd
|
|
|
|
|
|
|
|
const VERSION: &str = env!("CARGO_PKG_VERSION");
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
cc::Build::new()
|
|
|
|
.flag("-std=c99")
|
|
|
|
// TODO: Come up with a way to enable lto
|
|
|
|
// .flag("-flto=thin")
|
|
|
|
.warnings(false)
|
|
|
|
.include("libupb")
|
|
|
|
.include("libupb/third_party/utf8_range")
|
|
|
|
.file("libupb/upb/upb.c")
|
|
|
|
.file("libupb/third_party/utf8_range/utf8_range.c")
|
|
|
|
.define("UPB_BUILD_API", Some("1"))
|
|
|
|
.compile("libupb");
|
|
|
|
let path = std::path::Path::new("libupb");
|
|
|
|
println!("cargo:include={}", path.canonicalize().unwrap().display());
|
|
|
|
println!("cargo:version={}", VERSION);
|
|
|
|
}
|