As you are no doubt well aware, building comm-central applications have
become rather annoying as of late. I told myself that if I had time, I
would put it first into pseudo-rework. It turns out that I unexpectedly
got a bit of time. So I'm working on pseudo-rework, and it's already
close to starting to land. :-)
What is pseudo-rework? It is, in short, an attempt to try to make the
build system think that cc-rework has happened without it having
actually happened. The name is courtesy of Mike Hommey. The work is
divided into three phases:
As it exists right now:
$MOZ_OBJDIR/mail
$MOZ_OBJDIR/mozilla/dist
$MOZ_OBJDIR/mozilla/toolkit
1. Merge the two object directories into one. Effectively your code will
look like:
$MOZ_OBJDIR/mozilla/mail
$MOZ_OBJDIR/mozilla/dist
$MOZ_OBJDIR/mozilla/toolkit
This by itself isn't particularly helpful. The reason it's a separate
phase is because it does provide some protection against m-c build
changes, and because automation hates phase 2 right now.
2. Move the object directory to actually be $MOZ_OBJDIR. Effectively:
$MOZ_OBJDIR/mail
$MOZ_OBJDIR/dist
$MOZ_OBJDIR/toolkit
But wait, there's more!
MOZCONFIG=/foo/bar ./mozilla/mach build works.
But wait, there's more!
MOZCONFIG=/foo/bar make -f client.mk build also works.
But wait, there's more!
$ hg clone http://hg.mozilla.org/comm-central
$ cd comm-central
$ ln -s /path/to/mozilla-central mozilla
$ echo ac_add_options --enable-application=mail > .mozconfig # Need an
--enable-application=mail if you want Thunderbird and not Firefox.
$ ./mozilla/mach build
Success!
I hope you're as excited for this as I am.
3. Eliminate the comm-central build system. This may get deferred for
some time because it looks like the solution here is picking one of a
collection of hacks, and I'm not sure which one is preferable.
--
Joshua Cranmer
Thunderbird and DXR developer
Source code archæologist
_______________________________________________
dev-builds mailing list
dev-builds@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-builds