1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- #!/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 and all of its dependencies must 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-configure canonical {
- 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-munge-cflags
- }
- 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
- 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 AMALGAMATION_EXTRA_SRC \
- [join [opt-val amalgamation-extra-src ""] " "]
- define LINK_TOOLS_DYNAMICALLY [proj-opt-was-provided dynlink-tools]
- sqlite-handle-tcl
- sqlite-handle-emsdk
- }
|