8000 bpo-45731: Handle --enable-loadable-sqlite-extensions in configure (GH-29434) by tiran · Pull Request #29434 · python/cpython · GitHub
[go: up one dir, main page]

Skip to content

bpo-45731: Handle --enable-loadable-sqlite-extensions in configure (GH-29434) #29434

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Nov 6, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
``configure --enable-loadable-sqlite-extensions`` is now handled by new ``PY_SQLITE_ENABLE_LOAD_EXTENSION`` macro instead of logic in setup.py.
10 changes: 5 additions & 5 deletions Modules/_sqlite/clinic/connection.c.h
Original file line number Diff line number Diff line change
Expand Up @@ -367,7 +367,7 @@ pysqlite_connection_set_trace_callback(pysqlite_Connection *self, PyTypeObject *
return return_value;
}

#if !defined(SQLITE_OMIT_LOAD_EXTENSION)
#if defined(PY_SQLITE_ENABLE_LOAD_EXTENSION)

PyDoc_STRVAR(pysqlite_connection_enable_load_extension__doc__,
"enable_load_extension($self, enable, /)\n"
Expand Down Expand Up @@ -398,9 +398,9 @@ pysqlite_connection_enable_load_extension(pysqlite_Connection *self, PyObject *a
return return_value;
}

#endif /* !defined(SQLITE_OMIT_LOAD_EXTENSION) */
#endif /* defined(PY_SQLITE_ENABLE_LOAD_EXTENSION) */

#if !defined(SQLITE_OMIT_LOAD_EXTENSION)
#if defined(PY_SQLITE_ENABLE_LOAD_EXTENSION)

PyDoc_STRVAR(pysqlite_connection_load_extension__doc__,
"load_extension($self, name, /)\n"
Expand Down Expand Up @@ -440,7 +440,7 @@ pysqlite_connection_load_extension(pysqlite_Connection *self, PyObject *arg)
return return_value;
}

#endif /* !defined(SQLITE_OMIT_LOAD_EXTENSION) */
#endif /* defined(PY_SQLITE_ENABLE_LOAD_EXTENSION) */

PyDoc_STRVAR(pysqlite_connection_execute__doc__,
"execute($self, sql, parameters=<unrepresentable>, /)\n"
Expand Down Expand Up @@ -834,4 +834,4 @@ getlimit(pysqlite_Connection *self, PyObject *arg)
#ifndef PYSQLITE_CONNECTION_LOAD_EXTENSION_METHODDEF
#define PYSQLITE_CONNECTION_LOAD_EXTENSION_METHODDEF
#endif /* !defined(PYSQLITE_CONNECTION_LOAD_EXTENSION_METHODDEF) */
/*[clinic end generated code: output=0c3901153a3837a5 input=a9049054013a1b77]*/
/*[clinic end generated code: output=d71bf16bef67878f input=a9049054013a1b77]*/
2 changes: 1 addition & 1 deletion Modules/_sqlite/connection.c
Original file line number Diff line number Diff line change
Expand Up @@ -1225,7 +1225,7 @@ pysqlite_connection_set_trace_callback_impl(pysqlite_Connection *self,
Py_RETURN_NONE;
}

#ifndef SQLITE_OMIT_LOAD_EXTENSION
#ifdef PY_SQLITE_ENABLE_LOAD_EXTENSION
/*[clinic input]
_sqlite3.Connection.enable_load_extension as pysqlite_connection_enable_load_extension

Expand Down
11 changes: 9 additions & 2 deletions configure
Original file line number Diff line number Diff line change
Expand Up @@ -10913,13 +10913,20 @@ $as_echo_n "checking for --enable-loadable-sqlite-extensions... " >&6; }
if test "${enable_loadable_sqlite_extensions+set}" = set; then :
enableval=$enable_loadable_sqlite_extensions;
else
enable_loadable_sqlite_extensions="no"
enable_loadable_sqlite_extensions=no
fi


{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_loadable_sqlite_extensions" >&5
$as_echo "$enable_loadable_sqlite_extensions" >&6; }

if test "x$enable_loadable_sqlite_extensions" = xyes; then :


$as_echo "#define PY_SQLITE_ENABLE_LOAD_EXTENSION 1" >>confdefs.h


fi

# Check for --with-tcltk-includes=path and --with-tcltk-libs=path


Expand Down
8 changes: 6 additions & 2 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -3199,10 +3199,14 @@ AC_ARG_ENABLE(loadable-sqlite-extensions,
AS_HELP_STRING([--enable-loadable-sqlite-extensions],
[support loadable extensions in _sqlite module, see Doc/library/sqlite3.rst (default is no)]),
[],
[enable_loadable_sqlite_extensions="no"])

[enable_loadable_sqlite_extensions=no])
AC_MSG_RESULT($enable_loadable_sqlite_extensions)

AS_VAR_IF([enable_loadable_sqlite_extensions], [yes], [
AC_DEFINE(PY_SQLITE_ENABLE_LOAD_EXTENSION, 1,
[Define to 1 to build the sqlite module with loadable extensions support.])
])

# Check for --with-tcltk-includes=path and --with-tcltk-libs=path
AC_SUBST(TCLTK_INCLUDES)
AC_SUBST(TCLTK_LIBS)
Expand Down
3 changes: 3 additions & 0 deletions pyconfig.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -1395,6 +1395,9 @@
/* Define to printf format modifier for Py_ssize_t */
#undef PY_FORMAT_SIZE_T

/* Define to 1 to build the sqlite module with loadable extensions support. */
#undef PY_SQLITE_ENABLE_LOAD_EXTENSION

/* Default cipher suites list for ssl module. 1: Python's preferred selection,
2: leave OpenSSL defaults untouched, 0: custom string */
#undef PY_SSL_DEFAULT_CIPHERS
Expand Down
8 changes: 5 additions & 3 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -1602,9 +1602,11 @@ def detect_sqlite(self):

# Enable support for loadable extensions in the sqlite3 module
# if --enable-loadable-sqlite-extensions configure option is used.
if '--enable-loadable-sqlite-extensions' not in sysconfig.get_config_var("CONFIG_ARGS"):
sqlite_defines.append(("SQLITE_OMIT_LOAD_EXTENSION", "1"))
elif MACOS and sqlite_incdir == os.path.join(MACOS_SDK_ROOT, "usr/include"):
if (
MACOS and
sqlite_incdir == os.path.join(MACOS_SDK_ROOT, "usr/include") and
sysconfig.get_config_var("PY_SQLITE_ENABLE_LOAD_EXTENSION")
):
raise DistutilsError("System version of SQLite does not support loadable extensions")

if MACOS:
Expand Down
0