sqlite3_auto_extension looks like a good way to register a statically linked extension. But I don't understand the callback declaration:
void (*xEntryPoint)(void);
Shouldn't the callback be like sqlite3_extension_init?
int sqlite3_extension_init(
sqlite3 *db,
char **pzErrMsg,
const sqlite3_api_routines *pApi
)