Update Rust example to match modern gn needs. Change-Id: I0b70ce3c063bf6cceaecdfe2327af11542d18703 Reviewed-on: https://gn-review.googlesource.com/c/gn/+/6840 Reviewed-by: Adrian Taylor <adetaylor@chromium.org> Reviewed-by: Petr Hosek <phosek@google.com> Commit-Queue: Petr Hosek <phosek@google.com>
diff --git a/examples/rust_example/build/BUILD.gn b/examples/rust_example/build/BUILD.gn index 9684bf1..52a0fcb 100644 --- a/examples/rust_example/build/BUILD.gn +++ b/examples/rust_example/build/BUILD.gn
@@ -1,11 +1,39 @@ toolchain("rust") { - outfile = "{{target_out_dir}}/{{rustc_output_prefix}}{{crate_name}}{{rustc_output_extension}}" - tool("rustc") { + tool("rust_bin") { depfile = "{{target_out_dir}}/{{crate_name}}.d" + outfile = "{{target_out_dir}}/{{crate_name}}" command = "rustc --crate-name {{crate_name}} {{source}} --crate-type {{crate_type}} --emit=dep-info=$depfile,link {{rustflags}} -o $outfile {{rustdeps}} {{externs}}" description = "RUST $outfile" - cdylib_output_extension = ".so" - proc_macro_output_extension = ".so" + outputs = [ + outfile, + ] + } + + tool("rust_staticlib") { + depfile = "{{target_out_dir}}/{{crate_name}}.d" + outfile = "{{target_out_dir}}/{{crate_name}}.a" + command = "rustc --crate-name {{crate_name}} {{source}} --crate-type {{crate_type}} --emit=dep-info=$depfile,link {{rustflags}} -o $outfile {{rustdeps}} {{externs}}" + description = "RUST $outfile" + outputs = [ + outfile, + ] + } + + tool("rust_rlib") { + depfile = "{{target_out_dir}}/{{crate_name}}.d" + outfile = "{{target_out_dir}}/lib{{crate_name}}.rlib" + command = "rustc --crate-name {{crate_name}} {{source}} --crate-type {{crate_type}} --emit=dep-info=$depfile,link {{rustflags}} -o $outfile {{rustdeps}} {{externs}}" + description = "RUST $outfile" + outputs = [ + outfile, + ] + } + + tool("rust_cdylib") { + depfile = "{{target_out_dir}}/{{crate_name}}.d" + outfile = "{{target_out_dir}}/lib{{crate_name}}.so" + command = "rustc --crate-name {{crate_name}} {{source}} --crate-type {{crate_type}} --emit=dep-info=$depfile,link {{rustflags}} -o $outfile {{rustdeps}} {{externs}}" + description = "RUST $outfile" outputs = [ outfile, ]