When building with the --disable-static-shell configure option from
the autoconf release package, it looks like the sqlite default CFLAGS
only get passed into direct gcc invocations and not the libtool
One consequence of this is that ".dbinfo" doesn't work because
SQLITE_ENABLE_DBPAGE_VTAB didn't get enabled.
$ tar -xf sqlite-autoconf-3290000.tar.gz
$ cd sqlite-autoconf-3290000 ; ./configure --disable-static-shell
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
config.status: creating Makefile
config.status: creating sqlite3.pc
config.status: executing depfiles commands
config.status: executing libtool commands
$ ./sqlite3 path/to/test.db .dbinfo
the ".dbinfo" command requires the -DSQLITE_ENABLE_DBPAGE_VTAB compile-time options
Older versions would simply report "unable to read database header"
Repeating this without --disable-static-shell works fine.
This *seems* like a bug to me. The broken .dbinfo command issue has
been present since version 3.21.0 with the introduction of the
sqlite_dbpage virtual table. I can work around this easily enough
by forcing the CFLAGS back in, but I thought I'd report this so it could
potentially be addressed upstream.