nixpkgs/pkgs/development/libraries/sqlite/default.nix
Peter Simons dd1a6f8ab1 pkgs/development/libraries/sqlite/default.nix: enable amalgamation build
Sqlite has a build mode called "amalgamation" that gathers all 90+ source code
files into a single sqlite3.c file before compiling the library. Building
sqlite this way reportedly gives a 5-10% performance gain because the compiler
can perform more sophisticated optimizations.

svn path=/nixpkgs/trunk/; revision=18092
2009-11-04 13:07:27 +00:00

35 lines
992 B
Nix

{stdenv, fetchurl, readline, tcl, static ? false}:
stdenv.mkDerivation rec {
name = "sqlite-3.6.19";
# Note: don't use the "amalgamation" source release, since it
# doesn't install sqlite3.pc.
src = fetchurl {
url = "http://www.sqlite.org/${name}.tar.gz";
sha256 = "7d8649c44fb97b874aa59144faaeb2356ec1fc6a8a7baa1d16e9ff5f1e097003";
};
buildInputs = [readline tcl];
configureFlags = ''
CFLAGS=-O3
--enable-load-extension
${if static then "--disable-shared --enable-static" else ""}
--enable-amalgamation
--enable-threadsafe
--disable-cross-thread-connections
--disable-tcl
--disable-tempstore
--with-readline-inc=-I${readline}/include
'';
NIX_CFLAGS_COMPILE = "-DSQLITE_ENABLE_COLUMN_METADATA=1";
NIX_CFLAGS_LINK = "-ldl"; # needed for --enable-load-extension
meta = {
homepage = http://www.sqlite.org/;
description = "A self-contained, serverless, zero-configuration, transactional SQL database engine";
};
}