lbessard@321: from .. import toolchain_gcc lbessard@321: from wxPopen import ProcessLogger lbessard@321: lbessard@321: class Xenomai_target(toolchain_gcc): lbessard@321: extension = ".so" lbessard@321: def getXenoConfig(self): lbessard@321: """ Get xeno-config from target parameters """ greg@329: return self.PluginsRootInstance.BeremizRoot.getTargetType().getcontent()["value"].getXenoConfig() lbessard@321: lbessard@321: def getBuilderLDFLAGS(self): lbessard@321: # get xeno-config from target parameters lbessard@321: xeno_config = self.getXenoConfig() lbessard@321: lbessard@321: status, result, err_result = ProcessLogger(self.logger, xeno_config + " --xeno-ldflags", no_stdout=True).spin() lbessard@321: if status: laurent@361: self.logger.write_error(_("Unable to get Xenomai's LDFLAGS\n")) lbessard@321: xeno_ldlags = result.strip() lbessard@321: lbessard@321: return toolchain_gcc.getBuilderLDFLAGS(self) + [xeno_ldlags, "-shared", "-lnative"] lbessard@321: lbessard@321: def getBuilderCFLAGS(self): lbessard@321: # get xeno-config from target parameters lbessard@321: xeno_config = self.getXenoConfig() lbessard@321: lbessard@321: status, result, err_result = ProcessLogger(self.logger, xeno_config + " --xeno-cflags", no_stdout=True).spin() lbessard@321: if status: laurent@361: self.logger.write_error(_("Unable to get Xenomai's CFLAGS\n")) lbessard@321: xeno_cflags = result.strip() lbessard@321: lbessard@321: return toolchain_gcc.getBuilderCFLAGS(self) + [xeno_cflags] lbessard@321: