octave-maintainers
[Top][All Lists]
Advanced

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

Re:


From: Ben Abbott
Subject: Re:
Date: Fri, 01 Mar 2013 17:28:45 -0500

On Mar 1, 2013, at 4:48 PM, Rik wrote:

> On 03/01/2013 09:39 AM, Ben Abbott wrote:
> Ben,
> 
> The trouble seems to be with OCTAVE_CONF_UGLY_DEFS.  This is replaced by 
> ${UGLY_DEFS} and the resulting expression in oct-conf.h is:
> 
> #define OCTAVE_CONF_UGLY_DEFS ${UGLY_DEFS}
> 
> UGLY_DEFS has embedded double quotes which need escaping.  For example, my 
> pattern file has
> 
> s|%OCTAVE_CONF_UGLY_DEFS%|"-DPACKAGE_NAME=\\"GNU\ Octave\\"    ...
> 
> while yours has
> 
> s|%OCTAVE_CONF_UGLY_DEFS%|"-DPACKAGE_NAME=\"GNU\ Octave\"    ...
> 
> This seems to be a known issue.  UGLY_DEFS is created by the configure.ac 
> code shown below
> 
> ## We have to insert extra levels of backslash quoting here so that
> ## the right thing ends up in oct-conf.h.
> UGLY_DEFS=`echo $DEFS | $SED 's,\\",\\\\\\\\\\\\\\\\\\",g'`
> AC_MSG_NOTICE([defining UGLY_DEFS to be $UGLY_DEFS])
> AC_SUBST(UGLY_DEFS)
> 
> So I guess that somehow we are losing one extra backslash on Mac platforms.  
> You could try adding some extra '\\' to the replacement expression in 
> configure.ac untill you get the correct quoting level.  That would at least 
> validate that this is indeed the problem.
> 
> This is probably unrelated but we check for a 'sed' that we like with 
> OCTAVE_PROG_SED.  This is the only instance in configure.ac that actually 
> uses $SED.  The others instances all just use 'sed' which means the first on 
> the path rather than the one that we preferred.  
> 
> --Rik

Adding a single backslash allows me to build.

Ben

$ hg diff
diff --git a/configure.ac b/configure.ac
--- a/configure.ac
+++ b/configure.ac
@@ -2853,7 +2853,7 @@
 
 ## We have to insert extra levels of backslash quoting here so that
 ## the right thing ends up in oct-conf.h.
-UGLY_DEFS=`echo $DEFS | $SED 's,\\",\\\\\\\\\\\\\\\\\\",g'`
+UGLY_DEFS=`echo $DEFS | $SED 's,\\",\\\\\\\\\\\\\\\\\\\",g'`
 AC_MSG_NOTICE([defining UGLY_DEFS to be $UGLY_DEFS])
 AC_SUBST(UGLY_DEFS)



reply via email to

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