intltool has long been dead upstream. Let's not poke the dead corpse,
please.
This commit is quite large, but that's mostly since trying to support a
hybrid of both gettext and intltool with both Meson and Autotools was
really hard, so I stopped trying.
Due to gettext relying on quite some things being at the exactly right
place in the autotools build (like `ABOUT-NLS` and `config.rpath`) we
really needed to cleanup the `autogen.sh` to only call `aclocal` and
`autoreconf`. No more strange magic; I tried to do it without changing
too much in the file, and things just broke. If people want to do
something more custom, they can just change the script directly. This
change also uncovered some problems in our `configure.ac`, like using
deprecated macros.
The following major changes happened:
* meson: Changed `custom_target()` to `i18n.merge_file()` for all
supported file types
* Added `.its` and `.loc` files for the GIMP-specific XML formats, so
that gettext understands them
* For the `.isl` (Window installer stuff) file, there's no easy way to
do this in gettext, so instead we start from an XML file (again with
its own ITS rules etc), translate that with gettext, and then use
`xsltproc` with a bit of magic to output the .isl file for each
language
* the `po*/Makefile.in.in` files are migrated to `Makevars` files,
which gettext natively understands.
Fixes: https://gitlab.gnome.org/GNOME/gimp/-/issues/8028
gtk-doc has been slowly dying for the past few years; with gi-docgen we
have a nice successor.
This also makes sure the C documentation also uses the GIR file, which
in turn means faster build times (since all the C code doesn't have to
be parsed and recompiled again), and has a clear dependency graph.
See the [gi-docgen tutorial] for more info on how the system works.
[gi-docgen tutorial]: https://gnome.pages.gitlab.gnome.org/gi-docgen/tutorial.html
A number of autmake files under devel-docs expand "CLEANFILES += ...". This
depends on gtkdocize setting up gtk-docs.make with (amongst other things)
"CLEANFILES = ...". However when running autogen.sh with --disable-gtk-docs,
gtk-docs.make is only populated with EXTRA_DIST - meaning CLEANFILES is not
set, and automake fails to parse the devel-docs automake files.
Therefore we need to explicitly set CLEANFILES when --disable-gtk-docs is
used to avoid seeing errors such as the following when running autogen:
devel-docs/libgimp/Makefile.am:85: error: CLEANFILES must be set with '=' before using '+='
The CLEANFILES extension was first added in:
0052803313 (devel-docs: REVERT THIS once module.actions get removed automatically, 2020-10-25)
See upstream report: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=13928
We are not making automake 1.16 a requirement as it is just too recent
and we don't want to break build on old machines. I will want to make a
better fix later.
For the time being though, at least let's test first the higher automake
version, then down to minimum requirement, rather than test first
required version.
The reporter notes in particular that the -n option does not work
appropriately on recent versions of macOS.
From what I know, echo without any option is the most portable. But when
options are needed, there are too many variants of the command out
there, and printf becomes more reliable and consistent across platforms.
It is more recent than echo and therefore non-portable for very very old
platforms, but let's assume/hope that it old-enough for not being a
problem anymore.
Forgot to edit the first test in commit 6cf2641. If automake/aclocal
1.11 was installed, autogen.sh breaks, even though other higher versions
are installed too, because it is the first test.
Actually I'm not sure I understand this first test. Is it like the
"preferred" automake version?
Also add a test for generic `automake` binary in order to handle newer
versions. Thanks to Éric Hoffman for this proposition.
BUILD_EXEEXT was not properly set (config macro AX_PROG_CC_FOR_BUILD).
Apparently we need aclocal/automake version 1.13 or higher and to
distribute ax_prog_cc_for_build.m4 ourselves to benefit from a fix
released only in autoconf 2.69.
Thanks to Éric Hoffman for reporting and investigating on this.
Automake 1.13 apparently dates from 2012 and debian testing provides
a newer version (automake 1.15) so it should be ok to update it. Also
that's only a build dependency.
2009-01-13 Sven Neumann <sven@gimp.org>
* INSTALL
* autogen.sh
* configure.in: require intltool >= 0.40.1. Looks like that was
the first version with support for the NC_ keyword.
svn path=/trunk/; revision=27902
2008-08-11 Sven Neumann <sven@gimp.org>
Please re-run autogen.sh after this update, and let me know if
there are any problems.
* po-*/Makefile.in.in: updated to a version that does not
require
mkinstalldirs to be present.
* autogen.sh: removed the call to glib-gettextize and call
intltoolize without the --force command-line option. This change
makes an end to the po/Makefile.in.in being overwritten.
* HACKING: changed the documentation accordingly.
svn path=/trunk/; revision=26500
2008-06-11 Sven Neumann <sven@gimp.org>
* autogen.sh: bumped INTLTOOL_REQUIRED_VERSION to 0.35.5. We
actually need 0.40.0 on the system where the tarball is rolled,
however 0.35.5 should be good enough for almost everyone.
* configure.in: use IT_PROG_INTLTOOL with minimum version instead
of the deprecated AC_PROG_INTLTOOL.
* Makefile.am (EXTRA_DIST): removed intltool-foo.in files as
intltool 0.40.0 does not install these any longer. Removed them
from DISTCLEANFILES as well.
svn path=/trunk/; revision=25921
2008-05-23 Sven Neumann <sven@gimp.org>
* autogen.sh (GLIB_REQUIRED_VERSION): require glib-gettextize 2.16.
* libgimp/libgimp-intl.h
* plug-ins/pygimp/pygimp-intl.h: synced with gi18n-lib.h from glib
2.16. This adds support for the C_() macro.
* plug-ins/script-fu/script-fu-intl.h: just include gi18n.h instead
of duplicating things from this header.
svn path=/trunk/; revision=25775
2007-11-21 Sven Neumann <sven@gimp.org>
* HACKING
* autogen.sh: dropped support for automake 1.8 and require
automake >= 1.9.6. Require libtool 1.5 for all platforms.
svn path=/trunk/; revision=24210
2005-12-06 Manish Singh <yosh@gimp.org>
* autogen.sh: Allow overriding from shell environment variables,
and prefer any overrid automakes to the default, so long as the
version is new enough.
2005-12-06 Sven Neumann <sven@gimp.org>
* autogen.sh: applied a patch provided by Pierre-Paul Lavoie that
makes it easier to adapt autogen.sh to uncommon executable names
(bug #323341).
2005-09-19 Sven Neumann <sven@gimp.org>
* autogen.sh
* configure.in
* app/main.c
* app/widgets/gimptoolbox.c
* plug-ins/script-fu/scripts/web-browser.scm: changed "The GIMP"
to "GNU Image Manipulation Program" or just "GIMP".
2005-06-11 Manish Singh <yosh@gimp.org>
* configure.in: if any of the pygimp dependencies aren't fulfilled,
display a more informative message.
* autogen.sh: depend on automake 1.8, so AM_PATH_PYTHON has a user
defined failure mode. Also prefer automake 1.9.
2005-02-07 Sven Neumann <sven@gimp.org>
* HACKING
* autogen.sh: dropped support for automake 1.6, automake >= 1.7 is
now required.
* configure.in: removed cruft that was there only for automake 1.6.
2005-01-20 Sven Neumann <sven@gimp.org>
* HACKING
* Makefile.am
* acinclude.m4
* autogen.sh: applied (modified) patch from Raphaël Quinet that
allows to build GIMP from CVS without having gtk-doc installed.
If you need to do this, pass --disable-gtk-doc to autogen.sh.
* configure.in: removed --disable-devel-docs option since it has
become obsolete now.
* devel-docs/Makefile.am: require gtk-doc when running 'make dist'.
2004-10-23 Michael Natterer <mitch@gimp.org>
* autogen.sh: don't tell nonsense by printing "I am going to run
./configure with no arguments", because we always pass at least
--enable-maintainer-mode. Instead, simply always print all
arguments. Also removed --copy from the calls to glib-gettextize
and intltoolize.
2004-10-23 Michael Natterer <mitch@gimp.org>
* autogen.sh: don't tell nonsense by printing "I am going to run
./configure with no arguments", because we always pass at least
--enable-maintainer-mode. Instead, simply always print all
arguments.
2004-10-16 Manish Singh <yosh@gimp.org>
* autogen.sh: Add support for automake 1.9. Also rm autom4te.cache,
since it might interfere with differing autoconf versions.
2004-07-20 Sven Neumann <sven@gimp.org>
* autogen.sh: added some empty lines to improve readability of the
output in case of problems.
* configure.in: bumped version number to 2.1.3.