mirror of
https://github.com/postgres/postgres.git
synced 2025-04-25 21:42:33 +03:00
Allow CFLAGS from configure's environment to override automatic CFLAGS.
Previously, configure would add any switches that it chose of its own accord to the end of the user-specified CFLAGS string. Since most compilers process these left-to-right, this meant that configure's choices would override the user-specified flags in case of conflicts. We'd rather that worked the other way around, so adjust the logic to put the user's string at the end not the beginning. There does not seem to be a need for a similar behavior change for CPPFLAGS or LDFLAGS: in those, the earlier switches tend to win (think -I or -L behavior) so putting the user's string at the front is fine. Backpatch to 9.4 but not earlier. I'm not planning to run buildfarm member guar on older branches, and it seems a bit risky to change this behavior in long-stable branches.
This commit is contained in:
parent
045c7d3ebd
commit
adb3551068
13
configure
vendored
13
configure
vendored
@ -4357,6 +4357,10 @@ else
|
||||
fi
|
||||
fi
|
||||
|
||||
# CFLAGS we determined above will be added back at the end
|
||||
user_CFLAGS=$CFLAGS
|
||||
CFLAGS=""
|
||||
|
||||
# set CFLAGS_VECTOR from the environment, if available
|
||||
if test "$ac_env_CFLAGS_VECTOR_set" = set; then
|
||||
CFLAGS_VECTOR=$ac_env_CFLAGS_VECTOR_value
|
||||
@ -4368,7 +4372,7 @@ fi
|
||||
# but has its own. Also check other compiler-specific flags here.
|
||||
|
||||
if test "$GCC" = yes -a "$ICC" = no; then
|
||||
CFLAGS="$CFLAGS -Wall -Wmissing-prototypes -Wpointer-arith"
|
||||
CFLAGS="-Wall -Wmissing-prototypes -Wpointer-arith"
|
||||
# These work in some but not all gcc versions
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wdeclaration-after-statement" >&5
|
||||
$as_echo_n "checking whether $CC supports -Wdeclaration-after-statement... " >&6; }
|
||||
@ -4875,7 +4879,12 @@ if test "$PORTNAME" = "win32"; then
|
||||
CPPFLAGS="$CPPFLAGS -I$srcdir/src/include/port/win32 -DEXEC_BACKEND"
|
||||
fi
|
||||
|
||||
# Check if the compiler still works with the template settings
|
||||
# Now that we're done automatically adding stuff to CFLAGS, put back the
|
||||
# user-specified flags (if any) at the end. This lets users override
|
||||
# the automatic additions.
|
||||
CFLAGS="$CFLAGS $user_CFLAGS"
|
||||
|
||||
# Check if the compiler still works with the final flag settings
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler still works" >&5
|
||||
$as_echo_n "checking whether the C compiler still works... " >&6; }
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
|
13
configure.in
13
configure.in
@ -409,6 +409,10 @@ else
|
||||
fi
|
||||
fi
|
||||
|
||||
# CFLAGS we determined above will be added back at the end
|
||||
user_CFLAGS=$CFLAGS
|
||||
CFLAGS=""
|
||||
|
||||
# set CFLAGS_VECTOR from the environment, if available
|
||||
if test "$ac_env_CFLAGS_VECTOR_set" = set; then
|
||||
CFLAGS_VECTOR=$ac_env_CFLAGS_VECTOR_value
|
||||
@ -420,7 +424,7 @@ fi
|
||||
# but has its own. Also check other compiler-specific flags here.
|
||||
|
||||
if test "$GCC" = yes -a "$ICC" = no; then
|
||||
CFLAGS="$CFLAGS -Wall -Wmissing-prototypes -Wpointer-arith"
|
||||
CFLAGS="-Wall -Wmissing-prototypes -Wpointer-arith"
|
||||
# These work in some but not all gcc versions
|
||||
PGAC_PROG_CC_CFLAGS_OPT([-Wdeclaration-after-statement])
|
||||
PGAC_PROG_CC_CFLAGS_OPT([-Wendif-labels])
|
||||
@ -483,7 +487,12 @@ if test "$PORTNAME" = "win32"; then
|
||||
CPPFLAGS="$CPPFLAGS -I$srcdir/src/include/port/win32 -DEXEC_BACKEND"
|
||||
fi
|
||||
|
||||
# Check if the compiler still works with the template settings
|
||||
# Now that we're done automatically adding stuff to CFLAGS, put back the
|
||||
# user-specified flags (if any) at the end. This lets users override
|
||||
# the automatic additions.
|
||||
CFLAGS="$CFLAGS $user_CFLAGS"
|
||||
|
||||
# Check if the compiler still works with the final flag settings
|
||||
AC_MSG_CHECKING([whether the C compiler still works])
|
||||
AC_TRY_LINK([], [return 0;],
|
||||
[AC_MSG_RESULT(yes)],
|
||||
|
Loading…
x
Reference in New Issue
Block a user