mirror of
https://github.com/servo/servo.git
synced 2025-06-20 15:18:58 +01:00
Add cargo-geckolib and rustc-geckolib commands to mach.
This commit is contained in:
parent
bf7c044955
commit
ca08ff876b
3 changed files with 39 additions and 3 deletions
|
@ -416,9 +416,8 @@ class MachCommands(CommandBase):
|
|||
self.set_use_stable_rust()
|
||||
self.ensure_bootstrapped()
|
||||
|
||||
env = self.build_env(is_build=True)
|
||||
env = self.build_env(is_build=True, geckolib=True)
|
||||
geckolib_build_path = path.join(self.context.topdir, "target", "geckolib").encode("UTF-8")
|
||||
env["CARGO_TARGET_DIR"] = geckolib_build_path
|
||||
|
||||
ret = None
|
||||
opts = []
|
||||
|
|
|
@ -382,7 +382,7 @@ class CommandBase(object):
|
|||
" --release" if release else ""))
|
||||
sys.exit()
|
||||
|
||||
def build_env(self, hosts_file_path=None, target=None, is_build=False):
|
||||
def build_env(self, hosts_file_path=None, target=None, is_build=False, geckolib=False):
|
||||
"""Return an extended environment dictionary."""
|
||||
env = os.environ.copy()
|
||||
if sys.platform == "win32" and type(env['PATH']) == unicode:
|
||||
|
@ -519,6 +519,10 @@ class CommandBase(object):
|
|||
|
||||
env['GIT_INFO'] = '-'.join(git_info)
|
||||
|
||||
if geckolib:
|
||||
geckolib_build_path = path.join(self.context.topdir, "target", "geckolib").encode("UTF-8")
|
||||
env["CARGO_TARGET_DIR"] = geckolib_build_path
|
||||
|
||||
return env
|
||||
|
||||
def servo_crate(self):
|
||||
|
|
|
@ -38,6 +38,24 @@ class MachCommands(CommandBase):
|
|||
return call(["cargo"] + params, env=self.build_env())
|
||||
return call(['cargo'] + params, env=self.build_env())
|
||||
|
||||
@Command('cargo-geckolib',
|
||||
description='Run Cargo with the same compiler version and root crate as build-geckolib',
|
||||
category='devenv')
|
||||
@CommandArgument(
|
||||
'params', default=None, nargs='...',
|
||||
help="Command-line arguments to be passed through to Cargo")
|
||||
def cargo_geckolib(self, params):
|
||||
if not params:
|
||||
params = []
|
||||
|
||||
self.set_use_stable_rust()
|
||||
env = self.build_env(geckolib=True)
|
||||
|
||||
if self.context.topdir == getcwd():
|
||||
with cd(path.join('ports', 'geckolib')):
|
||||
return call(["cargo"] + params, env=env)
|
||||
return call(['cargo'] + params, env=env)
|
||||
|
||||
@Command('cargo-update',
|
||||
description='Same as update-cargo',
|
||||
category='devenv')
|
||||
|
@ -97,6 +115,21 @@ class MachCommands(CommandBase):
|
|||
params = []
|
||||
return call(["rustc"] + params, env=self.build_env())
|
||||
|
||||
@Command('rustc-geckolib',
|
||||
description='Run the Rust compiler with the same compiler version and root crate as build-geckolib',
|
||||
category='devenv')
|
||||
@CommandArgument(
|
||||
'params', default=None, nargs='...',
|
||||
help="Command-line arguments to be passed through to rustc")
|
||||
def rustc_geckolib(self, params):
|
||||
if params is None:
|
||||
params = []
|
||||
|
||||
self.set_use_stable_rust()
|
||||
env = self.build_env(geckolib=True)
|
||||
|
||||
return call(["rustc"] + params, env=env)
|
||||
|
||||
@Command('rust-root',
|
||||
description='Print the path to the root of the Rust compiler',
|
||||
category='devenv')
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue