[Kimchi-devel] [PATCH 06/15] V3 Ginger Base : base plugin m4 files

Daniel Henrique Barboza dhbarboza82 at gmail.com
Wed Oct 7 13:00:34 UTC 2015


Reviewed-by: Daniel Barboza <dhbarboza82 at gmail.com>

On 10/07/2015 07:42 AM, chandra at linux.vnet.ibm.com wrote:
> From: chandrureddy <chandra at linux.vnet.ibm.com>
>
> ---
>   src/wok/plugins/gingerbase/m4/ac_python_module.m4 |  30 +
>   src/wok/plugins/gingerbase/m4/gettext.m4          | 383 +++++++++++
>   src/wok/plugins/gingerbase/m4/iconv.m4            | 214 ++++++
>   src/wok/plugins/gingerbase/m4/intlmacosx.m4       |  51 ++
>   src/wok/plugins/gingerbase/m4/lib-ld.m4           | 110 +++
>   src/wok/plugins/gingerbase/m4/lib-link.m4         | 774 ++++++++++++++++++++++
>   src/wok/plugins/gingerbase/m4/lib-prefix.m4       | 224 +++++++
>   src/wok/plugins/gingerbase/m4/nls.m4              |  32 +
>   src/wok/plugins/gingerbase/m4/po.m4               | 449 +++++++++++++
>   src/wok/plugins/gingerbase/m4/progtest.m4         |  92 +++
>   10 files changed, 2359 insertions(+)
>   create mode 100644 src/wok/plugins/gingerbase/m4/ac_python_module.m4
>   create mode 100644 src/wok/plugins/gingerbase/m4/gettext.m4
>   create mode 100644 src/wok/plugins/gingerbase/m4/iconv.m4
>   create mode 100644 src/wok/plugins/gingerbase/m4/intlmacosx.m4
>   create mode 100644 src/wok/plugins/gingerbase/m4/lib-ld.m4
>   create mode 100644 src/wok/plugins/gingerbase/m4/lib-link.m4
>   create mode 100644 src/wok/plugins/gingerbase/m4/lib-prefix.m4
>   create mode 100644 src/wok/plugins/gingerbase/m4/nls.m4
>   create mode 100644 src/wok/plugins/gingerbase/m4/po.m4
>   create mode 100644 src/wok/plugins/gingerbase/m4/progtest.m4
>
> diff --git a/src/wok/plugins/gingerbase/m4/ac_python_module.m4 b/src/wok/plugins/gingerbase/m4/ac_python_module.m4
> new file mode 100644
> index 0000000..32b9d72
> --- /dev/null
> +++ b/src/wok/plugins/gingerbase/m4/ac_python_module.m4
> @@ -0,0 +1,30 @@
> +dnl @synopsis AC_PYTHON_MODULE(modname[, fatal])
> +dnl
> +dnl Checks for Python module.
> +dnl
> +dnl If fatal is non-empty then absence of a module will trigger an
> +dnl error.
> +dnl
> +dnl @category InstalledPackages
> +dnl @author Andrew Collier <colliera at nu.ac.za>.
> +dnl @version 2004-07-14
> +dnl @license AllPermissive
> +
> +AC_DEFUN([AC_PYTHON_MODULE],[
> +	AC_MSG_CHECKING(python module: $1)
> +	python -c "import $1" 2>/dev/null
> +	if test $? -eq 0;
> +	then
> +		AC_MSG_RESULT(yes)
> +		eval AS_TR_CPP(HAVE_PYMOD_$1)=yes
> +	else
> +		AC_MSG_RESULT(no)
> +		eval AS_TR_CPP(HAVE_PYMOD_$1)=no
> +		#
> +		if test -n "$2"
> +		then
> +			AC_MSG_ERROR(failed to find required module $1)
> +			exit 1
> +		fi
> +	fi
> +])
> diff --git a/src/wok/plugins/gingerbase/m4/gettext.m4 b/src/wok/plugins/gingerbase/m4/gettext.m4
> new file mode 100644
> index 0000000..f84e6a5
> --- /dev/null
> +++ b/src/wok/plugins/gingerbase/m4/gettext.m4
> @@ -0,0 +1,383 @@
> +# gettext.m4 serial 63 (gettext-0.18)
> +dnl Copyright (C) 1995-2010 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 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 package is covered by the GNU General Public License.
> +dnl They are *not* in the public domain.
> +
> +dnl Authors:
> +dnl   Ulrich Drepper <drepper at cygnus.com>, 1995-2000.
> +dnl   Bruno Haible <haible at 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 MacOS 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_TRY_LINK([#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_TRY_LINK([#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_TRY_LINK([#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], [])
> diff --git a/src/wok/plugins/gingerbase/m4/iconv.m4 b/src/wok/plugins/gingerbase/m4/iconv.m4
> new file mode 100644
> index 0000000..e2041b9
> --- /dev/null
> +++ b/src/wok/plugins/gingerbase/m4/iconv.m4
> @@ -0,0 +1,214 @@
> +# iconv.m4 serial 11 (gettext-0.18.1)
> +dnl Copyright (C) 2000-2002, 2007-2010 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_TRY_LINK will then fail, the second AC_TRY_LINK 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_TRY_LINK([#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_TRY_LINK([#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, HP-UX 11.11, Solaris 10.
> +      am_save_LIBS="$LIBS"
> +      if test $am_cv_lib_iconv = yes; then
> +        LIBS="$LIBS $LIBICONV"
> +      fi
> +      AC_TRY_RUN([
> +#include <iconv.h>
> +#include <string.h>
> +int main ()
> +{
> +  /* 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 const char input[] = "\342\202\254"; /* EURO SIGN */
> +        char buf[10];
> +        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,
> +                            (char **) &inptr, &inbytesleft,
> +                            &outptr, &outbytesleft);
> +        if (res == 0)
> +          return 1;
> +      }
> +  }
> +  /* 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 const char input[] = "\263";
> +        char buf[10];
> +        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,
> +                            (char **) &inptr, &inbytesleft,
> +                            &outptr, &outbytesleft);
> +        if (res == 0)
> +          return 1;
> +      }
> +  }
> +#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 const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
> +        char buf[50];
> +        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,
> +                            (char **) &inptr, &inbytesleft,
> +                            &outptr, &outbytesleft);
> +        if ((int)res > 0)
> +          return 1;
> +      }
> +  }
> +#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))
> +    return 1;
> +  return 0;
> +}], [am_cv_func_iconv_works=yes], [am_cv_func_iconv_works=no],
> +        [case "$host_os" in
> +           aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
> +           *)            am_cv_func_iconv_works="guessing yes" ;;
> +         esac])
> +      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])]],
> +    [[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_TRY_COMPILE([
> +#include <stdlib.h>
> +#include <iconv.h>
> +extern
> +#ifdef __cplusplus
> +"C"
> +#endif
> +#if defined(__STDC__) || 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.])
> +  fi
> +])
> diff --git a/src/wok/plugins/gingerbase/m4/intlmacosx.m4 b/src/wok/plugins/gingerbase/m4/intlmacosx.m4
> new file mode 100644
> index 0000000..dd91025
> --- /dev/null
> +++ b/src/wok/plugins/gingerbase/m4/intlmacosx.m4
> @@ -0,0 +1,51 @@
> +# intlmacosx.m4 serial 3 (gettext-0.18)
> +dnl Copyright (C) 2004-2010 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 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 package is covered by the GNU General Public License.
> +dnl They are *not* in the public domain.
> +
> +dnl Checks for special options needed on MacOS X.
> +dnl Defines INTL_MACOSX_LIBS.
> +AC_DEFUN([gt_INTL_MACOSX],
> +[
> +  dnl Check for API introduced in MacOS X 10.2.
> +  AC_CACHE_CHECK([for CFPreferencesCopyAppValue],
> +    [gt_cv_func_CFPreferencesCopyAppValue],
> +    [gt_save_LIBS="$LIBS"
> +     LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
> +     AC_TRY_LINK([#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 MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])
> +  fi
> +  dnl Check for API introduced in MacOS X 10.3.
> +  AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent],
> +    [gt_save_LIBS="$LIBS"
> +     LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
> +     AC_TRY_LINK([#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 MacOS 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/src/wok/plugins/gingerbase/m4/lib-ld.m4 b/src/wok/plugins/gingerbase/m4/lib-ld.m4
> new file mode 100644
> index 0000000..ebb3052
> --- /dev/null
> +++ b/src/wok/plugins/gingerbase/m4/lib-ld.m4
> @@ -0,0 +1,110 @@
> +# lib-ld.m4 serial 4 (gettext-0.18)
> +dnl Copyright (C) 1996-2003, 2009-2010 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/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
> +dnl with libtool.m4.
> +
> +dnl From libtool-1.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 ld's 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-1.4. Sets the variable LD.
> +AC_DEFUN([AC_LIB_PROG_LD],
> +[AC_ARG_WITH([gnu-ld],
> +[  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]],
> +test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
> +AC_REQUIRE([AC_PROG_CC])dnl
> +AC_REQUIRE([AC_CANONICAL_HOST])dnl
> +# Prepare PATH_SEPARATOR.
> +# The user is always right.
> +if test "${PATH_SEPARATOR+set}" != set; then
> +  echo "#! /bin/sh" >conf$$.sh
> +  echo  "exit 0"   >>conf$$.sh
> +  chmod +x conf$$.sh
> +  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
> +    PATH_SEPARATOR=';'
> +  else
> +    PATH_SEPARATOR=:
> +  fi
> +  rm -f conf$$.sh
> +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 GCC])
> +  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.
> +    [[\\/]* | [A-Za-z]:[\\/]*)]
> +      [re_direlt='/[^/][^/]*/\.\./']
> +      # Canonicalize the path 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
> +  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
> +  for ac_dir in $PATH; do
> +    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 GNU ld's 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="$ac_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/src/wok/plugins/gingerbase/m4/lib-link.m4 b/src/wok/plugins/gingerbase/m4/lib-link.m4
> new file mode 100644
> index 0000000..c73bd8e
> --- /dev/null
> +++ b/src/wok/plugins/gingerbase/m4/lib-link.m4
> @@ -0,0 +1,774 @@
> +# lib-link.m4 serial 21 (gettext-0.18)
> +dnl Copyright (C) 2001-2010 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],[translit([$1],[./-], [___])])
> +  pushdef([NAME],[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],[translit([$1],[./-], [___])])
> +  pushdef([NAME],[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_TRY_LINK([$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_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],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
> +                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
> +  define([acl_frompackage_]NAME, [$2])
> +  popdef([NAME])
> +  pushdef([PACK],[$2])
> +  pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-],
> +                                  [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
> +  define([acl_libsinpackage_]PACKUP,
> +    m4_ifdef([acl_libsinpackage_]PACKUP, [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],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
> +                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
> +  pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])])
> +  pushdef([PACKUP],[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],[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/src/wok/plugins/gingerbase/m4/lib-prefix.m4 b/src/wok/plugins/gingerbase/m4/lib-prefix.m4
> new file mode 100644
> index 0000000..1601cea
> --- /dev/null
> +++ b/src/wok/plugins/gingerbase/m4/lib-prefix.m4
> @@ -0,0 +1,224 @@
> +# lib-prefix.m4 serial 7 (gettext-0.18)
> +dnl Copyright (C) 2001-2005, 2008-2010 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/src/wok/plugins/gingerbase/m4/nls.m4 b/src/wok/plugins/gingerbase/m4/nls.m4
> new file mode 100644
> index 0000000..003704c
> --- /dev/null
> +++ b/src/wok/plugins/gingerbase/m4/nls.m4
> @@ -0,0 +1,32 @@
> +# nls.m4 serial 5 (gettext-0.18)
> +dnl Copyright (C) 1995-2003, 2005-2006, 2008-2010 Free Software Foundation,
> +dnl 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 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 package is covered by the GNU General Public License.
> +dnl They are *not* in the public domain.
> +
> +dnl Authors:
> +dnl   Ulrich Drepper <drepper at cygnus.com>, 1995-2000.
> +dnl   Bruno Haible <haible at clisp.cons.org>, 2000-2003.
> +
> +AC_PREREQ([2.50])
> +
> +AC_DEFUN([AM_NLS],
> +[
> +  AC_MSG_CHECKING([whether NLS is requested])
> +  dnl Default is enabled NLS
> +  AC_ARG_ENABLE([nls],
> +    [  --disable-nls           do not use Native Language Support],
> +    USE_NLS=$enableval, USE_NLS=yes)
> +  AC_MSG_RESULT([$USE_NLS])
> +  AC_SUBST([USE_NLS])
> +])
> diff --git a/src/wok/plugins/gingerbase/m4/po.m4 b/src/wok/plugins/gingerbase/m4/po.m4
> new file mode 100644
> index 0000000..8bc921d
> --- /dev/null
> +++ b/src/wok/plugins/gingerbase/m4/po.m4
> @@ -0,0 +1,449 @@
> +# po.m4 serial 17 (gettext-0.18)
> +dnl Copyright (C) 1995-2010 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 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 package is covered by the GNU General Public License.
> +dnl They are *not* in the public domain.
> +
> +dnl Authors:
> +dnl   Ulrich Drepper <drepper at cygnus.com>, 1995-2000.
> +dnl   Bruno Haible <haible at clisp.cons.org>, 2000-2003.
> +
> +AC_PREREQ([2.50])
> +
> +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 defined by autoconf
> +  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.18])
> +
> +  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"
> +          cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ 	]*\$/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 assigment 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 assigment 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.
> +  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.
> +/^[	 ]*VARIABLE[	 ]*=/{
> +  # Seen the first line of the variable definition.
> +  s/^[	 ]*VARIABLE[	 ]*=//
> +  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 assigment 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"
> +  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
> +	@echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
> +	\$(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
> +	@echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
> +	\$(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/src/wok/plugins/gingerbase/m4/progtest.m4 b/src/wok/plugins/gingerbase/m4/progtest.m4
> new file mode 100644
> index 0000000..2d804ac
> --- /dev/null
> +++ b/src/wok/plugins/gingerbase/m4/progtest.m4
> @@ -0,0 +1,92 @@
> +# progtest.m4 serial 6 (gettext-0.18)
> +dnl Copyright (C) 1996-2003, 2005, 2008-2010 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 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 package is covered by the GNU General Public License.
> +dnl They are *not* in the public domain.
> +
> +dnl Authors:
> +dnl   Ulrich Drepper <drepper at 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
> +  echo "#! /bin/sh" >conf$$.sh
> +  echo  "exit 0"   >>conf$$.sh
> +  chmod +x conf$$.sh
> +  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
> +    PATH_SEPARATOR=';'
> +  else
> +    PATH_SEPARATOR=:
> +  fi
> +  rm -f conf$$.sh
> +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
> +])




More information about the Kimchi-devel mailing list