Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Teach the configure script to be able find a default installation of libreadline on Haiku OS. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
260e9884118172ef76457a34042ace30 |
User & Date: | stephan 2025-03-20 13:41:08.243 |
Context
2025-03-21
| ||
16:06 | Proxy configure's msg-debug with proc-debug, which works the same except that it prepends the name of the calling proc to the debug message. No functional changes. (check-in: f0298c773d user: stephan tags: trunk) | |
2025-03-20
| ||
13:41 | Teach the configure script to be able find a default installation of libreadline on Haiku OS. (check-in: 260e988411 user: stephan tags: trunk) | |
11:47 | Fix a problem in the sqlite_dbpage() table-valued function when it is trying to truncate a file in locking-mode=EXCLUSIVE and the file was obtained via sqlite3_deserialize(). Problem found by dbsqlfuzz. (check-in: 346cf9794c user: drh tags: trunk) | |
Changes
Changes to autosetup/sqlite-config.tcl.
︙ | ︙ | |||
924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 | file delete -force -- $emccSh $extWasmConfig } } ######################################################################## # Internal helper for [sqlite-check-line-editing]. Returns a list of # potential locations under which readline.h might be found. proc sqlite-get-readline-dir-list {} { # Historical note: the dirs list, except for the inclusion of # $prefix and some platform-specific dirs, originates from the # legacy configure script set dirs [list [get-define prefix]] switch -glob -- [get-define host] { *-linux-android { # Possibly termux lappend dirs /data/data/com.termux/files/usr } *-mingw32 { lappend dirs /mingw32 /mingw } *-mingw64 { lappend dirs /mingw64 /mingw } } lappend dirs /usr /usr/local /usr/local/readline /usr/contrib set rv {} foreach d $dirs { if {[file isdir $d]} {lappend rv $d} } | > > > > > > > > > > > > > > > > | 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 | file delete -force -- $emccSh $extWasmConfig } } ######################################################################## # Internal helper for [sqlite-check-line-editing]. Returns a list of # potential locations under which readline.h might be found. # # On some environments this function may perform extra work to help # sqlite-check-line-editing figure out how to find libreadline and # friends. It will communicate those results via means other than the # result value, e.g. by modifying configure --flags. proc sqlite-get-readline-dir-list {} { # Historical note: the dirs list, except for the inclusion of # $prefix and some platform-specific dirs, originates from the # legacy configure script set dirs [list [get-define prefix]] switch -glob -- [get-define host] { *-linux-android { # Possibly termux lappend dirs /data/data/com.termux/files/usr } *-mingw32 { lappend dirs /mingw32 /mingw } *-mingw64 { lappend dirs /mingw64 /mingw } *-haiku { lappend dirs /boot/system/develop/headers if {[opt-val with-readline-ldflags] in {auto ""}} { # If the user did not supply their own --with-readline-ldflags # value, hijack that flag to inject options which are known to # work on a default Haiku installation. if {"" ne [glob -nocomplain /boot/system/lib/libreadline*]} { proj-opt-set with-readline-ldflags {-L/boot/system/lib -lreadline} } } } } lappend dirs /usr /usr/local /usr/local/readline /usr/contrib set rv {} foreach d $dirs { if {[file isdir $d]} {lappend rv $d} } |
︙ | ︙ | |||
1087 1088 1089 1090 1091 1092 1093 | if {"auto" eq $rlInc} { set rlInc "" if {$::sqliteConfig(is-cross-compiling)} { # ^^^ this check is derived from the legacy configure script. proj-warn "Skipping check for readline.h because we're cross-compiling." } else { set dirs [sqlite-get-readline-dir-list] | > | > | > | 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 | if {"auto" eq $rlInc} { set rlInc "" if {$::sqliteConfig(is-cross-compiling)} { # ^^^ this check is derived from the legacy configure script. proj-warn "Skipping check for readline.h because we're cross-compiling." } else { set dirs [sqlite-get-readline-dir-list] set subdirs [list \ include/$editLibName \ readline] if {"editline" eq $editLibName} { lappend subdirs include/readline # ^^^ editline, on some systems, does not have its own header, # and uses libreadline's header. } lappend subdirs include set rlInc [proj-search-for-header-dir readline.h \ -dirs $dirs -subdirs $subdirs] #msg-debug "rlInc=$rlInc" if {"" ne $rlInc} { if {[string match */readline $rlInc]} { set rlInc [file dirname $rlInc]; # CLI shell: #include <readline/readline.h> } elseif {[string match */editline $rlInc]} { set editLibDef HAVE_EDITLINE set rlInc [file dirname $rlInc]; # CLI shell: #include <editline/readline.h> } |
︙ | ︙ | |||
1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 | # libedit typically require some other library which (according to # legacy autotools-generated tests) provides tgetent(3). On some # systems that's built into libreadline/edit, on some (most?) its in # lib[n]curses, and on some it's in libtermcap. set rlLib "" if {"" ne $rlInc} { set rlLib [opt-val with-readline-ldflags] if {$rlLib eq "auto" || $rlLib eq ""} { set rlLib "" set libTerm "" if {[proj-check-function-in-lib tgetent "$editLibName ncurses curses termcap"]} { # ^^^ that libs list comes from the legacy configure script ^^^ set libTerm [get-define lib_tgetent] undefine lib_tgetent | > | 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 | # libedit typically require some other library which (according to # legacy autotools-generated tests) provides tgetent(3). On some # systems that's built into libreadline/edit, on some (most?) its in # lib[n]curses, and on some it's in libtermcap. set rlLib "" if {"" ne $rlInc} { set rlLib [opt-val with-readline-ldflags] #msg-debug "rlLib=$rlLib" if {$rlLib eq "auto" || $rlLib eq ""} { set rlLib "" set libTerm "" if {[proj-check-function-in-lib tgetent "$editLibName ncurses curses termcap"]} { # ^^^ that libs list comes from the legacy configure script ^^^ set libTerm [get-define lib_tgetent] undefine lib_tgetent |
︙ | ︙ |