From 5517168fa943e3696014b38a4e570bdf102383c7 Mon Sep 17 00:00:00 2001 From: Laszlo Csomor Date: Fri, 1 Dec 2017 12:05:32 +0100 Subject: Windows: expand wildcard arguments Fixes https://github.com/google/protobuf/issues/3957 --- BUILD | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'BUILD') diff --git a/BUILD b/BUILD index d6fb85d8..6c625832 100644 --- a/BUILD +++ b/BUILD @@ -1,4 +1,4 @@ -# Bazel (http://bazel.io/) BUILD file for Protobuf. +# Bazel (https://bazel.build/) BUILD file for Protobuf. licenses(["notice"]) @@ -55,6 +55,18 @@ config_setting( LINK_OPTS = select({ ":android": [], ":msvc": [], + # Linking to setargv.obj makes the default command line argument + # parser expand wildcards, so the main method's argv will contain the + # expanded list instead of the wildcards. + # Using -WHOLEARCHIVE, because: + # - Microsoft ships this object file next to default libraries + # - but this file is not a library, just a precompiled object + # - just listing the name here without "-WHOLEARCHIVE:" would make Bazel + # believe that "setargv.obj" is a source or rule output in this + # package, which it is not. + # See https://msdn.microsoft.com/en-us/library/8bch7bkk.aspx + "-WHOLEARCHIVE:setargv.obj", + ], "//conditions:default": ["-lpthread", "-lm"], }) -- cgit v1.2.3