Home | History | Annotate | Download | only in m4m
      1 dnl
      2 dnl GP_GETTEXT_HACK
      3 dnl
      4 dnl gettext hack, originally designed for libexif, libgphoto2, and Co.
      5 dnl This creates a po/Makevars file with adequate values if the
      6 dnl po/Makevars.template is present.
      7 dnl
      8 dnl Example usage:
      9 dnl    GP_GETTEXT_HACK([${PACKAGE_TARNAME}-${LIBFOO_CURRENT}],
     10 dnl                    [Copyright Holder],
     11 dnl                    [foo-translation (a] example.org])
     12 dnl    ALL_LINGUAS="de es fr"
     13 dnl    AM_GNU_GETTEXT_VERSION([0.14.1])
     14 dnl    AM_GNU_GETTEXT([external])
     15 dnl    AM_PO_SUBDIRS()
     16 dnl    AM_ICONV()
     17 dnl    GP_GETTEXT_FLAGS
     18 dnl
     19 dnl You can leave out the GP_GETTEXT_HACK parameters if you want to,
     20 dnl GP_GETTEXT_HACK will try fall back to sensible values in that case:
     21 dnl
     22 
     23 AC_DEFUN([GP_GETTEXT_HACK],
     24 [
     25 AC_BEFORE([$0], [AM_GNU_GETTEXT])dnl
     26 AC_BEFORE([$0], [AM_GNU_GETTEXT_VERSION])dnl
     27 m4_if([$1],[],[GETTEXT_PACKAGE="${PACKAGE_TARNAME}"],[GETTEXT_PACKAGE="$1"])
     28 # The gettext domain we're using
     29 AM_CPPFLAGS="$AM_CPPFLAGS -DGETTEXT_PACKAGE=\\\"${GETTEXT_PACKAGE}\\\""
     30 AC_SUBST([GETTEXT_PACKAGE])
     31 sed_cmds="s|^DOMAIN.*|DOMAIN = ${GETTEXT_PACKAGE}|"
     32 m4_if([$2],[],[],[sed_cmds="${sed_cmds};s|^COPYRIGHT_HOLDER.*|COPYRIGHT_HOLDER = $2|"])
     33 m4_ifval([$3],[
     34 sed_mb="$3"
     35 ],[
     36 if test -n "$PACKAGE_BUGREPORT"; then
     37    sed_mb="${PACKAGE_BUGREPORT}"
     38 else
     39    AC_MSG_ERROR([
     40 *** Your configure.{ac,in} is wrong.
     41 *** Either define PACKAGE_BUGREPORT (by using the 4-parameter AC INIT syntax)
     42 *** or give [GP_GETTEXT_HACK] the third parameter.
     43 ***
     44 ])
     45 fi
     46 ])
     47 sed_cmds="${sed_cmds};s|^MSGID_BUGS_ADDRESS.*|MSGID_BUGS_ADDRESS = ${sed_mb}|"
     48 # Not so sure whether this hack is all *that* evil...
     49 AC_MSG_CHECKING([for po/Makevars requiring hack])
     50 if test -f "${srcdir}/po/Makevars.template"; then
     51    sed "$sed_cmds" < "${srcdir}/po/Makevars.template" > "${srcdir}/po/Makevars"
     52    AC_MSG_RESULT([yes, done.])
     53 else
     54    AC_MSG_RESULT([no])
     55 fi
     56 ])
     57 
     58 AC_DEFUN([GP_GETTEXT_FLAGS],
     59 [
     60 AC_REQUIRE([AM_GNU_GETTEXT])
     61 AC_REQUIRE([GP_CONFIG_INIT])
     62 if test "x${BUILD_INCLUDED_LIBINTL}" = "xyes"; then
     63    AM_CFLAGS="${AM_CFLAGS} -I\$(top_srcdir)/intl"
     64 fi
     65 GP_CONFIG_MSG([Use translations],[${USE_NLS}])
     66 if test "x$USE_NLS" = "xyes" && test "${BUILD_INCLUDED_LIBINTL}"; then
     67    GP_CONFIG_MSG([Use included libintl],[${BUILD_INCLUDED_LIBINTL}])
     68 fi
     69 dnl We cannot use AC_DEFINE_UNQUOTED() for these definitions, as
     70 dnl we require make to do insert the proper $(datadir) value
     71 AC_SUBST([localedir], ['$(datadir)/locale'])
     72 AM_CPPFLAGS="$AM_CPPFLAGS -DLOCALEDIR=\\\"${localedir}\\\""
     73 ])
     74 
     75 dnl Please do not remove this:
     76 dnl filetype: 71ff3941-a5ae-4677-a369-d7cb01f92c81
     77 dnl I use this to find all the different instances of this file which 
     78 dnl are supposed to be synchronized.
     79 
     80 dnl Local Variables:
     81 dnl mode: autoconf
     82 dnl End:
     83