From: stephan Date: Fri, 14 Feb 2025 16:43:41 +0000 (+0000) Subject: ICU config support: add more details to error messages and correct a typo which would... X-Git-Tag: version-3.49.1~14 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=40c674e54ad27e8ffa394721a7da3ed556205ecf;p=thirdparty%2Fsqlite.git ICU config support: add more details to error messages and correct a typo which would cause a configure crash if --with-icu-config=X refered to a non-executable X. FossilOrigin-Name: 80311f0925962f952c0112a8241774cb151fca5263824f25b0c30d17c3a805bc --- diff --git a/autosetup/sqlite-config.tcl b/autosetup/sqlite-config.tcl index 14cdcf5da1..1616b10920 100644 --- a/autosetup/sqlite-config.tcl +++ b/autosetup/sqlite-config.tcl @@ -213,7 +213,7 @@ proc sqlite-config-bootstrap {buildMode} { {*} { with-icu-ldflags:LDFLAGS => {Enable SQLITE_ENABLE_ICU and add the given linker flags for the - ICU libraries} + ICU libraries. e.g. on Ubuntu systems, try '-licui18n -licuuc -licudata'.} with-icu-cflags:CFLAGS => {Apply extra CFLAGS/CPPFLAGS necessary for building with ICU. e.g. -I/usr/local/include} @@ -1062,6 +1062,7 @@ proc sqlite-handle-icu {} { define LDFLAGS_ICU [join [opt-val with-icu-ldflags ""]] define CFLAGS_ICU [join [opt-val with-icu-cflags ""]] if {[proj-opt-was-provided with-icu-config]} { + msg-result "Checking for ICU support..." set icuConfigBin [opt-val with-icu-config] set tryIcuConfigBin 1; # set to 0 if we end up using pkg-config if {"auto" eq $icuConfigBin || "pkg-config" eq $icuConfigBin} { @@ -1085,19 +1086,28 @@ proc sqlite-handle-icu {} { /usr/local/bin/icu-config \ /usr/bin/icu-config] if {"" eq $icuConfigBin} { - proj-fatal "--with-icu-config=auto cannot find (pkg-config icu-io) or icu-config binary" + proj-indented-notice -error { + --with-icu-config=auto cannot find (pkg-config icu-io) or icu-config binary. + On Ubuntu-like systems try: + --with-icu-ldflags='-licui18n -licuuc -licudata' + } } } if {[file-isexec $icuConfigBin]} { set x [exec $icuConfigBin --ldflags] if {"" eq $x} { - proj-fatal "$icuConfigBin --ldflags returned no data" + proj-indented-notice -error \ + [subst { + $icuConfigBin --ldflags returned no data. + On Ubuntu-like systems try: + --with-icu-ldflags='-licui18n -licuuc -licudata' + }] } define-append LDFLAGS_ICU $x set x [exec $icuConfigBin --cppflags] define-append CFLAGS_ICU $x } else { - proj-fatal "--with-icu-config=$bin does not refer to an executable" + proj-fatal "--with-icu-config=$icuConfigBin does not refer to an executable" } } } diff --git a/manifest b/manifest index 5a809caee6..1f5ba8dd0a 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C When\susing\sthe\s--out-implib\sbuild\soption,\sinstall\sthe\sgenerated\s.dll.a\sfile\sto\sPREFIX/lib. -D 2025-02-13T16:31:22.473 +C ICU\sconfig\ssupport:\sadd\smore\sdetails\sto\serror\smessages\sand\scorrect\sa\stypo\swhich\swould\scause\sa\sconfigure\scrash\sif\s--with-icu-config=X\srefered\sto\sa\snon-executable\sX. +D 2025-02-14T16:43:41.285 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md e108e1e69ae8e8a59e93c455654b8ac9356a11720d3345df2a4743e9590fb20d @@ -50,7 +50,7 @@ F autosetup/cc.tcl c0fcc50ca91deff8741e449ddad05bcd08268bc31177e613a6343bbd1fd3e F autosetup/jimsh0.c 6573f6bc6ff204de0139692648d7037ca0b6c067bac83a7b4e087f20a86866a4 F autosetup/pkg-config.tcl 4e635bf39022ff65e0d5434339dd41503ea48fc53822c9c5bde88b02d3d952ba F autosetup/proj.tcl 42119a2e899e319b92f3159952b7ef7219c82cb45eeb636aaf8d909def8150f8 -F autosetup/sqlite-config.tcl ece913b7bb1efbabdd44fd787c0e4d2fd462d3019cc079a5e6bbe43c83d302b3 +F autosetup/sqlite-config.tcl c0a5e95b10d8168eb0f942a9d46b1b6a31a06a19991a294d2eace6b0a9d7e897 F autosetup/system.tcl 51d4be76cd9a9074704b584e5c9cbba616202c8468cf9ba8a4f8294a7ab1dba9 F configure 9a00b21dfd13757bbfb8d89b30660a89ec1f8f3a79402b8f9f9b6fc475c3303a x F contrib/sqlitecon.tcl 210a913ad63f9f991070821e599d600bd913e0ad @@ -2209,9 +2209,9 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7 F tool/warnings.sh 49a486c5069de041aedcbde4de178293e0463ae9918ecad7539eedf0ec77a139 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P 1cc8d16b636de128ca5e9c6cf7630fb323e2969aaac984ebee928b0fe690b84b -Q +0dadea0ec86b6ac74281915433e41ae66cc20547d9882c4be2933a24c8287927 -R d6aa987e056da2d90adb012739ef55e5 +P 8e8037bafccdbde0aefba29a13fe6026488b0f17cfc1b4c1700d2aa3c974ecc4 +Q +ff508926651d632d86081ccde89d3367c89538dde469e9e925540d634ac8a416 +R abf44d27da90b6ed53c8eb99967a09fc U stephan -Z ca9c23171a6964e2384cf9a49c8c3987 +Z 0106314ab903d217e0dd156ee94e6a57 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 7235447907..a2ae7b4671 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -8e8037bafccdbde0aefba29a13fe6026488b0f17cfc1b4c1700d2aa3c974ecc4 +80311f0925962f952c0112a8241774cb151fca5263824f25b0c30d17c3a805bc