Closed Bug 1493272 Opened 1 year ago Closed 1 year ago

|mach build binaries| does not work with tup


(Firefox Build System :: General, defect)

Not set


(firefox64 fixed)

Tracking Status
firefox64 --- fixed


(Reporter: botond, Assigned: chmanchester)


(Blocks 1 open bug)



(1 file)

Here's what happens when I try to run |mach build binaries| with tup as my build backend:

botond@botond-desktop:~/dev/mozilla/central$ ./mach build binaries
 0:01.54 /home/botond/.mozbuild/tup/tup upd binaries --debug-logging -j8
 0:01.59 [ tup ] [0.000s] Scanning filesystem...
 0:04.21 [ tup ] [2.632s] Reading in new environment variables...
 0:04.21 [ tup ] [2.632s] No Tupfiles to parse.
 0:04.21 [ tup ] [2.632s] No files to delete.
 0:04.22 tup: Unable to find tupid for 'binaries'
 0:04.26 1449 compiler warnings present.
As I understand it |./mach build binaries| was a way to transition to a more efficient way of building the graph of compilation related targets while avoiding the wasteful things a top-level make build will always do. These inefficiencies should not be present in the tup build. In other words, |./mach build| will bring the whole tree up to date and should supplant |./mach build binaries| (as well as "faster") in the tup backend and be about as fast or faster.

If what you want is to update certain parts of the tree you care about, a partial tree build will work. For instance, to only build libxul and its dependencies run |./mach build toolkit/library|, or to only re-compile files in a certain subir without linking run |./mach build <subdir>|.

That being said, given people's muscle memory by this point, we should probably provide a fallback or helpful error message in this case.
Blocks: buildtup
It would be nice if |mach build binaries| just silently redirected to |mach build| for tup, as the muscle memory for running |mach build binaries| is pretty ingrained by this point.
Assignee: nobody → cmanchester
Comment on attachment 9013381 [details]
Bug 1493272 - Run a top level build in the tup backend when "faster" or "binaries" is passed to |./mach build|

Ted Mielczarek [:ted] [:ted.mielczarek] has approved the revision.
Attachment #9013381 - Flags: review+
Pushed by
Run a top level build in the tup backend when "faster" or "binaries" is passed to |./mach build| r=ted,firefox-build-system-reviewers
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla64
You need to log in before you can comment on or make changes to this bug.