summaryrefslogtreecommitdiff
path: root/lib/win32/box_getopt.h
diff options
context:
space:
mode:
authorChris Wilson <chris+github@qwirx.com>2013-09-30 08:28:58 +0000
committerChris Wilson <chris+github@qwirx.com>2013-09-30 08:28:58 +0000
commitdae6303135c66acdd0e4f3985c6e5c95334aea7f (patch)
tree173acec5f3e34ef870f4e283c7403e10b097cd0e /lib/win32/box_getopt.h
parentcaa198fee3d6a9df3d2fbed4923b4b8ad554c706 (diff)
Fix getopt header confusion.
Our copy of getopt.h in lib/win32 was beating the system getopt.h in the search path, and providing different definitions, which clang picked up. Renamed our getopt.h to bsd_getopt.h, and added a box_getopt.h to decide whether to include this one instead of the system getopt.h.
Diffstat (limited to 'lib/win32/box_getopt.h')
-rw-r--r--lib/win32/box_getopt.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/win32/box_getopt.h b/lib/win32/box_getopt.h
new file mode 100644
index 00000000..f18446d4
--- /dev/null
+++ b/lib/win32/box_getopt.h
@@ -0,0 +1,14 @@
+#if defined _MSC_VER || defined __MINGW32__
+#define REPLACE_GETOPT 1 /* use this getopt as the system getopt(3) */
+#else
+#define REPLACE_GETOPT 0 // force a conflict if included multiple times
+#endif
+
+#if REPLACE_GETOPT
+# include "bsd_getopt.h"
+# define BOX_BSD_GETOPT
+#else
+# include <getopt.h>
+# undef BOX_BSD_GETOPT
+#endif
+