[ccan] [PATCH v3 5/7] configurator: DEFAULT_{COMPILER, FLAGS} for MSVC
Kevin Locke
kevin at kevinlocke.name
Thu Sep 29 10:44:46 AEST 2016
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 <kevin at kevinlocke.name>
---
tools/configurator/configurator.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/tools/configurator/configurator.c b/tools/configurator/configurator.c
index 4cb84d0..6ec30bd 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"
--
2.9.3
More information about the ccan
mailing list