summaryrefslogtreecommitdiff
path: root/core/build.rs
diff options
context:
space:
mode:
Diffstat (limited to 'core/build.rs')
-rw-r--r--core/build.rs30
1 files changed, 30 insertions, 0 deletions
diff --git a/core/build.rs b/core/build.rs
new file mode 100644
index 000000000..0cb775e5c
--- /dev/null
+++ b/core/build.rs
@@ -0,0 +1,30 @@
+// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
+// Run "cargo build -vv" if you want to see gn output.
+mod gn {
+ include!("../gn.rs");
+}
+
+fn main() {
+ let build = gn::Build::setup();
+
+ println!(
+ "cargo:rustc-link-search=native={}/obj/core/libdeno",
+ build.gn_out_dir
+ );
+ if cfg!(target_os = "windows") {
+ println!("cargo:rustc-link-lib=static=libdeno");
+ } else {
+ println!("cargo:rustc-link-lib=static=deno");
+ }
+
+ // Link the system libraries that libdeno and V8 depend on.
+ if cfg!(any(target_os = "macos", target_os = "freebsd")) {
+ println!("cargo:rustc-link-lib=dylib=c++");
+ } else if cfg!(target_os = "windows") {
+ for lib in vec!["dbghelp", "shlwapi", "winmm", "ws2_32"] {
+ println!("cargo:rustc-link-lib={}", lib);
+ }
+ }
+
+ build.run("core:deno_core_deps");
+}