1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- #!/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
|