accepts the --option=%s syntax; the build fails if --prefix %s is used.''' builddir = self.get_builddir(buildscript) if buildscript.config.buildroot and not os.path.exists(builddir): os.makedirs(builddir) os.chdir(builddir) buildscript.set_action('Configuring', self) if buildscript.config.buildroot and self.supports_non_srcdir_builds: cmd = self.get_srcdir(buildscript) + '/configure' else: cmd = './configure' cmd += ' --prefix=%s' % buildscript.config.prefix if buildscript.config.use_lib64: cmd += " --libdir='${exec_prefix}/lib64'" cmd += ' %s' % self.autogenargs if buildscript.config.makeclean: nextstate = self.STATE_CLEAN else: nextstate = self.STATE_BUILD if buildscript.execute(cmd) == 0: return (nextstate, None, None) else: return (nextstate, 'could not configure module', [self.STATE_FORCE_CHECKOUT]) def parse_gdbmodule(node, config, dependencies, suggests, cvsroot): return base.parse_cvsmodule(node, config, dependencies, suggests, cvsroot, CVSModule=GDBModule) base.register_module_type('gdbmodule', parse_gdbmodule)
def do_install(self, buildscript): '''Override base.CVSModule.do_install to create a symbolic link from gcj-bin to bin for gcj and gij. This prevents the JHBuild-installed C and C++ compilers from overriding the system compilers.''' os.chdir(self.get_builddir(buildscript)) buildscript.set_action('Installing', self) cmd = '%s %s install' % (os.environ.get('MAKE', 'make'), self.makeargs) error = None if buildscript.execute(cmd) != 0: error = 'could not make module' else: buildscript.packagedb.add(self.name, self.revision or '') if not os.path.exists(os.path.join(buildscript.config.prefix, 'bin', 'gcj')): os.symlink(os.path.join(buildscript.config.prefix, 'gcj-bin', 'gcj'), \ os.path.join(buildscript.config.prefix, 'bin', 'gcj')) if not os.path.exists(os.path.join(buildscript.config.prefix, 'bin', 'gij')): os.symlink(os.path.join(buildscript.config.prefix, 'gcj-bin', 'gij'), \ os.path.join(buildscript.config.prefix, 'bin', 'gij')) if not os.path.exists(os.path.join(buildscript.config.prefix, 'bin', 'gcj-dbtool')): os.symlink(os.path.join(buildscript.config.prefix, 'gcj-bin', 'gcj-dbtool'), \ os.path.join(buildscript.config.prefix, 'bin', 'gcj-dbtool')) return (self.STATE_DONE, error, []) def parse_gcjmodule(node, config, dependencies, suggests, cvsroot): return base.parse_cvsmodule(node, config, dependencies, suggests, cvsroot, CVSModule=GCJModule) base.register_module_type('gcjmodule', parse_gcjmodule)