- Scott
The sqlite command-line utility (sensibly) links against readline if it is present. Readline is licensed under the GPL.
Folk who wish to distribute their version of the sqlite utility under a license other than GPL may want to consider using the BSD libedit and read the thread around Jim Blandy's comments where the guile (lisp library) folk deal with a similar issue.
--Derek
Note that sqlite won't find readline if it's installed in an "unusual" location. (And setting LDFLAGS, CPPFLAGS doesn't help either--see #151.)
If you need to link against such a readline, configure as normal (it will complain about readline not being able to be found), then edit the resultant Makefile like so:
# Compiler options needed for programs that use the readline() library. # READLINE_FLAGS = -DHAVE_READLINE=1 -I/home/mjs/local/include # The library that programs using readline() must link against. # LIBREADLINE = -L/home/mjs/local-linux/lib -lreadline -lncurses
Don't download libedit from sourceforge that version is nearly four years old. I changed the link above to point to ftp://ftp.astron.com/pub/libedit/ (there is no current web site and it is virtually impossible to find)
Libedit and readline clash if you try to install them both on the same system, so It might take a little effort getting it compiled. --Mike
SQLite with readline already enabled
SQLite is available from Fink for OSX with readline already installed. Presently version 2.8.5.
SQLite and SQLite3 are available from Darwinports... both support a Readline variant.
readline-enabled SQLite on Mac OS X
To include readline support on Mac OS X, do the following --
In latest version of readline source (4.3 when I did this), edit support/shobj-conf: Inside the darwin*|macosx* configuration... Replace: SHLIB_LIBS='-lSystem' With: SHLIB_LIBS='-lSystem -lcurses -lgcc'
> ./configure > make > sudo make install
readline headers will get installed most likely under /usr/local/include
Then, in the SQLite source
> ./configure
Edit the Makefile:
# Compiler options needed for programs that use the readline() library. # READLINE_FLAGS = -DHAVE_READLINE=1 -I/usr/local/include/readline
# The library that programs using readline() must link against. # LIBREADLINE = -lreadline
Alternatively, to use fink's readline
# Compiler options needed for programs that use the readline() library. # READLINE_FLAGS = -DHAVE_READLINE=1 -I/sw/include
# The library that programs using readline() must link against. # LIBREADLINE = -L/sw/lib -lreadline
Then...
> make > sudo make install
You now have a happy, readline capable SQLite. (thanks to eno and instructions on the web)
-- pkishor
Readline 5.0
Readline 5.0 has been released and appearently, it supports Mac OS X 10.3 out of the tarball. Just unpack, .configure, and make.
-- Jeff Flowers
Readline 5.0, Mac OS X 10.4
As of 31-May-05, Readline 5.0 has a makefile bug that prevents compilation on Mac OSX 10.4. To fix, download readline from http://warp.byu.edu/Software, unpack, and edit "support/shobj-conf" look for something like "darwin7" and change it to "darwin8", then ./configure; make; sudo make install. Then compile sqlite normally. --nickg