From 2d0b1ae73bfc337841d29c3392d108c6dfc308bf Mon Sep 17 00:00:00 2001 From: stephan Date: Wed, 25 Sep 2024 08:04:14 +0000 Subject: [PATCH] Baby steps towards a working auto.def. FossilOrigin-Name: c223dbb4fb8e800089752617c6c986b6c80be0d180e9d1610f28cf95253e5674 --- auto.def | 60 ++++++++++++++++++++++++++++++--------------------- manifest | 12 +++++------ manifest.uuid | 2 +- 3 files changed, 42 insertions(+), 32 deletions(-) diff --git a/auto.def b/auto.def index 1a110b49b8..e4b2c9944b 100644 --- a/auto.def +++ b/auto.def @@ -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 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. } diff --git a/manifest b/manifest index 6e023c5e54..b2eff07807 100644 --- a/manifest +++ b/manifest @@ -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. diff --git a/manifest.uuid b/manifest.uuid index 83aa0091d8..376e62181f 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -fe6fa4ce5271c6265985574e1c406dda5b57f0dc360626800b6173a8f054bdab +c223dbb4fb8e800089752617c6c986b6c80be0d180e9d1610f28cf95253e5674