Skip to content

Commit

Permalink
Add paramfile support for def_parser, since in rare cases on Windows …
Browse files Browse the repository at this point in the history
…command line character limit was reached.

PiperOrigin-RevId: 427962422
  • Loading branch information
Googler authored and copybara-github committed Feb 11, 2022
1 parent 0a2b455 commit cd24f39
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions src/main/starlark/builtins_bzl/common/cc/cc_helper.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -173,16 +173,19 @@ def _should_generate_def_file(ctx, feature_configuration):

def _generate_def_file(ctx, def_parser, object_files, dll_name):
def_file = ctx.actions.declare_file(ctx.label.name + ".gen.def")
args = ctx.actions.args()
args.add(def_file)
args.add(dll_name)
argv = ctx.actions.args()
argv.add(def_file)
argv.add(dll_name)
argv.use_param_file("@%s", use_always = True)
argv.set_param_file_format("shell")
for object_file in object_files:
argv.add(object_file.path)

ctx.actions.run(
mnemonic = "DefParser",
executable = def_parser,
arguments = [argv],
arguments = [args, argv],
inputs = object_files,
outputs = [def_file],
use_default_shell_env = True,
Expand Down

0 comments on commit cd24f39

Please sign in to comment.