make configure check for visibility preinclude compatible with pcc
authorRich Felker <dalias@aerifal.cx>
Wed, 22 Apr 2015 05:41:00 +0000 (01:41 -0400)
committerRich Felker <dalias@aerifal.cx>
Wed, 22 Apr 2015 05:47:11 +0000 (01:47 -0400)
pcc does not search for -include relative to the working directory
unless -I. is used. rather than adding -I., which could be problematic
if there's extra junk in the top-level directory, switch back to the
old method (reverting commit 60ed988fd6c67b489d7cc186ecaa9db4e5c25b8c)
of using -include vis.h and relying on -I./src/internal being present
on the command line (which the Makefile guarantees). to fix the
breakage that was present in trycppif checks with the old method,
$CFLAGS_AUTO is removed from the command line passed to trycppif; this
is valid since $CFLAGS_AUTO should not contain options that alter
compiler semantics or ABI, only optimizations, warnings, etc.

configure

index f325cda3982a8aa4809e234afa6acecffba0c091..1b6b46495b03fe12d67db2102b9bfd178c094f2d 100755 (executable)
--- a/configure
+++ b/configure
@@ -431,7 +431,7 @@ echo 'int (*fp)(void);' > "$tmpc"
 echo 'int foo(void) { }' >> "$tmpc"
 echo 'int bar(void) { fp = foo; return foo(); }' >> "$tmpc"
 if $CC $CFLAGS_C99FSE $CPPFLAGS $CFLAGS \
-  -DSHARED -fPIC -include src/internal/vis.h \
+  -DSHARED -fPIC -I./src/internal -include vis.h \
   -nostdlib -shared -Wl,-Bsymbolic-functions \
   -o /dev/null "$tmpc" >/dev/null 2>&1 ; then
 visibility=yes
@@ -442,7 +442,7 @@ printf "%s\n" "$visibility"
 fi
 
 if test "x$visibility" == xyes ; then
-CFLAGS_AUTO="$CFLAGS_AUTO -include src/internal/vis.h"
+CFLAGS_AUTO="$CFLAGS_AUTO -include vis.h"
 CFLAGS_AUTO="${CFLAGS_AUTO# }"
 fi
 
@@ -468,7 +468,7 @@ printf "using compiler runtime libraries: %s\n" "$LIBCC"
 
 # Figure out arch variants for archs with variants
 SUBARCH=
-t="$CFLAGS_C99FSE $CPPFLAGS $CFLAGS_AUTO $CFLAGS"
+t="$CFLAGS_C99FSE $CPPFLAGS $CFLAGS"
 
 if test "$ARCH" = "x86_64" ; then
 trycppif __ILP32__ "$t" && ARCH=x32