16d528ed9Sopenharmony_citoolchain("rust") { 26d528ed9Sopenharmony_ci tool("rust_bin") { 36d528ed9Sopenharmony_ci depfile = "{{target_out_dir}}/{{crate_name}}.d" 46d528ed9Sopenharmony_ci outfile = "{{target_out_dir}}/{{crate_name}}" 56d528ed9Sopenharmony_ci command = "rustc --crate-name {{crate_name}} {{source}} --crate-type {{crate_type}} --emit=dep-info=$depfile,link -Z dep-info-omit-d-target {{rustflags}} -o $outfile {{rustdeps}} {{externs}}" 66d528ed9Sopenharmony_ci description = "RUST $outfile" 76d528ed9Sopenharmony_ci outputs = [ outfile ] 86d528ed9Sopenharmony_ci } 96d528ed9Sopenharmony_ci 106d528ed9Sopenharmony_ci tool("rust_staticlib") { 116d528ed9Sopenharmony_ci depfile = "{{target_out_dir}}/{{crate_name}}.d" 126d528ed9Sopenharmony_ci outfile = "{{target_out_dir}}/{{crate_name}}.a" 136d528ed9Sopenharmony_ci command = "rustc --crate-name {{crate_name}} {{source}} --crate-type {{crate_type}} --emit=dep-info=$depfile,link -Z dep-info-omit-d-target {{rustflags}} -o $outfile {{rustdeps}} {{externs}}" 146d528ed9Sopenharmony_ci description = "RUST $outfile" 156d528ed9Sopenharmony_ci outputs = [ outfile ] 166d528ed9Sopenharmony_ci } 176d528ed9Sopenharmony_ci 186d528ed9Sopenharmony_ci tool("rust_rlib") { 196d528ed9Sopenharmony_ci depfile = "{{target_out_dir}}/{{crate_name}}.d" 206d528ed9Sopenharmony_ci outfile = "{{target_out_dir}}/lib{{crate_name}}.rlib" 216d528ed9Sopenharmony_ci command = "rustc --crate-name {{crate_name}} {{source}} --crate-type {{crate_type}} --emit=dep-info=$depfile,link -Z dep-info-omit-d-target {{rustflags}} -o $outfile {{rustdeps}} {{externs}}" 226d528ed9Sopenharmony_ci description = "RUST $outfile" 236d528ed9Sopenharmony_ci outputs = [ outfile ] 246d528ed9Sopenharmony_ci } 256d528ed9Sopenharmony_ci 266d528ed9Sopenharmony_ci tool("rust_cdylib") { 276d528ed9Sopenharmony_ci depfile = "{{target_out_dir}}/{{crate_name}}.d" 286d528ed9Sopenharmony_ci outfile = "{{target_out_dir}}/lib{{crate_name}}.so" 296d528ed9Sopenharmony_ci command = "rustc --crate-name {{crate_name}} {{source}} --crate-type {{crate_type}} --emit=dep-info=$depfile,link -Z dep-info-omit-d-target {{rustflags}} -o $outfile {{rustdeps}} {{externs}}" 306d528ed9Sopenharmony_ci description = "RUST $outfile" 316d528ed9Sopenharmony_ci outputs = [ outfile ] 326d528ed9Sopenharmony_ci } 336d528ed9Sopenharmony_ci 346d528ed9Sopenharmony_ci tool("stamp") { 356d528ed9Sopenharmony_ci command = "touch {{output}}" 366d528ed9Sopenharmony_ci description = "STAMP {{output}}" 376d528ed9Sopenharmony_ci } 386d528ed9Sopenharmony_ci 396d528ed9Sopenharmony_ci tool("copy") { 406d528ed9Sopenharmony_ci command = "cp -af {{source}} {{output}}" 416d528ed9Sopenharmony_ci description = "COPY {{source}} {{output}}" 426d528ed9Sopenharmony_ci } 436d528ed9Sopenharmony_ci} 446d528ed9Sopenharmony_ci 456d528ed9Sopenharmony_ciconfig("rust_defaults") { 466d528ed9Sopenharmony_ci rustflags = [ "-Cdebuginfo=2" ] 476d528ed9Sopenharmony_ci} 48