mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
Auto merge of #16762 - upsuper:buildtime-pseudo, r=emilio
Generate atom files at build-time The commits here basically do the following things: 1. move all generated files for gecko into "gecko/generated" so that we can copy all of them around 2. make regen_atoms.py generate file to the out dir rather than in-tree 3. make the build script invoke regen_atoms.py when bindgen feature is enabled <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/16762) <!-- Reviewable:end -->
This commit is contained in:
commit
a5fe464e4a
14 changed files with 129 additions and 111 deletions
|
@ -24,7 +24,7 @@ from mach.decorators import (
|
|||
Command,
|
||||
)
|
||||
|
||||
from servo.command_base import CommandBase, cd, call, BIN_SUFFIX, find_dep_path_newest
|
||||
from servo.command_base import CommandBase, cd, call, BIN_SUFFIX
|
||||
from servo.util import host_triple
|
||||
|
||||
|
||||
|
@ -413,7 +413,6 @@ class MachCommands(CommandBase):
|
|||
self.ensure_bootstrapped()
|
||||
|
||||
env = self.build_env(is_build=True, geckolib=True)
|
||||
geckolib_build_path = path.join(self.context.topdir, "target", "geckolib").encode("UTF-8")
|
||||
|
||||
ret = None
|
||||
opts = []
|
||||
|
@ -433,14 +432,6 @@ class MachCommands(CommandBase):
|
|||
if features:
|
||||
opts += ["--features", ' '.join(features)]
|
||||
|
||||
if with_gecko is not None:
|
||||
print("Generating atoms data...")
|
||||
run_file = path.join(self.context.topdir, "components",
|
||||
"style", "binding_tools", "regen_atoms.py")
|
||||
run_globals = {"__file__": run_file}
|
||||
execfile(run_file, run_globals)
|
||||
run_globals["generate_atoms"](env["MOZ_DIST"])
|
||||
|
||||
build_start = time()
|
||||
with cd(path.join("ports", "geckolib")):
|
||||
ret = call(["cargo", "build"] + opts, env=env, verbose=verbose)
|
||||
|
@ -451,15 +442,6 @@ class MachCommands(CommandBase):
|
|||
|
||||
print("GeckoLib build completed in %s" % format_duration(elapsed))
|
||||
|
||||
if with_gecko is not None:
|
||||
print("Copying binding files to style/gecko_bindings...")
|
||||
build_path = path.join(geckolib_build_path, "release" if release else "debug", "")
|
||||
target_style_path = find_dep_path_newest("style", build_path)
|
||||
out_gecko_path = path.join(target_style_path, "out", "gecko")
|
||||
bindings_path = path.join(self.context.topdir, "components", "style", "gecko_bindings")
|
||||
for f in ["bindings.rs", "structs_debug.rs", "structs_release.rs"]:
|
||||
shutil.copy(path.join(out_gecko_path, f), bindings_path)
|
||||
|
||||
return ret
|
||||
|
||||
@Command('clean',
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue