Marco Nelissen | 548dde4 | 2014-01-07 10:11:28 -0800 | [diff] [blame] | 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@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: |