mirror of
https://github.com/postgres/postgres.git
synced 2026-10-23 13:29:09 +03:00
Revert "Use -isystem for LLVM include directories"
This reverts commit 704ef84ef2.
The configure solution in that commit doesn't work if llvm-config
returns a system directory such as /usr/include. The resulting
-isystem /usr/include puts the C headers before the C++ headers in the
include file order, which is not supposed to be done and causes
failures. (Using -I /usr/include doesn't have that problem because it
is handled specially by the compiler.) Per buildfarm members
hippopotamus and jay.
The meson solution does work because it specifically filters out
system includes. This logic could theoretically be ported to
configure, but that would be a separate undertaking.
This commit is contained in:
@@ -46,13 +46,10 @@ AC_DEFUN([PGAC_LLVM_SUPPORT],
|
|||||||
# clear what the minimum version is.
|
# clear what the minimum version is.
|
||||||
|
|
||||||
# Collect compiler flags necessary to build the LLVM dependent
|
# Collect compiler flags necessary to build the LLVM dependent
|
||||||
# shared library. The include directories are added with -isystem
|
# shared library.
|
||||||
# rather than -I, so that warnings from LLVM's own headers are not
|
|
||||||
# reported under the warning options we select for our own code.
|
|
||||||
for pgac_option in `$LLVM_CONFIG --cppflags`; do
|
for pgac_option in `$LLVM_CONFIG --cppflags`; do
|
||||||
case $pgac_option in
|
case $pgac_option in
|
||||||
-I*) LLVM_CPPFLAGS="-isystem ${pgac_option#-I} $LLVM_CPPFLAGS";;
|
-I*|-D*) LLVM_CPPFLAGS="$pgac_option $LLVM_CPPFLAGS";;
|
||||||
-D*) LLVM_CPPFLAGS="$pgac_option $LLVM_CPPFLAGS";;
|
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|||||||
7
configure
vendored
7
configure
vendored
@@ -5105,13 +5105,10 @@ fi
|
|||||||
# clear what the minimum version is.
|
# clear what the minimum version is.
|
||||||
|
|
||||||
# Collect compiler flags necessary to build the LLVM dependent
|
# Collect compiler flags necessary to build the LLVM dependent
|
||||||
# shared library. The include directories are added with -isystem
|
# shared library.
|
||||||
# rather than -I, so that warnings from LLVM's own headers are not
|
|
||||||
# reported under the warning options we select for our own code.
|
|
||||||
for pgac_option in `$LLVM_CONFIG --cppflags`; do
|
for pgac_option in `$LLVM_CONFIG --cppflags`; do
|
||||||
case $pgac_option in
|
case $pgac_option in
|
||||||
-I*) LLVM_CPPFLAGS="-isystem ${pgac_option#-I} $LLVM_CPPFLAGS";;
|
-I*|-D*) LLVM_CPPFLAGS="$pgac_option $LLVM_CPPFLAGS";;
|
||||||
-D*) LLVM_CPPFLAGS="$pgac_option $LLVM_CPPFLAGS";;
|
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|||||||
@@ -924,10 +924,7 @@ endif
|
|||||||
llvmopt = get_option('llvm')
|
llvmopt = get_option('llvm')
|
||||||
llvm = not_found_dep
|
llvm = not_found_dep
|
||||||
if have_cxx
|
if have_cxx
|
||||||
# Use include_type 'system' so that warnings from LLVM's own headers are
|
llvm = dependency('llvm', version: '>=14', method: 'config-tool', required: llvmopt)
|
||||||
# not reported under the warning options we select for our own code.
|
|
||||||
llvm = dependency('llvm', version: '>=14', method: 'config-tool',
|
|
||||||
include_type: 'system', required: llvmopt)
|
|
||||||
|
|
||||||
if llvm.found()
|
if llvm.found()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user