delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2015/03/15/06:09:15

X-Recipient: archive-cygwin AT delorie DOT com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:mime-version:in-reply-to:references:date
:message-id:subject:from:to:cc:content-type
:content-transfer-encoding; q=dns; s=default; b=Zm61u+dClLxSWLpN
5O/9IdDso7npe6xqw1fDKJXVxEajgIhtev0PeDZJlcrTcFrD9bo46RNtBsha7o+A
ZJXQyzBN0DHTGZOY3hXonTGJ3i/o1uV5xKsjbZMuGBOp+WeuaxEaBxmmruXt3Xwz
oeuy7xIqbzZ/onTdwtyyrYr3cUk=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:mime-version:in-reply-to:references:date
:message-id:subject:from:to:cc:content-type
:content-transfer-encoding; s=default; bh=HuirqohvRGXVm1LiUYjRAw
DaP7M=; b=h1XkIv1iT4h8m5ltTrukOMSNy1E0Mg4A1i3iNC0Kahdf8olUapxxUE
meSc+3VjaM4bGLlMjKXz8BNXXdszcpWlz/stMKQn4ASHojFdGQxpJsAXYG8CEdHK
WrVCBJf6WaFRanvaWMiVLnsM3dbV8EzasMCBfThIiPURiHnROxqPM=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Authentication-Results: sourceware.org; auth=none
X-Virus-Found: No
X-Spam-SWARE-Status: No, score=1.6 required=5.0 tests=AWL,BAYES_50,FREEMAIL_FROM,KAM_FROM_URIBL_PCCC,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=no version=3.3.2
X-HELO: mail-wi0-f176.google.com
MIME-Version: 1.0
X-Received: by 10.194.241.202 with SMTP id wk10mr86074503wjc.145.1426414131167; Sun, 15 Mar 2015 03:08:51 -0700 (PDT)
In-Reply-To: <DB3PR05MB0763BDE3650C3BC4F4C97A65A2070@DB3PR05MB0763.eurprd05.prod.outlook.com>
References: <DB3PR05MB0763302D3CA95D5946191175A2070 AT DB3PR05MB0763 DOT eurprd05 DOT prod DOT outlook DOT com> <loom DOT 20150313T105904-476 AT post DOT gmane DOT org> <DB3PR05MB0763BDE3650C3BC4F4C97A65A2070 AT DB3PR05MB0763 DOT eurprd05 DOT prod DOT outlook DOT com>
Date: Sun, 15 Mar 2015 11:08:51 +0100
Message-ID: <CAEhDDbCDdWbXNR5SAx=SZyR1_OcngC6d=3kVmjxyR7_Ukx5G8g@mail.gmail.com>
Subject: Re: GCC / make escaping differences
From: Csaba Raduly <rcsaba AT gmail DOT com>
To: cygwin list <cygwin AT cygwin DOT com>
Cc: Achim Gratz <Stromeko AT nexgo DOT de>
X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id t2FA993U005914

Hi Denis,

On Fri, Mar 13, 2015 at 12:20 PM, Denis Washington  wrote:
> Achim Gratz writes:
>> Denis Washington <denis <at> denisw.de> writes:
>> > I suspected that this had something to do with the gcc command defined in
>> the Makefile, which includes
>> > backslashes to escape quotes in -D values like this:
>> >
>> >     -DNOKOGIRI_LIBXML2_PATH\=\"/home/.../2.9.2\"
>> -----------------------------^
>>
>> I'd rather suspect the problem here.
>
> Maybe, but in my eyes that wouldn't explain why this is a GCC compilation error at the line where NOKOGIRI_LIBXML2_PATH is expanded, rather than an shell syntax error. Also, \= seems to cause no problem when passed to bash, as explained.
>
> FYI, my understanding from looking at Nokogiri's extconf.rb (which generates the Makefile) is that the escaping is the result of calling Ruby's Shellwords#shellescape method [1] on the string '-DNOKOGIRI="/home/.../2.9.2"', so I guess one can assume that the result is valid bourne shell syntax.
>
> Regards,
> Denis
>
> [1] http://ruby-doc.org/stdlib-1.9.3/libdoc/shellwords/rdoc/Shellwords.html#method-c-shellescape
>

If you are really curious, you can add the -save-temps switch to the
gcc command line. Then you can look at the nokogiri.i and see exactly
what the compiler saw.

Csaba
-- 
GCS a+ e++ d- C++ ULS$ L+$ !E- W++ P+++$ w++$ tv+ b++ DI D++ 5++
The Tao of math: The numbers you can count are not the real numbers.
Life is complex, with real and imaginary parts.
"Ok, it boots. Which means it must be bug-free and perfect. " -- Linus Torvalds
"People disagree with me. I just ignore them." -- Linus Torvalds

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019