Some updates for toolchain compilation
This commit is contained in:
+30
-11
@@ -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')
|
||||
|
||||
@@ -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
@@ -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()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user