diff --git a/tools/ade b/tools/ade index 3e5580a633d13240fffad5ba5f839fef6ed6bb63..1fd24917821a653fcb0ab3ec49289332cf1e9250 100755 --- a/tools/ade +++ b/tools/ade @@ -972,6 +972,20 @@ class Ade: self.die("No target (simulator, sysroot or device) specified") return target + def unpack_sysroot(self, target): + if isinstance(target, Device): + sdk = self.get_sdk() + version = target.version + if sdk and version.is_compatible(sdk.version): + return sdk # Native compilation; SDK version matches device image version + else: + sysroot = self.get_sysroot_manager().get_installed(version) + if not sysroot: + self.die("No sysroot currently installed for {0}{1}{2}" + .format(Colors.OKBLUE, version.get_name(), Colors.ENDC)) + return sysroot + return target + def do_sysroot_list(self): manager = self.get_sysroot_manager() versions = manager.get_versions() @@ -1192,19 +1206,7 @@ class Ade: print("AppVersion:{0}".format(obj.version)) def do_configure(self): - target = self.get_target() - - if isinstance(target, Device): - sdk = self.get_sdk() - version = target.version - if sdk and version.is_compatible(sdk.version): - target = sdk # Native compilation; SDK version matches device image version - else: - target = self.get_sysroot_manager().get_installed(version) - if not target: - self.die("No sysroot currently installed for {0}{1}{2}" - .format(Colors.OKBLUE, version.get_name(), Colors.ENDC)) - + target = self.unpack_sysroot(self.get_target()) try: project = Project(bundle_id=self.bundle_id) project.configure(target, debug=self.debug, force=self.force, args=self.args)