Allow client.mk to build xulrunner + multiple apps in one sweep

RESOLVED FIXED

Status

()

Core
Build Config
P2
normal
RESOLVED FIXED
12 years ago
11 years ago

People

(Reporter: bsmedberg, Assigned: bsmedberg)

Tracking

({fixed1.8.0.2, fixed1.8.1})

Trunk
x86
Linux
fixed1.8.0.2, fixed1.8.1
Points:
---
Dependency tree / graph
Bug Flags:
blocking1.8.0.2 +

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [FIX][camino-1.0])

Attachments

(1 attachment)

(Assignee)

Description

12 years ago
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.
(Assignee)

Comment 1

12 years ago
Created attachment 195155 [details] [diff] [review]
Build multiple projects in subdirs of MOZ_OBJDIR, rev. 1
Attachment #195155 - Flags: superreview?(darin)
Attachment #195155 - Flags: review?(cls)

Comment 2

12 years ago
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.
Attachment #195155 - Flags: superreview?(darin) → superreview+
(Assignee)

Comment 3

12 years ago
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

12 years ago
oh, back to sourcing browser/config/mozconfig? *grin*

Comment 5

12 years ago
(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?
(Assignee)

Comment 6

12 years ago
I'm sure we can come up with something: MOZ_JUSTBUILDWHATIWANT=browser ;-)
can we make --enable-application take a list of applications that are to be built?
(Assignee)

Comment 8

12 years ago
Not really... each "application" is configured separately.
(Assignee)

Updated

12 years ago
Priority: -- → P2
Whiteboard: [FIX]
(Assignee)

Comment 9

12 years ago
Fixed on trunk. Chris, I would still appreciate ex-post-facto review.
Status: NEW → RESOLVED
Last Resolved: 12 years ago
Resolution: --- → FIXED

Updated

12 years ago
Attachment #195155 - Flags: review?(cls) → review+
(Assignee)

Comment 10

12 years ago
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.
Attachment #195155 - Flags: approval1.8.0.2?

Comment 11

12 years ago
I've checked this in on CAMINO_1_0_BRANCH (based off MOZILLA_1_8_0_BRANCH) to support a universal build there.

Updated

12 years ago
Whiteboard: [FIX] → [FIX][camino-1.0]

Comment 12

12 years ago
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.

Updated

11 years ago
Blocks: 327823

Updated

11 years ago
Blocks: 327848

Comment 13

11 years ago
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.
Attachment #195155 - Flags: approval-branch-1.8.1+
Flags: blocking1.8.0.2+
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
Attachment #195155 - Flags: approval1.8.0.2? → approval1.8.0.2+
(Assignee)

Comment 15

11 years ago
Fixed on 1.8 and 1.8.0
Keywords: fixed1.8.0.2, fixed1.8.1
You need to log in before you can comment on or make changes to this bug.