X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=ac_check_icu.m4;h=933b513349fc9862692178fac7071b9143247e11;hb=cbe5631365b3ef5a840942cab5e03a50a665fe07;hp=641f77d2717e785351c588c3cdf0253aedb7f948;hpb=63e351d398550bfebbffb375013ca14ab21810d3;p=m4-moved-to-github.git diff --git a/ac_check_icu.m4 b/ac_check_icu.m4 index 641f77d..933b513 100644 --- a/ac_check_icu.m4 +++ b/ac_check_icu.m4 @@ -21,53 +21,83 @@ # modification, are permitted in any medium without royalty provided # the copyright notice and this notice are preserved. -AC_DEFUN([AC_CHECK_ICU], [ - succeeded=no +AC_DEFUN([AC_CHECK_ICU],[ + succeeded=no + icudir=default + AC_ARG_WITH(icu,[ --with-icu[=PREFIX] use ICU libs in PREFIX],icudir=$withval) + + if test "$icudir" != "no"; then + if test "$icudir" = "yes" -o "$icudir" = "default"; then + AC_PATH_PROG(ICU_CONFIG, icu-config, no) + else + ICU_CONFIG=${icudir}/bin/icu-config + fi - if test -z "$ICU_CONFIG"; then - AC_PATH_PROG(ICU_CONFIG, icu-config, no) - fi + if test -x $ICU_CONFIG; then + ICU_VERSION=`$ICU_CONFIG --version` + AC_MSG_CHECKING(for ICU >= $1) + VERSION_CHECK=`expr $ICU_VERSION \>\= $1` + if test "$VERSION_CHECK" = "1" ; then + AC_MSG_RESULT(yes) + succeeded=yes + + ICU_PREFIX=`$ICU_CONFIG --prefix` + + AC_MSG_CHECKING(ICU_CPPFLAGS) + ICU_CPPFLAGS=`$ICU_CONFIG --cppflags-searchpath`"" + if test "$ICU_PREFIX" = "/usr"; then + ICU_CPPFLAGS=`echo $ICU_CPPFLAGS|sed 's@-I/usr/include@@'` + fi + AC_MSG_RESULT($ICU_CPPFLAGS) + + AC_MSG_CHECKING(ICU_CFLAGS) + ICU_CFLAGS=`$ICU_CONFIG --cflags` + AC_MSG_RESULT($ICU_CFLAGS) + + AC_MSG_CHECKING(ICU_CXXFLAGS) + ICU_CXXFLAGS=`$ICU_CONFIG --cxxflags` + AC_MSG_RESULT($ICU_CXXFLAGS) + + AC_MSG_CHECKING(ICU_LIBS) + if test "$ICU_PREFIX" = "/usr"; then + ICU_LIBS=`$ICU_CONFIG --ldflags-libsonly` + else + ICU_LIBS=`$ICU_CONFIG --ldflags` + fi + case $host_os in + solaris*) + AC_CHECK_LIB([Crun],[_fini],[ICU_LIBS="$ICU_LIBS -lCrun"]) + ;; + esac + AC_MSG_RESULT($ICU_LIBS) + else + ICU_CPPFLAGS="" + ICU_CFLAGS="" + ICU_CXXFLAGS="" + ICU_LIBS="" + AC_MSG_RESULT([can not find ICU >= $1]) + fi + + AC_SUBST(ICU_CPPFLAGS) + AC_SUBST(ICU_CFLAGS) + AC_SUBST(ICU_CXXFLAGS) + AC_SUBST(ICU_LIBS) + fi + if test "$succeeded" = "no"; then + if test "$icudir" != "default"; then + AC_MSG_ERROR([libicu development libraries not found.]) + fi + fi + fi + if test "$succeeded" = "yes"; then + ifelse([$2], , :, [$2]) + else + ifelse([$3], , :, [$3]) + 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 - ICU_VERSION=`$ICU_CONFIG --version` - AC_MSG_CHECKING(for ICU >= $1) - VERSION_CHECK=`expr $ICU_VERSION \>\= $1` - if test "$VERSION_CHECK" = "1" ; then - AC_MSG_RESULT(yes) - succeeded=yes - - AC_MSG_CHECKING(ICU_CFLAGS) - ICU_CFLAGS=`$ICU_CONFIG --cflags` - AC_MSG_RESULT($ICU_CFLAGS) - - AC_MSG_CHECKING(ICU_CXXFLAGS) - ICU_CXXFLAGS=`$ICU_CONFIG --cxxflags` - AC_MSG_RESULT($ICU_CXXFLAGS) - - AC_MSG_CHECKING(ICU_LIBS) - ICU_LIBS=`$ICU_CONFIG --ldflags` - AC_MSG_RESULT($ICU_LIBS) - else - 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",) - fi - - AC_SUBST(ICU_CFLAGS) - AC_SUBST(ICU_CXXFLAGS) - AC_SUBST(ICU_LIBS) - fi - - if test $succeeded = yes; then - ifelse([$2], , :, [$2]) - else - ifelse([$3], , AC_MSG_ERROR([Library requirements (ICU) not met.]), [$3]) - fi -]) +dnl Local Variables: +dnl mode:shell-script +dnl sh-indentation:2 +dnl sh-basic-offset: 4 +dnl End: