Closed Bug 774115 Opened 8 years ago Closed 5 months ago

Bootstrap support for Windows

Categories

(Firefox Build System :: Bootstrap Configuration, defect)

defect
Not set

Tracking

(firefox70 fixed)

RESOLVED FIXED
mozilla70
Tracking Status
firefox70 --- fixed

People

(Reporter: gps, Assigned: m_kato)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

+++ This bug was initially created as a clone of Bug #774109 +++

Mach should have support for bootstrapping the development environment on Windows.

1) Start with a fresh install of Windows.
2) Download and run an executable or copy a one-liner into a Windows console.
3) Build Firefox

The goal is to make it super simple for Windows users to build mozilla-central. Your grandmother should be able to do it.

This bug essentially involves automating https://developer.mozilla.org/En/Developer_Guide/Build_Instructions/Windows_Prerequisites.

Unlike the other bootstrap support bugs (bug 774109, bug 774111, bug 774112), this one will be a little different because of mozilla-build. We don't have a Python or "powerful" scripting environment on Windows out of the box - just batch scripts (although newer versions of Windows might ship PowerShell - I can't recall). I think our goal should be to start from the Windows desktop or console and bootstrap into a running Python environment as quickly as possible. Once that is done, we have access to mach's Python modules and bootstrapping will look a lot like it does on other platforms.

mozilla-build really complicates things. If bootstrapping into Python, we arguably need mozilla-build to be installed. Although, we could look into packaging a self-contained .exe containing a Python interpreter and our bootstrap script.

If all you have is fresh Windows install + mozilla-build, I don't think this will work. I believe the .bat scripts in mozilla-build require Visual Studio to be installed or they refuse to run. Bootstrapping (this bug) should install Visual Studio automatically: this is the point of effortless bootstrapping.

This bug could go in a lot of directions. I think the first step is to come up with a plan for the long-term relationship between mozilla-build and mach/mozilla-central. e.g. I think a lot of people will be very happy if we found some way to make mozilla-build easier to manage or possibly even go away. Once we have that, we can start chipping away.
Shifting to be about supporting Windows in mozboot. I imagine a good first implementation of this would just download and run the MozillaBuild .exe installer.
No longer blocks: machfeatures
Summary: mach: bootstrap support for Windows → Bootstrap support for Windows
Whiteboard: [mach]
Duplicate of this bug: 810585
Duplicate of this bug: 1083403
I'm currently involved with the work of moving Windows Firefox Desktop builds over to TaskCluster from buildbot. It would be really nice if across the board for gecko builds, the steps were:

* mach bootstrap
* export MOZCONFIG=..... # based on build type
* mach build

I currently can't do this for the Windows builds as we don't currently have support for Windows in `mach bootstrap`.

I believe currently in buildbot, we build with a mozharness script to set up the environment and execute the build. However I think if `mach bootstrap` was able to take care of setting the environment, there would be no need for the extra mozharness layer on top of mach, and then both build/release automation and developers would be running the build the same way - by running "mach build".
Product: Core → Firefox Build System
Component: General → Bootstrap Configuration
Assignee: nobody → m_kato
Attached patch WIPSplinter Review
Attachment #9069549 - Attachment description: Bug 774115 - Support mach bootstrap on Windows for Android. → Bug 774115 - Support mach bootstrap on Windows for Android. r=nalexander
Pushed by m_kato@ga2.so-net.ne.jp:
https://hg.mozilla.org/integration/autoland/rev/d7ab1f005aba
Support mach bootstrap on Windows for Android. r=nalexander
Status: NEW → RESOLVED
Closed: 5 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla70
You need to log in before you can comment on or make changes to this bug.