Prior to this commit:
* Our Python dependency story was a bit of a mess. We had complete
Python packages (wheels and directories) living in-tree, despite
not having any changes from upstream. This is particularly bad because
`setup.py` never gets run on these packages which could (sometimes
silently) unintended breakage.
* Python virtual environments (virtualenv) were only utilized for
testing web-platform tests
After this commit:
* A single virtualenv (`python/_virtualenv`) is activated upon *every*
call to mach
* A requirements file (`python/requirements.txt`) is added to describe
the dependencies needed by Python modules in `python/`. The child
commit immediately following this will remove all the dependencies
no longer needed in-tree (for the sake of keeping this commit
readable).
Relevant to https://github.com/servo/servo/issues/861
Fixes https://github.com/servo/servo/issues/6999
This is necessary to ensure Cargo knows when to rebuild. Normally
.gitignore would be enough to exclude these from Cargo's freshness
calculation, but https://github.com/rust-lang/cargo/issues/1729 prevents
this currently. This is the new, correct way to do these thigns, just
like the style crate does.
These files don't exist in the tree, and the codegen doesn't create them, so we shouldn't have them sitting around in .gitignore.
There are h/cpp files sitting around in the bindings codegen directory; I suppose one could make the argument that they're useful for examples, so we should keep them around, too?
Now we write $SRC/.config.mk.last to store the most recent configure
variables for the backup and restore task. Also, they no longer fail if
they can't find the variables, and will skip the backup/restore stages
and keep going.
Move CFG_TARGET_TRIPLES to CFG_TARGET, since only one target is
supported anyway.
Create config.{mk,tmp,status} files in build directory instead of the
source directory.
In case the ../configure script fails or the user cancels it, the temporary file
generated is shown as "untracked file" when running "git status".
Adding it to the ignore file.
Fixes#341