1
0
mirror of https://github.com/postgres/postgres.git synced 2025-06-23 14:01:44 +03:00

Fix AC_REQUIRES breakage in LLVM autoconf tests.

Any Autoconf macro that uses AC_REQUIRES -- directly or indirectly --
must not be inside a plain shell "if" test; if it is, whatever code
gets pulled in by the AC_REQUIRES will also be inside that "if".
Instead of "if" we can use AS_IF, which knows how to get this right
(cf commit 01051a987).

The only immediate problem from getting this wrong was that AC_PROG_AWK
had to be run twice, once inside the "if llvm" block and once in the
main line.  However, it broke a different patch I'm about to submit
more thoroughly.
This commit is contained in:
Tom Lane
2018-11-17 23:16:00 -05:00
parent bf070ce09e
commit b81ef6386e
2 changed files with 4 additions and 48 deletions

View File

@ -383,9 +383,8 @@ AC_SUBST(SUN_STUDIO_CC)
PGAC_ARG_BOOL(with, llvm, no, [build with LLVM based JIT support],
[AC_DEFINE([USE_LLVM], 1, [Define to 1 to build with LLVM based JIT support. (--with-llvm)])])
AC_SUBST(with_llvm)
if test "$with_llvm" = yes ; then
PGAC_LLVM_SUPPORT()
fi
dnl must use AS_IF here, else AC_REQUIRES inside PGAC_LLVM_SUPPORT malfunctions
AS_IF([test "$with_llvm" = yes], [PGAC_LLVM_SUPPORT()])
unset CFLAGS
@ -1009,7 +1008,6 @@ AC_SUBST(install_bin)
PGAC_PATH_PROGS(TAR, tar)
AC_PROG_LN_S
AC_PROG_AWK
AC_PROG_MKDIR_P
# When Autoconf chooses install-sh as mkdir -p program it tries to generate
# a relative path to it in each makefile where it substitutes it. This clashes