mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
Use the build script to set the rpath in MacOS instead of mach. This is another step toward allowing building servo without mach.
45 lines
1.3 KiB
Rust
45 lines
1.3 KiB
Rust
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
|
|
#[cfg(target_os = "macos")]
|
|
extern crate cc;
|
|
|
|
#[cfg(windows)]
|
|
extern crate winres;
|
|
|
|
use vergen::EmitBuilder;
|
|
|
|
fn main() {
|
|
#[cfg(windows)]
|
|
{
|
|
let mut res = winres::WindowsResource::new();
|
|
res.set_icon("../../resources/servo.ico");
|
|
res.set_manifest_file("platform/windows/servo.exe.manifest");
|
|
res.compile().unwrap();
|
|
}
|
|
#[cfg(target_os = "macos")]
|
|
{
|
|
cc::Build::new()
|
|
.file("platform/macos/count_threads.c")
|
|
.compile("count_threads");
|
|
}
|
|
|
|
if let Err(error) = EmitBuilder::builder()
|
|
.fail_on_error()
|
|
.git_sha(true /* short */)
|
|
.emit()
|
|
{
|
|
println!(
|
|
"cargo:warning=Could not generate git version information: {:?}",
|
|
error
|
|
);
|
|
println!("cargo:rustc-env=VERGEN_GIT_SHA=nogit");
|
|
}
|
|
|
|
// On MacOS, all dylib dependencies are shipped along with the binary
|
|
// in the "/lib" directory. Setting the rpath here, allows the dynamic
|
|
// linker to locate them. See `man dyld` for more info.
|
|
#[cfg(target_os = "macos")]
|
|
println!("cargo:rustc-link-arg=-Wl,-rpath,@executable_path/lib/");
|
|
}
|