Last Comment Bug 307311 - Allow client.mk to build xulrunner + multiple apps in one sweep
: Allow client.mk to build xulrunner + multiple apps in one sweep
Status: RESOLVED FIXED
[FIX][camino-1.0]
: fixed1.8.0.2, fixed1.8.1
Product: Core
Classification: Components
Component: Build Config (show other bugs)
: Trunk
: x86 Linux
: P2 normal (vote)
: ---
Assigned To: Benjamin Smedberg [:bsmedberg]
:
Mentors:
Depends on:
Blocks: 299997 327823 327848
  Show dependency treegraph
 
Reported: 2005-09-06 21:54 PDT by Benjamin Smedberg [:bsmedberg]
Modified: 2006-02-22 09:54 PST (History)
6 users (show)
dveditz: blocking1.8.0.2+
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
Build multiple projects in subdirs of MOZ_OBJDIR, rev. 1 (12.81 KB, patch)
2005-09-07 09:19 PDT, Benjamin Smedberg [:bsmedberg]
cls: review+
darin.moz: superreview+
mark: approval‑branch‑1.8.1+
dveditz: approval1.8.0.2+
Details | Diff | Splinter Review

Description Benjamin Smedberg [:bsmedberg] 2005-09-06 21:54:43 PDT
We're going to be building Firefox on top of xulrunner, and we want a way to
build both things in one fell swoop. The plan here is to extend client.mk and
the mozconfig format a little bit:

example .mozconfig:

mk_add_options MOZ_BUILD_PROJECTS=xulrunner,browser
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir

ac_add_app_options xulrunner --enable-debug --enable-optimize
ac_add_app_options xulrunner --enable-debugger-info-modules=all

# the following line automatically adds --with-libxul-sdk=@OBJDIR@/xulrunner
ac_add_app_xulrunner browser
ac_add_app_options browser --enable-official-branding
ac_add_app_options browser --enable-debug --disable-debug
ac_add_app_options browser --enable-extensions=default,spatialnavigation

Then, xulrunner would be built in @OBJDIR@/xulrunner, and firefox would be built
using the xulrunner headers/libs/etc in @OBJDIR@/browser.
Comment 1 Benjamin Smedberg [:bsmedberg] 2005-09-07 09:19:22 PDT
Created attachment 195155 [details] [diff] [review]
Build multiple projects in subdirs of MOZ_OBJDIR, rev. 1
Comment 2 Darin Fisher 2005-09-14 17:39:27 PDT
Comment on attachment 195155 [details] [diff] [review]
Build multiple projects in subdirs of MOZ_OBJDIR, rev. 1

This looks good to me.	My only concern is that once we move all of our apps to
MOZ_BUILD_PROJECTS=xulrunner,appname that we will basically want to just make
our build system automatically set this variable when someone says they want to
build "appname".  Any thoughts on how to get there?  It'd be nice if people did
not have to change their mozconfig files at all, but I guess with the dual
objdir business that's hard to avoid.
Comment 3 Benjamin Smedberg [:bsmedberg] 2005-09-14 18:48:32 PDT
Well, people are going to have to change their mozconfig to some degree. I think
the simplest idea would be to have MOZ_BUILD_PROJECTS=xulrunner,browser in
browser/config/mozconfig (once we flip the firefox-on-xulrunner switch).
Comment 4 Darin Fisher 2005-09-14 19:06:18 PDT
oh, back to sourcing browser/config/mozconfig? *grin*
Comment 5 Chase Phillips 2005-09-14 19:12:14 PDT
(In reply to comment #4)
> oh, back to sourcing browser/config/mozconfig? *grin*

I would like not to need to do that.  Are simpler solutions available?
Comment 6 Benjamin Smedberg [:bsmedberg] 2005-09-15 03:53:34 PDT
I'm sure we can come up with something: MOZ_JUSTBUILDWHATIWANT=browser ;-)
Comment 7 Christian :Biesinger (don't email me, ping me on IRC) 2005-09-15 04:39:37 PDT
can we make --enable-application take a list of applications that are to be built?
Comment 8 Benjamin Smedberg [:bsmedberg] 2005-09-15 04:50:59 PDT
Not really... each "application" is configured separately.
Comment 9 Benjamin Smedberg [:bsmedberg] 2005-09-30 10:45:34 PDT
Fixed on trunk. Chris, I would still appreciate ex-post-facto review.
Comment 10 Benjamin Smedberg [:bsmedberg] 2006-01-19 07:18:40 PST
Comment on attachment 195155 [details] [diff] [review]
Build multiple projects in subdirs of MOZ_OBJDIR, rev. 1

We'd like to get this on the 1.8.0 branch in order to drive mac universal builds: it's a very safe fix in that it's build-only and hasn't had reported regressions.
Comment 11 Mark Mentovai 2006-02-02 19:22:52 PST
I've checked this in on CAMINO_1_0_BRANCH (based off MOZILLA_1_8_0_BRANCH) to support a universal build there.
Comment 12 Mark Mentovai 2006-02-03 11:56:14 PST
The following change was needed to support whitespace in ac_add_app_options arguments.

--- build/autoconf/mozconfig2configure  30 Sep 2005 17:39:16 -0000      1.7
+++ build/autoconf/mozconfig2configure  3 Feb 2006 19:54:38 -0000       1.8
@@ -79,9 +79,9 @@
 ac_add_app_options() {
   APP=$1
   shift;
   if [ "$APP" == "$MOZ_BUILD_APP" ]; then
-      ac_add_options $*;
+      ac_add_options "$*";

Checked in on trunk, checking in on CAMINO_1_0_BRANCH.
Comment 13 Mark Mentovai 2006-02-21 20:13:54 PST
Comment on attachment 195155 [details] [diff] [review]
Build multiple projects in subdirs of MOZ_OBJDIR, rev. 1

This needs branch approval, there are other Mac universal binary patches that depend on it that are waiting to land.  See comment 10 for analysis.  This should land with the changes from comment 12.
Comment 14 Daniel Veditz [:dveditz] 2006-02-22 01:02:01 PST
Comment on attachment 195155 [details] [diff] [review]
Build multiple projects in subdirs of MOZ_OBJDIR, rev. 1

approved for 1.8.0 branch, a=dveditz
Comment 15 Benjamin Smedberg [:bsmedberg] 2006-02-22 09:54:40 PST
Fixed on 1.8 and 1.8.0

Note You need to log in before you can comment on or make changes to this bug.