configurator: Add output cflag option and macro
authorKevin Locke <kevin@kevinlocke.name>
Thu, 29 Sep 2016 00:44:45 +0000 (18:44 -0600)
committerDavid Gibson <david@gibson.dropbear.id.au>
Fri, 30 Sep 2016 03:51:27 +0000 (13:51 +1000)
commitaacc2cb8e22a369b910816dc41a6a411d29a12bb
treef0bca029edc4bffdd2b54eeb589f91f7369b5f50
parentfcdcba92fe85ced9594cabb9c1f960dc98e33077
configurator: Add output cflag option and macro

Unfortunately, not all compilers support -o as a command-line option for
specifying the output file.  Visual Studio cl.exe issues warning D9035
when -o is given, which is detected as a compile warning by the
configurator.

To support such compilers, add the command-line option -O to
configurator which can be used to specify the cflag for setting the
output executable file name.  Additionally define the macro
CCAN_OUTPUT_EXE_CFLAG in config.h and use it when invoking the compiler
(e.g.  from ccanlint).

For reference, the name CCAN_OUTPUT_EXE_CFLAG was chosen to avoid
potential name conflicts in the future due to cl.exe requiring different
flags for different types of output[1] (e.g. object files are /Fo:).

1.  https://msdn.microsoft.com/en-us/library/f1cb223a.aspx

Signed-off-by: Kevin Locke <kevin@kevinlocke.name>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
tools/compile.c
tools/configurator/configurator.c
tools/tools.h