1251883Speter
2251883Speter#-----------------------------------------------------------------------
3251883Speter# Supports the following non-standard switches.
4251883Speter#
5251883Speter#   --enable-threadsafe
6251883Speter#   --enable-readline
7251883Speter#   --enable-dynamic-extensions
8251883Speter#
9251883Speter
10251883SpeterAC_PREREQ(2.61)
11251883SpeterAC_INIT(sqlite, 3.7.17, http://www.sqlite.org)
12251883SpeterAC_CONFIG_SRCDIR([sqlite3.c])
13251883Speter
14251883Speter# Use automake.
15251883SpeterAM_INIT_AUTOMAKE([foreign])
16251883Speter
17251883SpeterAC_SYS_LARGEFILE
18251883Speter
19251883Speter# Check for required programs.
20251883SpeterAC_PROG_CC
21251883SpeterAC_PROG_RANLIB
22251883SpeterAC_PROG_LIBTOOL
23251883SpeterAC_PROG_MKDIR_P
24251883Speter
25251883Speter# Check for library functions that SQLite can optionally use.
26251883SpeterAC_CHECK_FUNCS([fdatasync usleep fullfsync localtime_r gmtime_r])
27251883SpeterAC_FUNC_STRERROR_R
28251883Speter
29251883SpeterAC_CONFIG_FILES([Makefile sqlite3.pc])
30251883SpeterAC_SUBST(BUILD_CFLAGS)
31251883Speter
32251883Speter#-----------------------------------------------------------------------
33251883Speter#   --enable-readline
34251883Speter#
35251883SpeterAC_ARG_ENABLE(readline, [AS_HELP_STRING(
36251883Speter  [--enable-readline], 
37251883Speter  [use readline in shell tool (yes, no) [default=yes]])], 
38251883Speter  [], [enable_readline=yes])
39251883Speterif test x"$enable_readline" != xno ; then
40251883Speter  sLIBS=$LIBS
41251883Speter  LIBS=""
42251883Speter  AC_SEARCH_LIBS(tgetent, curses ncurses ncursesw, [], [])
43251883Speter  AC_SEARCH_LIBS(readline, readline, [], [enable_readline=no])
44251883Speter  AC_CHECK_FUNCS(readline, [], [])
45251883Speter  READLINE_LIBS=$LIBS
46251883Speter  LIBS=$sLIBS
47251883Speterfi
48251883SpeterAC_SUBST(READLINE_LIBS)
49251883Speter#-----------------------------------------------------------------------
50251883Speter
51251883Speter#-----------------------------------------------------------------------
52251883Speter#   --enable-threadsafe
53251883Speter#
54251883SpeterAC_ARG_ENABLE(threadsafe, [AS_HELP_STRING(
55251883Speter  [--enable-threadsafe], [build a thread-safe library [default=yes]])], 
56251883Speter  [], [enable_threadsafe=yes])
57251883SpeterTHREADSAFE_FLAGS=-DSQLITE_THREADSAFE=0
58251883Speterif test x"$enable_threadsafe" != "xno"; then
59251883Speter  THREADSAFE_FLAGS="-D_REENTRANT=1 -DSQLITE_THREADSAFE=1"
60251883Speter  AC_SEARCH_LIBS(pthread_create, pthread)
61251883Speterfi
62251883SpeterAC_SUBST(THREADSAFE_FLAGS)
63251883Speter#-----------------------------------------------------------------------
64251883Speter
65251883Speter#-----------------------------------------------------------------------
66251883Speter#   --enable-dynamic-extensions
67251883Speter#
68251883SpeterAC_ARG_ENABLE(dynamic-extensions, [AS_HELP_STRING(
69251883Speter  [--enable-dynamic-extensions], [support loadable extensions [default=yes]])], 
70251883Speter  [], [enable_dynamic_extensions=yes])
71251883Speterif test x"$enable_dynamic_extensions" != "xno"; then
72251883Speter  AC_SEARCH_LIBS(dlopen, dl)
73251883Speterelse
74251883Speter  DYNAMIC_EXTENSION_FLAGS=-DSQLITE_OMIT_LOAD_EXTENSION=1
75251883Speterfi
76251883SpeterAC_MSG_CHECKING([for whether to support dynamic extensions])
77251883SpeterAC_MSG_RESULT($enable_dynamic_extensions)
78251883SpeterAC_SUBST(DYNAMIC_EXTENSION_FLAGS)
79251883Speter#-----------------------------------------------------------------------
80251883Speter
81251883SpeterAC_CHECK_FUNCS(posix_fallocate)
82251883Speter
83251883Speter#-----------------------------------------------------------------------
84251883Speter# UPDATE: Maybe it's better if users just set CFLAGS before invoking
85251883Speter# configure. This option doesn't really add much...
86251883Speter#
87251883Speter#   --enable-tempstore
88251883Speter#
89251883Speter# AC_ARG_ENABLE(tempstore, [AS_HELP_STRING(
90251883Speter#   [--enable-tempstore], 
91251883Speter#   [in-memory temporary tables (never, no, yes, always) [default=no]])], 
92251883Speter#   [], [enable_tempstore=no])
93251883Speter# AC_MSG_CHECKING([for whether or not to store temp tables in-memory])
94251883Speter# case "$enable_tempstore" in
95251883Speter#   never )  TEMP_STORE=0 ;;
96251883Speter#   no )     TEMP_STORE=1 ;;
97251883Speter#   always ) TEMP_STORE=3 ;;
98251883Speter#   yes )    TEMP_STORE=3 ;;
99251883Speter#   * )
100251883Speter#     TEMP_STORE=1
101251883Speter#     enable_tempstore=yes
102251883Speter#   ;;
103251883Speter# esac
104251883Speter# AC_MSG_RESULT($enable_tempstore)
105251883Speter# AC_SUBST(TEMP_STORE)
106251883Speter#-----------------------------------------------------------------------
107251883Speter
108251883SpeterAC_OUTPUT
109