! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
A couple of improvements in the developement tools.
Status:
RESOLVED: WORKSFORME
Product:
Xfce4-dev-tools
Component:
General

Comments

Description Nick Schermer editbugs 2007-01-03 12:16:01 CET
I've back ported some build features from Thunar to the dev-tools. I haven't actually tested it (no Linux here), but I think you'll get the point ^_^.
Comment 1 Nick Schermer editbugs 2007-01-03 12:19:58 CET
Created attachment 920 
Debug and build improvements

- Improved debug support (-O0 flag, better checking).
- Support for a default debug mode:
    m4_define([xbs_debug_default], [ifelse(package_version_tag(), [svn], [yes], [minimum])])
- as-needed support. Maybe not very smart, but I think we've fixed most of the linker problems.
- Move automake options
Comment 2 Nick Schermer editbugs 2007-01-03 12:21:07 CET
Created attachment 921 
Remove the panel

Panel helper can be removed, since we use XDT_CHECK_PACKAGE for detecting libxfce4panel.
Comment 3 Nick Schermer editbugs 2007-01-03 12:30:44 CET
Maybe the linker improvement is a bit tricky for 4.4.0. But I think better debug flags are not a bad idea.

Btw. Why don't we 'unset' the LDFLAGS when building with debug? Because adding --strip in the LDFLAGS removes the debug info from the library/binary, isn't it?
Comment 4 Nick Schermer editbugs 2007-01-03 14:01:28 CET
I think it's also better to move the --enable-final (and if committed, the --as-needed) code from BM_FEATURE_DEBUG to XDT_FEATURE_DEBUG, because atm, none of the Xfce modules benefits from this linker improvement (except xfce4-session).

Or create a new macro? XDT_LINKER_OPTIMIZATIONS?
Comment 5 Nick Schermer editbugs 2007-03-28 11:46:45 CEST
Created attachment 1066 
New and improved xdt-features

I've create a new patch, so we can get rid of all the 'custom' macros in xfce-mcs-manager/plugins, thunar, exo etc. Small description of them below:

There is an 'internal' macro for debug support (_XDT_FEATURE_DEBUG), this macro only returns the additional CFLAGS and CPPFLAGS. It check for compiler support, including the Solaris patch that is now in trunk here and there.
You can set the debug mode to no, minimum, yes and full.

The XDT_FEATURE_DEBUG() marco uses the internal debug macro and sets the CFLAGS and CXXFLAGS like the old version did. Its behavior has not been changed, so it's save for the Xfce components that already use it.

XDT_FEATURE_DEBUG_PLATFORM platform is the same as XDT_FEATURE_DEBUG, but it sets the PLATFORM_CPPFLAGS and PLATFORM_CFLAGS, like used in Thunar and Exo.

Both macros also accept a default debug mode like this (in configure.in.in):
m4_define([sample_debug_default], [ifelse(sample_version_tag(), [svn], [yes], [minimum])])
XDT_FEATURE_DEBUG_PLATFORM([sample_debug_default()])
When no default debug mode is set, it will be set to minimum.

Then there are 2 new macros:
XDT_FEATURE_LINKER for -Wl,-O1 and -Wl,--as-needed checks and set the LDFLAGS. Those can be disabled by --disable-final. Of course this one can break packages, but it's up to the developers if he adds this macro or not.

XDT_FEATURE_VISIBILITY for visibility support. This is used in a couple of Xfce libs/apps, so probably better off in the dev tools. The macros sets HAVE_GNUC_VISIBILITY to 1 and adds -DHAVE_GNUC_VISIBILITY to PLATFORM_CPPFLAGS.

Bug #2706

Reported by:
Nick Schermer
Reported on: 2007-01-03
Last modified on: 2009-10-19

People

Assignee:
Benedikt Meurer
CC List:
0 users

Version

Attachments

Debug and build improvements (4.90 KB, patch)
2007-01-03 12:19 CET , Nick Schermer
no flags
Remove the panel (2.81 KB, patch)
2007-01-03 12:21 CET , Nick Schermer
no flags
New and improved xdt-features (7.69 KB, patch)
2007-03-28 11:46 CEST , Nick Schermer
no flags

Additional information