Some updates for toolchain compilation

This commit is contained in:
Safa Arıman
2019-10-01 12:51:05 +03:00
parent 027acfc6e3
commit afaaa0ba6c
3 changed files with 61 additions and 71 deletions
+30 -11
View File
@@ -19,7 +19,6 @@ _ = __trans.gettext
# PiSi Modules # PiSi Modules
import pisi.actionsapi import pisi.actionsapi
import pisi.util
import pisi.context as ctx import pisi.context as ctx
# ActionsAPI Modules # ActionsAPI Modules
@@ -31,10 +30,10 @@ class BinutilsError(pisi.actionsapi.Error):
self.value = value self.value = value
ctx.ui.error(value) ctx.ui.error(value)
# Globals # Globals
env = pisi.actionsapi.variables.glb.env env = pisi.actionsapi.variables.glb.env
dirs = pisi.actionsapi.variables.glb.dirs dirs = pisi.actionsapi.variables.glb.dirs
config = pisi.actionsapi.variables.glb.config
generals = pisi.actionsapi.variables.glb.generals generals = pisi.actionsapi.variables.glb.generals
def curDIR(): def curDIR():
@@ -168,29 +167,49 @@ def qtDIR():
# Binutils Variables # Binutils Variables
def existBinary(bin):
# determine if path has binary
path = os.environ['PATH'].split(':')
for directory in path:
if os.path.exists(os.path.join(directory, bin)):
return True
return False
def getBinutilsInfo(util):
cross_build_name = '%s-%s' % (HOST(), util)
if not existBinary(cross_build_name):
if not existBinary(util):
raise BinutilsError(_('Util %s cannot be found') % util)
else:
ctx.ui.debug(_('Warning: %s does not exist, using plain name %s') \
% (cross_build_name, util))
return util
else:
return cross_build_name
def AR(): def AR():
return config.values.build.ar return getBinutilsInfo('ar')
def AS(): def AS():
return config.values.build.assembler return getBinutilsInfo('as')
def CC(): def CC():
return config.values.build.cc return getBinutilsInfo('gcc')
def CXX(): def CXX():
return config.values.build.cxx return getBinutilsInfo('g++')
def LD(): def LD():
return config.values.build.ld return getBinutilsInfo('ld')
def NM(): def NM():
return config.values.build.nm return getBinutilsInfo('nm')
def RANLIB(): def RANLIB():
return config.values.build.ranlib return getBinutilsInfo('ranlib')
def F77(): def F77():
return config.values.build.f77 return getBinutilsInfo('g77')
def GCJ(): def GCJ():
return config.values.build.gcj return getBinutilsInfo('gcj')
+2 -5
View File
@@ -14,7 +14,6 @@ import os
# Pisi-Core Modules # Pisi-Core Modules
import pisi.context as ctx import pisi.context as ctx
import pisi.util
# Set individual information, that are generally needed for ActionsAPI # Set individual information, that are generally needed for ActionsAPI
@@ -36,10 +35,8 @@ def exportFlags():
os.environ['JOBS'] = values.build.jobs os.environ['JOBS'] = values.build.jobs
# http://liste.pardus.org.tr/gelistirici/2009-January/016442.html # http://liste.pardus.org.tr/gelistirici/2009-January/016442.html
os.environ['CC'] = values.build.cc os.environ['CC'] = "%s-gcc" % values.build.host
os.environ['CXX'] = values.build.cxx os.environ['CXX'] = "%s-g++" % values.build.host
os.environ['LD'] = values.build.ld
class Env(object): class Env(object):
'''General environment variables used in actions API''' '''General environment variables used in actions API'''
+29 -55
View File
@@ -17,46 +17,35 @@
# Configuration file is located in /etc/pisi/pisi.conf by default, # Configuration file is located in /etc/pisi/pisi.conf by default,
# having an INI like format like below. # having an INI like format like below.
# #
#[general] # [general]
#destinationdirectory = / # destinationdirectory = /
#autoclean = False # autoclean = False
#bandwidth_limit = 0 # bandwidth_limit = 0
# #
#[build] # [build]
#host = i686-pc-linux-gnu # host = i686-pc-linux-gnu
#generateDebug = False # generateDebug = False
#enableSandbox = False # enableSandbox = False
#jobs = "-j3" # jobs = "-j3"
#cflags= -mtune=generic -march=i686 -O2 -pipe -fomit-frame-pointer -fstack-protector -D_FORTIFY_SOURCE=2 # CFLAGS= -mtune=generic -march=i686 -O2 -pipe -fomit-frame-pointer -fstack-protector -D_FORTIFY_SOURCE=2
#cxxflags= -mtune=generic -march=i686 -O2 -pipe -fomit-frame-pointer -fstack-protector -D_FORTIFY_SOURCE=2 # CXXFLAGS= -mtune=generic -march=i686 -O2 -pipe -fomit-frame-pointer -fstack-protector -D_FORTIFY_SOURCE=2
#ldflags= -Wl,-O1 -Wl,-z,relro -Wl,--hash-style=gnu -Wl,--as-needed -Wl,--sort-common # LDFLAGS= -Wl,-O1 -Wl,-z,relro -Wl,--hash-style=gnu -Wl,--as-needed -Wl,--sort-common
#ar = "ar" # buildhelper = None / ccache / icecream
#assembler = "as" # compressionlevel = 1
#cc = "gcc" # fallback = "ftp://ftp.pardus.org.tr/pub/source/2009"
#cxx = "g++"
#ld = "ld"
#nm = "nm"
#ranlib = "ranlib"
#f77 = "g77"
#gcj = "gcj"
#strip = "strip"
#objcopy= "objcopy"
#buildhelper = None / ccache / icecream
#compressionlevel = 1
#fallback = "ftp://ftp.pardus.org.tr/pub/source/2011"
# #
#[directories] # [directories]
#lib_dir = /var/lib/pisi # lib_dir = /var/lib/pisi
#info_dir = "/var/lib/pisi/info" # info_dir = "/var/lib/pisi/info"
#history_dir = /var/lib/pisi/history # history_dir = /var/lib/pisi/history
#archives_dir = /var/cache/pisi/archives # archives_dir = /var/cache/pisi/archives
#cached_packages_dir = /var/cache/pisi/packages # cached_packages_dir = /var/cache/pisi/packages
#compiled_packages_dir = "/var/cache/pisi/packages" # compiled_packages_dir = "/var/cache/pisi/packages"
#index_dir = /var/cache/pisi/index # index_dir = /var/cache/pisi/index
#packages_dir = /var/cache/pisi/package # packages_dir = /var/cache/pisi/package
#tmp_dir = /var/pisi # tmp_dir = /var/pisi
#kde_dir = /usr/kde/4 # kde_dir = /usr/kde/4
#qt_dir = /usr/qt/4 # qt_dir = /usr/qt/4
import os import os
import re import re
@@ -98,20 +87,6 @@ class BuildDefaults:
enableSandbox = True enableSandbox = True
cflags = "-mtune=generic -march=i686 -O2 -pipe -fomit-frame-pointer -fstack-protector -D_FORTIFY_SOURCE=2" cflags = "-mtune=generic -march=i686 -O2 -pipe -fomit-frame-pointer -fstack-protector -D_FORTIFY_SOURCE=2"
cxxflags = "-mtune=generic -march=i686 -O2 -pipe -fomit-frame-pointer -fstack-protector -D_FORTIFY_SOURCE=2" cxxflags = "-mtune=generic -march=i686 -O2 -pipe -fomit-frame-pointer -fstack-protector -D_FORTIFY_SOURCE=2"
# Toolchain defaults
ar = "ar"
assembler = "as"
cc = "gcc"
cxx = "g++"
ld = "ld"
nm = "nm"
ranlib = "ranlib"
f77 = "g77"
gcj = "gcj"
strip = "strip"
objcopy= "objcopy"
ldflags = "-Wl,-O1 -Wl,-z,relro -Wl,--hash-style=gnu -Wl,--as-needed -Wl,--sort-common" ldflags = "-Wl,-O1 -Wl,-z,relro -Wl,--hash-style=gnu -Wl,--as-needed -Wl,--sort-common"
buildhelper = None buildhelper = None
compressionlevel = 1 compressionlevel = 1
@@ -133,7 +108,7 @@ class DirectoriesDefaults:
packages_dir = "/var/lib/pisi/package" packages_dir = "/var/lib/pisi/package"
lock_dir = "/var/lock/subsys" lock_dir = "/var/lock/subsys"
index_dir = "/var/lib/pisi/index" index_dir = "/var/lib/pisi/index"
tmp_dir = "/var/pisi" tmp_dir = "/var/pisi"
kde_dir = "/usr/kde/4" kde_dir = "/usr/kde/4"
qt_dir = "/usr/qt/4" qt_dir = "/usr/qt/4"
@@ -322,7 +297,7 @@ class ConfigurationFile(object):
else: else:
output = current output = current
if len(written) > 0: if len(written) > 0:
output.write("\n") output.write("\n")
output.write("[%s]\n" % (sect,)) output.write("[%s]\n" % (sect,))
sections[sect] = None sections[sect] = None
for opt in opts: for opt in opts:
@@ -340,4 +315,3 @@ class ConfigurationFile(object):
fp.write(sect.getvalue()) fp.write(sect.getvalue())
fp.close() fp.close()