cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: commit d1effad0524bcb4763e06659b728ba134464608

From: Cristian Rodríguez <crrodriguez_at_opensuse.org>
Date: Wed, 27 Mar 2013 22:18:43 -0300

El 27/03/13 16:06, curl-library-request_at_cool.haxx.se escribió:

> Message: 2
> Date: Wed, 27 Mar 2013 13:03:49 +0100 (CET)
> From: Daniel Stenberg <daniel_at_haxx.se>
> To: libcurl development <curl-library_at_cool.haxx.se>
> Subject: Re: commit d1effad0524bcb4763e06659b728ba134464608
> Message-ID: <alpine.DEB.2.00.1303271159410.15611_at_tvnag.unkk.fr>
> Content-Type: text/plain; charset="iso-8859-15"; Format="flowed"
>
> On Wed, 27 Mar 2013, Cristian Rodr?guez wrote:
>
>> The following commit will break most distributions buildsystems

>Did they all just silently patch or
> work-around this problem without telling us?

Probably, or lets say, most likely.

> Can you please be more elaborate and explain what exactly you must set in
> CFLAGS, that you cannot set in CPPFLAGS and how that is still kosher configure
> use?
>

Ok, for example take a look at fedora's build

http://kojipkgs.fedoraproject.org//packages/curl/7.24.0/6.fc17/data/logs/x86_64/build.log

the key part

+ CFLAGS='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic'
+ export CFLAGS
+ CXXFLAGS='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic'

All rpm based distributions in one way or another include macro
definitions in CFLAGS, which are expanded from the equivalent of running
rpm --eval %optflags.

for autotools based packages a macro %configure is used, which in
openSUSE at least expands to

  rpm --eval %configure

CFLAGS="${CFLAGS:--O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2
-fstack-protector -funwind-tables -fasynchronous-unwind-tables}" ;
export CFLAGS ;
   CXXFLAGS="${CXXFLAGS:--O2 -g -m64 -fmessage-length=0
-D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables
-fasynchronous-unwind-tables}" ; export CXXFLAGS ;
   FFLAGS="${FFLAGS:--O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2
-fstack-protector -funwind-tables -fasynchronous-unwind-tables}" ;
export FFLAGS ;
   ./configure --host=x86_64-suse-linux-gnu --build=x86_64-suse-linux-gnu \
         --program-prefix= \
         --disable-dependency-tracking \
         --prefix=/usr \
         --exec-prefix=/usr \
         --bindir=/usr/bin \
         --sbindir=/usr/sbin \
         --sysconfdir=/etc \
         --datadir=/usr/share \
         --includedir=/usr/include \
         --libdir=/usr/lib64 \
         --libexecdir=/usr/lib \
         --localstatedir=/var \
         --sharedstatedir=/usr/com \
         --mandir=/usr/share/man \
         --infodir=/usr/share/info

There is no separate %cflags or %cppflags, this is by design.

-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html
Received on 2013-03-28