From: Mike Gorchak Date: Sun, 24 Feb 2013 14:12:27 GMT Subject: Re: [PATCH] Improve QNX support in GIT Message-ID: In-Reply-To: <7vvc9i5cbw.fsf@alter.siamese.dyndns.org> >>> 2) Rename fnmatch.h to fnmatch_gnu.h and fnmatch.c to fnmatch_gnu.c to >>> avoid inclusion of system fnmatch.h header in case if -I/usr/include >>> path is specified before -Icompat/fnmatch. Which is common situation. > As to the substance, I am fairly negative about the approach this > patch takes, especially the rationale it uses for #2 above. It goes > directly against the spirit of having compat/ directory in the first > place to have -I/usr/include _before_ -Icompat/anything and that, > not the names of header files in compat/ directory, is the root > cause of the problem you are seeing, I think. It is quite common to pass CPPFLAGS/CFLAGS/CXXFLAGS before configure script to make a custom build. For example, I have specific set of headers which belong to another version of libc, so I pass directory where these headers are located right before configure script: CFLAGS="-I/usr/qnxVVV/include" LDFLAGS="-I/usr/qnxVVV/lib" ./configure --prefix=/usr About this you can read by typing ./configure --help. This approach works for every autoconf-based project, except for GIT due to headers collision. I do not know anything about "spirit of compat/ directory", but if it interferes with the normal build process, it means something is wrong. But it is up to you. Thanks.