imake
Joshua Root
jmr at macports.org
Sat Sep 27 20:47:40 PDT 2014
On 2014-9-28 13:14 , Brandon Allbery wrote:
> On Sat, Sep 27, 2014 at 11:12 PM, Joshua Root <jmr at macports.org
> <mailto:jmr at macports.org>> wrote:
>
> It would be better to fix the macros in xorg-cf-files or wherever so
> they work with a modern preprocessor.
>
>
> This probably isn't possible; the issue is that a modern preprocessor
> speaks C / C++, not Makefile.
That isn't the issue AFAICT, it's just doing things with comments that
were probably undefined before and now don't work:
/opt/local/lib/X11/config/Imake.tmpl:2144:10: fatal error: ' X11 .rules'
file not found
#include ProjectRulesFile
^
/opt/local/lib/X11/config/Imake.tmpl:2142:35: note: expanded from macro
'ProjectRulesFile'
# define ProjectRulesFile Concat3(<,TopLevelProject,.rules>)
^
/opt/local/lib/X11/config/Imake.rules:256:23: note: expanded from macro
'Concat3'
#define Concat3(a,b,c)a/**/b/**/c
^
1 error generated.
It wants this to expand as:
#include <X11.rules>
but instead it expands as
#include < X11 .rules>
The gcc manual says you can use ## for pasting, but the result has to be
a valid token. Hence:
error: pasting "<" and "TopLevelProject" does not give a valid
preprocessing token
- Josh
More information about the macports-dev
mailing list