[issue45774] Detect SQLite in configure.ac

2022-04-05 Thread Erlend E. Aasland


Change by Erlend E. Aasland :


--
resolution:  -> fixed
stage: patch review -> resolved
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45774] Detect SQLite in configure.ac

2022-04-05 Thread Christian Heimes


Christian Heimes  added the comment:


New changeset f1606a5ba50bdc4e7d335d62297b4b4043a25e6e by Erlend Egeberg 
Aasland in branch 'main':
bpo-45774: Harden SQLite detection (GH-30016)
https://github.com/python/cpython/commit/f1606a5ba50bdc4e7d335d62297b4b4043a25e6e


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45774] Detect SQLite in configure.ac

2021-12-09 Thread Erlend E. Aasland


Change by Erlend E. Aasland :


--
pull_requests: +28240
stage: resolved -> patch review
pull_request: https://github.com/python/cpython/pull/30016

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45774] Detect SQLite in configure.ac

2021-12-09 Thread Erlend E. Aasland


Erlend E. Aasland  added the comment:

Reopening: the current detection is a little bit weak; many SQLite API's may be 
disabled at SQLite compile time using SQLITE_OMIT_* defines. We must make sure 
we've got all vital functions in place before marking the sqlite3 module as 
present and usable.

The following API's can be omitted using compile time defines:

- sqlite3_column_decltype (SQLITE_OMIT_DECLTYPE)
- sqlite3_complete (SQLITE_OMIT_COMPLETE)
- sqlite3_enable_shared_cache (SQLITE_OMIT_SHARED_CACHE)
- sqlite3_progress_handler (SQLITE_OMIT_PROGRESS_CALLBACK)
- sqlite3_set_authorizer (SQLITE_OMIT_AUTHORIZATION)
- sqlite3_trace_v2 (SQLITE_OMIT_TRACE)
- sqlite3_trace (SQLITE_OMIT_TRACE, SQLITE_OMIT_DEPRECATED)


The following API's _may_ be disabled in the future using 
SQLITE_OMIT_FLOATING_POINT:

- sqlite3_bind_double
- sqlite3_column_double
- sqlite3_result_double
- sqlite3_value_double

--
resolution: fixed -> 
status: closed -> open

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45774] Detect SQLite in configure.ac

2021-11-20 Thread Erlend E. Aasland


Change by Erlend E. Aasland :


--
resolution:  -> fixed
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45774] Detect SQLite in configure.ac

2021-11-20 Thread Christian Heimes


Christian Heimes  added the comment:


New changeset 6d430ef5ab62158a200b94dff31b89524a9576bb by Erlend Egeberg 
Aasland in branch 'main':
bpo-45774: Fix SQLite load extension autodetection (GH-29659)
https://github.com/python/cpython/commit/6d430ef5ab62158a200b94dff31b89524a9576bb


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45774] Detect SQLite in configure.ac

2021-11-20 Thread Erlend E. Aasland


Erlend E. Aasland  added the comment:

> Awesome work! Thanks to your tireless effort we know have a blue print how to 
> use pkg-config for other librariess.

Thank you for reviewing, and thank you for paving the way with all these build 
system improvements :)

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45774] Detect SQLite in configure.ac

2021-11-20 Thread Erlend E. Aasland


Erlend E. Aasland  added the comment:

Needs amendment before closing. See GH-29659.

--
resolution: fixed -> 
status: closed -> open

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45774] Detect SQLite in configure.ac

2021-11-20 Thread Erlend E. Aasland


Change by Erlend E. Aasland :


--
pull_requests: +27901
pull_request: https://github.com/python/cpython/pull/29659

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45774] Detect SQLite in configure.ac

2021-11-19 Thread Christian Heimes


Christian Heimes  added the comment:

Awesome work! Thanks to your tireless effort we know have a blue print how to 
use pkg-config for other librariess.

--
type:  -> enhancement

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45774] Detect SQLite in configure.ac

2021-11-19 Thread Erlend E. Aasland


Change by Erlend E. Aasland :


--
resolution:  -> fixed
stage: patch review -> resolved
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45774] Detect SQLite in configure.ac

2021-11-19 Thread Christian Heimes


Christian Heimes  added the comment:


New changeset 29e5874d5a9205c488f783356d0cf3f115399327 by Erlend Egeberg 
Aasland in branch 'main':
bpo-45774: Autoconfiscate SQLite detection (GH-29507)
https://github.com/python/cpython/commit/29e5874d5a9205c488f783356d0cf3f115399327


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45774] Detect SQLite in configure.ac

2021-11-10 Thread Christian Heimes


Christian Heimes  added the comment:

I saw your message concerning sqlite3 on the FreeBSD buildbot. It's hard to 
tell why configure on FreeBSD doesn't find sqlite3.h without access to 
config.log or a shell. Maybe sqlite3 is installed in /usr/local ? ``configure`` 
does not use /usr/local/include and /usr/local/lib by default. ``setup.py`` 
extends the search paths for headers and libraries by non-standard locations.

A "config.site" file should do the trick:

$ mkdir -p /usr/local/etc
$ cat > /usr/local/etc/config.site << EOF
test -z "$CPPFLAGS" && CPPFLAGS="-I$/usr/local/include"
test -z "$LDFLAGS" && LDFLAGS="-L/usr/local/lib"
EOF

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45774] Detect SQLite in configure.ac

2021-11-09 Thread Erlend E. Aasland


Erlend E. Aasland  added the comment:

Nice. I think I'll steal some of your ideas tomorrow :)

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45774] Detect SQLite in configure.ac

2021-11-09 Thread Christian Heimes


Christian Heimes  added the comment:

Your solution looks very similar to my WIP patch:

AC_CHECK_HEADERS([sqlite3.h],
  [AC_SEARCH_LIBS([sqlite3_version], [sqlite3])]
)

AS_VAR_IF([ac_cv_search_sqlite3_version], [no], [], [
  # found a working sqlite3.h and sqlite3 library
  # ac_cv_search_sqlite3_version != no
  LIBS="$LIBS $ac_cv_search_sqlite3_version"
  
  AC_CACHE_CHECK([for sqlite3 version >= 3.7.15], 
[ac_cv_lib_sqlite3_supported], [
AC_LINK_IFELSE([
  AC_LANG_PROGRAM([
#include 
#if SQLITE_VERSION_NUMBER < 3007015
  #error "sqlite version is too old"
#endif], []
  )
], [ac_cv_lib_sqlite3_supported=yes], [ac_cv_lib_sqlite3_supported=no])
  ])
  
  AC_CACHE_CHECK([for sqlite3_enable_load_extension], 
[ac_cv_lib_sqlite3_sqlite3_enable_load_extension], [
AC_LINK_IFELSE(
  [AC_LANG_PROGRAM([#include ], [void *x = 
sqlite3_enable_load_extension])],
  [ac_cv_lib_sqlite3_sqlite3_enable_load_extension=yes],
  [ac_cv_lib_sqlite3_sqlite3_enable_load_extension=no])
  ])
])

LIBS=$LIBS_SAVE

AS_VAR_IF([ac_cv_lib_sqlite3_supported], [yes],
  [AC_DEFINE([HAVE_LIBSQLITE3], [1], [Define to 1 if you have the `sqlite3' 
library (-lsqlite3).])]
)

AS_VAR_IF([ac_cv_lib_sqlite3_sqlite3_enable_load_extension], [yes],
  [AC_DEFINE([HAVE_SQLITE3_ENABLE_LOAD_EXTENSION], [1], 
 [Define to 1 if `sqlite3' library supports 
sqlite3_enable_load_extension.])]
)

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45774] Detect SQLite in configure.ac

2021-11-09 Thread Erlend E. Aasland


Change by Erlend E. Aasland :


--
keywords: +patch
pull_requests: +27758
stage:  -> patch review
pull_request: https://github.com/python/cpython/pull/29507

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45774] Detect SQLite in configure.ac

2021-11-09 Thread Erlend E. Aasland


New submission from Erlend E. Aasland :

"Autoconfiscate" SQLite detection. Plan:

- Detect header/library using AC_CHECK_HEADERS/AC_CHECK_LIB
- Check required version using AC_COMPILE_IFELSE
- Use AC_CHECK_LIB to check if sqlite3_load_extension is present, and if the 
result harmonises with --enable-loadable-sqlite-extensions; bail if not


Nice side effect: configure will bail if --enable-loadable-sqlite-extensions is 
used and the target SQLite library was compiled with 
SQLITE_OMIT_LOAD_EXTENSION, even if we are not on macOS.

--
components: Build
messages: 406059
nosy: christian.heimes, erlendaasland
priority: normal
severity: normal
status: open
title: Detect SQLite in configure.ac
versions: Python 3.11

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com