bug-gnustep
[Top][All Lists]
Advanced

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

[bug #27222] By default binaries should be built with '-g -O2'


From: Yavor Doganov
Subject: [bug #27222] By default binaries should be built with '-g -O2'
Date: Mon, 10 Aug 2009 21:02:17 +0000
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.22pre) Gecko/20090301 (Debian-1.8.1.18+nobinonly.b308.cvs20090331t155113-0ubuntu0.8.04.1) Kazehakase/0.5.6 gNewSense/0.5.6-gns2

URL:
  <http://savannah.gnu.org/bugs/?27222>

                 Summary: By default binaries should be built with '-g -O2'
                 Project: GNUstep
            Submitted by: yavor
            Submitted on: Tue 11 Aug 2009 12:02:16 AM EEST
                Category: Makefiles
                Severity: 3 - Normal
              Item Group: Change Request
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any

    _______________________________________________________

Details:

This change

2006-09-20  Nicola Pero <nicola.pero@meta-innovation.com>

        By default compile everything with debug=yes.  To get the
        traditional behaviour, please use 'make debug=no'.
        * common.make (debug): Turn on debug by default.

and the resulting comment and behavior:

# Enable debug by default.  This is according to the GNU Coding
# Standards.
ifneq ($(debug), no)
  debug = yes
endif

ifeq ($(debug), yes)
  # This is filtered out as it compromised debugging
  OPTFLAG := $(filter-out -O%, $(OPTFLAG))
...

is wrong.  The GNU Coding Standards require that packages should be built
with debugging symbols (-g) by default, but does not go so far in agressively
removing any optimization.  For example, '(standards)Configuration' says:

`VARIABLE=VALUE'
   ...
   For example, the user could issue `configure CFLAGS=-g
   CXXFLAGS=-g' to build with debugging information and
   without the default optimization.

For any package that uses the GNU Build System, if
CFLAGS/CXXFLAGS/OBJCFLAGS/etc are not specified by the user, they are set to
'-g -O2'.  This is a long time tradition, and GNUstep Make behaved this way
until the above change.

This is causing us grief in Debian as the Debian Policy requires all binaries
to be built with -O2 (unless there is a good reason for -O3); unoptimized
builds are considered a bug so we have lots of "buggy" GNUstep packages now
(from a Policy perspective, at least).




    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?27222>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/





reply via email to

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