From: Kevin Locke Date: Thu, 29 Sep 2016 00:44:46 +0000 (-0600) Subject: configurator: DEFAULT_{COMPILER, FLAGS} for MSVC X-Git-Url: http://git.ozlabs.org/?p=ccan;a=commitdiff_plain;h=f15904b683f12a3add9eaa8e34f73acbf790b85e;hp=aacc2cb8e22a369b910816dc41a6a411d29a12bb configurator: DEFAULT_{COMPILER, FLAGS} for MSVC When compiling with Visual Studio, use default compiler name and flags which are likely to work with the known-available compiler. This is also a convenience for users who may not know what arguments cl.exe may need to compile the tests. Changes since v1: - Use "-option" instead of "/option" to avoid issues running under msys. - Disable C4200 warning for use of flexible array members, which MSVC considers an extension (since it does not fully support C99). Signed-off-by: Kevin Locke Signed-off-by: David Gibson --- diff --git a/tools/configurator/configurator.c b/tools/configurator/configurator.c index 4cb84d0b..6ec30bd6 100644 --- a/tools/configurator/configurator.c +++ b/tools/configurator/configurator.c @@ -38,9 +38,21 @@ #define pclose _pclose #endif +#ifdef _MSC_VER +#define DEFAULT_COMPILER "cl" +/* Note: Dash options avoid POSIX path conversion when used under msys bash + * and are therefore preferred to slash (e.g. -nologo over /nologo) + * Note: Disable Warning 4200 "nonstandard extension used : zero-sized array + * in struct/union" for flexible array members. + */ +#define DEFAULT_FLAGS "-nologo -Zi -W4 -wd4200 " \ + "-D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS" +#define DEFAULT_OUTPUT_EXE_FLAG "-Fe:" +#else #define DEFAULT_COMPILER "cc" #define DEFAULT_FLAGS "-g3 -ggdb -Wall -Wundef -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wold-style-definition" #define DEFAULT_OUTPUT_EXE_FLAG "-o" +#endif #define OUTPUT_FILE "configurator.out" #define INPUT_FILE "configuratortest.c"