# Remove the output file first so that ar doesn't try to modify the
# existing file.
command =
- "rm -f {{output}} && $ar rcsDT {{arflags}} {{output}} {{inputs}}"
+ "rm -f {{output}} && $ar rcsD {{arflags}} {{output}} {{inputs}}"
}
description = "AR {{output}}"
outputs = [
}
tool("solink") {
- outprefix = "{{output_dir}}/{{target_output_name}}"
- dllfile = "$outprefix{{output_extension}}"
- libfile = "$outprefix.lib"
- pdbfile = "$outprefix.pdb"
- command = "$link /nologo /dll {{ldflags}} /out:$dllfile /implib:$libfile /pdb:$pdbfile {{libs}} {{inputs}}"
+ dllfile = "{{output_dir}}/{{target_output_name}}{{output_extension}}"
+ libfile = "$dllfile.lib"
+ command = "$link /nologo /dll {{ldflags}} /out:$dllfile /implib:$libfile {{libs}} /pdb:$dllfile.pdb {{inputs}}"
description = "LINK $dllfile"
link_output = libfile
depend_output = libfile
# standalone loadable modules used for unit-testing LLVM's dynamic library
# loading code.
tool("solink_module") {
- outprefix = "{{output_dir}}/{{target_output_name}}"
- dllfile = "$outprefix{{output_extension}}"
- pdbfile = "$outprefix.pdb"
- command = "$link /nologo /dll {{ldflags}} /out:$dllfile /pdb:$pdbfile {{libs}} {{inputs}}"
+ dllfile = "{{output_dir}}/{{target_output_name}}{{output_extension}}"
+ command = "$link /nologo /dll {{ldflags}} /out:$dllfile {{libs}} /pdb:$dllfile.pdb {{inputs}}"
description = "LINK_MODULE $dllfile"
outputs = [
dllfile,
}
tool("link") {
- outprefix = "{{output_dir}}/{{target_output_name}}"
- outfile = "$outprefix{{output_extension}}"
- pdbfile = "$outprefix.pdb"
- command = "$link /nologo {{ldflags}} /out:$outfile /pdb:$pdbfile {{libs}} {{inputs}}"
+ outfile = "{{output_dir}}/{{target_output_name}}{{output_extension}}"
+ command = "$link /nologo {{ldflags}} /out:$outfile {{libs}} /pdb:$outfile.pdb {{inputs}}"
description = "LINK $outfile"
outputs = [
outfile,