automake
[Top][All Lists]
Advanced

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

Re: Could automake-generated Makefiles required GNU make? (was: Re: [gnu


From: Stefano Lattarini
Subject: Re: Could automake-generated Makefiles required GNU make? (was: Re: [gnu-prog-discuss] portability)
Date: Tue, 22 Nov 2011 17:46:48 +0100
User-agent: KMail/1.13.7 (Linux/2.6.30-2-686; KDE/4.6.5; i686; ; )

On Tuesday 22 November 2011, Nick Bowler wrote:
> Hi Stefano,
>
Hello Nick.

> On 2011-11-21 21:56 +0100, Stefano Lattarini wrote:
> > > > Notice that, despite of the (semi)-consensus reached there, I'm becoming
> > > > more and more convinced that, in the long run, requiring GNU make to run
> > > > the automake-generated Makefiles would be an acceptable move (for 
> > > > automake
> > > > 2.0, that is).  But only because GNU make is *so* much better than
> > > > portable make (which is extremely limited), because GNU make is very
> > > > portable and easy to build and install (and free from bootstrapping
> > > > problems AFAIK), and because the incompatibilities between different
> > > > make versions are so appalling.
> 
> I think this discussion is for the most part ignoring what is (IMO) the
> most important issue: it must be easy for ordinary (non-developer) users
> to build free software packages!
>
Yes, and that's why I'm suggesting to start requiring only GNU make, and
not also bash (which would undoubtedly make it easier to write Makefile
recipes) and GCC 4.x or later (which would make the automatic dependency
tracking so much easier), and GNU awk ... OK, you've got the gist I think.

> This especially includes users who
> have no idea that there's a difference between GNU make and the version
> of "make" that is already on their system.
>
Honestly, there are such users today?  I mean, almost every Unix newbie
these days either:

 - installs a Linux distro, which comes with GNU make as the default 
   make program (and we're also ignoring the fact that most such
   users will install stuff only through the distro's package manager
   anyway, not from sources -- and I don't blame them for this!);
 - is using Mac OS X, which comes with GNU make as the default make;
 - installs Cygwin (or possibly MinGW/MSYS) or on his Windows system,
   thus getting GNU make as the default make in the process.

I expect a user of the *BSD systems (and even more of proprietay Unixes)
will be learned enough to know the difference between the vendor make and
GNU make.

That said, having some layer that would allow common "make TARGET" commands
to re-invoke themselves with GNU make (maybe with a proper warnings) would
be worthwhile; but this would *not* be done for the benefit of the newbies,
rather to help out the experienced-but-distracted(-or-lazy) user.

> This is, I think, the single best way to encourage users to become more
> involved in the free software community.  If the user can't easily build
> a package, they won't test new versions and they won't test patches.
>
Seriously, a user experienced enough to try out a patch will not
have a problem understanding the difference the vendor make and
GNU make, and to act consequently.

> (It's truly unfortunate that many popular GNU/Linux distros deliberately
> make this more difficult than it needs to be, but I digress).
> 
> I have no doubt that using GNU make will make the the automake
> maintainers' jobs easier.  It might even make the jobs of individual
> package maintainers easier.
>
See also:
  <http://lists.gnu.org/archive/html/automake/2011-01/msg00091.html>

> But when a user building a free software package for the first time in
> their life runs "./configure && make", and receives a spew of cryptic
> messages about syntax errors or worse, I suspect that their first
> reaction is not going to be "Whoops!  I should have run gmake instead."
> More likely it will involve much more colourful language, and they will
> be left with a bitter impression.
>
OK.  So let's design the new automake to prevent this :-)  My above
proposal of "automatic re-execution with GNU make" might help here.
WDYT?

> Now, I'm not fundamentally opposed to the idea, but it has to be done
> _right_.
>
Well, yes.  And I certainly value the issues you've raised (even if
they are in no way show-stoppers IMHO).

Thanks,
  Stefano



reply via email to

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