#!/do/not/tclsh # ^^^ help out editors which guess this file's content type. # # This is the main autosetup-compatible configure script for the # SQLite project. # # This script should be kept compatible with JimTCL, a copy of which # is included in this source tree as ./autosetup/jimsh0.c. The number # of incompatibilities between canonical TCL and JimTCL is very low # and alternative formulations of incompatible constructs have, so # far, been easy to find. # # JimTCL: https://jim.tcl.tk # use sqlite-config sqlite-config-bootstrap canonical sqlite-setup-default-cflags proj-if-opt-truthy dev { # --enable-dev needs to come early so that the downstream tests # which check for the following flags use their updated state. proj-opt-set all 1 proj-opt-set debug 1 proj-opt-set amalgamation 0 define CFLAGS [get-env CFLAGS {-O0 -g}] # -------------^^^^^^^ intentionally using [get-env] instead of # [proj-get-env] here because [sqlite-setup-default-cflags] uses # [proj-get-env] and we want this to supercede that. } sqlite-check-common-bins ;# must come before [sqlite-handle-wasi-sdk] sqlite-handle-wasi-sdk ;# must run relatively early, as it changes the environment sqlite-check-common-system-deps # # Enable large file support (if special flags are necessary) # define HAVE_LFS 0 if {[opt-bool largefile]} { cc-check-lfs } proj-define-for-opt shared ENABLE_SHARED "Build shared library?" if {![proj-define-for-opt static ENABLE_STATIC \ "Build static library?"]} { proj-warn "Static lib build may be implicitly re-activated by other components, e.g. some test apps." } proj-define-for-opt amalgamation USE_AMALGAMATION "Use amalgamation for builds?" proj-define-for-opt gcov USE_GCOV "Use gcov?" proj-define-for-opt test-status TSTRNNR_OPTS \ "test-runner flags:" {--status} {} proj-define-for-opt linemacros AMALGAMATION_LINE_MACROS \ "Use #line macros in the amalgamation:" define LINK_TOOLS_DYNAMICALLY [proj-opt-was-provided dynlink-tools] proj-check-rpath sqlite-handle-soname sqlite-handle-debug sqlite-handle-tcl sqlite-handle-threadsafe sqlite-handle-tempstore sqlite-handle-line-editing sqlite-handle-load-extension sqlite-handle-math sqlite-handle-icu sqlite-handle-emsdk sqlite-config-finalize