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
import pisi.actionsapi
import pisi.util
import pisi.context as ctx
# ActionsAPI Modules
@@ -31,10 +30,10 @@ class BinutilsError(pisi.actionsapi.Error):
self.value = value
ctx.ui.error(value)
# Globals
env = pisi.actionsapi.variables.glb.env
dirs = pisi.actionsapi.variables.glb.dirs
config = pisi.actionsapi.variables.glb.config
generals = pisi.actionsapi.variables.glb.generals
def curDIR():
@@ -168,29 +167,49 @@ def qtDIR():
# 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():
return config.values.build.ar
return getBinutilsInfo('ar')
def AS():
return config.values.build.assembler
return getBinutilsInfo('as')
def CC():
return config.values.build.cc
return getBinutilsInfo('gcc')
def CXX():
return config.values.build.cxx
return getBinutilsInfo('g++')
def LD():
return config.values.build.ld
return getBinutilsInfo('ld')
def NM():
return config.values.build.nm
return getBinutilsInfo('nm')
def RANLIB():
return config.values.build.ranlib
return getBinutilsInfo('ranlib')
def F77():
return config.values.build.f77
return getBinutilsInfo('g77')
def GCJ():
return config.values.build.gcj
return getBinutilsInfo('gcj')
+2 -5
View File
@@ -14,7 +14,6 @@ import os
# Pisi-Core Modules
import pisi.context as ctx
import pisi.util
# Set individual information, that are generally needed for ActionsAPI
@@ -36,10 +35,8 @@ def exportFlags():
os.environ['JOBS'] = values.build.jobs
# http://liste.pardus.org.tr/gelistirici/2009-January/016442.html
os.environ['CC'] = values.build.cc
os.environ['CXX'] = values.build.cxx
os.environ['LD'] = values.build.ld
os.environ['CC'] = "%s-gcc" % values.build.host
os.environ['CXX'] = "%s-g++" % values.build.host
class Env(object):
'''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,
# having an INI like format like below.
#
#[general]
#destinationdirectory = /
#autoclean = False
#bandwidth_limit = 0
# [general]
# destinationdirectory = /
# autoclean = False
# bandwidth_limit = 0
#
#[build]
#host = i686-pc-linux-gnu
#generateDebug = False
#enableSandbox = False
#jobs = "-j3"
#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
#ldflags= -Wl,-O1 -Wl,-z,relro -Wl,--hash-style=gnu -Wl,--as-needed -Wl,--sort-common
#ar = "ar"
#assembler = "as"
#cc = "gcc"
#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"
# [build]
# host = i686-pc-linux-gnu
# generateDebug = False
# enableSandbox = False
# jobs = "-j3"
# 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
# LDFLAGS= -Wl,-O1 -Wl,-z,relro -Wl,--hash-style=gnu -Wl,--as-needed -Wl,--sort-common
# buildhelper = None / ccache / icecream
# compressionlevel = 1
# fallback = "ftp://ftp.pardus.org.tr/pub/source/2009"
#
#[directories]
#lib_dir = /var/lib/pisi
#info_dir = "/var/lib/pisi/info"
#history_dir = /var/lib/pisi/history
#archives_dir = /var/cache/pisi/archives
#cached_packages_dir = /var/cache/pisi/packages
#compiled_packages_dir = "/var/cache/pisi/packages"
#index_dir = /var/cache/pisi/index
#packages_dir = /var/cache/pisi/package
#tmp_dir = /var/pisi
#kde_dir = /usr/kde/4
#qt_dir = /usr/qt/4
# [directories]
# lib_dir = /var/lib/pisi
# info_dir = "/var/lib/pisi/info"
# history_dir = /var/lib/pisi/history
# archives_dir = /var/cache/pisi/archives
# cached_packages_dir = /var/cache/pisi/packages
# compiled_packages_dir = "/var/cache/pisi/packages"
# index_dir = /var/cache/pisi/index
# packages_dir = /var/cache/pisi/package
# tmp_dir = /var/pisi
# kde_dir = /usr/kde/4
# qt_dir = /usr/qt/4
import os
import re
@@ -98,20 +87,6 @@ class BuildDefaults:
enableSandbox = True
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"
# 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"
buildhelper = None
compressionlevel = 1
@@ -133,7 +108,7 @@ class DirectoriesDefaults:
packages_dir = "/var/lib/pisi/package"
lock_dir = "/var/lock/subsys"
index_dir = "/var/lib/pisi/index"
tmp_dir = "/var/pisi"
tmp_dir = "/var/pisi"
kde_dir = "/usr/kde/4"
qt_dir = "/usr/qt/4"
@@ -322,7 +297,7 @@ class ConfigurationFile(object):
else:
output = current
if len(written) > 0:
output.write("\n")
output.write("\n")
output.write("[%s]\n" % (sect,))
sections[sect] = None
for opt in opts:
@@ -340,4 +315,3 @@ class ConfigurationFile(object):
fp.write(sect.getvalue())
fp.close()