Commit Graph

113 Commits

Author SHA1 Message Date
Niels De Graef f663d26ab5 Migrate from intltool to gettext
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
2022-06-25 10:25:49 +02:00
Niels De Graef 92e80d12e8 docs: Migrate from gtk-doc to gi-docgen
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
2021-12-27 10:47:34 +01:00
Andrzej Hunt 64c786e19a devel-docs: fix automake when --disable-gtk-docs is used
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)
2021-08-22 17:28:26 +02:00
lillolollo 4d74452444 fix gtk version 2019-08-06 13:46:53 +00:00
Jehan c90287ecf5 Issue #3746: Problem with automake creating directories $(top_srcdir).
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.
2019-08-05 17:03:57 +02:00
Michael Natterer bab75b7365 Change a bazillion URLs to https://
Including all user-visible link and links called from code, like
the help pages.
2018-07-14 14:19:27 +02:00
Jehan 848b89afc2 autogen: add support for recent automake 1.16. 2018-03-22 13:26:43 +01:00
Jehan d6c72d0f71 Bug 790261 - autogen.sh non-portable use of echo -n.
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.
2017-11-14 03:01:50 +01:00
Jehan 8df8cd03f3 autogen: fix and improve automake/aclocal detection.
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.
2017-03-24 15:47:35 +01:00
Jehan 6cf26410ed Bug 780270 - MinGW build fail on Windows (broken m4 macro).
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.
2017-03-23 15:25:55 +01:00
su-v 4ace9e526e autogen.sh: also look for automake 1.15 2015-01-24 17:01:40 +01:00
Jehan 6915ffaf05 autogen: if $NOCONFIGURE is set, do not run the configure script. 2014-11-07 11:51:10 +01:00
Michael Henning 9a6b42a4fd autogen.sh: also look for automake 1.14 2013-06-26 11:42:45 -04:00
Michael Henning 495b41416b autogen.sh: also look for automake 1.13 2013-01-06 22:03:42 +01:00
Kevin Cozens a2e037fb00 Corrected spelling errors spotted by Ari Pollak (Mostly fixes bug #683694)
Still need to address the "allows to" grammatical error.
2012-09-10 12:22:12 -04:00
Michael Muré 2a982029ad fix autogen.sh to work with automake 1.12 2012-05-06 16:42:55 +09:00
Michael Natterer 0d65fd7ba8 autogen.sh: remove trailing ^M from the #!/bin/sh line... wtf 2011-11-09 23:59:22 +01:00
Mukund Sivaraman 4c7fe3b725 build: Remove --enable-maintainer-mode as it's now the default 2011-09-13 00:54:26 +05:30
Michael Natterer 780d2b8e58 autogen.sh: require automake >= 1.10 and default to 1.11
Remove automake-1.9 from the list of possible versions because it
fails to define $(builddir) which is required in some places.
2011-04-14 21:03:11 +02:00
Michael Schumacher 2396ecb91a Require libtool >= 2.2 on Microsoft Windows
This is needed for the -shrext command line option, which will be used for e.g. pygimp.
2009-08-11 00:00:22 +02:00
Martin Nordholts 66cc3e5f22 Check for automake-1.11 2009-06-28 11:12:16 +02:00
Martin Nordholts 64cbf6254f Convert Subversion references to git 2009-04-25 18:12:21 +02:00
Sven Neumann 236a94b009 INSTALL autogen.sh require intltool >= 0.40.1. Looks like that was the
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
2009-01-13 21:09:06 +00:00
Sven Neumann e816403306 Please re-run autogen.sh after this update, and let me know if there are
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-08-11 16:15:25 +00:00
Sven Neumann acba2bc3e4 bumped INTLTOOL_REQUIRED_VERSION to 0.35.5. We actually need 0.40.0 on the
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-06-11 12:41:41 +00:00
Sven Neumann 73e717eb34 require glib-gettextize 2.16.
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
2008-05-23 13:36:31 +00:00
Sven Neumann 950a71b9a4 HACKING dropped support for automake 1.8 and require automake >= 1.9.6.
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
2007-11-21 09:30:21 +00:00
Sven Neumann 4e2a8c5a9b also look for automake-1.10.
2007-05-21  Sven Neumann  <sven@gimp.org>

	* autogen.sh: also look for automake-1.10.


svn path=/trunk/; revision=22553
2007-05-21 16:54:31 +00:00
Mukund Sivaraman 6412fc8d8a autogen.sh Updated with Subversion instructions.
2007-01-20  Mukund Sivaraman <muks@mukund.org>

        * autogen.sh
        * README.i18n: Updated with Subversion instructions.


svn path=/trunk/; revision=21740
2007-01-20 07:38:52 +00:00
Sven Neumann 95ad3a13ab readded version check for glib-gettextize.
2006-03-02  Sven Neumann  <sven@gimp.org>

	* autogen.sh: readded version check for glib-gettextize.
2006-03-02 14:10:53 +00:00
Øyvind Kolås e874984fd0 added improved check_version() function that handles multiple digits in major/minor/micro 2006-03-02 13:58:04 +00:00
Sven Neumann 5b4334df07 removed version check for glib-gettextize. It didn't work with glib
2006-03-02  Sven Neumann  <sven@gimp.org>

	* autogen.sh: removed version check for glib-gettextize. It didn't
	work with glib 2.10.x.
2006-03-02 10:20:06 +00:00
Michael Natterer 45c9e43fa1 s/head -1/head -n 1/ (spotted by brix).
2006-01-31  Michael Natterer  <mitch@gimp.org>

	* autogen.sh: s/head -1/head -n 1/ (spotted by brix).
2006-01-31 09:35:51 +00:00
Michael Natterer b11f281643 make autoconf check more robust and the generic "Tool old" error message
2006-01-29  Michael Natterer  <mitch@gimp.org>

	* autogen.sh: make autoconf check more robust and the generic
	"Tool old" error message more verbose.
2006-01-29 20:31:39 +00:00
Manish Singh 47697d281c Allow overriding from shell environment variables, and prefer any overrid
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-07 01:15:01 +00:00
Sven Neumann 5fb291389f applied a patch provided by Pierre-Paul Lavoie that makes it easier to
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-12-06 17:18:14 +00:00
Sven Neumann e9443b5774 autogen.sh configure.in app/main.c app/widgets/gimptoolbox.c changed "The
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-09-19 13:15:31 +00:00
Manish Singh 930e08d8e8 if any of the pygimp dependencies aren't fulfilled, display a more
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-06-11 21:10:43 +00:00
Sven Neumann 377dd60dcb HACKING dropped support for automake 1.6, automake >= 1.7 is now required.
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-02-07 12:05:05 +00:00
Sven Neumann e0a6c25548 HACKING Makefile.am acinclude.m4 applied (modified) patch from Raphaël
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'.
2005-01-20 18:21:41 +00:00
Sven Neumann c9ee12aeec check for gtk-doc.m4, depend on intltool > 0.31.
2004-12-17  Sven Neumann  <sven@gimp.org>

	* autogen.sh: check for gtk-doc.m4, depend on intltool > 0.31.
2004-12-17 16:29:27 +00:00
Sven Neumann 773a9d8f0b cosmetics 2004-12-13 22:58:50 +00:00
Sven Neumann 3d7364b658 HACKING autogen.sh switched to using gtkdocize for the build of the API
2004-12-13  Sven Neumann  <sven@gimp.org>

	* HACKING
	* autogen.sh
	* configure.in: switched to using gtkdocize for the build of the
	API docs.
2004-12-13 22:51:55 +00:00
Sven Neumann afe3d4d7b2 rephrased the warning that is shown when the intltool check fails.
2004-12-01  Sven Neumann  <sven@gimp.org>

        * autogen.sh: rephrased the warning that is shown when the
        intltool check fails.
2004-12-01 14:19:26 +00:00
Michael Natterer 6d9d93e15d don't tell nonsense by printing "I am going to run ./configure with no
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 12:13:39 +00:00
Michael Natterer 6c0fd1dd9d don't tell nonsense by printing "I am going to run ./configure with no
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-23 11:02:07 +00:00
Manish Singh 7452578ad5 Oops, disable testing code 2004-10-16 18:21:34 +00:00
Manish Singh 12520f8e16 Add support for automake 1.9. Also rm autom4te.cache, since it might
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-10-16 18:20:23 +00:00
Sven Neumann e3c4026b29 if the check for libtoolize fails, try glibtoolize.
2004-07-28  Sven Neumann  <sven@gimp.org>

	* autogen.sh: if the check for libtoolize fails, try glibtoolize.
2004-07-28 18:52:40 +00:00
Sven Neumann d23f6ad2d3 added some empty lines to improve readability of the output in case of
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.
2004-07-20 10:06:46 +00:00