I merged the build-system project branch to mozilla-central a few hours
ago. Besides a number of minor fixes, this brings us:
- An overhaul of our linking system on all platforms. The "fakelibs" stuff
that we landed a while ago to keep our Windows builds working has been
improved and ported to all platforms by Mike Hommey. This buys us, among
other things, significantly reduced linking times on Mac and full
incremental linking with MSVC.
- --disable--disable-libxul and --disable--disable-ipc have landed. These
configure options are not only gone, but will fail in configure if you try
to use them.
- Debug symbols are now produced by default in all builds, including opt.
--enable-debug-symbols is no longer needed. The long deprecated
--enable-debugger-info-modules has been removed entirely. You can still
explicitly --disable-debug-symbols and --enable-debug-symbols="compiler
options".
It's possible that some of these changes will break odd build
configurations. I'll try to review any patches to fix those quickly. I
will blog about this on planet later tonight.
- Kyle
It also buys, in most cases, a few steps when trying to minimalisticly
update something in libxul. For example, when you modify a file under
layout, you previously had to rebuild in its containing directory, then
rebuild gklayout, then build libxul. Which sometimes ends up with
headaches to track what you need to rebuild (because rebuilding the
whole tree is much slower)
Now you can skip rebuilding gklayout, provided you give the -B option
to make when building toolkit/library.
IOW:
- make -C directory/containing/your/modified/file
- make -B -C toolkit/library
In the not so distant future, it should be possible to stop giving the
-B option.
Please note that it may not work in a few corner cases.
Mike
Should we update the build configs? For example, in
we have
---------------------------------------------
export CFLAGS="-gdwarf-2"
export CXXFLAGS="-gdwarf-2"
# For NSS symbols
export MOZ_DEBUG_SYMBOLS=1
ac_add_options --enable-debug-symbols="-gdwarf-2"
---------------------------------------------
Any reason why we need dwarf2? Is this the default now?
> - Kyle
Thanks!
Rafael
There's an existing bug that aimed to do some of this cleanup, the
patches stalled out though:
https://bugzilla.mozilla.org/show_bug.cgi?id=575283
They could be further cleaned up there, certainly.
-Ted
I've seen assorted edits to the build documentation recently but
haven't carefully looked to see if they're related to this. Can anyone
confirm whether or not they've updated that documentation on MDC?
Eric Shepherd
Developer Documentation Lead
Mozilla
http://www.bitstampede.com/