From ece4bf60ff0d55c2cf1459c8172b108c69dbb73e Mon Sep 17 00:00:00 2001 From: stephan Date: Fri, 15 Nov 2024 10:47:11 +0000 Subject: [PATCH] When checking pkg-config for ICU support use icu-io instead of icu-uc, as that contains all requires libs on Linux and BSD. FossilOrigin-Name: 6ca457542e1dceac2d68fe3d29ff1f0beb31a77ca3073bd7d8a6c62faabcdc1d --- auto.def | 22 ++++++++++++++-------- manifest | 16 ++++++---------- manifest.uuid | 2 +- 3 files changed, 21 insertions(+), 19 deletions(-) diff --git a/auto.def b/auto.def index fe7d045e33..6cfc86b2b0 100644 --- a/auto.def +++ b/auto.def @@ -1152,26 +1152,32 @@ proc sqlite-check-icu {} { # - -licui18n -licuuc -licudata # - -licui18n -licuuc # - /usr/local/bin/icu-config --ldflags + # if {[proj-opt-was-provided with-icu-config]} { set icuConfigBin [opt-val with-icu-config] set tryIcuConfigBin 1; # set to 0 if we end up using pkg-config - if {[pkg-config-init 0] - && ("auto" eq $icuConfigBin || "pkg-config" eq $icuConfigBin)} { - if {[pkg-config icu-uc]} { + if {"auto" eq $icuConfigBin || "pkg-config" eq $icuConfigBin} { + if {[pkg-config-init 0] && [pkg-config icu-io]} { + # Maintenance reminder: historical docs say to use both of + # (icu-io, icu-uc). icu-uc lacks a required lib and icu-io has + # all of them on tested OSes. set tryIcuConfigBin 0 - define LDFLAGS_ICU [get-define PKG_ICU_UC_LDFLAGS] - define-append LDFLAGS_ICU [get-define PKG_ICU_UC_LIBS] - define CFLAGS_ICU [get-define PKG_ICU_UC_CFLAGS] + define LDFLAGS_ICU [get-define PKG_ICU_IO_LDFLAGS] + define-append LDFLAGS_ICU [get-define PKG_ICU_IO_LIBS] + define CFLAGS_ICU [get-define PKG_ICU_IO_CFLAGS] + } elseif {"pkg-config" eq $icuConfigBin} { + proj-fatal "pkg-config cannot find package icu-io" + } else { + proj-assert {"auto" eq $icuConfigBin} } } if {$tryIcuConfigBin} { if {"auto" eq $icuConfigBin} { set icuConfigBin [proj-first-bin-of \ - [get-define prefix]/bin/icu-config \ /usr/local/bin/icu-config \ /usr/bin/icu-config] if {"" eq $icuConfigBin} { - proj-fatal "--with-icu-config=auto cannot find icu-config binary" + proj-fatal "--with-icu-config=auto cannot find (pkg-config icu-io) or icu-config binary" } } if {[file-isexec $icuConfigBin]} { diff --git a/manifest b/manifest index 8d6dcfb860..a461cdcc05 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C An\sexperiment\sin\soptionally\susing\spkg-config\sto\sdetermine\sthe\slibs\sto\slink\sin\sfor\sICU\ssupport,\sbut\sits\sldflags\sis\smissing\sone\srequired\slib\son\sboth\sLinux\sand\sOpenBSD.\sKeeping\sthis\sfor\slater\sreference,\sas\sit\sdemonstrates\show\sto\suse\spkg-config\sfrom\sautosetup. -D 2024-11-15T10:07:57.846 +C When\schecking\spkg-config\sfor\sICU\ssupport\suse\sicu-io\sinstead\sof\sicu-uc,\sas\sthat\scontains\sall\srequires\slibs\son\sLinux\sand\sBSD. +D 2024-11-15T10:47:11.414 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md e108e1e69ae8e8a59e93c455654b8ac9356a11720d3345df2a4743e9590fb20d @@ -13,7 +13,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 70932f7acebcc439a811bb9c4117b31a28c7606a00f36bf729566a1c90ae4208 +F auto.def 1a12e32026291cfe082a9841ccc426db542593b8974f051f1b56823839b5a830 F autoconf/INSTALL 83e4a25da9fd053c7b3665eaaaf7919707915903 F autoconf/Makefile.am adedc1324b6a87fdd1265ddd336d2fb7d4f36a0e77b86ea553ae7cc4ea239347 F autoconf/Makefile.fallback 22fe523eb36dfce31e0f6349f782eb084e86a5620b2b0b4f84a2d6133f53f5ac @@ -2198,12 +2198,8 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7 F tool/warnings.sh 49a486c5069de041aedcbde4de178293e0463ae9918ecad7539eedf0ec77a139 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P 81202d2ab5963fdcf20555b6d0b31cc955ac27f1cd87656faea5c0611c9a2ee8 -R b6f94e3605bc6952a1abdeb693280714 -T *branch * autosetup-icu-pkg-config -T *sym-autosetup-icu-pkg-config * -T +closed * -T -sym-trunk * +P 09caa94c9e846f9b3669b3f1acbb26b24b8bfcc9e512f17ea074dd92745c2597 +R b87e57f1447c7c56c265c2868634f094 U stephan -Z 244e7ce475b1c9a38fffc82237addd71 +Z 7f13984488108361d5319553ed81989a # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 0867bdbaf5..4a5a83abdd 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -09caa94c9e846f9b3669b3f1acbb26b24b8bfcc9e512f17ea074dd92745c2597 +6ca457542e1dceac2d68fe3d29ff1f0beb31a77ca3073bd7d8a6c62faabcdc1d