Closed Bug 969164 Opened 11 years ago Closed 11 years ago

Traverse js/src moz.builds from top-level configure.

Categories

(Firefox Build System :: General, defect)

24 Branch
x86_64
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
mozilla30

People

(Reporter: glandium, Assigned: glandium)

References

(Blocks 1 open bug)

Details

Attachments

(6 files, 1 obsolete file)

This is the second and last step before completely getting rid of js/src/configure.in. This is about making js/src and top-level one build-system, at the make level.
Depends on: 462427
Assignee: nobody → mh+mozilla
Status: NEW → ASSIGNED
We happen to be lucky currently because e.g. build is created by config.status before we subconfigure in build/clang-plugin. But further changes break that luck.
Attachment #8372027 - Flags: review?(gps)
Depends on: 946687, 968537, 968561
Attachment #8372025 - Attachment is obsolete: true
Attachment #8372025 - Flags: review?(gps)
Before, we would run configure in both top-level and js/src, and both configures would traverse their own set of moz.builds, without actual knowledge about the other. With this change, both configures still run, but only top-level traverses moz.build files, and uses js/src's config.status when traversing its moz.build files. This allows a better sharing of information between both build systems and the removal of many hacks. This also moves running libffi and icu configure to top-level. Standalone js builds still have their own configure doing moz.build traversal, as before. https://tbpl.mozilla.org/?tree=Try&rev=edbdaa406db4 (the Hf, r and ggc reds are addressed in this patch and in the try push for the next patch)
Attachment #8372189 - Flags: review?(gps)
Before making top-level traverse js/src moz.build files, there was a need to distinguish between top-level traversing e.g. top-level moz.build or config/moz.build and js/src traversing them. With a single traversal of both moz.build sets, we now only need to distinguish between js standalone builds and gecko builds. There is still, however, a need to distinguish between top-level vs. js/src configure runs on gecko builds to make them subconfigure icu and libffi from top-level instead of js/src in js standalone builds, or when choosing to make js/src's config.status do something when run or not. https://tbpl.mozilla.org/?tree=Try&rev=a7445e1bf1d6
Attachment #8372190 - Flags: review?(gps)
(In reply to Mike Hommey [:glandium] from comment #5) > Created attachment 8372187 [details] [diff] [review] > Use per-directory config in sandboxes when reading moz.builds > > Up to this patch: https://tbpl.mozilla.org/?tree=Try&rev=79c8b03d356b I should mention that i could convert EXTERNAL_SOURCE_DIR to use this, but a couple weeks away from it being obsolete, I didn't want to risk breaking comm-central by touching it.
Comment on attachment 8372185 [details] [diff] [review] Move libffi subconfigure invocation in build/autoconf/ffi.m4 Review of attachment 8372185 [details] [diff] [review]: ----------------------------------------------------------------- LGTM.
Attachment #8372185 - Flags: review?(gps) → review+
Comment on attachment 8372026 [details] [diff] [review] Move icu subconfigure invocation in build/autoconf/icu.m4 Review of attachment 8372026 [details] [diff] [review]: ----------------------------------------------------------------- Looked at this side-by-side and didn't see any major differences.
Attachment #8372026 - Flags: review?(gps) → review+
Attachment #8372027 - Flags: review?(gps) → review+
Comment on attachment 8372187 [details] [diff] [review] Use per-directory config in sandboxes when reading moz.builds Review of attachment 8372187 [details] [diff] [review]: ----------------------------------------------------------------- Nice.
Attachment #8372187 - Flags: review?(gps) → review+
Comment on attachment 8372189 [details] [diff] [review] Traverse js/src moz.builds from top-level configure Review of attachment 8372189 [details] [diff] [review]: ----------------------------------------------------------------- Awesome patch. Would r+ again. Some comments in /moz.build before checkin wouldn't hurt. ::: build/autoconf/ffi.m4 @@ +28,1 @@ > if test "$BUILD_CTYPES" -a -z "$MOZ_NATIVE_FFI"; then No reindent? ::: build/autoconf/icu.m4 @@ +140,1 @@ > if test -n "$ENABLE_INTL_API" -a -z "$MOZ_NATIVE_ICU"; then No reindent? ::: python/mozbuild/mozbuild/frontend/reader.py @@ +169,5 @@ > relpath = mozpath.relpath(path, topsrcdir) > reldir = mozpath.dirname(relpath) > > + if mozpath.dirname(relpath) == 'js/src' and \ > + not config.substs.get('JS_STANDALONE'): This seems hacky. Meh.
Attachment #8372189 - Flags: review?(gps) → review+
Comment on attachment 8372190 [details] [diff] [review] Replace most BUILDING_JS uses with JS_STANDALONE Review of attachment 8372190 [details] [diff] [review]: ----------------------------------------------------------------- This was an awesome patch series.
Attachment #8372190 - Flags: review?(gps) → review+
Depends on: 970757
Blocks: 988141
Depends on: 1077228
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: