Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Build System Changes

30 views
Skip to first unread message

Kyle Huey

unread,
Mar 22, 2011, 10:29:38 PM3/22/11
to mozilla.de...@lists.mozilla.org
tl;dr: clobber your builds, --disable-libxul and --disable-ipc are gone.

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

Mike Hommey

unread,
Mar 22, 2011, 10:39:51 PM3/22/11
to mozilla.de...@lists.mozilla.org
On Tue, Mar 22, 2011 at 10:29:38PM -0400, Kyle Huey wrote:
> tl;dr: clobber your builds, --disable-libxul and --disable-ipc are gone.
>
> 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.

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

Rafael Ávila de Espíndola

unread,
Mar 23, 2011, 1:29:34 PM3/23/11
to dev-pl...@lists.mozilla.org
> - 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".

Should we update the build configs? For example, in

https://hg.mozilla.org/build/buildbot-configs/file/tip/mozilla2/linux64/mozilla-2.0/release/mozconfig

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

Ted Mielczarek

unread,
Mar 23, 2011, 1:39:27 PM3/23/11
to Rafael Ávila de Espíndola, dev-pl...@lists.mozilla.org
2011/3/23 Rafael Ávila de Espíndola <respi...@mozilla.com>:

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

Sheppy

unread,
Mar 30, 2011, 8:24:29 AM3/30/11
to

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/

0 new messages