def libcSetup(cfg): set_variables(cfg) if not os.path.exists(cfg["builddir"]): shelltools.makedirs(cfg["builddir"]) shelltools.cd(cfg["builddir"]) cmd = "../configure \ --with-tls \ --with-__thread \ --enable-add-ons=nptl,libidn,ports \ --enable-kernel=2.6.31 \ --without-cvs \ --without-selinux \ --prefix=/usr \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ --libexecdir=/usr/lib/misc \ --enable-stackguard-randomization \ --enable-bind-now \ --without-gd \ --disable-profile \ %s " % cfg["extraconfig"] # if arch is arm, use scratchbox for cross-build if get.ARCH() == "arm": cmd = "AUTOCONF=false sb2 %s \ --with-abi=aapcs-linux \ --with-headers=%s/usr/include \ --build=%s \ --host=%s \ --target=%s" % (cmd, get.sysroot(), get.HOST(), get.HOST(), get.HOST()) shelltools.system(cmd)
def setup(): exportFlags() shelltools.export("CPPFLAGS", "") # Maintainer mode off, do not force recreation of generated files # shelltools.system("contrib/gcc_update --touch") shelltools.makedirs("build") shelltools.cd("build") cmd = '../configure \ --prefix=/usr \ --bindir=/usr/bin \ --libdir=/usr/lib \ --libexecdir=/usr/lib \ --includedir=/usr/include \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ --build=%s \ --host=%s \ --target=%s \ --disable-libgcj \ --disable-nls \ --disable-mudflap \ --disable-libmudflap \ --disable-libunwind-exceptions \ --enable-checking=release \ --enable-clocale=gnu \ --enable-__cxa_atexit \ --enable-languages=c,c++,fortran,objc,obj-c++,lto \ --enable-libstdcxx-allocator=new \ --disable-libstdcxx-pch \ --enable-shared \ --enable-ssp \ --disable-libssp \ --enable-plugin \ --enable-threads=posix \ --without-included-gettext \ %s \ %s \ %s \ --with-system-zlib \ --with-pkgversion="Pardus Linux" \ --with-bugurl=http://bugs.pardus.org.tr' % ( get.HOST(), get.HOST(), get.HOST(), opt_arch, opt_unwind, opt_multilib) # FIXME: this is supposed to be detected automatically #--enable-long-long \ # --enable-gnu-unique-object \ enable with binutils > 2.20.51.0.2 # --disable-libunwind-exceptions # experiment with libunwind >= 0.99 if get.ARCH() == "arm": cmd = "sb2 %s --with-gxx-include-dir=%s/usr/include/c++" % ( cmd, get.sysroot()) else: cmd += "--with-gxx-include-dir=/usr/include/c++" shelltools.system(cmd)
def configure(projectfile='', parameters='', installPrefix=prefix): if projectfile != '' and not shelltools.can_access_file(projectfile): raise ConfigureError(_("Project file '%s' not found.") % projectfile) profiles = glob.glob("*.pro") if len(profiles) > 1 and projectfile == '': raise ConfigureError(_("It seems there are more than one .pro file, you must specify one. (Possible .pro files: %s)") % ", ".join(profiles)) shelltools.system("%s -makefile %s PREFIX='%s' %s %s" % (qmake, projectfile, installPrefix, get_qmake_environment(), parameters )) if crosscompiling: pisitools.dosed('Makefile', r'\-(L|I)\/usr(\S*)', '-\\1%s/usr\\2' % get.sysroot())
def setup(): exportFlags() shelltools.export("CPPFLAGS", "") # Maintainer mode off, do not force recreation of generated files # shelltools.system("contrib/gcc_update --touch") shelltools.makedirs("build") shelltools.cd("build") cmd = '../configure \ --prefix=/usr \ --bindir=/usr/bin \ --libdir=/usr/lib \ --libexecdir=/usr/lib \ --includedir=/usr/include \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ --build=%s \ --host=%s \ --target=%s \ --disable-libgcj \ --disable-nls \ --disable-mudflap \ --disable-libmudflap \ --disable-libunwind-exceptions \ --enable-checking=release \ --enable-clocale=gnu \ --enable-__cxa_atexit \ --enable-languages=c,c++,fortran,objc,obj-c++,lto \ --enable-libstdcxx-allocator=new \ --disable-libstdcxx-pch \ --enable-shared \ --enable-ssp \ --disable-libssp \ --enable-plugin \ --enable-threads=posix \ --without-included-gettext \ %s \ %s \ %s \ --with-system-zlib \ --with-pkgversion="Pardus Linux" \ --with-bugurl=http://bugs.pardus.org.tr' % (get.HOST(), get.HOST(), get.HOST(), opt_arch, opt_unwind, opt_multilib) # FIXME: this is supposed to be detected automatically #--enable-long-long \ # --enable-gnu-unique-object \ enable with binutils > 2.20.51.0.2 # --disable-libunwind-exceptions # experiment with libunwind >= 0.99 if get.ARCH() == "arm": cmd = "sb2 %s --with-gxx-include-dir=%s/usr/include/c++" % (cmd, get.sysroot()) else: cmd += "--with-gxx-include-dir=/usr/include/c++" shelltools.system(cmd)
def configure(projectfile='', parameters='', installPrefix=prefix): if projectfile != '' and not shelltools.can_access_file(projectfile): raise ConfigureError(_("Project file '%s' not found.") % projectfile) profiles = glob.glob("*.pro") if len(profiles) > 1 and projectfile == '': raise ConfigureError( _("It seems there are more than one .pro file, you must specify one. (Possible .pro files: %s)" ) % ", ".join(profiles)) shelltools.system("%s -makefile %s PREFIX='%s' %s %s" % (qmake, projectfile, installPrefix, get_qmake_environment(), parameters)) if crosscompiling: pisitools.dosed('Makefile', r'\-(L|I)\/usr(\S*)', '-\\1%s/usr\\2' % get.sysroot())
from pisi.util import join_path # ActionsAPI Modules import pisi.actionsapi import pisi.actionsapi.get as get from pisi.actionsapi.shelltools import system from pisi.actionsapi.shelltools import export from pisi.actionsapi.shelltools import can_access_file from pisi.actionsapi.shelltools import unlink arch = get.ARCH() crosscompiling = ctx.config.values.build.crosscompiling if crosscompiling: ctx.ui.info(_("cross compiling")) export("QTDIR", "%s/usr/qt/4" % get.sysroot()) export("QMAKE_PLATFORM", "linux-g++") export("QMAKESPEC", "%s/usr/qt/4/mkspecs/linux-g++" % get.sysroot()) export("QMAKE_CC", get.CC()) export("QMAKE_AR", get.AR()) export("QMAKE_CXX", get.CXX()) export("QMAKE_LINK", get.CXX()) export("QMAKE_LINK_SHLIB", get.CXX()) export("QMAKE_CFLAGS", "%s %s -Wno-psabi -I%s/usr/qt/4/include" % (get.CPPFLAGS(), get.CFLAGS(), get.sysroot())) export( "QMAKE_CXXFLAGS", "%s %s -Wno-psabi -fno-exceptions -fno-rtti -I%s/usr/qt/4/include" % (get.CPPFLAGS(), get.CXXFLAGS(), get.sysroot()),
# Please read the COPYING file. # Pisi Modules import pisi.context as ctx import gettext __trans = gettext.translation('pisi', fallback=True) _ = __trans.ugettext # ActionsAPI Modules import pisi.actionsapi import pisi.actionsapi.get as get from pisi.actionsapi.shelltools import system scons_cmd = "scons" if not get.ARCH().startswith('arm') else "sb2 %s/usr/bin/scons" % get.sysroot() class MakeError(pisi.actionsapi.Error): def __init__(self, value=''): pisi.actionsapi.Error.__init__(self, value) self.value = value ctx.ui.error(value) class InstallError(pisi.actionsapi.Error): def __init__(self, value=''): pisi.actionsapi.Error.__init__(self, value) self.value = value ctx.ui.error(value) def make(parameters = ''): if system('%s %s %s' % (scons_cmd, get.makeJOBS(), parameters)):
datadir = "%s/share/%s" % (prefix, basename) includedir = "%s/include" % prefix docdir = "/%s/%s" % (get.docDIR(), basename) examplesdir = "%s/%s/examples" % (libdir, basename) demosdir = "%s/%s/demos" % (libdir, basename) importdir = "%s/%s/imports" % (libdir, basename) plugindir = "%s/%s/plugins" % (libdir, basename) translationdir = "%s/translations" % datadir sysconfdir= "/etc" qmake = "%s/qmake-qt4" % bindir crosscompiling = ctx.config.values.build.crosscompiling if crosscompiling: ctx.ui.info(_("cross compiling qt4 application")) qmake_environment = { 'QTDIR' : "%s/usr/qt/4" % get.sysroot(), 'QMAKESPEC' : "%s/usr/qt/4/mkspecs/linux-g++" % get.sysroot(), 'QMAKE_PLATFORM' : "linux-g++", 'QMAKE_CC' : get.CC(), 'QMAKE_AR' : get.AR(), 'QMAKE_CXX' : get.CXX(), 'QMAKE_LINK' : get.CXX(), 'QMAKE_LINK_SHLIB' : get.CXX(), 'QMAKE_CFLAGS' : "%s %s -Wno-psabi -I%s/usr/qt/4/include" % (get.CPPFLAGS(), get.CFLAGS(), get.sysroot()), 'QMAKE_CXXFLAGS' : "%s %s -Wno-psabi -fno-exceptions -fno-rtti -I%s/usr/qt/4/include" % (get.CPPFLAGS(), get.CXXFLAGS(), get.sysroot()), 'QMAKE_LDFLAGS' : "%s" % get.LDFLAGS(), 'QMAKE_RPATH' : "-Wl,-rpath-link,", 'QMAKE_INCDIR' : "%s/usr/qt/4/include" % get.sysroot(),
includedir = "%s/include" % prefix docdir = "/%s/%s" % (get.docDIR(), basename) examplesdir = "%s/%s/examples" % (libdir, basename) demosdir = "%s/%s/demos" % (libdir, basename) importdir = "%s/%s/imports" % (libdir, basename) plugindir = "%s/%s/plugins" % (libdir, basename) translationdir = "%s/translations" % datadir sysconfdir = "/etc" qmake = "%s/qmake-qt4" % bindir crosscompiling = ctx.config.values.build.crosscompiling if crosscompiling: ctx.ui.info(_("cross compiling qt4 application")) qmake_environment = { 'QTDIR': "%s/usr/qt/4" % get.sysroot(), 'QMAKESPEC': "%s/usr/qt/4/mkspecs/linux-g++" % get.sysroot(), 'QMAKE_PLATFORM': "linux-g++", 'QMAKE_CC': get.CC(), 'QMAKE_AR': get.AR(), 'QMAKE_CXX': get.CXX(), 'QMAKE_LINK': get.CXX(), 'QMAKE_LINK_SHLIB': get.CXX(), 'QMAKE_CFLAGS':
import gettext __trans = gettext.translation('pisi', fallback=True) _ = __trans.ugettext # Pisi Modules import pisi.context as ctx # ActionsAPI Modules import pisi.actionsapi import pisi.actionsapi.get as get from pisi.actionsapi.shelltools import system, can_access_file, unlink, isEmpty from pisi.actionsapi.pisitools import dodoc crosscompiling = ctx.config.values.build.crosscompiling sysroot = get.sysroot() python_cmd = "python" if crosscompiling: python_cmd = "sb2 %s/usr/bin/python" % sysroot class ConfigureError(pisi.actionsapi.Error): def __init__(self, value=''): pisi.actionsapi.Error.__init__(self, value) self.value = value ctx.ui.error(value) class CompileError(pisi.actionsapi.Error): def __init__(self, value=''): pisi.actionsapi.Error.__init__(self, value) self.value = value
# Please read the COPYING file. # Pisi Modules import pisi.context as ctx import gettext __trans = gettext.translation('pisi', fallback=True) _ = __trans.ugettext # ActionsAPI Modules import pisi.actionsapi import pisi.actionsapi.get as get from pisi.actionsapi.shelltools import system scons_cmd = "scons" if not get.ARCH().startswith( 'arm') else "sb2 %s/usr/bin/scons" % get.sysroot() class MakeError(pisi.actionsapi.Error): def __init__(self, value=''): pisi.actionsapi.Error.__init__(self, value) self.value = value ctx.ui.error(value) class InstallError(pisi.actionsapi.Error): def __init__(self, value=''): pisi.actionsapi.Error.__init__(self, value) self.value = value ctx.ui.error(value)
import gettext __trans = gettext.translation('pisi', fallback=True) _ = __trans.ugettext # Pisi Modules import pisi.context as ctx # ActionsAPI Modules import pisi.actionsapi import pisi.actionsapi.get as get from pisi.actionsapi.shelltools import system, can_access_file, unlink, isEmpty from pisi.actionsapi.pisitools import dodoc crosscompiling = ctx.config.values.build.crosscompiling sysroot = get.sysroot() python_cmd = "python" if crosscompiling: python_cmd = "sb2 %s/usr/bin/python" % sysroot class ConfigureError(pisi.actionsapi.Error): def __init__(self, value=''): pisi.actionsapi.Error.__init__(self, value) self.value = value ctx.ui.error(value) class CompileError(pisi.actionsapi.Error): def __init__(self, value=''):
native_arch_dir = '%s-linux-thread-multi' % get.BUILD().split('-')[0] target_arch_dir = "" # neccessary only with cross-build perl_cmd = 'perl' make_cmd = 'make' arch = get.ARCH() if crosscompiling: ctx.ui.info(_("cross compiling")) if arch.startswith('arm'): target_arch_dir = "%s-linux-thread-multi" % arch # because of some bugs in qemu, some syscalls cannot be handled of perl. # so we must use native perl for now, # still working on a patch to fix it. # perl_cmd = 'sb2 %s/usr/bin/perl' % get.sysroot() # perl_cmd = 'sb2 %s' % perl_cmd make_cmd = 'sb2 %s' % make_cmd else: ctx.ui.info(_("native compiling")) class ConfigureError(pisi.actionsapi.Error): def __init__(self, value=''): pisi.actionsapi.Error.__init__(self, value) self.value = value ctx.ui.error(value) class MakeError(pisi.actionsapi.Error): def __init__(self, value=''): pisi.actionsapi.Error.__init__(self, value) self.value = value
from pisi.util import join_path # ActionsAPI Modules import pisi.actionsapi import pisi.actionsapi.get as get from pisi.actionsapi.shelltools import system from pisi.actionsapi.shelltools import export from pisi.actionsapi.shelltools import can_access_file from pisi.actionsapi.shelltools import unlink arch = get.ARCH() crosscompiling = ctx.config.values.build.crosscompiling if crosscompiling: ctx.ui.info(_("cross compiling")) export('QTDIR', "%s/usr/qt/4" % get.sysroot()) export('QMAKE_PLATFORM', "linux-g++") export('QMAKESPEC', "%s/usr/qt/4/mkspecs/linux-g++" % get.sysroot()) export('QMAKE_CC', get.CC()) export('QMAKE_AR', get.AR()) export('QMAKE_CXX', get.CXX()) export('QMAKE_LINK', get.CXX()) export('QMAKE_LINK_SHLIB', get.CXX()) export('QMAKE_CFLAGS', "%s %s -Wno-psabi -I%s/usr/qt/4/include" % (get.CPPFLAGS(), get.CFLAGS(), get.sysroot())) export('QMAKE_CXXFLAGS', "%s %s -Wno-psabi -fno-exceptions -fno-rtti -I%s/usr/qt/4/include" % (get.CPPFLAGS(), get.CXXFLAGS(), get.sysroot())) export('QMAKE_LDFLAGS', "%s" % get.LDFLAGS()) export('QMAKE_RPATH', "-Wl,-rpath-link,")
native_arch_dir = '%s-linux-thread-multi' % get.BUILD().split('-')[0] target_arch_dir = "" # neccessary only with cross-build perl_cmd = 'perl' make_cmd = 'make' arch = get.ARCH() if crosscompiling: ctx.ui.info(_("cross compiling")) if arch.startswith('arm'): target_arch_dir = "%s-linux-thread-multi" % arch # because of some bugs in qemu, some syscalls cannot be handled of perl. # so we must use native perl for now, # still working on a patch to fix it. # perl_cmd = 'sb2 %s/usr/bin/perl' % get.sysroot() # perl_cmd = 'sb2 %s' % perl_cmd make_cmd = 'sb2 %s' % make_cmd else: ctx.ui.info(_("native compiling")) class ConfigureError(pisi.actionsapi.Error): def __init__(self, value=''): pisi.actionsapi.Error.__init__(self, value) self.value = value ctx.ui.error(value) class MakeError(pisi.actionsapi.Error): def __init__(self, value=''):