bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Building Make out of Git: Gettext requirements


From: Paul Smith
Subject: Re: Building Make out of Git: Gettext requirements
Date: Sat, 20 Apr 2013 14:02:43 -0400

On Sat, 2013-04-20 at 19:38 +0300, Eli Zaretskii wrote:
> > From: Paul Smith <address@hidden>
> > Cc: address@hidden
> > Date: Sat, 20 Apr 2013 11:44:02 -0400
> > 
> > On Sat, 2013-04-20 at 13:50 +0300, Eli Zaretskii wrote:
> > > Do we really need to require 0.18.1 or can this restriction be lifted?
> > > I hacked configure.ac to require 0.17, and didn't see any problems
> > > afterwards.
> > 
> > You can see this bug:
> > 
> > http://savannah.gnu.org/bugs/?37307
> 
> That just says you must use Gettext 0.18 to be able to avoid static
> linking.  It doesn't say the build won't work

I didn't say that it said the build wouldn't work.

> But even if building the tarball is not enough, it is IMO wrong to
> solve the problem like this.  For starters, it punishes OpenBSD users
> themselves, because previously they could build Make, albeit
> statically linked with gettet -- now they won't be able to do that at
> all, unless they upgrade Gettext!

I believe this is only a problem building from git.  If you build from a
distribution tarball then you don't need to have any particular version
of gettext installed.  For developers who build from git, they do need
to have certain versions of tools installed.

However, if we build our distribution tarball with an older version of
gettext, then the resulting tarball distribution doesn't work correctly
in this situation.

Upgrading gettext is usually pretty simple, and this release is almost 3
years old.

> > However, Brad was clear that he believed that the minimum version MUST
> > be increased in configure.ac in order to get the benefits.
> 
> I don't see how he could be right in that.

I investigated how this works and he is right, actually.

The GETTEXT_VERSION macro is not used by gettext at all.  It's used by
the autopoint tool, which is run to build distributions from SCM.  It
grabs the gettext M4 files and includes them in the source directory so
autoconf can find them.

The gettext distribution contains an archived version of the entire
source code control repository (!), e.g.
/usr/share/gettext/archive.git.tar.gz which is the contents of a git
repository (.git directory for example).

When autopoint runs it unpacks the archive tarball, then checks out the
tagged version of the M4 files based on the value of GETTEXT_VERSION and
includes those versions of the gettext m4 files in the target.

So, whatever version you put there is the version of the gettext m4
files you'll get, regardless of which version of gettext is installed on
your system.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]