This is a requirement for Mac universal builds. The universal build process will be driven entirely "hands-off" by client.mk. A build will be done for each architecture using the multi-project support introduced in bug 307311 and cross-compile support from bug 322578. After builds for both architectures are complete, they will be merged into a universal binary using the tools in bug 324855. In order for client.mk to manage that process directly as well, it needs to support configurable postflight actions.
This patch will also introduce build date harmonization, which is technically a separate issue but also involves patches to client.mk. This feature enables a client.mk configurable, MOZ_BUILD_DATE_DIR, to be set to an OBJDIR from which the bdate or gbdate will be extracted and used as MOZ_BUILD_DATE. This is needed to ensure that the build IDs will be identical for both halves of Mac universal binaries.
Created attachment 212394 [details] [diff] [review] Configurable preflight/postflight actions and build date harmonization This introduces the following new client.mk tunables: +# MOZ_BUILD_DATE_DIR - OBJDIR whose MOZ_BUILD_DATE is to be copied +# MOZ_PREFLIGHT_ALL } - Makefiles to run before any project in +# MOZ_PREFLIGHT } MOZ_BUILD_PROJECTS, before each project, after +# MOZ_POSTFLIGHT } each project, and after all projects; these +# MOZ_POSTFLIGHT_ALL } variables contain space-separated lists
An older version of this patch was used for the Camino 1.0 release.
Comment on attachment 212394 [details] [diff] [review] Configurable preflight/postflight actions and build date harmonization for preflight_all and postflight_all, I'd like to pass "MOZ_BUILD_PROJECTS=$(MOZ_BUILD_PROJECTS)" as well. See review comments in bug 327848 for my reasoning (not yet posted of course). r+ on the preflight/postflight stuff. I'd like to discuss the builddate stuff with you separately, in particular I don't understand the sequence of events here and I'd like to reuse bdate.pl instead of inventing a new script.
Created attachment 212620 [details] [diff] [review] As checked in As checked in on the trunk, with the bdate stuff ripped out. bdate will be handled in a new bug.
Comment on attachment 212620 [details] [diff] [review] As checked in a=me once the tboxen cycle green
Created attachment 212621 [details] [diff] [review] As checked in Added MOZ_BUILD_PROJECTS pass.
So this is FIXED on trunk, right? If it landed on the 1.8 branch please add the fixed1.8.1 keyword.
Comment on attachment 212621 [details] [diff] [review] As checked in approved for 1.8.0 branch, a=dveditz
Holding branch checkins for landing of dependency, bug 307311.
Checked in on HEAD, MOZILLA_1_8_BRANCH, and MOZILLA_1_8_0_BRANCH.