summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Simons <simons@cryp.to>2023-04-13 14:42:35 +0200
committerGitHub <noreply@github.com>2023-04-13 14:42:35 +0200
commit635eedac772dc323f3946f3fdbb5718057c612e5 (patch)
tree0d76d8c2db84cfc0504f38956d2288153da3c5e9
parent08227cadd9610734665783c00994e0ae2fa3a319 (diff)
parentc577fc1e3c677363f3facd6b33e9adc12bfb494e (diff)
downloadautoconf-archive-635eedac772dc323f3946f3fdbb5718057c612e5.tar.gz
Merge pull request #263 from k4rtik/icu
ax_check_icu: bump serial and update after icu-config deprecation
-rw-r--r--m4/ax_check_icu.m463
1 files changed, 50 insertions, 13 deletions
diff --git a/m4/ax_check_icu.m4 b/m4/ax_check_icu.m4
index b886e3c..adbadb0 100644
--- a/m4/ax_check_icu.m4
+++ b/m4/ax_check_icu.m4
@@ -19,7 +19,7 @@
# and this notice are preserved. This file is offered as-is, without any
# warranty.
-#serial 7
+#serial 8
AU_ALIAS([AC_CHECK_ICU], [AX_CHECK_ICU])
AC_DEFUN([AX_CHECK_ICU], [
@@ -29,13 +29,19 @@ AC_DEFUN([AX_CHECK_ICU], [
AC_PATH_PROG(ICU_CONFIG, icu-config, no)
fi
- if test "$ICU_CONFIG" = "no" ; then
- echo "*** The icu-config script could not be found. Make sure it is"
- echo "*** in your path, and that taglib is properly installed."
- echo "*** Or see http://ibm.com/software/globalization/icu/"
- else
+ if test -z "$PKG_CONFIG"; then
+ AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+ fi
+
+ if test "$ICU_CONFIG" = "no" && test "$PKG_CONFIG" = "no" ; then
+ echo "*** Neither icu-config nor pkg-config could not be found."
+ echo "*** Make sure one of them is in your path, and that taglib"
+ echo "*** is properly installed. Or see https://icu.unicode.org/"
+ fi
+
+ if test "$ICU_CONFIG" != "no" ; then
ICU_VERSION=`$ICU_CONFIG --version`
- AC_MSG_CHECKING(for ICU >= $1)
+ AC_MSG_CHECKING(for ICU >= $1 via icu-config)
VERSION_CHECK=`expr $ICU_VERSION \>\= $1`
if test "$VERSION_CHECK" = "1" ; then
AC_MSG_RESULT(yes)
@@ -63,16 +69,47 @@ AC_DEFUN([AX_CHECK_ICU], [
ICU_LIBS=""
## If we have a custom action on failure, don't print errors, but
## do set a variable so people can do so.
- ifelse([$3], ,echo "can't find ICU >= $1",)
+ ifelse([$3], ,echo "can't find ICU >= $1 via icu-config",)
fi
+ fi
+
+ if test "$succeeded" != "yes" && test "$PKG_CONFIG" != "no" ; then
+ AC_MSG_CHECKING(for ICU >= $1 via pkg-config)
+ if $PKG_CONFIG --atleast-version=$1 icu-i18n ; then
+ AC_MSG_RESULT(yes)
+ succeeded=yes
+
+ AC_MSG_CHECKING(ICU_CPPFLAGS)
+ ICU_CPPFLAGS=`$PKG_CONFIG --variable=CPPFLAGS icu-i18n`
+ AC_MSG_RESULT($ICU_CPPFLAGS)
+
+ AC_MSG_CHECKING(ICU_CFLAGS)
+ ICU_CFLAGS=`$PKG_CONFIG --variable=CFLAGS icu-i18n`
+ AC_MSG_RESULT($ICU_CFLAGS)
+
+ AC_MSG_CHECKING(ICU_CXXFLAGS)
+ ICU_CXXFLAGS=`$PKG_CONFIG --variable=CXXFLAGS icu-i18n`
+ AC_MSG_RESULT($ICU_CXXFLAGS)
- AC_SUBST(ICU_CPPFLAGS)
- AC_SUBST(ICU_CFLAGS)
- AC_SUBST(ICU_CXXFLAGS)
- AC_SUBST(ICU_LIBS)
+ AC_MSG_CHECKING(ICU_LIBS)
+ ICU_LIBS=`$PKG_CONFIG --libs icu-i18n`
+ AC_MSG_RESULT($ICU_LIBS)
+ else
+ ICU_CPPFLAGS=""
+ ICU_CFLAGS=""
+ ICU_CXXFLAGS=""
+ ICU_LIBS=""
+ ## If we have a custom action on failure, don't print errors, but
+ ## do set a variable so people can do so.
+ ifelse([$3], ,echo "can't find ICU >= $1 via pkg-config",)
+ fi
fi
- if test $succeeded = yes; then
+ if test "$succeeded" = "yes"; then
+ AC_SUBST(ICU_CPPFLAGS)
+ AC_SUBST(ICU_CFLAGS)
+ AC_SUBST(ICU_CXXFLAGS)
+ AC_SUBST(ICU_LIBS)
ifelse([$2], , :, [$2])
else
ifelse([$3], , AC_MSG_ERROR([Library requirements (ICU) not met.]), [$3])