Reduce duplication in binary path determinition for Android target (fixes issue #8349)

This commit is contained in:
Yanir Seroussi 2015-11-19 14:35:10 +11:00
parent a5babb89a0
commit 4b71bc5c42
3 changed files with 10 additions and 9 deletions

View file

@ -198,7 +198,7 @@ class MachCommands(CommandBase):
if verbose:
opts += ["-v"]
if android:
opts += ["--target", "arm-linux-androideabi"]
opts += ["--target", self.config["android"]["target"]]
if debug_mozjs or self.config["build"]["debug-mozjs"]:
features += ["script/debugmozjs"]
@ -298,7 +298,6 @@ class MachCommands(CommandBase):
def build_gonk(self, jobs=None, verbose=False, release=False):
self.ensure_bootstrapped()
ret = None
opts = []
if jobs is not None:
opts += ["-j", jobs]
@ -307,7 +306,7 @@ class MachCommands(CommandBase):
if release:
opts += ["--release"]
opts += ["--target", "arm-linux-androideabi"]
opts += ["--target", self.config["android"]["target"]]
env = self.build_env(gonk=True)
build_start = time()
with cd(path.join("ports", "gonk")):

View file

@ -113,6 +113,7 @@ class CommandBase(object):
self.config["android"].setdefault("sdk", "")
self.config["android"].setdefault("ndk", "")
self.config["android"].setdefault("toolchain", "")
self.config["android"].setdefault("target", "arm-linux-androideabi")
self.config.setdefault("gonk", {})
self.config["gonk"].setdefault("b2g", "")
@ -145,8 +146,10 @@ class CommandBase(object):
else:
return path.join(self.context.topdir, "target")
def get_binary_path(self, release, dev):
def get_binary_path(self, release, dev, android=False):
base_path = self.get_target_dir()
if android:
base_path = path.join(base_path, self.config["android"]["target"])
release_path = path.join(base_path, "release", "servo")
dev_path = path.join(base_path, "debug", "servo")

View file

@ -199,19 +199,18 @@ class PostBuildCommands(CommandBase):
help="Command-line arguments to be passed through to Servo")
def package(self, params, release=False, dev=False, debug=False, debugger=None):
env = self.build_env()
target_dir = path.join(self.get_target_dir(), "arm-linux-androideabi")
dev_flag = ""
binary_path = self.get_binary_path(release, dev, android=True)
if dev:
env["NDK_DEBUG"] = "1"
env["ANT_FLAVOR"] = "debug"
dev_flag = "-d"
target_dir = path.join(target_dir, "debug")
else:
env["ANT_FLAVOR"] = "release"
target_dir = path.join(target_dir, "release")
dev_flag = ""
output_apk = path.join(target_dir, "servo.apk")
target_dir = os.path.dirname(binary_path)
output_apk = "{}.apk".format(binary_path)
try:
with cd(path.join("support", "android", "build-apk")):
subprocess.check_call(["cargo", "run", "--", dev_flag, "-o", output_apk, "-t", target_dir,