[sane-devel] autoconf/configure and debug
Hello, in order to debug more efficiently, I have to re-edit Makefiles to remove the two -O2 options in CFLAGS and change the -g to the -ggdb option. Is there an easy way to get CFLAGS=-ggdb when configuring SANE ? Regards, Stef
[sane-devel] autoconf/configure and debug
On Tue, Jun 14, 2011 at 2:49 PM, stef wrote: > ? ? ? ?Hello, > > ? ? ? ?in order to debug more efficiently, I have to re-edit Makefiles to > remove > the two -O2 options in CFLAGS and change the -g to the -ggdb option. Is there > an easy way to get CFLAGS=-ggdb when configuring SANE ? > I've not tried this with sane-backends but its supposed to be as simple as: ./configure CFLAGS=-ggdb configure will not default to CFLAGS="-g -O2" if you specify your own value. But if your getting two -O2 then something else may be adding it as well. Chris
[sane-devel] autoconf/configure and debug
Am Dienstag, 14. Juni 2011, 21:49:44 schrieb stef: > Hello, > > in order to debug more efficiently, I have to re-edit Makefiles to > remove > the two -O2 options in CFLAGS and change the -g to the -ggdb option. Is > there an easy way to get CFLAGS=-ggdb when configuring SANE ? Have you ever looked at "./configure --help" to find out what options the configure script supports? There you'll see: Usage: ./configure [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. [...] Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBSlibraries to pass to the linker, e.g. -l [...] So, it is sufficient to simply call the configure script as: ./configure CFLAGS=-ggdbg (If CFLAGS is set, the configure script uses its value, otherwise it uses the default of "-g -O2", which is what you want to prevent). Cheers, Reinhold -- -- Reinhold Kainhofer, reinhold at kainhofer.com, http://reinhold.kainhofer.com/ * Financial & Actuarial Math., Vienna Univ. of Technology, Austria * http://www.fam.tuwien.ac.at/, DVR: 0005886 * LilyPond, Music typesetting, http://www.lilypond.org
[sane-devel] autoconf/configure and debug
Am Dienstag, 14. Juni 2011, 22:32:25 schrieb Chris Bagwell: > configure will not default to CFLAGS="-g -O2" if you specify your own > value. But if your getting two -O2 then something else may be adding > it as well. Yes, the culprit is the net-snmp library... To get the include path for the net-snmp library, the binary "net-snmp-config" is called with --cflags and the result is appended to CFLAGS. Unfortunately, reinhold at einstein:~$ net-snmp-config --cflags -g -O2 -Ulinux -Dlinux=linux -Wall -Wstrict-prototypes -Wwrite-strings -Wcast- qual -I. -I/home/reinhold/.build/include Judging from the output of net-snmp-config --help, there is no other way to get the correct include pathes / libraries to link to net-snmp without dragging in all unneeded compiler flags... Cheers, Reinhold -- -- Reinhold Kainhofer, reinhold at kainhofer.com, http://reinhold.kainhofer.com/ * Financial & Actuarial Math., Vienna Univ. of Technology, Austria * http://www.fam.tuwien.ac.at/, DVR: 0005886 * LilyPond, Music typesetting, http://www.lilypond.org
[sane-devel] autoconf/configure and debug
Le mardi 14 juin 2011 22:57:01 Reinhold Kainhofer, vous avez ?crit : > Am Dienstag, 14. Juni 2011, 22:32:25 schrieb Chris Bagwell: > > configure will not default to CFLAGS="-g -O2" if you specify your own > > value. But if your getting two -O2 then something else may be adding > > it as well. > > Yes, the culprit is the net-snmp library... > To get the include path for the net-snmp library, the binary > "net-snmp-config" is called with --cflags and the result is appended to > CFLAGS. Unfortunately, > > reinhold at einstein:~$ net-snmp-config --cflags > -g -O2 -Ulinux -Dlinux=linux -Wall -Wstrict-prototypes -Wwrite-strings > -Wcast- qual -I. -I/home/reinhold/.build/include > > Judging from the output of net-snmp-config --help, there is no other way to > get the correct include pathes / libraries to link to net-snmp without > dragging in all unneeded compiler flags... > > Cheers, > Reinhold Hello, Thanks for your help. By configuring with CFLAGS=-ggdb and --without-snmp I can do the debug I need without optimized out functions or variables. Regards, Stef
[sane-devel] autoconf/configure and debug
stef writes: > in order to debug more efficiently, I have to re-edit Makefiles to > remove > the two -O2 options in CFLAGS and change the -g to the -ggdb option. Is there > an easy way to get CFLAGS=-ggdb when configuring SANE ? In addition to specifying CFLAGS at configure time, you can also give an override at compile time, like so make CFLAGS="-ggdb -O0" Of course, this will only affect those files that get recompiled but with `make clean` (or selective removal of *.la and *.lo files) that should be easy to control. I use this approach quite a bit to avoid a time consuming configure step and only override stuff for those files I want to focus on. Hope this helps, -- Olaf Meeuwissen, LPIC-2 FLOSS Engineer -- AVASYS CORPORATION FSF Associate Member #1962 Help support software freedom http://www.fsf.org/jf?referrer=1962