bpo-45723: Add helpers for save/restore env (GH-29637)
This commit is contained in:
parent
d2b55b07d2
commit
db2277a114
@ -0,0 +1,10 @@
|
|||||||
|
Add ``autoconf`` helpers for saving and restoring environment variables:
|
||||||
|
|
||||||
|
* ``SAVE_ENV``: Save ``$CFLAGS``, ``$LDFLAGS``, ``$LIBS``, and
|
||||||
|
``$CPPFLAGS``.
|
||||||
|
* ``RESTORE_ENV``: Restore ``$CFLAGS``, ``$LDFLAGS``, ``$LIBS``, and
|
||||||
|
``$CPPFLAGS``.
|
||||||
|
* ``WITH_SAVE_ENV([SCRIPT])``: Run ``SCRIPT`` wrapped with ``SAVE_ENV`` and
|
||||||
|
``RESTORE_ENV``.
|
||||||
|
|
||||||
|
Patch by Erlend E. Aasland.
|
26
configure
vendored
26
configure
vendored
@ -2866,6 +2866,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if test "$srcdir" != . -a "$srcdir" != "$(pwd)"; then
|
if test "$srcdir" != . -a "$srcdir" != "$(pwd)"; then
|
||||||
# If we're building out-of-tree, we need to make sure the following
|
# If we're building out-of-tree, we need to make sure the following
|
||||||
# resources get picked up before their $srcdir counterparts.
|
# resources get picked up before their $srcdir counterparts.
|
||||||
@ -11085,13 +11086,14 @@ save_CFLAGS=$CFLAGS
|
|||||||
save_CPPFLAGS=$CPPFLAGS
|
save_CPPFLAGS=$CPPFLAGS
|
||||||
save_LDFLAGS=$LDFLAGS
|
save_LDFLAGS=$LDFLAGS
|
||||||
save_LIBS=$LIBS
|
save_LIBS=$LIBS
|
||||||
CPPFLAGS="$LIBSQLITE3_CFLAGS $CFLAGS"
|
|
||||||
LDFLAGS="$LIBSQLITE3_LIBS $LDFLAGS"
|
|
||||||
|
|
||||||
ac_fn_c_check_header_mongrel "$LINENO" "sqlite3.h" "ac_cv_header_sqlite3_h" "$ac_includes_default"
|
CPPFLAGS="$LIBSQLITE3_CFLAGS $CFLAGS"
|
||||||
|
LDFLAGS="$LIBSQLITE3_LIBS $LDFLAGS"
|
||||||
|
|
||||||
|
ac_fn_c_check_header_mongrel "$LINENO" "sqlite3.h" "ac_cv_header_sqlite3_h" "$ac_includes_default"
|
||||||
if test "x$ac_cv_header_sqlite3_h" = xyes; then :
|
if test "x$ac_cv_header_sqlite3_h" = xyes; then :
|
||||||
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite3_open_v2 in -lsqlite3" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite3_open_v2 in -lsqlite3" >&5
|
||||||
$as_echo_n "checking for sqlite3_open_v2 in -lsqlite3... " >&6; }
|
$as_echo_n "checking for sqlite3_open_v2 in -lsqlite3... " >&6; }
|
||||||
if ${ac_cv_lib_sqlite3_sqlite3_open_v2+:} false; then :
|
if ${ac_cv_lib_sqlite3_sqlite3_open_v2+:} false; then :
|
||||||
$as_echo_n "(cached) " >&6
|
$as_echo_n "(cached) " >&6
|
||||||
@ -11129,15 +11131,15 @@ fi
|
|||||||
$as_echo "$ac_cv_lib_sqlite3_sqlite3_open_v2" >&6; }
|
$as_echo "$ac_cv_lib_sqlite3_sqlite3_open_v2" >&6; }
|
||||||
if test "x$ac_cv_lib_sqlite3_sqlite3_open_v2" = xyes; then :
|
if test "x$ac_cv_lib_sqlite3_sqlite3_open_v2" = xyes; then :
|
||||||
|
|
||||||
have_sqlite3=yes
|
have_sqlite3=yes
|
||||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
/* end confdefs.h. */
|
/* end confdefs.h. */
|
||||||
|
|
||||||
|
|
||||||
#include <sqlite3.h>
|
#include <sqlite3.h>
|
||||||
#if SQLITE_VERSION_NUMBER < 3007015
|
#if SQLITE_VERSION_NUMBER < 3007015
|
||||||
# error "SQLite 3.7.15 or higher required"
|
# error "SQLite 3.7.15 or higher required"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int
|
int
|
||||||
main ()
|
main ()
|
||||||
@ -11159,7 +11161,7 @@ else
|
|||||||
have_sqlite3=no
|
have_sqlite3=no
|
||||||
fi
|
fi
|
||||||
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite3_load_extension in -lsqlite3" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite3_load_extension in -lsqlite3" >&5
|
||||||
$as_echo_n "checking for sqlite3_load_extension in -lsqlite3... " >&6; }
|
$as_echo_n "checking for sqlite3_load_extension in -lsqlite3... " >&6; }
|
||||||
if ${ac_cv_lib_sqlite3_sqlite3_load_extension+:} false; then :
|
if ${ac_cv_lib_sqlite3_sqlite3_load_extension+:} false; then :
|
||||||
$as_echo_n "(cached) " >&6
|
$as_echo_n "(cached) " >&6
|
||||||
@ -11211,6 +11213,8 @@ CPPFLAGS=$save_CPPFLAGS
|
|||||||
LDFLAGS=$save_LDFLAGS
|
LDFLAGS=$save_LDFLAGS
|
||||||
LIBS=$save_LIBS
|
LIBS=$save_LIBS
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Check for support for loadable sqlite extensions
|
# Check for support for loadable sqlite extensions
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --enable-loadable-sqlite-extensions" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --enable-loadable-sqlite-extensions" >&5
|
||||||
$as_echo_n "checking for --enable-loadable-sqlite-extensions... " >&6; }
|
$as_echo_n "checking for --enable-loadable-sqlite-extensions... " >&6; }
|
||||||
|
76
configure.ac
76
configure.ac
@ -23,6 +23,32 @@ m4_ifdef(
|
|||||||
[AC_MSG_ERROR([Please install pkgconf's m4 macro package and re-run autoreconf])]
|
[AC_MSG_ERROR([Please install pkgconf's m4 macro package and re-run autoreconf])]
|
||||||
)dnl
|
)dnl
|
||||||
|
|
||||||
|
dnl Helpers for saving and restoring environment variables:
|
||||||
|
dnl - _SAVE_VAR([VAR]) Helper for SAVE_ENV; stores VAR as save_VAR
|
||||||
|
dnl - _RESTORE_VAR([VAR]) Helper for RESTORE_ENV; restores VAR from save_VAR
|
||||||
|
dnl - SAVE_ENV Saves CFLAGS, LDFLAGS, LIBS, and CPPFLAGS
|
||||||
|
dnl - RESTORE_ENV Restores CFLAGS, LDFLAGS, LIBS, and CPPFLAGS
|
||||||
|
dnl - WITH_SAVE_ENV([SCRIPT]) Runs SCRIPT wrapped with SAVE_ENV/RESTORE_ENV
|
||||||
|
AC_DEFUN([_SAVE_VAR], [AS_VAR_COPY([save_][$1], [$1])])dnl
|
||||||
|
AC_DEFUN([_RESTORE_VAR], [AS_VAR_COPY([$1], [save_][$1])])dnl
|
||||||
|
AC_DEFUN([SAVE_ENV],
|
||||||
|
[_SAVE_VAR([CFLAGS])]
|
||||||
|
[_SAVE_VAR([CPPFLAGS])]
|
||||||
|
[_SAVE_VAR([LDFLAGS])]
|
||||||
|
[_SAVE_VAR([LIBS])]
|
||||||
|
)dnl
|
||||||
|
AC_DEFUN([RESTORE_ENV],
|
||||||
|
[_RESTORE_VAR([CFLAGS])]
|
||||||
|
[_RESTORE_VAR([CPPFLAGS])]
|
||||||
|
[_RESTORE_VAR([LDFLAGS])]
|
||||||
|
[_RESTORE_VAR([LIBS])]
|
||||||
|
)dnl
|
||||||
|
AC_DEFUN([WITH_SAVE_ENV],
|
||||||
|
[SAVE_ENV]
|
||||||
|
[$1]
|
||||||
|
[RESTORE_ENV]
|
||||||
|
)dnl
|
||||||
|
|
||||||
AC_SUBST(BASECPPFLAGS)
|
AC_SUBST(BASECPPFLAGS)
|
||||||
if test "$srcdir" != . -a "$srcdir" != "$(pwd)"; then
|
if test "$srcdir" != . -a "$srcdir" != "$(pwd)"; then
|
||||||
# If we're building out-of-tree, we need to make sure the following
|
# If we're building out-of-tree, we need to make sure the following
|
||||||
@ -3174,37 +3200,29 @@ PKG_CHECK_MODULES(
|
|||||||
)
|
)
|
||||||
AS_VAR_APPEND([LIBSQLITE3_CFLAGS], [' -I$(srcdir)/Modules/_sqlite'])
|
AS_VAR_APPEND([LIBSQLITE3_CFLAGS], [' -I$(srcdir)/Modules/_sqlite'])
|
||||||
|
|
||||||
|
WITH_SAVE_ENV(
|
||||||
dnl bpo-45774/GH-29507: The CPP check in AC_CHECK_HEADER can fail on FreeBSD,
|
dnl bpo-45774/GH-29507: The CPP check in AC_CHECK_HEADER can fail on FreeBSD,
|
||||||
dnl hence CPPFLAGS instead of CFLAGS. We still need to save CFLAGS, because it
|
dnl hence CPPFLAGS instead of CFLAGS.
|
||||||
dnl is touched by AC_CHECK_HEADER.
|
CPPFLAGS="$LIBSQLITE3_CFLAGS $CFLAGS"
|
||||||
AS_VAR_COPY([save_CFLAGS], [CFLAGS])
|
LDFLAGS="$LIBSQLITE3_LIBS $LDFLAGS"
|
||||||
AS_VAR_COPY([save_CPPFLAGS], [CPPFLAGS])
|
|
||||||
AS_VAR_COPY([save_LDFLAGS], [LDFLAGS])
|
|
||||||
AS_VAR_COPY([save_LIBS], [LIBS])
|
|
||||||
CPPFLAGS="$LIBSQLITE3_CFLAGS $CFLAGS"
|
|
||||||
LDFLAGS="$LIBSQLITE3_LIBS $LDFLAGS"
|
|
||||||
|
|
||||||
AC_CHECK_HEADER([sqlite3.h], [
|
AC_CHECK_HEADER([sqlite3.h], [
|
||||||
AC_CHECK_LIB([sqlite3], [sqlite3_open_v2], [
|
AC_CHECK_LIB([sqlite3], [sqlite3_open_v2], [
|
||||||
have_sqlite3=yes
|
have_sqlite3=yes
|
||||||
AC_COMPILE_IFELSE([
|
AC_COMPILE_IFELSE([
|
||||||
AC_LANG_PROGRAM([
|
AC_LANG_PROGRAM([
|
||||||
#include <sqlite3.h>
|
#include <sqlite3.h>
|
||||||
#if SQLITE_VERSION_NUMBER < 3007015
|
#if SQLITE_VERSION_NUMBER < 3007015
|
||||||
# error "SQLite 3.7.15 or higher required"
|
# error "SQLite 3.7.15 or higher required"
|
||||||
#endif
|
#endif
|
||||||
], [])
|
], [])
|
||||||
], [have_supported_sqlite3=yes], [have_supported_sqlite3=no])
|
], [have_supported_sqlite3=yes], [have_supported_sqlite3=no])
|
||||||
], [have_sqlite3=no])
|
], [have_sqlite3=no])
|
||||||
AC_CHECK_LIB([sqlite3], [sqlite3_load_extension],
|
AC_CHECK_LIB([sqlite3], [sqlite3_load_extension],
|
||||||
[have_sqlite3_load_extension=yes],
|
[have_sqlite3_load_extension=yes],
|
||||||
[have_sqlite3_load_extension=no])
|
[have_sqlite3_load_extension=no])
|
||||||
])
|
])
|
||||||
|
)
|
||||||
AS_VAR_COPY([CFLAGS], [save_CFLAGS])
|
|
||||||
AS_VAR_COPY([CPPFLAGS], [save_CPPFLAGS])
|
|
||||||
AS_VAR_COPY([LDFLAGS], [save_LDFLAGS])
|
|
||||||
AS_VAR_COPY([LIBS], [save_LIBS])
|
|
||||||
|
|
||||||
# Check for support for loadable sqlite extensions
|
# Check for support for loadable sqlite extensions
|
||||||
AC_MSG_CHECKING(for --enable-loadable-sqlite-extensions)
|
AC_MSG_CHECKING(for --enable-loadable-sqlite-extensions)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user