;; -*- scheme -*- ;; Builds with internal SQLite library, or external system library if ;; -feature sql-de-lite-external-lib is defined. ((synopsis "SQLite 3 interface") (author "Jim Ursetto") (category db) (license "BSD") (dependencies foreigners object-evict srfi-18 srfi-69) ;; And bind if you want to update sqlite3-api (test-dependencies test) (version "0.8.1") (components (extension sql-de-lite (types-file) (cond-expand (sql-de-lite-external-lib (link-options -L -lsqlite3)) (else (objects sqlite3) (csc-options -C -Isqlite3))) (csc-options -O2 -d2 -inline -local -types sql-de-lite-cache.types) (component-dependencies sql-de-lite-cache) (source-dependencies "sqlite3-api.scm")) (extension sql-de-lite-cache (types-file) (csc-options -O2 -d0 -inline -local)) (cond-expand (sql-de-lite-external-lib) (else (c-object sqlite3 (source "sqlite3/sqlite3.c") (source-dependencies "sqlite3/sqlite3.h" "sqlite3/sqlite3ext.h") (csc-options -C -Isqlite3 -C -DSQLITE_THREADSAFE=0 ;; avoid linking in pthreads -C -DSQLITE_ENABLE_FTS3 -C -DSQLITE_ENABLE_FTS3_PARENTHESIS -C -DSQLITE_ENABLE_FTS4 -C -DSQLITE_ENABLE_FTS5 -C -DSQLITE_ENABLE_JSON1 -C -DSQLITE_USE_URI )))) (program chicken-sqlite3 (cond-expand ((and windows sql-de-lite-external-lib)) ; skip (sql-de-lite-external-lib (source "chicken-sqlite3.sh") (custom-build build-chicken-sqlite3)) (else (source "sqlite3/shell.c") (objects sqlite3))))))