Don't pollute the system header directory namespace.
authorEtienne Dechamps <etienne@edechamps.fr>
Sun, 17 May 2015 21:36:15 +0000 (22:36 +0100)
committerEtienne Dechamps <etienne@edechamps.fr>
Sun, 17 May 2015 21:40:48 +0000 (22:40 +0100)
Since commit 13f9bc1ff199bea46d3dde391a848f119e2cc0f0, tinc passes the
-I. option to the preprocessor so that version_git.h can be found during
out-of-tree ("VPATH") builds.

The problem is, this option also affects the directory search for files
included *from* system headers. For example, on MinGW, unistd.h contains
the following line:

  #include <process.h>

Which, due to -I. putting the tinc directory at the head of the search
order, results in tinc's process.h being included instead of the file
from MinGW. Hilarity ensues.

This commit fixes the issue by using -iquote, which doesn't affect
system headers.

src/Makefile.am

index 2ae43b0..a6489df 100644 (file)
@@ -260,4 +260,4 @@ if TUNEMU
 LIBS += -lpcap
 endif
 
-AM_CFLAGS = -DCONFDIR=\"$(sysconfdir)\" -DLOCALSTATEDIR=\"$(localstatedir)\" -DSBINDIR=\"$(sbindir)\" -I.
+AM_CFLAGS = -DCONFDIR=\"$(sysconfdir)\" -DLOCALSTATEDIR=\"$(localstatedir)\" -DSBINDIR=\"$(sbindir)\" -iquote.