1251883Speter 2251883Speter#----------------------------------------------------------------------- 3251883Speter# Supports the following non-standard switches. 4251883Speter# 5251883Speter# --enable-threadsafe 6251883Speter# --enable-readline 7305003Scy# --enable-editline 8305003Scy# --enable-static-shell 9251883Speter# --enable-dynamic-extensions 10251883Speter# 11251883Speter 12251883SpeterAC_PREREQ(2.61) 13305003ScyAC_INIT(sqlite, 3.14.1, http://www.sqlite.org) 14251883SpeterAC_CONFIG_SRCDIR([sqlite3.c]) 15251883Speter 16251883Speter# Use automake. 17251883SpeterAM_INIT_AUTOMAKE([foreign]) 18251883Speter 19251883SpeterAC_SYS_LARGEFILE 20251883Speter 21251883Speter# Check for required programs. 22251883SpeterAC_PROG_CC 23251883SpeterAC_PROG_LIBTOOL 24251883SpeterAC_PROG_MKDIR_P 25251883Speter 26251883Speter# Check for library functions that SQLite can optionally use. 27251883SpeterAC_CHECK_FUNCS([fdatasync usleep fullfsync localtime_r gmtime_r]) 28251883SpeterAC_FUNC_STRERROR_R 29251883Speter 30251883SpeterAC_CONFIG_FILES([Makefile sqlite3.pc]) 31251883SpeterAC_SUBST(BUILD_CFLAGS) 32251883Speter 33305003Scy#------------------------------------------------------------------------- 34305003Scy# Two options to enable readline compatible libraries: 35305003Scy# 36305003Scy# --enable-editline 37251883Speter# --enable-readline 38251883Speter# 39305003Scy# Both are enabled by default. If, after command line processing both are 40305003Scy# still enabled, the script searches for editline first and automatically 41305003Scy# disables readline if it is found. So, to use readline explicitly, the 42305003Scy# user must pass "--disable-editline". To disable command line editing 43305003Scy# support altogether, "--disable-editline --disable-readline". 44305003Scy# 45305003Scy# When searching for either library, check for headers before libraries 46305003Scy# as some distros supply packages that contain libraries but not header 47305003Scy# files, which come as a separate development package. 48305003Scy# 49305003ScyAC_ARG_ENABLE(editline, [AS_HELP_STRING([--enable-editline],[use BSD libedit])]) 50305003ScyAC_ARG_ENABLE(readline, [AS_HELP_STRING([--enable-readline],[use readline])]) 51305003Scy 52305003ScyAS_IF([ test x"$enable_editline" != xno ],[ 53305003Scy AC_CHECK_HEADERS([editline/readline.h],[ 54305003Scy sLIBS=$LIBS 55305003Scy LIBS="" 56305003Scy AC_SEARCH_LIBS([readline],[edit],[ 57305003Scy AC_DEFINE([HAVE_EDITLINE],1,Define to use BSD editline) 58305003Scy READLINE_LIBS=$LIBS 59305003Scy enable_readline=no 60305003Scy ]) 61305003Scy AS_UNSET(ac_cv_search_readline) 62305003Scy LIBS=$sLIBS 63305003Scy ]) 64305003Scy]) 65305003Scy 66305003ScyAS_IF([ test x"$enable_readline" != xno ],[ 67305003Scy AC_CHECK_HEADERS([readline/readline.h],[ 68305003Scy sLIBS=$LIBS 69305003Scy LIBS="" 70305003Scy AC_SEARCH_LIBS(tgetent, termcap curses ncurses ncursesw, [], []) 71305003Scy AC_SEARCH_LIBS(readline,[readline edit], [ 72305003Scy AC_DEFINE([HAVE_READLINE],1,Define to use readline or wrapper) 73305003Scy READLINE_LIBS=$LIBS 74305003Scy ]) 75305003Scy LIBS=$sLIBS 76305003Scy ]) 77305003Scy]) 78305003Scy 79251883SpeterAC_SUBST(READLINE_LIBS) 80251883Speter#----------------------------------------------------------------------- 81251883Speter 82251883Speter#----------------------------------------------------------------------- 83251883Speter# --enable-threadsafe 84251883Speter# 85251883SpeterAC_ARG_ENABLE(threadsafe, [AS_HELP_STRING( 86251883Speter [--enable-threadsafe], [build a thread-safe library [default=yes]])], 87251883Speter [], [enable_threadsafe=yes]) 88251883SpeterTHREADSAFE_FLAGS=-DSQLITE_THREADSAFE=0 89251883Speterif test x"$enable_threadsafe" != "xno"; then 90251883Speter THREADSAFE_FLAGS="-D_REENTRANT=1 -DSQLITE_THREADSAFE=1" 91251883Speter AC_SEARCH_LIBS(pthread_create, pthread) 92305003Scy AC_SEARCH_LIBS(pthread_mutexattr_init, pthread) 93251883Speterfi 94251883SpeterAC_SUBST(THREADSAFE_FLAGS) 95251883Speter#----------------------------------------------------------------------- 96251883Speter 97251883Speter#----------------------------------------------------------------------- 98251883Speter# --enable-dynamic-extensions 99251883Speter# 100251883SpeterAC_ARG_ENABLE(dynamic-extensions, [AS_HELP_STRING( 101251883Speter [--enable-dynamic-extensions], [support loadable extensions [default=yes]])], 102251883Speter [], [enable_dynamic_extensions=yes]) 103251883Speterif test x"$enable_dynamic_extensions" != "xno"; then 104251883Speter AC_SEARCH_LIBS(dlopen, dl) 105251883Speterelse 106251883Speter DYNAMIC_EXTENSION_FLAGS=-DSQLITE_OMIT_LOAD_EXTENSION=1 107251883Speterfi 108251883SpeterAC_MSG_CHECKING([for whether to support dynamic extensions]) 109251883SpeterAC_MSG_RESULT($enable_dynamic_extensions) 110251883SpeterAC_SUBST(DYNAMIC_EXTENSION_FLAGS) 111251883Speter#----------------------------------------------------------------------- 112251883Speter 113305003Scy#----------------------------------------------------------------------- 114305003Scy# --enable-fts5 115305003Scy# 116305003ScyAC_ARG_ENABLE(fts5, [AS_HELP_STRING( 117305003Scy [--enable-fts5], [include fts5 support [default=no]])], 118305003Scy [], [enable_fts5=no]) 119305003Scyif test x"$enable_fts5" = "xyes"; then 120305003Scy AC_SEARCH_LIBS(log, m) 121305003Scy FTS5_FLAGS=-DSQLITE_ENABLE_FTS5 122305003Scyfi 123305003ScyAC_SUBST(FTS5_FLAGS) 124305003Scy#----------------------------------------------------------------------- 125305003Scy 126305003Scy#----------------------------------------------------------------------- 127305003Scy# --enable-json1 128305003Scy# 129305003ScyAC_ARG_ENABLE(json1, [AS_HELP_STRING( 130305003Scy [--enable-json1], [include json1 support [default=no]])], 131305003Scy [], [enable_json1=no]) 132305003Scyif test x"$enable_json1" = "xyes"; then 133305003Scy JSON1_FLAGS=-DSQLITE_ENABLE_JSON1 134305003Scyfi 135305003ScyAC_SUBST(JSON1_FLAGS) 136305003Scy#----------------------------------------------------------------------- 137305003Scy 138305003Scy#----------------------------------------------------------------------- 139305003Scy# --enable-session 140305003Scy# 141305003ScyAC_ARG_ENABLE(session, [AS_HELP_STRING( 142305003Scy [--enable-session], [enable the session extension [default=no]])], 143305003Scy [], [enable_session=no]) 144305003Scyif test x"$enable_session" = "xyes"; then 145305003Scy SESSION_FLAGS="-DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_PREUPDATE_HOOK" 146305003Scyfi 147305003ScyAC_SUBST(SESSION_FLAGS) 148305003Scy#----------------------------------------------------------------------- 149305003Scy 150305003Scy#----------------------------------------------------------------------- 151305003Scy# --enable-static-shell 152305003Scy# 153305003ScyAC_ARG_ENABLE(static-shell, [AS_HELP_STRING( 154305003Scy [--enable-static-shell], 155305003Scy [statically link libsqlite3 into shell tool [default=yes]])], 156305003Scy [], [enable_static_shell=yes]) 157305003Scyif test x"$enable_static_shell" = "xyes"; then 158305003Scy EXTRA_SHELL_OBJ=sqlite3-sqlite3.$OBJEXT 159305003Scyelse 160305003Scy EXTRA_SHELL_OBJ=libsqlite3.la 161305003Scyfi 162305003ScyAC_SUBST(EXTRA_SHELL_OBJ) 163305003Scy#----------------------------------------------------------------------- 164305003Scy 165251883SpeterAC_CHECK_FUNCS(posix_fallocate) 166251883Speter 167251883Speter#----------------------------------------------------------------------- 168251883Speter# UPDATE: Maybe it's better if users just set CFLAGS before invoking 169251883Speter# configure. This option doesn't really add much... 170251883Speter# 171251883Speter# --enable-tempstore 172251883Speter# 173251883Speter# AC_ARG_ENABLE(tempstore, [AS_HELP_STRING( 174251883Speter# [--enable-tempstore], 175251883Speter# [in-memory temporary tables (never, no, yes, always) [default=no]])], 176251883Speter# [], [enable_tempstore=no]) 177251883Speter# AC_MSG_CHECKING([for whether or not to store temp tables in-memory]) 178251883Speter# case "$enable_tempstore" in 179251883Speter# never ) TEMP_STORE=0 ;; 180251883Speter# no ) TEMP_STORE=1 ;; 181251883Speter# always ) TEMP_STORE=3 ;; 182251883Speter# yes ) TEMP_STORE=3 ;; 183251883Speter# * ) 184251883Speter# TEMP_STORE=1 185251883Speter# enable_tempstore=yes 186251883Speter# ;; 187251883Speter# esac 188251883Speter# AC_MSG_RESULT($enable_tempstore) 189251883Speter# AC_SUBST(TEMP_STORE) 190251883Speter#----------------------------------------------------------------------- 191251883Speter 192251883SpeterAC_OUTPUT 193