Re: Compiling git with makepp patch
From: Daniel Pfeiffer <hidden>
Date: 2016-06-15 22:49:23
la 08/23/2010 10:27 PM Ævar Arnfjörð Bjarmason skribis:
On Sun, Aug 22, 2010 at 22:31, Daniel Pfeiffer[off-list ref] wrote:quoted
Git has been giving our promise of Gnu make compatibility a hard time.Aside from our bugs you can't make that promise if projects like Git need patches to work with makepp :)
Just two little things in your big makefiles. The compatibility is just an added bonus, we have many other real strengths in makepp.
quoted
The other thing caused me quite a headache before I understood: PERL_PATH_SQ = $(subst ','\'',$(PERL_PATH))#' I suppose you added the comment for Emacs' syntax highlighting, to have an even number of unescaped quotes.That was added by John 'Warthog9' Hawley, I wonder if that also came with a M-x report-emacs-bug, e.g. cperl-mode deals with that case, sounds like an easy-to-fix bug in makefile-gmake-mode.
Hardly, if you look at my example below!
quoted
The problem is makepp parses this line just like Emacs, so it doesn't find the comment, adding in the #' at the point of use, which completely screws the sed command. (You might want to apply my fix to a few other makefiles, which have SQ variables, albeit without the syntax highlighting workaround, so they are only visually defect.)The reason Emacs has issues is because it uses an ad-hoc regexp based parser that favours speed above correctness for syntax highlighting.
Well, gmake rules are very twisted: a and b don't do the same thing, because
file functions shall respect quoting (though to my mind that should then be
only one funny file name, which gmake gets wrong, splitting it up anyway), and
c causes gmake to choke:
all: a b
a:
echo : $(dir 'a # b/c/d') :
B = 'a # b/c/d'
b:
echo : $(dir $B) :
C = $(dir 'a # b/c/d')
c:
echo : $C :
I'm surprised you've gotten this far with makepp if you don't tokenize comments and throw their contents away.
There are a few subtle differences, which mostly don't hurt.
coralament / best Grötens / liebe Grüße / best regards / elkorajn salutojn
Daniel Pfeiffer
--
lerne / learn / apprends / lär dig / ucz się Esperanto:
http://lernu.net / http://ikurso.net