Baby steps towards a working auto.def.

FossilOrigin-Name: c223dbb4fb8e800089752617c6c986b6c80be0d180e9d1610f28cf95253e5674
This commit is contained in:
stephan 2024-09-25 08:04:14 +00:00
parent cf9d95002e
commit 2d0b1ae73b
3 changed files with 42 additions and 32 deletions

View File

@ -1,6 +1,9 @@
# Created by migrate-autoconf - fix items marked XXX
global autosetup
use cc cc-shared cc-lib hwaci-common
set DUMP_DEFINES_FILE defines.list
set cross_compiling 0
set enable_shared 1
########################################################################
# Note that boolean flags...
@ -31,7 +34,7 @@ set DUMP_DEFINES_FILE defines.list
#
# 1) autosetup treats prefixes of 'enable' and 'disable' specially,
# leading to some incompatibilities with the historical sqlite3
# configure script.
# configure script flags.
#
# Defining non-boolean flags named enable-foo requires different
# downstream handling of those flags. e.g.
@ -50,8 +53,8 @@ set DUMP_DEFINES_FILE defines.list
# An awkward workaround for that, discovered only by random trial and
# error, is to define both {tempstore=1} and {enable-tempstore:}. With
# that in place --enable-tempstore, with no value, works as expected
# (why? Nobody knows!) but --tempstore can only ever be legally passed 0 or
# 1.
# (why? Nobody knows!) but --tempstore can only ever be legally passed
# a boolean value (0, 1, yes, no, enabled, disabled).
options {
with-tclsh:PATHNAME => {Full pathname of tclsh to use}
with-tcl:DIR => {Directory containing tclConfig.sh}
@ -155,8 +158,6 @@ puts "with-wasi-sdk? = [opt-val with-wasi-sdk]"
# files for the readline library. If the compiler is able
# to find <readline.h> on its own, then this can be blank.
hwaci-check-exeext
########################################################################
# OPT_FEATURE_FLAGS = -DSQLITE_OMIT/ENABLE flags.
define OPT_FEATURE_FLAGS {}
@ -165,6 +166,17 @@ proc add-feature-flag {flag} {
}
# add-feature-flag -DSQLITE_JUST_TESTING=3
hwaci-check-exeext
if {".exe" eq [get-define TARGET_EXEEXT]} {
define SQLITE_OS_UNIX 0
define SQLITE_OS_WIN 1
# todo? add -DSQLITE_OS_WIN=1 to CFLAGS?
} else {
define SQLITE_OS_UNIX 1
define SQLITE_OS_WIN 0
# todo? add -DSQLITE_OS_UNIX=1 to CFLAGS?
}
########################################################################
# Force-set autosetup option $flag to $val.
proc opt-set {flag {val 1}} {
@ -191,37 +203,27 @@ proc if-disabled {boolFlag then {else {}}} {
#########
# Programs needed
if {1} {
if {"" eq [hwaci-bin-define install]} {
msg-result "Cannot find install binary, so 'make install' will not work."
}
if {"" eq [hwaci-bin-define install]} {
msg-result "Cannot find install binary, so 'make install' will not work."
}
#########
# Enable large file support (if special flags are necessary)
if {1} {
cc-check-lfs
}
cc-check-lfs
#########
# Check for needed/wanted data types
if {1} {
cc-check-types int8_t int16_t int32_t int64_t intptr_t \
uint8_t uint16_t uint32_t uint64_t uintptr_t
}
cc-check-types int8_t int16_t int32_t int64_t intptr_t \
uint8_t uint16_t uint32_t uint64_t uintptr_t
#########
# Check for needed/wanted headers
if {1} {
cc-check-includes sys/types.h stdlib.h stdint.h inttypes.h malloc.h
}
cc-check-includes sys/types.h stdlib.h stdint.h inttypes.h malloc.h
#########
# Figure out whether or not we have these functions
if {1} {
cc-check-functions fdatasync gmtime_r isnan localtime_r localtime_s \
malloc_usable_size strchrnul usleep utime pread pread64 pwrite pwrite64
}
cc-check-functions fdatasync gmtime_r isnan localtime_r localtime_s \
malloc_usable_size strchrnul usleep utime pread pread64 pwrite pwrite64
##########
# Handle --with-wasi-sdk=DIR
@ -231,7 +233,8 @@ if {1} {
# It's unclear whether we can actually get away with making these
# changes to the autosetup environment.
if {1} {
set wasiSdkDir [lindex [opt-val with-wasi-sdk] end]
set wasiSdkDir [opt-val with-wasi-sdk] ; # ??? [lindex [opt-val with-wasi-sdk] end]
#puts "x wasiSdkDir=$wasiSdkDir foo=[lindex [opt-val with-wasi-sdk] end]"
if {$wasiSdkDir eq ""} {
define HAVE_WASI_SDK 0
define WASI_SDK_DIR ""
@ -243,6 +246,10 @@ if {1} {
msg-result "using wasi-sdk clang, disabling: tcl, CLI shell, DLL"
define HAVE_WASI_SDK 1
define WASI_SDK_DIR $wasiSdkDir
opt-set tcl 0
opt-set threadsafe 0
set cross_compiling 1
set enable_shared 0
# Changing --host and --target have no effect here except to possibly
# cause confusion. autoconf has finished processing them by this
@ -264,6 +271,7 @@ if {1} {
# we disable the DLL build...
# set enable_shared no
}
# unset wasiSdkDir
}; # --wasi-sdk-dir
#########
@ -908,5 +916,7 @@ if {"" ne [get-define OPT_FEATURE_FLAGS]} {
if-enabled dump-defines {
global DUMP_DEFINES_FILE
msg-result "--dump-defines is creating file: $DUMP_DEFINES_FILE"
make-config-header $DUMP_DEFINES_FILE -bare OPT_FEATURE_FLAGS -auto {*}
make-config-header $DUMP_DEFINES_FILE -bare {OPT_FEATURE_FLAGS SQLITE_OS_*} -auto {*}
# achtung: ^^^^ whichever SQLITE_OS_foo flag which is set to 0 will
# get _undefined_ here unless it's part of the -bare set.
}

View File

@ -1,5 +1,5 @@
C Add\s--enable-tempstore\ssupport\sand\sdocument\ssome\sof\sthe\sweirdness\sof\strying\sto\suse\san\sexplicit\sprefix\sof\s--enable\swith\snon-boolean\sflags\s(autosetup\sunconditionally\shandles\s--enable\sand\s--disable\sprefixes\son\sits\sown\sand\salways\streats\sthem\sas\sboolean\sflags).
D 2024-09-25T07:30:54.847
C Baby\ssteps\stowards\sa\sworking\sauto.def.
D 2024-09-25T08:04:14.465
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@ -14,7 +14,7 @@ F art/icon-80x90.gif 65509ce3e5f86a9cd64fe7fca2d23954199f31fe44c1e09e208c80fb83d
F art/sqlite370.eps aa97a671332b432a54e1d74ff5e8775be34200c2
F art/sqlite370.ico af56c1d00fee7cd4753e8631ed60703ed0fc6e90
F art/sqlite370.jpg d512473dae7e378a67e28ff96a34da7cb331def2
F auto.def bf6823fc39c18f250e1a557fd1693d50907bb7c7bf64bb19c29976fcad8e9ac4
F auto.def eb236b4f17149ff8ce2a5dcd68f3f0b9c349fd1c063975e808279cdd376a6ff6
F autoconf/INSTALL 83e4a25da9fd053c7b3665eaaaf7919707915903
F autoconf/Makefile.am adedc1324b6a87fdd1265ddd336d2fb7d4f36a0e77b86ea553ae7cc4ea239347
F autoconf/Makefile.fallback 22fe523eb36dfce31e0f6349f782eb084e86a5620b2b0b4f84a2d6133f53f5ac
@ -2232,8 +2232,8 @@ F vsixtest/vsixtest.tcl 6195aba1f12a5e10efc2b8c0009532167be5e301abe5b31385638080
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
P beb2a12045447586cc74f243d4f519c967595d929abe6330c2b1049897e8eaad
R cb05e4344f4a5cf418370e9015944c67
P fe6fa4ce5271c6265985574e1c406dda5b57f0dc360626800b6173a8f054bdab
R 63e04f82879526ec975f0378b679f11b
U stephan
Z 2790adfba3be68b5a200dbb2ea24a505
Z ab45cc0c2e7401e955c33f04a9ab6c02
# Remove this line to create a well-formed Fossil manifest.

View File

@ -1 +1 @@
fe6fa4ce5271c6265985574e1c406dda5b57f0dc360626800b6173a8f054bdab
c223dbb4fb8e800089752617c6c986b6c80be0d180e9d1610f28cf95253e5674