diff options
Diffstat (limited to 'm4')
| -rw-r--r-- | m4/appstream-xml.m4 | 86 | ||||
| -rw-r--r-- | m4/gettext.m4 | 405 | ||||
| -rw-r--r-- | m4/iconv.m4 | 271 | ||||
| -rw-r--r-- | m4/intlmacosx.m4 | 56 | ||||
| -rw-r--r-- | m4/intltool.m4 | 212 | ||||
| -rw-r--r-- | m4/lib-ld.m4 | 119 | ||||
| -rw-r--r-- | m4/lib-link.m4 | 777 | ||||
| -rw-r--r-- | m4/lib-prefix.m4 | 224 | ||||
| -rw-r--r-- | m4/po.m4 | 453 | ||||
| -rw-r--r-- | m4/progtest.m4 | 91 | ||||
| -rw-r--r-- | m4/yelp.m4 | 8 | 
11 files changed, 2489 insertions, 213 deletions
diff --git a/m4/appstream-xml.m4 b/m4/appstream-xml.m4 new file mode 100644 index 0000000..1472802 --- /dev/null +++ b/m4/appstream-xml.m4 @@ -0,0 +1,86 @@ +# appstream-xml.m4 +# +# serial 6 + +dnl APPSTREAM_XML +dnl Installs and validates AppData XML files. +dnl +dnl Call APPSTREAM_XML in configure.ac to check for the appstream-util tool. +dnl Add @APPSTREAM_XML_RULES@ to a Makefile.am to substitute the make rules. Add +dnl .appdata.xml files to appstream_XML in Makefile.am and they will be validated +dnl at make check time, if appstream-util is installed, as well as installed +dnl to the correct location automatically. Add --enable-appstream-util to +dnl DISTCHECK_CONFIGURE_FLAGS in Makefile.am to require valid AppData XML when +dnl doing a distcheck. +dnl +dnl Adding files to appstream_XML does not distribute them automatically. + +AC_DEFUN([APPSTREAM_XML], +[ +  m4_pattern_allow([AM_V_GEN]) +  AC_ARG_ENABLE([appstream-util], +                [AS_HELP_STRING([--disable-appstream-util], +                                [Disable validating AppData XML files during check phase])]) + +  AS_IF([test "x$enable_appstream_validate" != "xno"], +        [AC_PATH_PROG([APPSTREAM_UTIL], [appstream-util]) +         AS_IF([test "x$APPSTREAM_UTIL" = "x"], +               [have_appstream_validate=no], +               [have_appstream_validate=yes +                AC_SUBST([APPSTREAM_UTIL])])], +        [have_appstream_validate=no]) + +  AS_IF([test "x$have_appstream_validate" != "xno"], +        [appstream_validate=yes], +        [appstream_validate=no +         AS_IF([test "x$enable_appstream_validate" = "xyes"], +               [AC_MSG_ERROR([AppData validation was requested but appstream-util was not found])])]) + +  AC_SUBST([appstreamxmldir], [${datadir}/appdata]) + +  APPSTREAM_XML_RULES=' +.PHONY : uninstall-appstream-xml install-appstream-xml clean-appstream-xml + +mostlyclean-am: clean-appstream-xml + +%.appdata.valid: %.appdata.xml +	$(AM_V_GEN) if test -f "$<"; then d=; else d="$(srcdir)/"; fi; \ +		if test -n "$(APPSTREAM_UTIL)"; \ +			then $(APPSTREAM_UTIL) --nonet validate $${d}$<; fi \ +		&& touch [$]@ + +check-am: $(appstream_XML:.appdata.xml=.appdata.valid) +uninstall-am: uninstall-appstream-xml +install-data-am: install-appstream-xml + +.SECONDARY: $(appstream_XML) + +install-appstream-xml: $(appstream_XML) +	@$(NORMAL_INSTALL) +	if test -n "$^"; then \ +		test -z "$(appstreamxmldir)" || $(MKDIR_P) "$(DESTDIR)$(appstreamxmldir)"; \ +		$(INSTALL_DATA) $^ "$(DESTDIR)$(appstreamxmldir)"; \ +	fi + +uninstall-appstream-xml: +	@$(NORMAL_UNINSTALL) +	@list='\''$(appstream_XML)'\''; test -n "$(appstreamxmldir)" || list=; \ +	files=`for p in $$list; do echo $$p; done | sed -e '\''s|^.*/||'\''`; \ +	test -n "$$files" || exit 0; \ +	echo " ( cd '\''$(DESTDIR)$(appstreamxmldir)'\'' && rm -f" $$files ")"; \ +	cd "$(DESTDIR)$(appstreamxmldir)" && rm -f $$files + +clean-appstream-xml: +	rm -f $(appstream_XML:.appdata.xml=.appdata.valid) +' +  _APPSTREAM_XML_SUBST(APPSTREAM_XML_RULES) +]) + +dnl _APPSTREAM_XML_SUBST(VARIABLE) +dnl Abstract macro to do either _AM_SUBST_NOTMAKE or AC_SUBST +AC_DEFUN([_APPSTREAM_XML_SUBST], +[ +AC_SUBST([$1]) +m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])]) +] +) diff --git a/m4/gettext.m4 b/m4/gettext.m4 new file mode 100644 index 0000000..da31efe --- /dev/null +++ b/m4/gettext.m4 @@ -0,0 +1,405 @@ +# gettext.m4 serial 67 (gettext-0.19.6) +dnl Copyright (C) 1995-2014 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000. +dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2006, 2008-2010. + +dnl Macro to add for using GNU gettext. + +dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). +dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The +dnl    default (if it is not specified or empty) is 'no-libtool'. +dnl    INTLSYMBOL should be 'external' for packages with no intl directory, +dnl    and 'no-libtool' or 'use-libtool' for packages with an intl directory. +dnl    If INTLSYMBOL is 'use-libtool', then a libtool library +dnl    $(top_builddir)/intl/libintl.la will be created (shared and/or static, +dnl    depending on --{enable,disable}-{shared,static} and on the presence of +dnl    AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library +dnl    $(top_builddir)/intl/libintl.a will be created. +dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext +dnl    implementations (in libc or libintl) without the ngettext() function +dnl    will be ignored.  If NEEDSYMBOL is specified and is +dnl    'need-formatstring-macros', then GNU gettext implementations that don't +dnl    support the ISO C 99 <inttypes.h> formatstring macros will be ignored. +dnl INTLDIR is used to find the intl libraries.  If empty, +dnl    the value '$(top_builddir)/intl/' is used. +dnl +dnl The result of the configuration is one of three cases: +dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled +dnl    and used. +dnl    Catalog format: GNU --> install in $(datadir) +dnl    Catalog extension: .mo after installation, .gmo in source tree +dnl 2) GNU gettext has been found in the system's C library. +dnl    Catalog format: GNU --> install in $(datadir) +dnl    Catalog extension: .mo after installation, .gmo in source tree +dnl 3) No internationalization, always use English msgid. +dnl    Catalog format: none +dnl    Catalog extension: none +dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. +dnl The use of .gmo is historical (it was needed to avoid overwriting the +dnl GNU format catalogs when building on a platform with an X/Open gettext), +dnl but we keep it in order not to force irrelevant filename changes on the +dnl maintainers. +dnl +AC_DEFUN([AM_GNU_GETTEXT], +[ +  dnl Argument checking. +  ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , +    [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT +])])])])]) +  ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old], +    [AC_DIAGNOSE([obsolete], [Use of AM_GNU_GETTEXT without [external] argument is deprecated.])]) +  ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , +    [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT +])])])]) +  define([gt_included_intl], +    ifelse([$1], [external], +      ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]), +      [yes])) +  define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], [])) +  gt_NEEDS_INIT +  AM_GNU_GETTEXT_NEED([$2]) + +  AC_REQUIRE([AM_PO_SUBDIRS])dnl +  ifelse(gt_included_intl, yes, [ +    AC_REQUIRE([AM_INTL_SUBDIR])dnl +  ]) + +  dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. +  AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) +  AC_REQUIRE([AC_LIB_RPATH]) + +  dnl Sometimes libintl requires libiconv, so first search for libiconv. +  dnl Ideally we would do this search only after the +  dnl      if test "$USE_NLS" = "yes"; then +  dnl        if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then +  dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT +  dnl the configure script would need to contain the same shell code +  dnl again, outside any 'if'. There are two solutions: +  dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. +  dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. +  dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not +  dnl documented, we avoid it. +  ifelse(gt_included_intl, yes, , [ +    AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) +  ]) + +  dnl Sometimes, on Mac OS X, libintl requires linking with CoreFoundation. +  gt_INTL_MACOSX + +  dnl Set USE_NLS. +  AC_REQUIRE([AM_NLS]) + +  ifelse(gt_included_intl, yes, [ +    BUILD_INCLUDED_LIBINTL=no +    USE_INCLUDED_LIBINTL=no +  ]) +  LIBINTL= +  LTLIBINTL= +  POSUB= + +  dnl Add a version number to the cache macros. +  case " $gt_needs " in +    *" need-formatstring-macros "*) gt_api_version=3 ;; +    *" need-ngettext "*) gt_api_version=2 ;; +    *) gt_api_version=1 ;; +  esac +  gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" +  gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" + +  dnl If we use NLS figure out what method +  if test "$USE_NLS" = "yes"; then +    gt_use_preinstalled_gnugettext=no +    ifelse(gt_included_intl, yes, [ +      AC_MSG_CHECKING([whether included gettext is requested]) +      AC_ARG_WITH([included-gettext], +        [  --with-included-gettext use the GNU gettext library included here], +        nls_cv_force_use_gnu_gettext=$withval, +        nls_cv_force_use_gnu_gettext=no) +      AC_MSG_RESULT([$nls_cv_force_use_gnu_gettext]) + +      nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" +      if test "$nls_cv_force_use_gnu_gettext" != "yes"; then +    ]) +        dnl User does not insist on using GNU NLS library.  Figure out what +        dnl to use.  If GNU gettext is available we use this.  Else we have +        dnl to fall back to GNU NLS library. + +        if test $gt_api_version -ge 3; then +          gt_revision_test_code=' +#ifndef __GNU_GETTEXT_SUPPORTED_REVISION +#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) +#endif +changequote(,)dnl +typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; +changequote([,])dnl +' +        else +          gt_revision_test_code= +        fi +        if test $gt_api_version -ge 2; then +          gt_expression_test_code=' + * ngettext ("", "", 0)' +        else +          gt_expression_test_code= +        fi + +        AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc], +         [AC_LINK_IFELSE( +            [AC_LANG_PROGRAM( +               [[ +#include <libintl.h> +$gt_revision_test_code +extern int _nl_msg_cat_cntr; +extern int *_nl_domain_bindings; +               ]], +               [[ +bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings +               ]])], +            [eval "$gt_func_gnugettext_libc=yes"], +            [eval "$gt_func_gnugettext_libc=no"])]) + +        if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then +          dnl Sometimes libintl requires libiconv, so first search for libiconv. +          ifelse(gt_included_intl, yes, , [ +            AM_ICONV_LINK +          ]) +          dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL +          dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) +          dnl because that would add "-liconv" to LIBINTL and LTLIBINTL +          dnl even if libiconv doesn't exist. +          AC_LIB_LINKFLAGS_BODY([intl]) +          AC_CACHE_CHECK([for GNU gettext in libintl], +            [$gt_func_gnugettext_libintl], +           [gt_save_CPPFLAGS="$CPPFLAGS" +            CPPFLAGS="$CPPFLAGS $INCINTL" +            gt_save_LIBS="$LIBS" +            LIBS="$LIBS $LIBINTL" +            dnl Now see whether libintl exists and does not depend on libiconv. +            AC_LINK_IFELSE( +              [AC_LANG_PROGRAM( +                 [[ +#include <libintl.h> +$gt_revision_test_code +extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias (const char *); +                 ]], +                 [[ +bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") +                 ]])], +              [eval "$gt_func_gnugettext_libintl=yes"], +              [eval "$gt_func_gnugettext_libintl=no"]) +            dnl Now see whether libintl exists and depends on libiconv. +            if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then +              LIBS="$LIBS $LIBICONV" +              AC_LINK_IFELSE( +                [AC_LANG_PROGRAM( +                   [[ +#include <libintl.h> +$gt_revision_test_code +extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias (const char *); +                   ]], +                   [[ +bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") +                   ]])], +                [LIBINTL="$LIBINTL $LIBICONV" +                 LTLIBINTL="$LTLIBINTL $LTLIBICONV" +                 eval "$gt_func_gnugettext_libintl=yes" +                ]) +            fi +            CPPFLAGS="$gt_save_CPPFLAGS" +            LIBS="$gt_save_LIBS"]) +        fi + +        dnl If an already present or preinstalled GNU gettext() is found, +        dnl use it.  But if this macro is used in GNU gettext, and GNU +        dnl gettext is already preinstalled in libintl, we update this +        dnl libintl.  (Cf. the install rule in intl/Makefile.in.) +        if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ +           || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ +                && test "$PACKAGE" != gettext-runtime \ +                && test "$PACKAGE" != gettext-tools; }; then +          gt_use_preinstalled_gnugettext=yes +        else +          dnl Reset the values set by searching for libintl. +          LIBINTL= +          LTLIBINTL= +          INCINTL= +        fi + +    ifelse(gt_included_intl, yes, [ +        if test "$gt_use_preinstalled_gnugettext" != "yes"; then +          dnl GNU gettext is not found in the C library. +          dnl Fall back on included GNU gettext library. +          nls_cv_use_gnu_gettext=yes +        fi +      fi + +      if test "$nls_cv_use_gnu_gettext" = "yes"; then +        dnl Mark actions used to generate GNU NLS library. +        BUILD_INCLUDED_LIBINTL=yes +        USE_INCLUDED_LIBINTL=yes +        LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD" +        LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD" +        LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` +      fi + +      CATOBJEXT= +      if test "$gt_use_preinstalled_gnugettext" = "yes" \ +         || test "$nls_cv_use_gnu_gettext" = "yes"; then +        dnl Mark actions to use GNU gettext tools. +        CATOBJEXT=.gmo +      fi +    ]) + +    if test -n "$INTL_MACOSX_LIBS"; then +      if test "$gt_use_preinstalled_gnugettext" = "yes" \ +         || test "$nls_cv_use_gnu_gettext" = "yes"; then +        dnl Some extra flags are needed during linking. +        LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" +        LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" +      fi +    fi + +    if test "$gt_use_preinstalled_gnugettext" = "yes" \ +       || test "$nls_cv_use_gnu_gettext" = "yes"; then +      AC_DEFINE([ENABLE_NLS], [1], +        [Define to 1 if translation of program messages to the user's native language +   is requested.]) +    else +      USE_NLS=no +    fi +  fi + +  AC_MSG_CHECKING([whether to use NLS]) +  AC_MSG_RESULT([$USE_NLS]) +  if test "$USE_NLS" = "yes"; then +    AC_MSG_CHECKING([where the gettext function comes from]) +    if test "$gt_use_preinstalled_gnugettext" = "yes"; then +      if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then +        gt_source="external libintl" +      else +        gt_source="libc" +      fi +    else +      gt_source="included intl directory" +    fi +    AC_MSG_RESULT([$gt_source]) +  fi + +  if test "$USE_NLS" = "yes"; then + +    if test "$gt_use_preinstalled_gnugettext" = "yes"; then +      if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then +        AC_MSG_CHECKING([how to link with libintl]) +        AC_MSG_RESULT([$LIBINTL]) +        AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) +      fi + +      dnl For backward compatibility. Some packages may be using this. +      AC_DEFINE([HAVE_GETTEXT], [1], +       [Define if the GNU gettext() function is already present or preinstalled.]) +      AC_DEFINE([HAVE_DCGETTEXT], [1], +       [Define if the GNU dcgettext() function is already present or preinstalled.]) +    fi + +    dnl We need to process the po/ directory. +    POSUB=po +  fi + +  ifelse(gt_included_intl, yes, [ +    dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL +    dnl to 'yes' because some of the testsuite requires it. +    if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then +      BUILD_INCLUDED_LIBINTL=yes +    fi + +    dnl Make all variables we use known to autoconf. +    AC_SUBST([BUILD_INCLUDED_LIBINTL]) +    AC_SUBST([USE_INCLUDED_LIBINTL]) +    AC_SUBST([CATOBJEXT]) + +    dnl For backward compatibility. Some configure.ins may be using this. +    nls_cv_header_intl= +    nls_cv_header_libgt= + +    dnl For backward compatibility. Some Makefiles may be using this. +    DATADIRNAME=share +    AC_SUBST([DATADIRNAME]) + +    dnl For backward compatibility. Some Makefiles may be using this. +    INSTOBJEXT=.mo +    AC_SUBST([INSTOBJEXT]) + +    dnl For backward compatibility. Some Makefiles may be using this. +    GENCAT=gencat +    AC_SUBST([GENCAT]) + +    dnl For backward compatibility. Some Makefiles may be using this. +    INTLOBJS= +    if test "$USE_INCLUDED_LIBINTL" = yes; then +      INTLOBJS="\$(GETTOBJS)" +    fi +    AC_SUBST([INTLOBJS]) + +    dnl Enable libtool support if the surrounding package wishes it. +    INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix +    AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX]) +  ]) + +  dnl For backward compatibility. Some Makefiles may be using this. +  INTLLIBS="$LIBINTL" +  AC_SUBST([INTLLIBS]) + +  dnl Make all documented variables known to autoconf. +  AC_SUBST([LIBINTL]) +  AC_SUBST([LTLIBINTL]) +  AC_SUBST([POSUB]) +]) + + +dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized. +m4_define([gt_NEEDS_INIT], +[ +  m4_divert_text([DEFAULTS], [gt_needs=]) +  m4_define([gt_NEEDS_INIT], []) +]) + + +dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL]) +AC_DEFUN([AM_GNU_GETTEXT_NEED], +[ +  m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"]) +]) + + +dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) +AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) + + +dnl Usage: AM_GNU_GETTEXT_REQUIRE_VERSION([gettext-version]) +AC_DEFUN([AM_GNU_GETTEXT_REQUIRE_VERSION], []) diff --git a/m4/iconv.m4 b/m4/iconv.m4 new file mode 100644 index 0000000..4e37363 --- /dev/null +++ b/m4/iconv.m4 @@ -0,0 +1,271 @@ +# iconv.m4 serial 19 (gettext-0.18.2) +dnl Copyright (C) 2000-2002, 2007-2014 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], +[ +  dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. +  AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) +  AC_REQUIRE([AC_LIB_RPATH]) + +  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV +  dnl accordingly. +  AC_LIB_LINKFLAGS_BODY([iconv]) +]) + +AC_DEFUN([AM_ICONV_LINK], +[ +  dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and +  dnl those with the standalone portable GNU libiconv installed). +  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + +  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV +  dnl accordingly. +  AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) + +  dnl Add $INCICONV to CPPFLAGS before performing the following checks, +  dnl because if the user has installed libiconv and not disabled its use +  dnl via --without-libiconv-prefix, he wants to use it. The first +  dnl AC_LINK_IFELSE will then fail, the second AC_LINK_IFELSE will succeed. +  am_save_CPPFLAGS="$CPPFLAGS" +  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) + +  AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [ +    am_cv_func_iconv="no, consider installing GNU libiconv" +    am_cv_lib_iconv=no +    AC_LINK_IFELSE( +      [AC_LANG_PROGRAM( +         [[ +#include <stdlib.h> +#include <iconv.h> +         ]], +         [[iconv_t cd = iconv_open("",""); +           iconv(cd,NULL,NULL,NULL,NULL); +           iconv_close(cd);]])], +      [am_cv_func_iconv=yes]) +    if test "$am_cv_func_iconv" != yes; then +      am_save_LIBS="$LIBS" +      LIBS="$LIBS $LIBICONV" +      AC_LINK_IFELSE( +        [AC_LANG_PROGRAM( +           [[ +#include <stdlib.h> +#include <iconv.h> +           ]], +           [[iconv_t cd = iconv_open("",""); +             iconv(cd,NULL,NULL,NULL,NULL); +             iconv_close(cd);]])], +        [am_cv_lib_iconv=yes] +        [am_cv_func_iconv=yes]) +      LIBS="$am_save_LIBS" +    fi +  ]) +  if test "$am_cv_func_iconv" = yes; then +    AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [ +      dnl This tests against bugs in AIX 5.1, AIX 6.1..7.1, HP-UX 11.11, +      dnl Solaris 10. +      am_save_LIBS="$LIBS" +      if test $am_cv_lib_iconv = yes; then +        LIBS="$LIBS $LIBICONV" +      fi +      am_cv_func_iconv_works=no +      for ac_iconv_const in '' 'const'; do +        AC_RUN_IFELSE( +          [AC_LANG_PROGRAM( +             [[ +#include <iconv.h> +#include <string.h> + +#ifndef ICONV_CONST +# define ICONV_CONST $ac_iconv_const +#endif +             ]], +             [[int result = 0; +  /* Test against AIX 5.1 bug: Failures are not distinguishable from successful +     returns.  */ +  { +    iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); +    if (cd_utf8_to_88591 != (iconv_t)(-1)) +      { +        static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */ +        char buf[10]; +        ICONV_CONST char *inptr = input; +        size_t inbytesleft = strlen (input); +        char *outptr = buf; +        size_t outbytesleft = sizeof (buf); +        size_t res = iconv (cd_utf8_to_88591, +                            &inptr, &inbytesleft, +                            &outptr, &outbytesleft); +        if (res == 0) +          result |= 1; +        iconv_close (cd_utf8_to_88591); +      } +  } +  /* Test against Solaris 10 bug: Failures are not distinguishable from +     successful returns.  */ +  { +    iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); +    if (cd_ascii_to_88591 != (iconv_t)(-1)) +      { +        static ICONV_CONST char input[] = "\263"; +        char buf[10]; +        ICONV_CONST char *inptr = input; +        size_t inbytesleft = strlen (input); +        char *outptr = buf; +        size_t outbytesleft = sizeof (buf); +        size_t res = iconv (cd_ascii_to_88591, +                            &inptr, &inbytesleft, +                            &outptr, &outbytesleft); +        if (res == 0) +          result |= 2; +        iconv_close (cd_ascii_to_88591); +      } +  } +  /* Test against AIX 6.1..7.1 bug: Buffer overrun.  */ +  { +    iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1"); +    if (cd_88591_to_utf8 != (iconv_t)(-1)) +      { +        static ICONV_CONST char input[] = "\304"; +        static char buf[2] = { (char)0xDE, (char)0xAD }; +        ICONV_CONST char *inptr = input; +        size_t inbytesleft = 1; +        char *outptr = buf; +        size_t outbytesleft = 1; +        size_t res = iconv (cd_88591_to_utf8, +                            &inptr, &inbytesleft, +                            &outptr, &outbytesleft); +        if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD) +          result |= 4; +        iconv_close (cd_88591_to_utf8); +      } +  } +#if 0 /* This bug could be worked around by the caller.  */ +  /* Test against HP-UX 11.11 bug: Positive return value instead of 0.  */ +  { +    iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); +    if (cd_88591_to_utf8 != (iconv_t)(-1)) +      { +        static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; +        char buf[50]; +        ICONV_CONST char *inptr = input; +        size_t inbytesleft = strlen (input); +        char *outptr = buf; +        size_t outbytesleft = sizeof (buf); +        size_t res = iconv (cd_88591_to_utf8, +                            &inptr, &inbytesleft, +                            &outptr, &outbytesleft); +        if ((int)res > 0) +          result |= 8; +        iconv_close (cd_88591_to_utf8); +      } +  } +#endif +  /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is +     provided.  */ +  if (/* Try standardized names.  */ +      iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) +      /* Try IRIX, OSF/1 names.  */ +      && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) +      /* Try AIX names.  */ +      && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) +      /* Try HP-UX names.  */ +      && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) +    result |= 16; +  return result; +]])], +          [am_cv_func_iconv_works=yes], , +          [case "$host_os" in +             aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; +             *)            am_cv_func_iconv_works="guessing yes" ;; +           esac]) +        test "$am_cv_func_iconv_works" = no || break +      done +      LIBS="$am_save_LIBS" +    ]) +    case "$am_cv_func_iconv_works" in +      *no) am_func_iconv=no am_cv_lib_iconv=no ;; +      *)   am_func_iconv=yes ;; +    esac +  else +    am_func_iconv=no am_cv_lib_iconv=no +  fi +  if test "$am_func_iconv" = yes; then +    AC_DEFINE([HAVE_ICONV], [1], +      [Define if you have the iconv() function and it works.]) +  fi +  if test "$am_cv_lib_iconv" = yes; then +    AC_MSG_CHECKING([how to link with libiconv]) +    AC_MSG_RESULT([$LIBICONV]) +  else +    dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV +    dnl either. +    CPPFLAGS="$am_save_CPPFLAGS" +    LIBICONV= +    LTLIBICONV= +  fi +  AC_SUBST([LIBICONV]) +  AC_SUBST([LTLIBICONV]) +]) + +dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to +dnl avoid warnings like +dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required". +dnl This is tricky because of the way 'aclocal' is implemented: +dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN. +dnl   Otherwise aclocal's initial scan pass would miss the macro definition. +dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions. +dnl   Otherwise aclocal would emit many "Use of uninitialized value $1" +dnl   warnings. +m4_define([gl_iconv_AC_DEFUN], +  m4_version_prereq([2.64], +    [[AC_DEFUN_ONCE( +        [$1], [$2])]], +    [m4_ifdef([gl_00GNULIB], +       [[AC_DEFUN_ONCE( +           [$1], [$2])]], +       [[AC_DEFUN( +           [$1], [$2])]])])) +gl_iconv_AC_DEFUN([AM_ICONV], +[ +  AM_ICONV_LINK +  if test "$am_cv_func_iconv" = yes; then +    AC_MSG_CHECKING([for iconv declaration]) +    AC_CACHE_VAL([am_cv_proto_iconv], [ +      AC_COMPILE_IFELSE( +        [AC_LANG_PROGRAM( +           [[ +#include <stdlib.h> +#include <iconv.h> +extern +#ifdef __cplusplus +"C" +#endif +#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) +size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); +#else +size_t iconv(); +#endif +           ]], +           [[]])], +        [am_cv_proto_iconv_arg1=""], +        [am_cv_proto_iconv_arg1="const"]) +      am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) +    am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` +    AC_MSG_RESULT([ +         $am_cv_proto_iconv]) +    AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1], +      [Define as const if the declaration of iconv() needs const.]) +    dnl Also substitute ICONV_CONST in the gnulib generated <iconv.h>. +    m4_ifdef([gl_ICONV_H_DEFAULTS], +      [AC_REQUIRE([gl_ICONV_H_DEFAULTS]) +       if test -n "$am_cv_proto_iconv_arg1"; then +         ICONV_CONST="const" +       fi +      ]) +  fi +]) diff --git a/m4/intlmacosx.m4 b/m4/intlmacosx.m4 new file mode 100644 index 0000000..bba7b3d --- /dev/null +++ b/m4/intlmacosx.m4 @@ -0,0 +1,56 @@ +# intlmacosx.m4 serial 5 (gettext-0.18.2) +dnl Copyright (C) 2004-2014 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Checks for special options needed on Mac OS X. +dnl Defines INTL_MACOSX_LIBS. +AC_DEFUN([gt_INTL_MACOSX], +[ +  dnl Check for API introduced in Mac OS X 10.2. +  AC_CACHE_CHECK([for CFPreferencesCopyAppValue], +    [gt_cv_func_CFPreferencesCopyAppValue], +    [gt_save_LIBS="$LIBS" +     LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" +     AC_LINK_IFELSE( +       [AC_LANG_PROGRAM( +          [[#include <CoreFoundation/CFPreferences.h>]], +          [[CFPreferencesCopyAppValue(NULL, NULL)]])], +       [gt_cv_func_CFPreferencesCopyAppValue=yes], +       [gt_cv_func_CFPreferencesCopyAppValue=no]) +     LIBS="$gt_save_LIBS"]) +  if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then +    AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1], +      [Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) +  fi +  dnl Check for API introduced in Mac OS X 10.3. +  AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent], +    [gt_save_LIBS="$LIBS" +     LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" +     AC_LINK_IFELSE( +       [AC_LANG_PROGRAM( +          [[#include <CoreFoundation/CFLocale.h>]], +          [[CFLocaleCopyCurrent();]])], +       [gt_cv_func_CFLocaleCopyCurrent=yes], +       [gt_cv_func_CFLocaleCopyCurrent=no]) +     LIBS="$gt_save_LIBS"]) +  if test $gt_cv_func_CFLocaleCopyCurrent = yes; then +    AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1], +      [Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) +  fi +  INTL_MACOSX_LIBS= +  if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then +    INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" +  fi +  AC_SUBST([INTL_MACOSX_LIBS]) +]) diff --git a/m4/intltool.m4 b/m4/intltool.m4 deleted file mode 100644 index c25b7b1..0000000 --- a/m4/intltool.m4 +++ /dev/null @@ -1,212 +0,0 @@ -## intltool.m4 - Configure intltool for the target system. -*-Shell-script-*- -## Copyright (C) 2001 Eazel, Inc. -## Author: Maciej Stachowiak <mjs@noisehavoc.org> -##         Kenneth Christiansen <kenneth@gnu.org> -## -## This program is free software; you can redistribute it and/or modify -## it under the terms of the GNU General Public License as published by -## the Free Software Foundation; either version 2 of the License, or -## (at your option) any later version. -## -## This program is distributed in the hope that it will be useful, but -## WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -## General Public License for more details. -## -## You should have received a copy of the GNU General Public License -## along with this program; if not, write to the Free Software -## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -## -## As a special exception to the GNU General Public License, if you -## distribute this file as part of a program that contains a -## configuration script generated by Autoconf, you may include it under -## the same distribution terms that you use for the rest of that program. - -dnl IT_PROG_INTLTOOL([MINIMUM-VERSION], [no-xml]) -# serial 42 IT_PROG_INTLTOOL -AC_DEFUN([IT_PROG_INTLTOOL], [ -AC_PREREQ([2.50])dnl -AC_REQUIRE([AM_NLS])dnl - -case "$am__api_version" in -    1.[01234]) -	AC_MSG_ERROR([Automake 1.5 or newer is required to use intltool]) -    ;; -    *) -    ;; -esac - -INTLTOOL_REQUIRED_VERSION_AS_INT=`echo $1 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` -INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3` -INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` -if test -n "$1"; then -    AC_MSG_CHECKING([for intltool >= $1]) -    AC_MSG_RESULT([$INTLTOOL_APPLIED_VERSION found]) -    test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" || -	AC_MSG_ERROR([Your intltool is too old.  You need intltool $1 or later.]) -fi - -AC_PATH_PROG(INTLTOOL_UPDATE, [intltool-update]) -AC_PATH_PROG(INTLTOOL_MERGE, [intltool-merge]) -AC_PATH_PROG(INTLTOOL_EXTRACT, [intltool-extract]) -if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then -    AC_MSG_ERROR([The intltool scripts were not found. Please install intltool.]) -fi - -if test -z "$AM_DEFAULT_VERBOSITY"; then -  AM_DEFAULT_VERBOSITY=1 -fi -AC_SUBST([AM_DEFAULT_VERBOSITY]) - -INTLTOOL_V_MERGE='$(INTLTOOL__v_MERGE_$(V))' -INTLTOOL__v_MERGE_='$(INTLTOOL__v_MERGE_$(AM_DEFAULT_VERBOSITY))' -INTLTOOL__v_MERGE_0='@echo "  ITMRG " [$]@;' -AC_SUBST(INTLTOOL_V_MERGE) -AC_SUBST(INTLTOOL__v_MERGE_) -AC_SUBST(INTLTOOL__v_MERGE_0) - -INTLTOOL_V_MERGE_OPTIONS='$(intltool__v_merge_options_$(V))' -intltool__v_merge_options_='$(intltool__v_merge_options_$(AM_DEFAULT_VERBOSITY))' -intltool__v_merge_options_0='-q' -AC_SUBST(INTLTOOL_V_MERGE_OPTIONS) -AC_SUBST(intltool__v_merge_options_) -AC_SUBST(intltool__v_merge_options_0) - -  INTLTOOL_DESKTOP_RULE='%.desktop:   %.desktop.in   $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'  -INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'  -     INTLTOOL_KEYS_RULE='%.keys:      %.keys.in      $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'  -     INTLTOOL_PROP_RULE='%.prop:      %.prop.in      $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'  -      INTLTOOL_OAF_RULE='%.oaf:       %.oaf.in       $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -o -p $(top_srcdir)/po $< [$]@' -     INTLTOOL_PONG_RULE='%.pong:      %.pong.in      $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'  -   INTLTOOL_SERVER_RULE='%.server:    %.server.in    $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'  -    INTLTOOL_SHEET_RULE='%.sheet:     %.sheet.in     $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'  -INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'  -       INTLTOOL_UI_RULE='%.ui:        %.ui.in        $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'  -      INTLTOOL_XML_RULE='%.xml:       %.xml.in       $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'  -if test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge 5000; then -      INTLTOOL_XML_NOMERGE_RULE='%.xml:       %.xml.in       $(INTLTOOL_MERGE) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u --no-translations $< [$]@' -else -      INTLTOOL_XML_NOMERGE_RULE='%.xml:       %.xml.in       $(INTLTOOL_MERGE) ; $(INTLTOOL_V_MERGE)_it_tmp_dir=tmp.intltool.[$][$]RANDOM && mkdir [$][$]_it_tmp_dir && LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u [$][$]_it_tmp_dir $< [$]@ && rmdir [$][$]_it_tmp_dir' -fi -      INTLTOOL_XAM_RULE='%.xam:       %.xml.in       $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'  -      INTLTOOL_KBD_RULE='%.kbd:       %.kbd.in       $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'  -    INTLTOOL_CAVES_RULE='%.caves:     %.caves.in     $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'  -  INTLTOOL_SCHEMAS_RULE='%.schemas:   %.schemas.in   $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'  -    INTLTOOL_THEME_RULE='%.theme:     %.theme.in     $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'  -    INTLTOOL_SERVICE_RULE='%.service: %.service.in   $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' -   INTLTOOL_POLICY_RULE='%.policy:    %.policy.in    $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' - -_IT_SUBST(INTLTOOL_DESKTOP_RULE) -_IT_SUBST(INTLTOOL_DIRECTORY_RULE) -_IT_SUBST(INTLTOOL_KEYS_RULE) -_IT_SUBST(INTLTOOL_PROP_RULE) -_IT_SUBST(INTLTOOL_OAF_RULE) -_IT_SUBST(INTLTOOL_PONG_RULE) -_IT_SUBST(INTLTOOL_SERVER_RULE) -_IT_SUBST(INTLTOOL_SHEET_RULE) -_IT_SUBST(INTLTOOL_SOUNDLIST_RULE) -_IT_SUBST(INTLTOOL_UI_RULE) -_IT_SUBST(INTLTOOL_XAM_RULE) -_IT_SUBST(INTLTOOL_KBD_RULE) -_IT_SUBST(INTLTOOL_XML_RULE) -_IT_SUBST(INTLTOOL_XML_NOMERGE_RULE) -_IT_SUBST(INTLTOOL_CAVES_RULE) -_IT_SUBST(INTLTOOL_SCHEMAS_RULE) -_IT_SUBST(INTLTOOL_THEME_RULE) -_IT_SUBST(INTLTOOL_SERVICE_RULE) -_IT_SUBST(INTLTOOL_POLICY_RULE) - -# Check the gettext tools to make sure they are GNU -AC_PATH_PROG(XGETTEXT, xgettext) -AC_PATH_PROG(MSGMERGE, msgmerge) -AC_PATH_PROG(MSGFMT, msgfmt) -AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) -if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then -    AC_MSG_ERROR([GNU gettext tools not found; required for intltool]) -fi -xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`" -mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`" -mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`" -if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then -    AC_MSG_ERROR([GNU gettext tools not found; required for intltool]) -fi - -AC_PATH_PROG(INTLTOOL_PERL, perl) -if test -z "$INTLTOOL_PERL"; then -   AC_MSG_ERROR([perl not found]) -fi -AC_MSG_CHECKING([for perl >= 5.8.1]) -$INTLTOOL_PERL -e "use 5.8.1;" > /dev/null 2>&1 -if test $? -ne 0; then -   AC_MSG_ERROR([perl 5.8.1 is required for intltool]) -else -   IT_PERL_VERSION=`$INTLTOOL_PERL -e "printf '%vd', $^V"` -   AC_MSG_RESULT([$IT_PERL_VERSION]) -fi -if test "x$2" != "xno-xml"; then -   AC_MSG_CHECKING([for XML::Parser]) -   if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then -       AC_MSG_RESULT([ok]) -   else -       AC_MSG_ERROR([XML::Parser perl module is required for intltool]) -   fi -fi - -# Substitute ALL_LINGUAS so we can use it in po/Makefile -AC_SUBST(ALL_LINGUAS) - -IT_PO_SUBDIR([po]) - -]) - - -# IT_PO_SUBDIR(DIRNAME) -# --------------------- -# All po subdirs have to be declared with this macro; the subdir "po" is -# declared by IT_PROG_INTLTOOL. -# -AC_DEFUN([IT_PO_SUBDIR], -[AC_PREREQ([2.53])dnl We use ac_top_srcdir inside AC_CONFIG_COMMANDS. -dnl -dnl The following CONFIG_COMMANDS should be executed at the very end -dnl of config.status. -AC_CONFIG_COMMANDS_PRE([ -  AC_CONFIG_COMMANDS([$1/stamp-it], [ -    if [ ! grep "^# INTLTOOL_MAKEFILE$" "$1/Makefile.in" > /dev/null ]; then -       AC_MSG_ERROR([$1/Makefile.in.in was not created by intltoolize.]) -    fi -    rm -f "$1/stamp-it" "$1/stamp-it.tmp" "$1/POTFILES" "$1/Makefile.tmp" -    >"$1/stamp-it.tmp" -    [sed '/^#/d -	 s/^[[].*] *// -	 /^[ 	]*$/d -	'"s|^|	$ac_top_srcdir/|" \ -      "$srcdir/$1/POTFILES.in" | sed '$!s/$/ \\/' >"$1/POTFILES" -    ] -    [sed '/^POTFILES =/,/[^\\]$/ { -		/^POTFILES =/!d -		r $1/POTFILES -	  } -	 ' "$1/Makefile.in" >"$1/Makefile"] -    rm -f "$1/Makefile.tmp" -    mv "$1/stamp-it.tmp" "$1/stamp-it" -  ]) -])dnl -]) - -# _IT_SUBST(VARIABLE) -# ------------------- -# Abstract macro to do either _AM_SUBST_NOTMAKE or AC_SUBST -# -AC_DEFUN([_IT_SUBST], -[ -AC_SUBST([$1]) -m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])]) -] -) - -# deprecated macros -AU_ALIAS([AC_PROG_INTLTOOL], [IT_PROG_INTLTOOL]) -# A hint is needed for aclocal from Automake <= 1.9.4: -# AC_DEFUN([AC_PROG_INTLTOOL], ...) - diff --git a/m4/lib-ld.m4 b/m4/lib-ld.m4 new file mode 100644 index 0000000..91ca911 --- /dev/null +++ b/m4/lib-ld.m4 @@ -0,0 +1,119 @@ +# lib-ld.m4 serial 6 +dnl Copyright (C) 1996-2003, 2009-2015 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl Subroutines of libtool.m4, +dnl with replacements s/_*LT_PATH/AC_LIB_PROG/ and s/lt_/acl_/ to avoid +dnl collision with libtool.m4. + +dnl From libtool-2.4. Sets the variable with_gnu_ld to yes or no. +AC_DEFUN([AC_LIB_PROG_LD_GNU], +[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld], +[# I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 </dev/null` in +*GNU* | *'with BFD'*) +  acl_cv_prog_gnu_ld=yes +  ;; +*) +  acl_cv_prog_gnu_ld=no +  ;; +esac]) +with_gnu_ld=$acl_cv_prog_gnu_ld +]) + +dnl From libtool-2.4. Sets the variable LD. +AC_DEFUN([AC_LIB_PROG_LD], +[AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl + +AC_ARG_WITH([gnu-ld], +    [AS_HELP_STRING([--with-gnu-ld], +        [assume the C compiler uses GNU ld [default=no]])], +    [test "$withval" = no || with_gnu_ld=yes], +    [with_gnu_ld=no])dnl + +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then +  # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which +  # contains only /bin. Note that ksh looks also at the FPATH variable, +  # so we have to set that as well for the test. +  PATH_SEPARATOR=: +  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ +    && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ +           || PATH_SEPARATOR=';' +       } +fi + +ac_prog=ld +if test "$GCC" = yes; then +  # Check if gcc -print-prog-name=ld gives a path. +  AC_MSG_CHECKING([for ld used by $CC]) +  case $host in +  *-*-mingw*) +    # gcc leaves a trailing carriage return which upsets mingw +    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; +  *) +    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; +  esac +  case $ac_prog in +    # Accept absolute paths. +    [[\\/]]* | ?:[[\\/]]*) +      re_direlt='/[[^/]][[^/]]*/\.\./' +      # Canonicalize the pathname of ld +      ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'` +      while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do +        ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` +      done +      test -z "$LD" && LD="$ac_prog" +      ;; +  "") +    # If it fails, then pretend we aren't using GCC. +    ac_prog=ld +    ;; +  *) +    # If it is relative, then search for the first ld in PATH. +    with_gnu_ld=unknown +    ;; +  esac +elif test "$with_gnu_ld" = yes; then +  AC_MSG_CHECKING([for GNU ld]) +else +  AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL([acl_cv_path_LD], +[if test -z "$LD"; then +  acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR +  for ac_dir in $PATH; do +    IFS="$acl_save_ifs" +    test -z "$ac_dir" && ac_dir=. +    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then +      acl_cv_path_LD="$ac_dir/$ac_prog" +      # Check to see if the program is GNU ld.  I'd rather use --version, +      # but apparently some variants of GNU ld only accept -v. +      # Break only if it was the GNU/non-GNU ld that we prefer. +      case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in +      *GNU* | *'with BFD'*) +        test "$with_gnu_ld" != no && break +        ;; +      *) +        test "$with_gnu_ld" != yes && break +        ;; +      esac +    fi +  done +  IFS="$acl_save_ifs" +else +  acl_cv_path_LD="$LD" # Let the user override the test with a path. +fi]) +LD="$acl_cv_path_LD" +if test -n "$LD"; then +  AC_MSG_RESULT([$LD]) +else +  AC_MSG_RESULT([no]) +fi +test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) +AC_LIB_PROG_LD_GNU +]) diff --git a/m4/lib-link.m4 b/m4/lib-link.m4 new file mode 100644 index 0000000..d8d5d1f --- /dev/null +++ b/m4/lib-link.m4 @@ -0,0 +1,777 @@ +# lib-link.m4 serial 26 (gettext-0.18.2) +dnl Copyright (C) 2001-2015 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +AC_PREREQ([2.54]) + +dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and +dnl the libraries corresponding to explicit and implicit dependencies. +dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and +dnl augments the CPPFLAGS variable. +dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname +dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. +AC_DEFUN([AC_LIB_LINKFLAGS], +[ +  AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) +  AC_REQUIRE([AC_LIB_RPATH]) +  pushdef([Name],[m4_translit([$1],[./+-], [____])]) +  pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], +                                   [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) +  AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ +    AC_LIB_LINKFLAGS_BODY([$1], [$2]) +    ac_cv_lib[]Name[]_libs="$LIB[]NAME" +    ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" +    ac_cv_lib[]Name[]_cppflags="$INC[]NAME" +    ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX" +  ]) +  LIB[]NAME="$ac_cv_lib[]Name[]_libs" +  LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" +  INC[]NAME="$ac_cv_lib[]Name[]_cppflags" +  LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix" +  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) +  AC_SUBST([LIB]NAME) +  AC_SUBST([LTLIB]NAME) +  AC_SUBST([LIB]NAME[_PREFIX]) +  dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the +  dnl results of this search when this library appears as a dependency. +  HAVE_LIB[]NAME=yes +  popdef([NAME]) +  popdef([Name]) +]) + +dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message]) +dnl searches for libname and the libraries corresponding to explicit and +dnl implicit dependencies, together with the specified include files and +dnl the ability to compile and link the specified testcode. The missing-message +dnl defaults to 'no' and may contain additional hints for the user. +dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} +dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and +dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs +dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. +dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname +dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. +AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], +[ +  AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) +  AC_REQUIRE([AC_LIB_RPATH]) +  pushdef([Name],[m4_translit([$1],[./+-], [____])]) +  pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], +                                   [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) + +  dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME +  dnl accordingly. +  AC_LIB_LINKFLAGS_BODY([$1], [$2]) + +  dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, +  dnl because if the user has installed lib[]Name and not disabled its use +  dnl via --without-lib[]Name-prefix, he wants to use it. +  ac_save_CPPFLAGS="$CPPFLAGS" +  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) + +  AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ +    ac_save_LIBS="$LIBS" +    dnl If $LIB[]NAME contains some -l options, add it to the end of LIBS, +    dnl because these -l options might require -L options that are present in +    dnl LIBS. -l options benefit only from the -L options listed before it. +    dnl Otherwise, add it to the front of LIBS, because it may be a static +    dnl library that depends on another static library that is present in LIBS. +    dnl Static libraries benefit only from the static libraries listed after +    dnl it. +    case " $LIB[]NAME" in +      *" -l"*) LIBS="$LIBS $LIB[]NAME" ;; +      *)       LIBS="$LIB[]NAME $LIBS" ;; +    esac +    AC_LINK_IFELSE( +      [AC_LANG_PROGRAM([[$3]], [[$4]])], +      [ac_cv_lib[]Name=yes], +      [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])']) +    LIBS="$ac_save_LIBS" +  ]) +  if test "$ac_cv_lib[]Name" = yes; then +    HAVE_LIB[]NAME=yes +    AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.]) +    AC_MSG_CHECKING([how to link with lib[]$1]) +    AC_MSG_RESULT([$LIB[]NAME]) +  else +    HAVE_LIB[]NAME=no +    dnl If $LIB[]NAME didn't lead to a usable library, we don't need +    dnl $INC[]NAME either. +    CPPFLAGS="$ac_save_CPPFLAGS" +    LIB[]NAME= +    LTLIB[]NAME= +    LIB[]NAME[]_PREFIX= +  fi +  AC_SUBST([HAVE_LIB]NAME) +  AC_SUBST([LIB]NAME) +  AC_SUBST([LTLIB]NAME) +  AC_SUBST([LIB]NAME[_PREFIX]) +  popdef([NAME]) +  popdef([Name]) +]) + +dnl Determine the platform dependent parameters needed to use rpath: +dnl   acl_libext, +dnl   acl_shlibext, +dnl   acl_libname_spec, +dnl   acl_library_names_spec, +dnl   acl_hardcode_libdir_flag_spec, +dnl   acl_hardcode_libdir_separator, +dnl   acl_hardcode_direct, +dnl   acl_hardcode_minus_L. +AC_DEFUN([AC_LIB_RPATH], +[ +  dnl Tell automake >= 1.10 to complain if config.rpath is missing. +  m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) +  AC_REQUIRE([AC_PROG_CC])                dnl we use $CC, $GCC, $LDFLAGS +  AC_REQUIRE([AC_LIB_PROG_LD])            dnl we use $LD, $with_gnu_ld +  AC_REQUIRE([AC_CANONICAL_HOST])         dnl we use $host +  AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir +  AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [ +    CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ +    ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh +    . ./conftest.sh +    rm -f ./conftest.sh +    acl_cv_rpath=done +  ]) +  wl="$acl_cv_wl" +  acl_libext="$acl_cv_libext" +  acl_shlibext="$acl_cv_shlibext" +  acl_libname_spec="$acl_cv_libname_spec" +  acl_library_names_spec="$acl_cv_library_names_spec" +  acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" +  acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" +  acl_hardcode_direct="$acl_cv_hardcode_direct" +  acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" +  dnl Determine whether the user wants rpath handling at all. +  AC_ARG_ENABLE([rpath], +    [  --disable-rpath         do not hardcode runtime library paths], +    :, enable_rpath=yes) +]) + +dnl AC_LIB_FROMPACKAGE(name, package) +dnl declares that libname comes from the given package. The configure file +dnl will then not have a --with-libname-prefix option but a +dnl --with-package-prefix option. Several libraries can come from the same +dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar +dnl macro call that searches for libname. +AC_DEFUN([AC_LIB_FROMPACKAGE], +[ +  pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], +                                   [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) +  define([acl_frompackage_]NAME, [$2]) +  popdef([NAME]) +  pushdef([PACK],[$2]) +  pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-], +                                     [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) +  define([acl_libsinpackage_]PACKUP, +    m4_ifdef([acl_libsinpackage_]PACKUP, [m4_defn([acl_libsinpackage_]PACKUP)[, ]],)[lib$1]) +  popdef([PACKUP]) +  popdef([PACK]) +]) + +dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and +dnl the libraries corresponding to explicit and implicit dependencies. +dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. +dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found +dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem. +AC_DEFUN([AC_LIB_LINKFLAGS_BODY], +[ +  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) +  pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], +                                   [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) +  pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])]) +  pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-], +                                     [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) +  pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])]) +  dnl Autoconf >= 2.61 supports dots in --with options. +  pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[m4_translit(PACK,[.],[_])],PACK)]) +  dnl By default, look in $includedir and $libdir. +  use_additional=yes +  AC_LIB_WITH_FINAL_PREFIX([ +    eval additional_includedir=\"$includedir\" +    eval additional_libdir=\"$libdir\" +  ]) +  AC_ARG_WITH(P_A_C_K[-prefix], +[[  --with-]]P_A_C_K[[-prefix[=DIR]  search for ]PACKLIBS[ in DIR/include and DIR/lib +  --without-]]P_A_C_K[[-prefix     don't search for ]PACKLIBS[ in includedir and libdir]], +[ +    if test "X$withval" = "Xno"; then +      use_additional=no +    else +      if test "X$withval" = "X"; then +        AC_LIB_WITH_FINAL_PREFIX([ +          eval additional_includedir=\"$includedir\" +          eval additional_libdir=\"$libdir\" +        ]) +      else +        additional_includedir="$withval/include" +        additional_libdir="$withval/$acl_libdirstem" +        if test "$acl_libdirstem2" != "$acl_libdirstem" \ +           && ! test -d "$withval/$acl_libdirstem"; then +          additional_libdir="$withval/$acl_libdirstem2" +        fi +      fi +    fi +]) +  dnl Search the library and its dependencies in $additional_libdir and +  dnl $LDFLAGS. Using breadth-first-seach. +  LIB[]NAME= +  LTLIB[]NAME= +  INC[]NAME= +  LIB[]NAME[]_PREFIX= +  dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been +  dnl computed. So it has to be reset here. +  HAVE_LIB[]NAME= +  rpathdirs= +  ltrpathdirs= +  names_already_handled= +  names_next_round='$1 $2' +  while test -n "$names_next_round"; do +    names_this_round="$names_next_round" +    names_next_round= +    for name in $names_this_round; do +      already_handled= +      for n in $names_already_handled; do +        if test "$n" = "$name"; then +          already_handled=yes +          break +        fi +      done +      if test -z "$already_handled"; then +        names_already_handled="$names_already_handled $name" +        dnl See if it was already located by an earlier AC_LIB_LINKFLAGS +        dnl or AC_LIB_HAVE_LINKFLAGS call. +        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'` +        eval value=\"\$HAVE_LIB$uppername\" +        if test -n "$value"; then +          if test "$value" = yes; then +            eval value=\"\$LIB$uppername\" +            test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" +            eval value=\"\$LTLIB$uppername\" +            test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" +          else +            dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined +            dnl that this library doesn't exist. So just drop it. +            : +          fi +        else +          dnl Search the library lib$name in $additional_libdir and $LDFLAGS +          dnl and the already constructed $LIBNAME/$LTLIBNAME. +          found_dir= +          found_la= +          found_so= +          found_a= +          eval libname=\"$acl_libname_spec\"    # typically: libname=lib$name +          if test -n "$acl_shlibext"; then +            shrext=".$acl_shlibext"             # typically: shrext=.so +          else +            shrext= +          fi +          if test $use_additional = yes; then +            dir="$additional_libdir" +            dnl The same code as in the loop below: +            dnl First look for a shared library. +            if test -n "$acl_shlibext"; then +              if test -f "$dir/$libname$shrext"; then +                found_dir="$dir" +                found_so="$dir/$libname$shrext" +              else +                if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then +                  ver=`(cd "$dir" && \ +                        for f in "$libname$shrext".*; do echo "$f"; done \ +                        | sed -e "s,^$libname$shrext\\\\.,," \ +                        | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ +                        | sed 1q ) 2>/dev/null` +                  if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then +                    found_dir="$dir" +                    found_so="$dir/$libname$shrext.$ver" +                  fi +                else +                  eval library_names=\"$acl_library_names_spec\" +                  for f in $library_names; do +                    if test -f "$dir/$f"; then +                      found_dir="$dir" +                      found_so="$dir/$f" +                      break +                    fi +                  done +                fi +              fi +            fi +            dnl Then look for a static library. +            if test "X$found_dir" = "X"; then +              if test -f "$dir/$libname.$acl_libext"; then +                found_dir="$dir" +                found_a="$dir/$libname.$acl_libext" +              fi +            fi +            if test "X$found_dir" != "X"; then +              if test -f "$dir/$libname.la"; then +                found_la="$dir/$libname.la" +              fi +            fi +          fi +          if test "X$found_dir" = "X"; then +            for x in $LDFLAGS $LTLIB[]NAME; do +              AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) +              case "$x" in +                -L*) +                  dir=`echo "X$x" | sed -e 's/^X-L//'` +                  dnl First look for a shared library. +                  if test -n "$acl_shlibext"; then +                    if test -f "$dir/$libname$shrext"; then +                      found_dir="$dir" +                      found_so="$dir/$libname$shrext" +                    else +                      if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then +                        ver=`(cd "$dir" && \ +                              for f in "$libname$shrext".*; do echo "$f"; done \ +                              | sed -e "s,^$libname$shrext\\\\.,," \ +                              | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ +                              | sed 1q ) 2>/dev/null` +                        if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then +                          found_dir="$dir" +                          found_so="$dir/$libname$shrext.$ver" +                        fi +                      else +                        eval library_names=\"$acl_library_names_spec\" +                        for f in $library_names; do +                          if test -f "$dir/$f"; then +                            found_dir="$dir" +                            found_so="$dir/$f" +                            break +                          fi +                        done +                      fi +                    fi +                  fi +                  dnl Then look for a static library. +                  if test "X$found_dir" = "X"; then +                    if test -f "$dir/$libname.$acl_libext"; then +                      found_dir="$dir" +                      found_a="$dir/$libname.$acl_libext" +                    fi +                  fi +                  if test "X$found_dir" != "X"; then +                    if test -f "$dir/$libname.la"; then +                      found_la="$dir/$libname.la" +                    fi +                  fi +                  ;; +              esac +              if test "X$found_dir" != "X"; then +                break +              fi +            done +          fi +          if test "X$found_dir" != "X"; then +            dnl Found the library. +            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" +            if test "X$found_so" != "X"; then +              dnl Linking with a shared library. We attempt to hardcode its +              dnl directory into the executable's runpath, unless it's the +              dnl standard /usr/lib. +              if test "$enable_rpath" = no \ +                 || test "X$found_dir" = "X/usr/$acl_libdirstem" \ +                 || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then +                dnl No hardcoding is needed. +                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" +              else +                dnl Use an explicit option to hardcode DIR into the resulting +                dnl binary. +                dnl Potentially add DIR to ltrpathdirs. +                dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. +                haveit= +                for x in $ltrpathdirs; do +                  if test "X$x" = "X$found_dir"; then +                    haveit=yes +                    break +                  fi +                done +                if test -z "$haveit"; then +                  ltrpathdirs="$ltrpathdirs $found_dir" +                fi +                dnl The hardcoding into $LIBNAME is system dependent. +                if test "$acl_hardcode_direct" = yes; then +                  dnl Using DIR/libNAME.so during linking hardcodes DIR into the +                  dnl resulting binary. +                  LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" +                else +                  if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then +                    dnl Use an explicit option to hardcode DIR into the resulting +                    dnl binary. +                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" +                    dnl Potentially add DIR to rpathdirs. +                    dnl The rpathdirs will be appended to $LIBNAME at the end. +                    haveit= +                    for x in $rpathdirs; do +                      if test "X$x" = "X$found_dir"; then +                        haveit=yes +                        break +                      fi +                    done +                    if test -z "$haveit"; then +                      rpathdirs="$rpathdirs $found_dir" +                    fi +                  else +                    dnl Rely on "-L$found_dir". +                    dnl But don't add it if it's already contained in the LDFLAGS +                    dnl or the already constructed $LIBNAME +                    haveit= +                    for x in $LDFLAGS $LIB[]NAME; do +                      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) +                      if test "X$x" = "X-L$found_dir"; then +                        haveit=yes +                        break +                      fi +                    done +                    if test -z "$haveit"; then +                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" +                    fi +                    if test "$acl_hardcode_minus_L" != no; then +                      dnl FIXME: Not sure whether we should use +                      dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" +                      dnl here. +                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" +                    else +                      dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH +                      dnl here, because this doesn't fit in flags passed to the +                      dnl compiler. So give up. No hardcoding. This affects only +                      dnl very old systems. +                      dnl FIXME: Not sure whether we should use +                      dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" +                      dnl here. +                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" +                    fi +                  fi +                fi +              fi +            else +              if test "X$found_a" != "X"; then +                dnl Linking with a static library. +                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" +              else +                dnl We shouldn't come here, but anyway it's good to have a +                dnl fallback. +                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" +              fi +            fi +            dnl Assume the include files are nearby. +            additional_includedir= +            case "$found_dir" in +              */$acl_libdirstem | */$acl_libdirstem/) +                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` +                if test "$name" = '$1'; then +                  LIB[]NAME[]_PREFIX="$basedir" +                fi +                additional_includedir="$basedir/include" +                ;; +              */$acl_libdirstem2 | */$acl_libdirstem2/) +                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` +                if test "$name" = '$1'; then +                  LIB[]NAME[]_PREFIX="$basedir" +                fi +                additional_includedir="$basedir/include" +                ;; +            esac +            if test "X$additional_includedir" != "X"; then +              dnl Potentially add $additional_includedir to $INCNAME. +              dnl But don't add it +              dnl   1. if it's the standard /usr/include, +              dnl   2. if it's /usr/local/include and we are using GCC on Linux, +              dnl   3. if it's already present in $CPPFLAGS or the already +              dnl      constructed $INCNAME, +              dnl   4. if it doesn't exist as a directory. +              if test "X$additional_includedir" != "X/usr/include"; then +                haveit= +                if test "X$additional_includedir" = "X/usr/local/include"; then +                  if test -n "$GCC"; then +                    case $host_os in +                      linux* | gnu* | k*bsd*-gnu) haveit=yes;; +                    esac +                  fi +                fi +                if test -z "$haveit"; then +                  for x in $CPPFLAGS $INC[]NAME; do +                    AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) +                    if test "X$x" = "X-I$additional_includedir"; then +                      haveit=yes +                      break +                    fi +                  done +                  if test -z "$haveit"; then +                    if test -d "$additional_includedir"; then +                      dnl Really add $additional_includedir to $INCNAME. +                      INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" +                    fi +                  fi +                fi +              fi +            fi +            dnl Look for dependencies. +            if test -n "$found_la"; then +              dnl Read the .la file. It defines the variables +              dnl dlname, library_names, old_library, dependency_libs, current, +              dnl age, revision, installed, dlopen, dlpreopen, libdir. +              save_libdir="$libdir" +              case "$found_la" in +                */* | *\\*) . "$found_la" ;; +                *) . "./$found_la" ;; +              esac +              libdir="$save_libdir" +              dnl We use only dependency_libs. +              for dep in $dependency_libs; do +                case "$dep" in +                  -L*) +                    additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` +                    dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. +                    dnl But don't add it +                    dnl   1. if it's the standard /usr/lib, +                    dnl   2. if it's /usr/local/lib and we are using GCC on Linux, +                    dnl   3. if it's already present in $LDFLAGS or the already +                    dnl      constructed $LIBNAME, +                    dnl   4. if it doesn't exist as a directory. +                    if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ +                       && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then +                      haveit= +                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ +                         || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then +                        if test -n "$GCC"; then +                          case $host_os in +                            linux* | gnu* | k*bsd*-gnu) haveit=yes;; +                          esac +                        fi +                      fi +                      if test -z "$haveit"; then +                        haveit= +                        for x in $LDFLAGS $LIB[]NAME; do +                          AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) +                          if test "X$x" = "X-L$additional_libdir"; then +                            haveit=yes +                            break +                          fi +                        done +                        if test -z "$haveit"; then +                          if test -d "$additional_libdir"; then +                            dnl Really add $additional_libdir to $LIBNAME. +                            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" +                          fi +                        fi +                        haveit= +                        for x in $LDFLAGS $LTLIB[]NAME; do +                          AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) +                          if test "X$x" = "X-L$additional_libdir"; then +                            haveit=yes +                            break +                          fi +                        done +                        if test -z "$haveit"; then +                          if test -d "$additional_libdir"; then +                            dnl Really add $additional_libdir to $LTLIBNAME. +                            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" +                          fi +                        fi +                      fi +                    fi +                    ;; +                  -R*) +                    dir=`echo "X$dep" | sed -e 's/^X-R//'` +                    if test "$enable_rpath" != no; then +                      dnl Potentially add DIR to rpathdirs. +                      dnl The rpathdirs will be appended to $LIBNAME at the end. +                      haveit= +                      for x in $rpathdirs; do +                        if test "X$x" = "X$dir"; then +                          haveit=yes +                          break +                        fi +                      done +                      if test -z "$haveit"; then +                        rpathdirs="$rpathdirs $dir" +                      fi +                      dnl Potentially add DIR to ltrpathdirs. +                      dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. +                      haveit= +                      for x in $ltrpathdirs; do +                        if test "X$x" = "X$dir"; then +                          haveit=yes +                          break +                        fi +                      done +                      if test -z "$haveit"; then +                        ltrpathdirs="$ltrpathdirs $dir" +                      fi +                    fi +                    ;; +                  -l*) +                    dnl Handle this in the next round. +                    names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` +                    ;; +                  *.la) +                    dnl Handle this in the next round. Throw away the .la's +                    dnl directory; it is already contained in a preceding -L +                    dnl option. +                    names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` +                    ;; +                  *) +                    dnl Most likely an immediate library name. +                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" +                    LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" +                    ;; +                esac +              done +            fi +          else +            dnl Didn't find the library; assume it is in the system directories +            dnl known to the linker and runtime loader. (All the system +            dnl directories known to the linker should also be known to the +            dnl runtime loader, otherwise the system is severely misconfigured.) +            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" +            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" +          fi +        fi +      fi +    done +  done +  if test "X$rpathdirs" != "X"; then +    if test -n "$acl_hardcode_libdir_separator"; then +      dnl Weird platform: only the last -rpath option counts, the user must +      dnl pass all path elements in one option. We can arrange that for a +      dnl single library, but not when more than one $LIBNAMEs are used. +      alldirs= +      for found_dir in $rpathdirs; do +        alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" +      done +      dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl. +      acl_save_libdir="$libdir" +      libdir="$alldirs" +      eval flag=\"$acl_hardcode_libdir_flag_spec\" +      libdir="$acl_save_libdir" +      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" +    else +      dnl The -rpath options are cumulative. +      for found_dir in $rpathdirs; do +        acl_save_libdir="$libdir" +        libdir="$found_dir" +        eval flag=\"$acl_hardcode_libdir_flag_spec\" +        libdir="$acl_save_libdir" +        LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" +      done +    fi +  fi +  if test "X$ltrpathdirs" != "X"; then +    dnl When using libtool, the option that works for both libraries and +    dnl executables is -R. The -R options are cumulative. +    for found_dir in $ltrpathdirs; do +      LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" +    done +  fi +  popdef([P_A_C_K]) +  popdef([PACKLIBS]) +  popdef([PACKUP]) +  popdef([PACK]) +  popdef([NAME]) +]) + +dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, +dnl unless already present in VAR. +dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes +dnl contains two or three consecutive elements that belong together. +AC_DEFUN([AC_LIB_APPENDTOVAR], +[ +  for element in [$2]; do +    haveit= +    for x in $[$1]; do +      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) +      if test "X$x" = "X$element"; then +        haveit=yes +        break +      fi +    done +    if test -z "$haveit"; then +      [$1]="${[$1]}${[$1]:+ }$element" +    fi +  done +]) + +dnl For those cases where a variable contains several -L and -l options +dnl referring to unknown libraries and directories, this macro determines the +dnl necessary additional linker options for the runtime path. +dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL]) +dnl sets LDADDVAR to linker options needed together with LIBSVALUE. +dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed, +dnl otherwise linking without libtool is assumed. +AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], +[ +  AC_REQUIRE([AC_LIB_RPATH]) +  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) +  $1= +  if test "$enable_rpath" != no; then +    if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then +      dnl Use an explicit option to hardcode directories into the resulting +      dnl binary. +      rpathdirs= +      next= +      for opt in $2; do +        if test -n "$next"; then +          dir="$next" +          dnl No need to hardcode the standard /usr/lib. +          if test "X$dir" != "X/usr/$acl_libdirstem" \ +             && test "X$dir" != "X/usr/$acl_libdirstem2"; then +            rpathdirs="$rpathdirs $dir" +          fi +          next= +        else +          case $opt in +            -L) next=yes ;; +            -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` +                 dnl No need to hardcode the standard /usr/lib. +                 if test "X$dir" != "X/usr/$acl_libdirstem" \ +                    && test "X$dir" != "X/usr/$acl_libdirstem2"; then +                   rpathdirs="$rpathdirs $dir" +                 fi +                 next= ;; +            *) next= ;; +          esac +        fi +      done +      if test "X$rpathdirs" != "X"; then +        if test -n ""$3""; then +          dnl libtool is used for linking. Use -R options. +          for dir in $rpathdirs; do +            $1="${$1}${$1:+ }-R$dir" +          done +        else +          dnl The linker is used for linking directly. +          if test -n "$acl_hardcode_libdir_separator"; then +            dnl Weird platform: only the last -rpath option counts, the user +            dnl must pass all path elements in one option. +            alldirs= +            for dir in $rpathdirs; do +              alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir" +            done +            acl_save_libdir="$libdir" +            libdir="$alldirs" +            eval flag=\"$acl_hardcode_libdir_flag_spec\" +            libdir="$acl_save_libdir" +            $1="$flag" +          else +            dnl The -rpath options are cumulative. +            for dir in $rpathdirs; do +              acl_save_libdir="$libdir" +              libdir="$dir" +              eval flag=\"$acl_hardcode_libdir_flag_spec\" +              libdir="$acl_save_libdir" +              $1="${$1}${$1:+ }$flag" +            done +          fi +        fi +      fi +    fi +  fi +  AC_SUBST([$1]) +]) diff --git a/m4/lib-prefix.m4 b/m4/lib-prefix.m4 new file mode 100644 index 0000000..0465f47 --- /dev/null +++ b/m4/lib-prefix.m4 @@ -0,0 +1,224 @@ +# lib-prefix.m4 serial 7 (gettext-0.18) +dnl Copyright (C) 2001-2005, 2008-2015 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and +dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't +dnl require excessive bracketing. +ifdef([AC_HELP_STRING], +[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], +[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) + +dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed +dnl to access previously installed libraries. The basic assumption is that +dnl a user will want packages to use other packages he previously installed +dnl with the same --prefix option. +dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate +dnl libraries, but is otherwise very convenient. +AC_DEFUN([AC_LIB_PREFIX], +[ +  AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) +  AC_REQUIRE([AC_PROG_CC]) +  AC_REQUIRE([AC_CANONICAL_HOST]) +  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) +  AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) +  dnl By default, look in $includedir and $libdir. +  use_additional=yes +  AC_LIB_WITH_FINAL_PREFIX([ +    eval additional_includedir=\"$includedir\" +    eval additional_libdir=\"$libdir\" +  ]) +  AC_LIB_ARG_WITH([lib-prefix], +[  --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib +  --without-lib-prefix    don't search for libraries in includedir and libdir], +[ +    if test "X$withval" = "Xno"; then +      use_additional=no +    else +      if test "X$withval" = "X"; then +        AC_LIB_WITH_FINAL_PREFIX([ +          eval additional_includedir=\"$includedir\" +          eval additional_libdir=\"$libdir\" +        ]) +      else +        additional_includedir="$withval/include" +        additional_libdir="$withval/$acl_libdirstem" +      fi +    fi +]) +  if test $use_additional = yes; then +    dnl Potentially add $additional_includedir to $CPPFLAGS. +    dnl But don't add it +    dnl   1. if it's the standard /usr/include, +    dnl   2. if it's already present in $CPPFLAGS, +    dnl   3. if it's /usr/local/include and we are using GCC on Linux, +    dnl   4. if it doesn't exist as a directory. +    if test "X$additional_includedir" != "X/usr/include"; then +      haveit= +      for x in $CPPFLAGS; do +        AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) +        if test "X$x" = "X-I$additional_includedir"; then +          haveit=yes +          break +        fi +      done +      if test -z "$haveit"; then +        if test "X$additional_includedir" = "X/usr/local/include"; then +          if test -n "$GCC"; then +            case $host_os in +              linux* | gnu* | k*bsd*-gnu) haveit=yes;; +            esac +          fi +        fi +        if test -z "$haveit"; then +          if test -d "$additional_includedir"; then +            dnl Really add $additional_includedir to $CPPFLAGS. +            CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" +          fi +        fi +      fi +    fi +    dnl Potentially add $additional_libdir to $LDFLAGS. +    dnl But don't add it +    dnl   1. if it's the standard /usr/lib, +    dnl   2. if it's already present in $LDFLAGS, +    dnl   3. if it's /usr/local/lib and we are using GCC on Linux, +    dnl   4. if it doesn't exist as a directory. +    if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then +      haveit= +      for x in $LDFLAGS; do +        AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) +        if test "X$x" = "X-L$additional_libdir"; then +          haveit=yes +          break +        fi +      done +      if test -z "$haveit"; then +        if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then +          if test -n "$GCC"; then +            case $host_os in +              linux*) haveit=yes;; +            esac +          fi +        fi +        if test -z "$haveit"; then +          if test -d "$additional_libdir"; then +            dnl Really add $additional_libdir to $LDFLAGS. +            LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" +          fi +        fi +      fi +    fi +  fi +]) + +dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, +dnl acl_final_exec_prefix, containing the values to which $prefix and +dnl $exec_prefix will expand at the end of the configure script. +AC_DEFUN([AC_LIB_PREPARE_PREFIX], +[ +  dnl Unfortunately, prefix and exec_prefix get only finally determined +  dnl at the end of configure. +  if test "X$prefix" = "XNONE"; then +    acl_final_prefix="$ac_default_prefix" +  else +    acl_final_prefix="$prefix" +  fi +  if test "X$exec_prefix" = "XNONE"; then +    acl_final_exec_prefix='${prefix}' +  else +    acl_final_exec_prefix="$exec_prefix" +  fi +  acl_save_prefix="$prefix" +  prefix="$acl_final_prefix" +  eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" +  prefix="$acl_save_prefix" +]) + +dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the +dnl variables prefix and exec_prefix bound to the values they will have +dnl at the end of the configure script. +AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], +[ +  acl_save_prefix="$prefix" +  prefix="$acl_final_prefix" +  acl_save_exec_prefix="$exec_prefix" +  exec_prefix="$acl_final_exec_prefix" +  $1 +  exec_prefix="$acl_save_exec_prefix" +  prefix="$acl_save_prefix" +]) + +dnl AC_LIB_PREPARE_MULTILIB creates +dnl - a variable acl_libdirstem, containing the basename of the libdir, either +dnl   "lib" or "lib64" or "lib/64", +dnl - a variable acl_libdirstem2, as a secondary possible value for +dnl   acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or +dnl   "lib/amd64". +AC_DEFUN([AC_LIB_PREPARE_MULTILIB], +[ +  dnl There is no formal standard regarding lib and lib64. +  dnl On glibc systems, the current practice is that on a system supporting +  dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under +  dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine +  dnl the compiler's default mode by looking at the compiler's library search +  dnl path. If at least one of its elements ends in /lib64 or points to a +  dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI. +  dnl Otherwise we use the default, namely "lib". +  dnl On Solaris systems, the current practice is that on a system supporting +  dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under +  dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or +  dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib. +  AC_REQUIRE([AC_CANONICAL_HOST]) +  acl_libdirstem=lib +  acl_libdirstem2= +  case "$host_os" in +    solaris*) +      dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment +      dnl <http://docs.sun.com/app/docs/doc/816-5138/dev-env?l=en&a=view>. +      dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link." +      dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the +      dnl symlink is missing, so we set acl_libdirstem2 too. +      AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit], +        [AC_EGREP_CPP([sixtyfour bits], [ +#ifdef _LP64 +sixtyfour bits +#endif +           ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no]) +        ]) +      if test $gl_cv_solaris_64bit = yes; then +        acl_libdirstem=lib/64 +        case "$host_cpu" in +          sparc*)        acl_libdirstem2=lib/sparcv9 ;; +          i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; +        esac +      fi +      ;; +    *) +      searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` +      if test -n "$searchpath"; then +        acl_save_IFS="${IFS= 	}"; IFS=":" +        for searchdir in $searchpath; do +          if test -d "$searchdir"; then +            case "$searchdir" in +              */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; +              */../ | */.. ) +                # Better ignore directories of this form. They are misleading. +                ;; +              *) searchdir=`cd "$searchdir" && pwd` +                 case "$searchdir" in +                   */lib64 ) acl_libdirstem=lib64 ;; +                 esac ;; +            esac +          fi +        done +        IFS="$acl_save_IFS" +      fi +      ;; +  esac +  test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" +]) diff --git a/m4/po.m4 b/m4/po.m4 new file mode 100644 index 0000000..d4bc262 --- /dev/null +++ b/m4/po.m4 @@ -0,0 +1,453 @@ +# po.m4 serial 24 (gettext-0.19) +dnl Copyright (C) 1995-2014 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000. +dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003. + +AC_PREREQ([2.60]) + +dnl Checks for all prerequisites of the po subdirectory. +AC_DEFUN([AM_PO_SUBDIRS], +[ +  AC_REQUIRE([AC_PROG_MAKE_SET])dnl +  AC_REQUIRE([AC_PROG_INSTALL])dnl +  AC_REQUIRE([AC_PROG_MKDIR_P])dnl +  AC_REQUIRE([AC_PROG_SED])dnl +  AC_REQUIRE([AM_NLS])dnl + +  dnl Release version of the gettext macros. This is used to ensure that +  dnl the gettext macros and po/Makefile.in.in are in sync. +  AC_SUBST([GETTEXT_MACRO_VERSION], [0.19]) + +  dnl Perform the following tests also if --disable-nls has been given, +  dnl because they are needed for "make dist" to work. + +  dnl Search for GNU msgfmt in the PATH. +  dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. +  dnl The second test excludes FreeBSD msgfmt. +  AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, +    [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && +     (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], +    :) +  AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT]) + +  dnl Test whether it is GNU msgfmt >= 0.15. +changequote(,)dnl +  case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in +    '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; +    *) MSGFMT_015=$MSGFMT ;; +  esac +changequote([,])dnl +  AC_SUBST([MSGFMT_015]) +changequote(,)dnl +  case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in +    '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; +    *) GMSGFMT_015=$GMSGFMT ;; +  esac +changequote([,])dnl +  AC_SUBST([GMSGFMT_015]) + +  dnl Search for GNU xgettext 0.12 or newer in the PATH. +  dnl The first test excludes Solaris xgettext and early GNU xgettext versions. +  dnl The second test excludes FreeBSD xgettext. +  AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, +    [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && +     (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], +    :) +  dnl Remove leftover from FreeBSD xgettext call. +  rm -f messages.po + +  dnl Test whether it is GNU xgettext >= 0.15. +changequote(,)dnl +  case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in +    '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; +    *) XGETTEXT_015=$XGETTEXT ;; +  esac +changequote([,])dnl +  AC_SUBST([XGETTEXT_015]) + +  dnl Search for GNU msgmerge 0.11 or newer in the PATH. +  AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, +    [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :) + +  dnl Installation directories. +  dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we +  dnl have to define it here, so that it can be used in po/Makefile. +  test -n "$localedir" || localedir='${datadir}/locale' +  AC_SUBST([localedir]) + +  dnl Support for AM_XGETTEXT_OPTION. +  test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= +  AC_SUBST([XGETTEXT_EXTRA_OPTIONS]) + +  AC_CONFIG_COMMANDS([po-directories], [[ +    for ac_file in $CONFIG_FILES; do +      # Support "outfile[:infile[:infile...]]" +      case "$ac_file" in +        *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; +      esac +      # PO directories have a Makefile.in generated from Makefile.in.in. +      case "$ac_file" in */Makefile.in) +        # Adjust a relative srcdir. +        ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` +        ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'` +        ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` +        # In autoconf-2.13 it is called $ac_given_srcdir. +        # In autoconf-2.50 it is called $srcdir. +        test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" +        case "$ac_given_srcdir" in +          .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; +          /*) top_srcdir="$ac_given_srcdir" ;; +          *)  top_srcdir="$ac_dots$ac_given_srcdir" ;; +        esac +        # Treat a directory as a PO directory if and only if it has a +        # POTFILES.in file. This allows packages to have multiple PO +        # directories under different names or in different locations. +        if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then +          rm -f "$ac_dir/POTFILES" +          test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" +          gt_tab=`printf '\t'` +          cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" +          POMAKEFILEDEPS="POTFILES.in" +          # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend +          # on $ac_dir but don't depend on user-specified configuration +          # parameters. +          if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then +            # The LINGUAS file contains the set of available languages. +            if test -n "$OBSOLETE_ALL_LINGUAS"; then +              test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" +            fi +            ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` +            # Hide the ALL_LINGUAS assignment from automake < 1.5. +            eval 'ALL_LINGUAS''=$ALL_LINGUAS_' +            POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" +          else +            # The set of available languages was given in configure.in. +            # Hide the ALL_LINGUAS assignment from automake < 1.5. +            eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' +          fi +          # Compute POFILES +          # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) +          # Compute UPDATEPOFILES +          # as      $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) +          # Compute DUMMYPOFILES +          # as      $(foreach lang, $(ALL_LINGUAS), $(lang).nop) +          # Compute GMOFILES +          # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) +          case "$ac_given_srcdir" in +            .) srcdirpre= ;; +            *) srcdirpre='$(srcdir)/' ;; +          esac +          POFILES= +          UPDATEPOFILES= +          DUMMYPOFILES= +          GMOFILES= +          for lang in $ALL_LINGUAS; do +            POFILES="$POFILES $srcdirpre$lang.po" +            UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" +            DUMMYPOFILES="$DUMMYPOFILES $lang.nop" +            GMOFILES="$GMOFILES $srcdirpre$lang.gmo" +          done +          # CATALOGS depends on both $ac_dir and the user's LINGUAS +          # environment variable. +          INST_LINGUAS= +          if test -n "$ALL_LINGUAS"; then +            for presentlang in $ALL_LINGUAS; do +              useit=no +              if test "%UNSET%" != "$LINGUAS"; then +                desiredlanguages="$LINGUAS" +              else +                desiredlanguages="$ALL_LINGUAS" +              fi +              for desiredlang in $desiredlanguages; do +                # Use the presentlang catalog if desiredlang is +                #   a. equal to presentlang, or +                #   b. a variant of presentlang (because in this case, +                #      presentlang can be used as a fallback for messages +                #      which are not translated in the desiredlang catalog). +                case "$desiredlang" in +                  "$presentlang"*) useit=yes;; +                esac +              done +              if test $useit = yes; then +                INST_LINGUAS="$INST_LINGUAS $presentlang" +              fi +            done +          fi +          CATALOGS= +          if test -n "$INST_LINGUAS"; then +            for lang in $INST_LINGUAS; do +              CATALOGS="$CATALOGS $lang.gmo" +            done +          fi +          test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" +          sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" +          for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do +            if test -f "$f"; then +              case "$f" in +                *.orig | *.bak | *~) ;; +                *) cat "$f" >> "$ac_dir/Makefile" ;; +              esac +            fi +          done +        fi +        ;; +      esac +    done]], +   [# Capture the value of obsolete ALL_LINGUAS because we need it to compute +    # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it +    # from automake < 1.5. +    eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' +    # Capture the value of LINGUAS because we need it to compute CATALOGS. +    LINGUAS="${LINGUAS-%UNSET%}" +   ]) +]) + +dnl Postprocesses a Makefile in a directory containing PO files. +AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE], +[ +  # When this code is run, in config.status, two variables have already been +  # set: +  # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in, +  # - LINGUAS is the value of the environment variable LINGUAS at configure +  #   time. + +changequote(,)dnl +  # Adjust a relative srcdir. +  ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` +  ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'` +  ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` +  # In autoconf-2.13 it is called $ac_given_srcdir. +  # In autoconf-2.50 it is called $srcdir. +  test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" +  case "$ac_given_srcdir" in +    .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; +    /*) top_srcdir="$ac_given_srcdir" ;; +    *)  top_srcdir="$ac_dots$ac_given_srcdir" ;; +  esac + +  # Find a way to echo strings without interpreting backslash. +  if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then +    gt_echo='echo' +  else +    if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then +      gt_echo='printf %s\n' +    else +      echo_func () { +        cat <<EOT +$* +EOT +      } +      gt_echo='echo_func' +    fi +  fi + +  # A sed script that extracts the value of VARIABLE from a Makefile. +  tab=`printf '\t'` +  sed_x_variable=' +# Test if the hold space is empty. +x +s/P/P/ +x +ta +# Yes it was empty. Look if we have the expected variable definition. +/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=/{ +  # Seen the first line of the variable definition. +  s/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=// +  ba +} +bd +:a +# Here we are processing a line from the variable definition. +# Remove comment, more precisely replace it with a space. +s/#.*$/ / +# See if the line ends in a backslash. +tb +:b +s/\\$// +# Print the line, without the trailing backslash. +p +tc +# There was no trailing backslash. The end of the variable definition is +# reached. Clear the hold space. +s/^.*$// +x +bd +:c +# A trailing backslash means that the variable definition continues in the +# next line. Put a nonempty string into the hold space to indicate this. +s/^.*$/P/ +x +:d +' +changequote([,])dnl + +  # Set POTFILES to the value of the Makefile variable POTFILES. +  sed_x_POTFILES=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'` +  POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"` +  # Compute POTFILES_DEPS as +  #   $(foreach file, $(POTFILES), $(top_srcdir)/$(file)) +  POTFILES_DEPS= +  for file in $POTFILES; do +    POTFILES_DEPS="$POTFILES_DEPS "'$(top_srcdir)/'"$file" +  done +  POMAKEFILEDEPS="" + +  if test -n "$OBSOLETE_ALL_LINGUAS"; then +    test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" +  fi +  if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then +    # The LINGUAS file contains the set of available languages. +    ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` +    POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" +  else +    # Set ALL_LINGUAS to the value of the Makefile variable LINGUAS. +    sed_x_LINGUAS=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'` +    ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"` +  fi +  # Hide the ALL_LINGUAS assignment from automake < 1.5. +  eval 'ALL_LINGUAS''=$ALL_LINGUAS_' +  # Compute POFILES +  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) +  # Compute UPDATEPOFILES +  # as      $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) +  # Compute DUMMYPOFILES +  # as      $(foreach lang, $(ALL_LINGUAS), $(lang).nop) +  # Compute GMOFILES +  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) +  # Compute PROPERTIESFILES +  # as      $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).properties) +  # Compute CLASSFILES +  # as      $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).class) +  # Compute QMFILES +  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm) +  # Compute MSGFILES +  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang)).msg) +  # Compute RESOURCESDLLFILES +  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang))/$(DOMAIN).resources.dll) +  case "$ac_given_srcdir" in +    .) srcdirpre= ;; +    *) srcdirpre='$(srcdir)/' ;; +  esac +  POFILES= +  UPDATEPOFILES= +  DUMMYPOFILES= +  GMOFILES= +  PROPERTIESFILES= +  CLASSFILES= +  QMFILES= +  MSGFILES= +  RESOURCESDLLFILES= +  for lang in $ALL_LINGUAS; do +    POFILES="$POFILES $srcdirpre$lang.po" +    UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" +    DUMMYPOFILES="$DUMMYPOFILES $lang.nop" +    GMOFILES="$GMOFILES $srcdirpre$lang.gmo" +    PROPERTIESFILES="$PROPERTIESFILES \$(top_srcdir)/\$(DOMAIN)_$lang.properties" +    CLASSFILES="$CLASSFILES \$(top_srcdir)/\$(DOMAIN)_$lang.class" +    QMFILES="$QMFILES $srcdirpre$lang.qm" +    frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` +    MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg" +    frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` +    RESOURCESDLLFILES="$RESOURCESDLLFILES $srcdirpre$frobbedlang/\$(DOMAIN).resources.dll" +  done +  # CATALOGS depends on both $ac_dir and the user's LINGUAS +  # environment variable. +  INST_LINGUAS= +  if test -n "$ALL_LINGUAS"; then +    for presentlang in $ALL_LINGUAS; do +      useit=no +      if test "%UNSET%" != "$LINGUAS"; then +        desiredlanguages="$LINGUAS" +      else +        desiredlanguages="$ALL_LINGUAS" +      fi +      for desiredlang in $desiredlanguages; do +        # Use the presentlang catalog if desiredlang is +        #   a. equal to presentlang, or +        #   b. a variant of presentlang (because in this case, +        #      presentlang can be used as a fallback for messages +        #      which are not translated in the desiredlang catalog). +        case "$desiredlang" in +          "$presentlang"*) useit=yes;; +        esac +      done +      if test $useit = yes; then +        INST_LINGUAS="$INST_LINGUAS $presentlang" +      fi +    done +  fi +  CATALOGS= +  JAVACATALOGS= +  QTCATALOGS= +  TCLCATALOGS= +  CSHARPCATALOGS= +  if test -n "$INST_LINGUAS"; then +    for lang in $INST_LINGUAS; do +      CATALOGS="$CATALOGS $lang.gmo" +      JAVACATALOGS="$JAVACATALOGS \$(DOMAIN)_$lang.properties" +      QTCATALOGS="$QTCATALOGS $lang.qm" +      frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` +      TCLCATALOGS="$TCLCATALOGS $frobbedlang.msg" +      frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` +      CSHARPCATALOGS="$CSHARPCATALOGS $frobbedlang/\$(DOMAIN).resources.dll" +    done +  fi + +  sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp" +  tab=`printf '\t'` +  if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then +    # Add dependencies that cannot be formulated as a simple suffix rule. +    for lang in $ALL_LINGUAS; do +      frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` +      cat >> "$ac_file.tmp" <<EOF +$frobbedlang.msg: $lang.po +${tab}@echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \ +${tab}\$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; } +EOF +    done +  fi +  if grep -l '@CSHARPCATALOGS@' "$ac_file" > /dev/null; then +    # Add dependencies that cannot be formulated as a simple suffix rule. +    for lang in $ALL_LINGUAS; do +      frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` +      cat >> "$ac_file.tmp" <<EOF +$frobbedlang/\$(DOMAIN).resources.dll: $lang.po +${tab}@echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \ +${tab}\$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; } +EOF +    done +  fi +  if test -n "$POMAKEFILEDEPS"; then +    cat >> "$ac_file.tmp" <<EOF +Makefile: $POMAKEFILEDEPS +EOF +  fi +  mv "$ac_file.tmp" "$ac_file" +]) + +dnl Initializes the accumulator used by AM_XGETTEXT_OPTION. +AC_DEFUN([AM_XGETTEXT_OPTION_INIT], +[ +  XGETTEXT_EXTRA_OPTIONS= +]) + +dnl Registers an option to be passed to xgettext in the po subdirectory. +AC_DEFUN([AM_XGETTEXT_OPTION], +[ +  AC_REQUIRE([AM_XGETTEXT_OPTION_INIT]) +  XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS $1" +]) diff --git a/m4/progtest.m4 b/m4/progtest.m4 new file mode 100644 index 0000000..0921e1e --- /dev/null +++ b/m4/progtest.m4 @@ -0,0 +1,91 @@ +# progtest.m4 serial 7 (gettext-0.18.2) +dnl Copyright (C) 1996-2003, 2005, 2008-2015 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl   Ulrich Drepper <drepper@cygnus.com>, 1996. + +AC_PREREQ([2.50]) + +# Search path for a program which passes the given test. + +dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, +dnl   TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) +AC_DEFUN([AM_PATH_PROG_WITH_TEST], +[ +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then +  # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which +  # contains only /bin. Note that ksh looks also at the FPATH variable, +  # so we have to set that as well for the test. +  PATH_SEPARATOR=: +  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ +    && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ +           || PATH_SEPARATOR=';' +       } +fi + +# Find out how to test for executable files. Don't use a zero-byte file, +# as systems may use methods other than mode bits to determine executability. +cat >conf$$.file <<_ASEOF +#! /bin/sh +exit 0 +_ASEOF +chmod +x conf$$.file +if test -x conf$$.file >/dev/null 2>&1; then +  ac_executable_p="test -x" +else +  ac_executable_p="test -f" +fi +rm -f conf$$.file + +# Extract the first word of "$2", so it can be a program name with args. +set dummy $2; ac_word=[$]2 +AC_MSG_CHECKING([for $ac_word]) +AC_CACHE_VAL([ac_cv_path_$1], +[case "[$]$1" in +  [[\\/]]* | ?:[[\\/]]*) +    ac_cv_path_$1="[$]$1" # Let the user override the test with a path. +    ;; +  *) +    ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR +    for ac_dir in ifelse([$5], , $PATH, [$5]); do +      IFS="$ac_save_IFS" +      test -z "$ac_dir" && ac_dir=. +      for ac_exec_ext in '' $ac_executable_extensions; do +        if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then +          echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD +          if [$3]; then +            ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext" +            break 2 +          fi +        fi +      done +    done +    IFS="$ac_save_IFS" +dnl If no 4th arg is given, leave the cache variable unset, +dnl so AC_PATH_PROGS will keep looking. +ifelse([$4], , , [  test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" +])dnl +    ;; +esac])dnl +$1="$ac_cv_path_$1" +if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then +  AC_MSG_RESULT([$][$1]) +else +  AC_MSG_RESULT([no]) +fi +AC_SUBST([$1])dnl +]) @@ -180,7 +180,13 @@ install-help: $(_HELP_LC_FILES)  	    elif test "x$$lc" != "xC"; then \  	      if test "x$(YELP_LC_MEDIA_LINKS)" != "x"; then \  	        echo "$(LN_S) -f $(HELP_DIR)/C/$(HELP_ID)/$$f $$helpdir$$f"; \ -	        $(LN_S) -f "$(HELP_DIR)/C/$(HELP_ID)/$$f" "$$helpdir$$f" || exit 1; \ +	        dname="$$f"; \ +	        pars="../"; \ +	        while test "$$dname" != "." -a "$$dname" != "/"; do \ +	          pars="../$$pars"; \ +	          dname=$$(dirname "$$dname"); \ +	        done; \ +	        $(LN_S) -f $$pars"C/$(HELP_ID)/$$f" "$$helpdir$$f" || exit 1; \  	      fi; \  	    fi; \  	  done; \  | 
