classes: Sync various classes with OE for various bugfixes
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2407 311d38ba-8fff-0310-9ca6-ca027cbcb966
This commit is contained in:
parent
fe553f406d
commit
720e0b144c
|
@ -16,10 +16,9 @@ def autotools_dep_prepend(d):
|
||||||
if not pn in ['libtool', 'libtool-native', 'libtool-cross']:
|
if not pn in ['libtool', 'libtool-native', 'libtool-cross']:
|
||||||
deps += 'libtool-native '
|
deps += 'libtool-native '
|
||||||
if not bb.data.inherits_class('native', d) \
|
if not bb.data.inherits_class('native', d) \
|
||||||
and not bb.data.inherits_class('cross', d) \
|
and not bb.data.inherits_class('cross', d) \
|
||||||
and not bb.data.getVar('INHIBIT_DEFAULT_DEPS', d, 1):
|
and not bb.data.getVar('INHIBIT_DEFAULT_DEPS', d, 1):
|
||||||
deps += 'libtool-cross '
|
deps += 'libtool-cross '
|
||||||
|
|
||||||
|
|
||||||
return deps + 'gnu-config-native '
|
return deps + 'gnu-config-native '
|
||||||
|
|
||||||
|
@ -124,14 +123,6 @@ autotools_do_configure() {
|
||||||
oenote Executing intltoolize --copy --force --automake
|
oenote Executing intltoolize --copy --force --automake
|
||||||
intltoolize --copy --force --automake
|
intltoolize --copy --force --automake
|
||||||
fi
|
fi
|
||||||
#if grep "^GTK_DOC_CHECK" $CONFIGURE_AC >/dev/null; then
|
|
||||||
# oenote Executing gtkdocize --copy
|
|
||||||
# gtkdocize --copy
|
|
||||||
#fi
|
|
||||||
#if grep "^GNOME_DOC_INIT" $CONFIGURE_AC >/dev/null; then
|
|
||||||
# oenote Executing gnome-doc-prepare --copy --force
|
|
||||||
# gnome-doc-prepare --copy --force
|
|
||||||
#fi
|
|
||||||
oenote Executing autoreconf --verbose --install --force ${EXTRA_AUTORECONF} $acpaths
|
oenote Executing autoreconf --verbose --install --force ${EXTRA_AUTORECONF} $acpaths
|
||||||
mkdir -p m4
|
mkdir -p m4
|
||||||
autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths || oefatal "autoreconf execution failed."
|
autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths || oefatal "autoreconf execution failed."
|
||||||
|
@ -148,6 +139,13 @@ autotools_do_configure() {
|
||||||
|
|
||||||
autotools_do_install() {
|
autotools_do_install() {
|
||||||
oe_runmake 'DESTDIR=${D}' install
|
oe_runmake 'DESTDIR=${D}' install
|
||||||
|
|
||||||
|
for i in `find ${D} -name "*.la"` ; do \
|
||||||
|
sed -i -e s:${STAGING_LIBDIR}:${libdir}:g $i
|
||||||
|
sed -i -e s:${D}::g $i
|
||||||
|
sed -i -e 's:-I${WORKDIR}\S*: :g' $i
|
||||||
|
sed -i -e 's:-L${WORKDIR}\S*: :g' $i
|
||||||
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
STAGE_TEMP="${WORKDIR}/temp-staging"
|
STAGE_TEMP="${WORKDIR}/temp-staging"
|
||||||
|
|
|
@ -18,6 +18,8 @@ def get_binconfig_mangle(d):
|
||||||
s += " -e 's:OEDATADIR:${STAGING_DATADIR}:'"
|
s += " -e 's:OEDATADIR:${STAGING_DATADIR}:'"
|
||||||
s += " -e 's:OEPREFIX:${STAGING_LIBDIR}/..:'"
|
s += " -e 's:OEPREFIX:${STAGING_LIBDIR}/..:'"
|
||||||
s += " -e 's:OEEXECPREFIX:${STAGING_LIBDIR}/..:'"
|
s += " -e 's:OEEXECPREFIX:${STAGING_LIBDIR}/..:'"
|
||||||
|
s += " -e 's:-I${WORKDIR}:-I${STAGING_INCDIR}:'"
|
||||||
|
s += " -e 's:-L${WORKDIR}:-L${STAGING_LIBDIR}:'"
|
||||||
return s
|
return s
|
||||||
|
|
||||||
BINCONFIG_GLOB ?= "*-config"
|
BINCONFIG_GLOB ?= "*-config"
|
||||||
|
|
|
@ -7,8 +7,12 @@ def python_dir(d):
|
||||||
staging_incdir = bb.data.getVar( "STAGING_INCDIR", d, 1 )
|
staging_incdir = bb.data.getVar( "STAGING_INCDIR", d, 1 )
|
||||||
if os.path.exists( "%s/python2.3" % staging_incdir ): return "python2.3"
|
if os.path.exists( "%s/python2.3" % staging_incdir ): return "python2.3"
|
||||||
if os.path.exists( "%s/python2.4" % staging_incdir ): return "python2.4"
|
if os.path.exists( "%s/python2.4" % staging_incdir ): return "python2.4"
|
||||||
|
if os.path.exists( "%s/python2.5" % staging_incdir ): return "python2.5"
|
||||||
raise "No Python in STAGING_INCDIR. Forgot to build python-native ?"
|
raise "No Python in STAGING_INCDIR. Forgot to build python-native ?"
|
||||||
|
|
||||||
PYTHON_DIR = "${@python_dir(d)}"
|
PYTHON_DIR = "${@python_dir(d)}"
|
||||||
FILES_${PN} = "${bindir}/* ${libdir}/* ${libdir}/${PYTHON_DIR}"
|
FILES_${PN} = "${bindir}/* ${libdir}/* ${libdir}/${PYTHON_DIR}/*"
|
||||||
|
FILES_${PN}-dbg = "${libdir}/${PYTHON_DIR}/site-packages/.debug \
|
||||||
|
${libdir}/${PYTHON_DIR}/site-packages/./*/debug \
|
||||||
|
${libdir}/${PYTHON_DIR}/site-packages/*/*/.debug"
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,30 @@
|
||||||
# IceCream distributed compiling support
|
# IceCream distributed compiling support
|
||||||
#
|
#
|
||||||
# We need to create a tar.bz2 of our toolchain and set
|
# Stages directories with symlinks from gcc/g++ to icecc, for both
|
||||||
# ICECC_VERSION, ICECC_CXX and ICEC_CC
|
# native and cross compilers. Depending on each configure or compile,
|
||||||
|
# the directories are added at the head of the PATH list and ICECC_CXX
|
||||||
|
# and ICEC_CC are set.
|
||||||
#
|
#
|
||||||
|
# For the cross compiler, creates a tar.gz of our toolchain and sets
|
||||||
|
# ICECC_VERSION accordingly.
|
||||||
|
#
|
||||||
|
#The class now handles all 3 different compile 'stages' (i.e native ,cross-kernel and target) creating the
|
||||||
|
#necessary enviroment tar.gz file to be used by the remote machines
|
||||||
|
#
|
||||||
|
#If ICECC_PATH is not set in local.conf then the class will try to locate it using 'which'
|
||||||
|
#but nothing is sure ;)
|
||||||
|
#
|
||||||
|
#If ICECC_ENV_EXEC is set in local.conf should point to the icecc-create-env script provided by the user
|
||||||
|
#or the default one provided by icecc-create-env.bb will be used
|
||||||
|
#(NOTE that this is a modified version of the script need it and *not the one that comes with icecc*
|
||||||
|
#
|
||||||
|
#User can specify if specific packages or packages belonging to class should not use icecc to distribute
|
||||||
|
#compile jobs to remote machines, but handled localy, by defining ICECC_USER_CLASS_BL and ICECC_PACKAGE_BL
|
||||||
|
#with the appropriate values in local.conf
|
||||||
|
#########################################################################################
|
||||||
|
#Error checking is kept to minimum so double check any parameters you pass to the class
|
||||||
|
###########################################################################################
|
||||||
|
|
||||||
|
|
||||||
def icc_determine_gcc_version(gcc):
|
def icc_determine_gcc_version(gcc):
|
||||||
"""
|
"""
|
||||||
|
@ -10,11 +32,12 @@ def icc_determine_gcc_version(gcc):
|
||||||
|
|
||||||
'i686-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build 5363)'
|
'i686-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build 5363)'
|
||||||
"""
|
"""
|
||||||
|
import os
|
||||||
return os.popen("%s --version" % gcc ).readline().split()[2]
|
return os.popen("%s --version" % gcc ).readline().split()[2]
|
||||||
|
|
||||||
def create_env(bb,d):
|
def create_cross_env(bb,d):
|
||||||
"""
|
"""
|
||||||
Create a tar.bz of the current toolchain
|
Create a tar.bz2 of the current toolchain
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# Constin native-native compilation no environment needed if
|
# Constin native-native compilation no environment needed if
|
||||||
|
@ -23,78 +46,156 @@ def create_env(bb,d):
|
||||||
if len(prefix) == 0:
|
if len(prefix) == 0:
|
||||||
return ""
|
return ""
|
||||||
|
|
||||||
import tarfile
|
import tarfile, socket, time, os
|
||||||
import socket
|
|
||||||
import time
|
|
||||||
import os
|
|
||||||
ice_dir = bb.data.expand('${CROSS_DIR}', d)
|
ice_dir = bb.data.expand('${CROSS_DIR}', d)
|
||||||
prefix = bb.data.expand('${HOST_PREFIX}' , d)
|
prefix = bb.data.expand('${HOST_PREFIX}' , d)
|
||||||
distro = bb.data.expand('${DISTRO}', d)
|
distro = bb.data.expand('${DISTRO}', d)
|
||||||
target_sys = bb.data.expand('${TARGET_SYS}', d)
|
target_sys = bb.data.expand('${TARGET_SYS}', d)
|
||||||
float = bb.data.getVar('${TARGET_FPU}', d) or "hard"
|
target_prefix = bb.data.expand('${TARGET_PREFIX}', d)
|
||||||
|
float = bb.data.getVar('TARGET_FPU', d) or "hard"
|
||||||
name = socket.gethostname()
|
name = socket.gethostname()
|
||||||
|
|
||||||
|
|
||||||
# Stupid check to determine if we have built a libc and a cross
|
# Stupid check to determine if we have built a libc and a cross
|
||||||
# compiler.
|
# compiler.
|
||||||
try:
|
try:
|
||||||
os.stat(os.path.join(ice_dir, target_sys, 'lib', 'ld-linux.so.2'))
|
os.stat(os.path.join(ice_dir, target_sys, 'lib', 'libc.so'))
|
||||||
os.stat(os.path.join(ice_dir, target_sys, 'bin', 'g++'))
|
os.stat(os.path.join(ice_dir, target_sys, 'bin', 'g++'))
|
||||||
except:
|
except: # no cross compiler built yet
|
||||||
return ""
|
return ""
|
||||||
|
|
||||||
VERSION = icc_determine_gcc_version( os.path.join(ice_dir,target_sys,"bin","g++") )
|
VERSION = icc_determine_gcc_version( os.path.join(ice_dir,target_sys,"bin","g++") )
|
||||||
cross_name = prefix + distro + target_sys + float +VERSION+ name
|
cross_name = prefix + distro + "-" + target_sys + "-" + float + "-" + VERSION + "-" + name
|
||||||
tar_file = os.path.join(ice_dir, 'ice', cross_name + '.tar.bz2')
|
tar_file = os.path.join(ice_dir, 'ice', cross_name + '.tar.gz')
|
||||||
|
|
||||||
try:
|
try:
|
||||||
os.stat(tar_file)
|
os.stat(tar_file)
|
||||||
|
# tar file already exists
|
||||||
return tar_file
|
return tar_file
|
||||||
except:
|
except:
|
||||||
try:
|
try:
|
||||||
os.makedirs(os.path.join(ice_dir,'ice'))
|
os.makedirs(os.path.join(ice_dir,'ice'))
|
||||||
except:
|
except:
|
||||||
|
# directory already exists, continue
|
||||||
pass
|
pass
|
||||||
|
|
||||||
# FIXME find out the version of the compiler
|
|
||||||
# Consider using -print-prog-name={cc1,cc1plus}
|
|
||||||
# and -print-file-name=specs
|
|
||||||
|
|
||||||
# We will use the GCC to tell us which tools to use
|
#check if user has specified a specific icecc-create-env script
|
||||||
# What we need is:
|
#if not use the OE provided one
|
||||||
# -gcc
|
cr_env_script = bb.data.getVar('ICECC_ENV_EXEC', d) or bb.data.expand('${STAGING_DIR}', d)+"/ice/icecc-create-env"
|
||||||
# -g++
|
#call the modified create-env script
|
||||||
# -as
|
result=os.popen("%s %s %s %s %s %s" %(cr_env_script,
|
||||||
# -cc1
|
"--silent",
|
||||||
# -cc1plus
|
os.path.join(ice_dir,target_sys,'bin','gcc'),
|
||||||
# and we add them to /usr/bin
|
os.path.join(ice_dir,target_sys,'bin','g++'),
|
||||||
|
os.path.join(ice_dir,target_sys,'bin','as'),
|
||||||
tar = tarfile.open(tar_file, 'w:bz2')
|
os.path.join(ice_dir,"ice",cross_name) ) )
|
||||||
|
|
||||||
# Now add the required files
|
|
||||||
tar.add(os.path.join(ice_dir,target_sys,'bin','gcc'),
|
|
||||||
os.path.join("usr","bin","gcc") )
|
|
||||||
tar.add(os.path.join(ice_dir,target_sys,'bin','g++'),
|
|
||||||
os.path.join("usr","bin","g++") )
|
|
||||||
tar.add(os.path.join(ice_dir,target_sys,'bin','as'),
|
|
||||||
os.path.join("usr","bin","as") )
|
|
||||||
|
|
||||||
# Now let us find cc1 and cc1plus
|
|
||||||
cc1 = os.popen("%s -print-prog-name=cc1" % data.getVar('CC', d, True)).read()[:-1]
|
|
||||||
cc1plus = os.popen("%s -print-prog-name=cc1plus" % data.getVar('CC', d, True)).read()[:-1]
|
|
||||||
spec = os.popen("%s -print-file-name=specs" % data.getVar('CC', d, True)).read()[:-1]
|
|
||||||
|
|
||||||
# CC1 and CC1PLUS should be there...
|
|
||||||
tar.add(cc1, os.path.join('usr', 'bin', 'cc1'))
|
|
||||||
tar.add(cc1plus, os.path.join('usr', 'bin', 'cc1plus'))
|
|
||||||
|
|
||||||
# spec - if it exists
|
|
||||||
if os.path.exists(spec):
|
|
||||||
tar.add(spec)
|
|
||||||
|
|
||||||
tar.close()
|
|
||||||
return tar_file
|
return tar_file
|
||||||
|
|
||||||
|
|
||||||
|
def create_native_env(bb,d):
|
||||||
|
|
||||||
|
import tarfile, socket, time, os
|
||||||
|
ice_dir = bb.data.expand('${CROSS_DIR}', d)
|
||||||
|
prefix = bb.data.expand('${HOST_PREFIX}' , d)
|
||||||
|
distro = bb.data.expand('${DISTRO}', d)
|
||||||
|
target_sys = bb.data.expand('${TARGET_SYS}', d)
|
||||||
|
target_prefix = bb.data.expand('${TARGET_PREFIX}', d)
|
||||||
|
float = bb.data.getVar('TARGET_FPU', d) or "hard"
|
||||||
|
name = socket.gethostname()
|
||||||
|
|
||||||
|
|
||||||
|
archive_name = "local-host-env" + "-" + name
|
||||||
|
tar_file = os.path.join(ice_dir, 'ice', archive_name + '.tar.gz')
|
||||||
|
|
||||||
|
try:
|
||||||
|
os.stat(tar_file)
|
||||||
|
# tar file already exists
|
||||||
|
return tar_file
|
||||||
|
except:
|
||||||
|
try:
|
||||||
|
#os.makedirs(os.path.join(ice_dir))
|
||||||
|
os.makedirs(os.path.join(ice_dir,'ice'))
|
||||||
|
except:
|
||||||
|
# directory already exists, continue
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
#check if user has specified a specific icecc-create-env script
|
||||||
|
#if not use the OE provided one
|
||||||
|
cr_env_script = bb.data.getVar('ICECC_ENV_EXEC', d) or bb.data.expand('${STAGING_DIR}', d)+"/ice/icecc-create-env"
|
||||||
|
result=os.popen("%s %s %s %s %s %s" %(cr_env_script,
|
||||||
|
"--silent",
|
||||||
|
os.popen("%s gcc" % "which").read()[:-1],
|
||||||
|
os.popen("%s g++" % "which").read()[:-1],
|
||||||
|
os.popen("%s as" % "which").read()[:-1],
|
||||||
|
os.path.join(ice_dir,"ice",archive_name) ) )
|
||||||
|
return tar_file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def create_cross_kernel_env(bb,d):
|
||||||
|
|
||||||
|
import tarfile, socket, time, os
|
||||||
|
ice_dir = bb.data.expand('${CROSS_DIR}', d)
|
||||||
|
prefix = bb.data.expand('${HOST_PREFIX}' , d)
|
||||||
|
distro = bb.data.expand('${DISTRO}', d)
|
||||||
|
target_sys = bb.data.expand('${TARGET_SYS}', d)
|
||||||
|
target_prefix = bb.data.expand('${TARGET_PREFIX}', d)
|
||||||
|
float = bb.data.getVar('TARGET_FPU', d) or "hard"
|
||||||
|
name = socket.gethostname()
|
||||||
|
kernel_cc = bb.data.expand('${KERNEL_CC}', d)
|
||||||
|
kernel_cc = kernel_cc[:-1]
|
||||||
|
|
||||||
|
|
||||||
|
# Stupid check to determine if we have built a libc and a cross
|
||||||
|
# compiler.
|
||||||
|
try:
|
||||||
|
os.stat(os.path.join(ice_dir, 'bin', kernel_cc))
|
||||||
|
except: # no cross compiler built yet
|
||||||
|
return ""
|
||||||
|
|
||||||
|
VERSION = icc_determine_gcc_version( os.path.join(ice_dir,"bin",kernel_cc) )
|
||||||
|
cross_name = prefix + distro + "-" + target_sys + "-" + float + "-" + VERSION + "-" + name
|
||||||
|
tar_file = os.path.join(ice_dir, 'ice', cross_name + '.tar.gz')
|
||||||
|
|
||||||
|
try:
|
||||||
|
os.stat(tar_file)
|
||||||
|
# tar file already exists
|
||||||
|
return tar_file
|
||||||
|
except:
|
||||||
|
try:
|
||||||
|
os.makedirs(os.path.join(ice_dir,'ice'))
|
||||||
|
except:
|
||||||
|
# directory already exists, continue
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
#check if user has specified a specific icecc-create-env script
|
||||||
|
#if not use the OE provided one
|
||||||
|
cr_env_script = bb.data.getVar('ICECC_ENV_EXEC', d) or bb.data.expand('${STAGING_DIR}', d)+"/ice/icecc-create-env"
|
||||||
|
result=os.popen("%s %s %s %s %s %s" %(cr_env_script,
|
||||||
|
"--silent",
|
||||||
|
os.path.join(ice_dir,'bin',kernel_cc),
|
||||||
|
os.path.join(ice_dir,target_sys,'bin','g++'),
|
||||||
|
os.path.join(ice_dir,target_sys,'bin','as'),
|
||||||
|
os.path.join(ice_dir,"ice",cross_name) ) )
|
||||||
|
return tar_file
|
||||||
|
|
||||||
|
|
||||||
|
def create_env(bb,d):
|
||||||
|
|
||||||
|
#return create_cross_kernel_env(bb,d)
|
||||||
|
if bb.data.inherits_class("native", d):
|
||||||
|
return create_native_env(bb,d)
|
||||||
|
elif bb.data.inherits_class("kernel", d):
|
||||||
|
return create_cross_kernel_env(bb,d)
|
||||||
|
elif bb.data.inherits_class("cross", d):
|
||||||
|
return create_native_env(bb,d)
|
||||||
|
else:
|
||||||
|
return create_cross_env(bb,d)
|
||||||
|
|
||||||
|
|
||||||
def create_path(compilers, type, bb, d):
|
def create_path(compilers, type, bb, d):
|
||||||
"""
|
"""
|
||||||
Create Symlinks for the icecc in the staging directory
|
Create Symlinks for the icecc in the staging directory
|
||||||
|
@ -102,15 +203,17 @@ def create_path(compilers, type, bb, d):
|
||||||
import os
|
import os
|
||||||
|
|
||||||
staging = os.path.join(bb.data.expand('${STAGING_DIR}', d), "ice", type)
|
staging = os.path.join(bb.data.expand('${STAGING_DIR}', d), "ice", type)
|
||||||
icecc = bb.data.getVar('ICECC_PATH', d)
|
|
||||||
|
|
||||||
|
#check if the icecc path is set by the user
|
||||||
|
icecc = bb.data.getVar('ICECC_PATH', d) or os.popen("%s icecc" % "which").read()[:-1]
|
||||||
|
|
||||||
|
|
||||||
# Create the dir if necessary
|
# Create the dir if necessary
|
||||||
try:
|
try:
|
||||||
os.stat(staging)
|
os.stat(staging)
|
||||||
except:
|
except:
|
||||||
os.makedirs(staging)
|
os.makedirs(staging)
|
||||||
|
|
||||||
|
|
||||||
for compiler in compilers:
|
for compiler in compilers:
|
||||||
gcc_path = os.path.join(staging, compiler)
|
gcc_path = os.path.join(staging, compiler)
|
||||||
try:
|
try:
|
||||||
|
@ -121,46 +224,89 @@ def create_path(compilers, type, bb, d):
|
||||||
return staging + ":"
|
return staging + ":"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def use_icc_version(bb,d):
|
def use_icc_version(bb,d):
|
||||||
# Constin native native
|
|
||||||
prefix = bb.data.expand('${HOST_PREFIX}', d)
|
icecc_ver = "yes"
|
||||||
if len(prefix) == 0:
|
system_class_blacklist = [ "none" ]
|
||||||
return "no"
|
|
||||||
|
for black in system_class_blacklist:
|
||||||
|
if bb.data.inherits_class(black, d):
|
||||||
|
icecc_ver = "no"
|
||||||
|
|
||||||
|
|
||||||
blacklist = [ "cross", "native" ]
|
user_class_blacklist = bb.data.getVar('ICECC_USER_CLASS_BL', d) or "none"
|
||||||
|
user_class_blacklist = user_class_blacklist.split()
|
||||||
|
|
||||||
|
for black in user_class_blacklist:
|
||||||
|
if bb.data.inherits_class(black, d):
|
||||||
|
icecc_ver = "no"
|
||||||
|
|
||||||
|
return icecc_ver
|
||||||
|
|
||||||
for black in blacklist:
|
|
||||||
if bb.data.inherits_class(black, d):
|
|
||||||
return "no"
|
|
||||||
|
|
||||||
return "yes"
|
|
||||||
|
|
||||||
def icc_path(bb,d,compile):
|
def icc_path(bb,d,compile):
|
||||||
native = bb.data.expand('${PN}', d)
|
package_tmp = bb.data.expand('${PN}', d)
|
||||||
blacklist = [ "ulibc", "glibc", "ncurses" ]
|
|
||||||
for black in blacklist:
|
#"system" package blacklist contains a list of packages that can not distribute compile tasks
|
||||||
if black in native:
|
#for one reason or the other
|
||||||
return ""
|
system_package_blacklist = [ "uclibc", "glibc-intermediate", "qemu" ]
|
||||||
|
|
||||||
|
for black in system_package_blacklist:
|
||||||
|
if black in package_tmp:
|
||||||
|
bb.data.setVar('PARALLEL_MAKE' , '', d)
|
||||||
|
return ""
|
||||||
|
|
||||||
|
#user defined exclusion list
|
||||||
|
user_package_blacklist = bb.data.getVar('ICECC_USER_PACKAGE_BL', d) or "none"
|
||||||
|
user_package_blacklist = user_package_blacklist.split()
|
||||||
|
|
||||||
|
for black in user_package_blacklist:
|
||||||
|
if black in package_tmp:
|
||||||
|
bb.data.setVar('PARALLEL_MAKE' , '', d)
|
||||||
|
return ""
|
||||||
|
|
||||||
blacklist = [ "cross", "native" ]
|
|
||||||
for black in blacklist:
|
|
||||||
if bb.data.inherits_class(black, d):
|
|
||||||
compile = False
|
|
||||||
|
|
||||||
prefix = bb.data.expand('${HOST_PREFIX}', d)
|
prefix = bb.data.expand('${HOST_PREFIX}', d)
|
||||||
if compile and len(prefix) != 0:
|
|
||||||
return create_path( [prefix+"gcc", prefix+"g++"], "cross", bb, d )
|
|
||||||
|
if compile and bb.data.inherits_class("cross", d):
|
||||||
|
return create_path( ["gcc", "g++"], "native", bb, d)
|
||||||
|
|
||||||
|
elif compile and bb.data.inherits_class("native", d):
|
||||||
|
return create_path( ["gcc", "g++"], "native", bb, d)
|
||||||
|
|
||||||
|
elif compile and bb.data.inherits_class("kernel", d):
|
||||||
|
#kernel_cc = bb.data.expand('${KERNEL_CC}', d)
|
||||||
|
return create_path( [get_cross_kernel_ver(bb,d), "foo"], "cross-kernel", bb, d)
|
||||||
|
|
||||||
elif not compile or len(prefix) == 0:
|
elif not compile or len(prefix) == 0:
|
||||||
return create_path( ["gcc", "g++"], "native", bb, d)
|
return create_path( ["gcc", "g++"], "native", bb, d)
|
||||||
|
|
||||||
|
else:
|
||||||
|
return create_path( [prefix+"gcc", prefix+"g++"], "cross", bb, d)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def icc_version(bb,d):
|
def icc_version(bb,d):
|
||||||
return create_env(bb,d)
|
return create_env(bb,d)
|
||||||
|
|
||||||
|
def check_for_kernel(bb,d):
|
||||||
|
if bb.data.inherits_class("kernel", d):
|
||||||
|
return "yes"
|
||||||
|
|
||||||
#
|
return "no"
|
||||||
# set the IceCream environment variables
|
|
||||||
|
|
||||||
|
def get_cross_kernel_ver(bb,d):
|
||||||
|
|
||||||
|
return bb.data.expand('${KERNEL_CC}', d).strip() or "gcc"
|
||||||
|
|
||||||
|
# set the icecream environment variables
|
||||||
do_configure_prepend() {
|
do_configure_prepend() {
|
||||||
export PATH=${@icc_path(bb,d,False)}$PATH
|
export PATH=${@icc_path(bb,d,False)}$PATH
|
||||||
export ICECC_CC="gcc"
|
export ICECC_CC="gcc"
|
||||||
|
@ -168,11 +314,22 @@ do_configure_prepend() {
|
||||||
}
|
}
|
||||||
|
|
||||||
do_compile_prepend() {
|
do_compile_prepend() {
|
||||||
|
|
||||||
export PATH=${@icc_path(bb,d,True)}$PATH
|
export PATH=${@icc_path(bb,d,True)}$PATH
|
||||||
|
|
||||||
|
#check if we are building a kernel and select gcc-cross-kernel
|
||||||
|
if [ "${@check_for_kernel(bb,d)}" = "yes" ]; then
|
||||||
|
export ICECC_CC="${@get_cross_kernel_ver(bb,d)}"
|
||||||
|
export ICECC_CXX="${HOST_PREFIX}g++"
|
||||||
|
else
|
||||||
export ICECC_CC="${HOST_PREFIX}gcc"
|
export ICECC_CC="${HOST_PREFIX}gcc"
|
||||||
export ICECC_CXX="${HOST_PREFIX}g++"
|
export ICECC_CXX="${HOST_PREFIX}g++"
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "${@use_icc_version(bb,d)}" = "yes" ]; then
|
if [ "${@use_icc_version(bb,d)}" = "yes" ]; then
|
||||||
export ICECC_VERSION="${@icc_version(bb,d)}"
|
export ICECC_VERSION="${@icc_version(bb,d)}"
|
||||||
|
else
|
||||||
|
export ICECC_VERSION="NONE"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,10 +4,15 @@
|
||||||
# in the kernel source "arch" directory
|
# in the kernel source "arch" directory
|
||||||
#
|
#
|
||||||
|
|
||||||
valid_archs = "alpha cris ia64 m68knommu ppc sh \
|
valid_archs = "alpha cris ia64 \
|
||||||
sparc64 x86_64 arm h8300 m32r mips \
|
x86_64,i386 \
|
||||||
ppc64 sh64 um arm26 i386 m68k \
|
m68knommu m68k ppc powerpc ppc64 \
|
||||||
parisc s390 sparc v850"
|
sparc sparc64 \
|
||||||
|
arm arm26 \
|
||||||
|
m32r mips \
|
||||||
|
sh sh64 um h8300 \
|
||||||
|
parisc s390 v850 \
|
||||||
|
avr32 blackfin"
|
||||||
|
|
||||||
def map_kernel_arch(a, d):
|
def map_kernel_arch(a, d):
|
||||||
import bb, re
|
import bb, re
|
||||||
|
@ -17,10 +22,10 @@ def map_kernel_arch(a, d):
|
||||||
if re.match('(i.86|athlon)$', a): return 'i386'
|
if re.match('(i.86|athlon)$', a): return 'i386'
|
||||||
elif re.match('arm26$', a): return 'arm26'
|
elif re.match('arm26$', a): return 'arm26'
|
||||||
elif re.match('armeb$', a): return 'arm'
|
elif re.match('armeb$', a): return 'arm'
|
||||||
elif re.match('powerpc$', a): return 'ppc'
|
|
||||||
elif re.match('mipsel$', a): return 'mips'
|
elif re.match('mipsel$', a): return 'mips'
|
||||||
elif re.match('sh(3|4)$', a): return 'sh'
|
elif re.match('sh(3|4)$', a): return 'sh'
|
||||||
elif a in valid_archs: return a
|
elif re.match('bfin', a): return 'blackfin'
|
||||||
|
elif a in valid_archs: return a
|
||||||
else:
|
else:
|
||||||
bb.error("cannot map '%s' to a linux kernel architecture" % a)
|
bb.error("cannot map '%s' to a linux kernel architecture" % a)
|
||||||
|
|
||||||
|
|
|
@ -18,5 +18,12 @@ do_rm_work () {
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
addtask rmall after do_rm_work
|
||||||
|
do_rmall[recrdeptask] = "do_rm_work"
|
||||||
|
do_rmall() {
|
||||||
|
:
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
addtask rm_work before do_build
|
addtask rm_work before do_build
|
||||||
addtask rm_work after do_populate_staging
|
addtask rm_work after do_populate_staging
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
DEPENDS += "python-scons-native"
|
DEPENDS += "python-scons-native"
|
||||||
|
|
||||||
scons_do_compile() {
|
scons_do_compile() {
|
||||||
${STAGING_BINDIR_NATIVE}/scons PREFIX=${prefix} prefix=${prefix} || \
|
${STAGING_BINDIR_NATIVE}/scons PREFIX=${prefix} prefix=${prefix} || \
|
||||||
oefatal "scons build execution failed."
|
oefatal "scons build execution failed."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -22,11 +22,16 @@ def get_siteinfo_list(d):
|
||||||
|
|
||||||
targetinfo = {\
|
targetinfo = {\
|
||||||
"armeb-linux": "endian-big bit-32 common-glibc arm-common",\
|
"armeb-linux": "endian-big bit-32 common-glibc arm-common",\
|
||||||
|
"armeb-linux-gnueabi": "endian-big bit-32 common-glibc arm-common armeb-linux",\
|
||||||
"armeb-linux-uclibc": "endian-big bit-32 common-uclibc arm-common",\
|
"armeb-linux-uclibc": "endian-big bit-32 common-uclibc arm-common",\
|
||||||
|
"armeb-linux-uclibcgnueabi": "endian-big bit-32 common-uclibc arm-common armeb-linux-uclibc",\
|
||||||
"arm-linux": "endian-little bit-32 common-glibc arm-common",\
|
"arm-linux": "endian-little bit-32 common-glibc arm-common",\
|
||||||
"arm-linux-gnueabi": "endian-little bit-32 common-glibc arm-common arm-linux",\
|
"arm-linux-gnueabi": "endian-little bit-32 common-glibc arm-common arm-linux",\
|
||||||
"arm-linux-uclibc": "endian-little bit-32 common-uclibc arm-common",\
|
"arm-linux-uclibc": "endian-little bit-32 common-uclibc arm-common",\
|
||||||
"arm-linux-uclibcgnueabi": "endian-little bit-32 common-uclibc arm-common arm-linux-uclibc",\
|
"arm-linux-uclibcgnueabi": "endian-little bit-32 common-uclibc arm-common arm-linux-uclibc",\
|
||||||
|
"avr32-linux": "endian-big bit-32 common-glibc avr32-common",\
|
||||||
|
"avr32-linux-uclibc": "endian-big bit-32 common-uclibc avr32-common",\
|
||||||
|
"bfin-uclinux-uclibc": "endian-little bit-32 common-uclibc bfin-common",\
|
||||||
"i386-linux": "endian-little bit-32 common-glibc ix86-common",\
|
"i386-linux": "endian-little bit-32 common-glibc ix86-common",\
|
||||||
"i486-linux": "endian-little bit-32 common-glibc ix86-common",\
|
"i486-linux": "endian-little bit-32 common-glibc ix86-common",\
|
||||||
"i586-linux": "endian-little bit-32 common-glibc ix86-common",\
|
"i586-linux": "endian-little bit-32 common-glibc ix86-common",\
|
||||||
|
@ -38,8 +43,9 @@ def get_siteinfo_list(d):
|
||||||
"mipsel-linux": "endian-little bit-32 common-glibc",\
|
"mipsel-linux": "endian-little bit-32 common-glibc",\
|
||||||
"mipsel-linux-uclibc": "endian-little bit-32 common-uclibc",\
|
"mipsel-linux-uclibc": "endian-little bit-32 common-uclibc",\
|
||||||
"powerpc-darwin": "endian-big bit-32 common-darwin",\
|
"powerpc-darwin": "endian-big bit-32 common-darwin",\
|
||||||
"powerpc-linux": "endian-big bit-32 common-glibc",\
|
"ppc-linux": "endian-big bit-32 common-glibc powerpc-common",\
|
||||||
"powerpc-linux-uclibc": "endian-big bit-32 common-uclibc",\
|
"powerpc-linux": "endian-big bit-32 common-glibc powerpc-common",\
|
||||||
|
"powerpc-linux-uclibc": "endian-big bit-32 common-uclibc powerpc-common",\
|
||||||
"sh3-linux": "endian-little bit-32 common-glibc sh-common",\
|
"sh3-linux": "endian-little bit-32 common-glibc sh-common",\
|
||||||
"sh4-linux": "endian-little bit-32 common-glibc sh-common",\
|
"sh4-linux": "endian-little bit-32 common-glibc sh-common",\
|
||||||
"sh4-linux-uclibc": "endian-little bit-32 common-uclibc sh-common",\
|
"sh4-linux-uclibc": "endian-little bit-32 common-uclibc sh-common",\
|
||||||
|
@ -49,6 +55,7 @@ def get_siteinfo_list(d):
|
||||||
if target in targetinfo:
|
if target in targetinfo:
|
||||||
info = targetinfo[target].split()
|
info = targetinfo[target].split()
|
||||||
info.append(target)
|
info.append(target)
|
||||||
|
info.append("common")
|
||||||
return info
|
return info
|
||||||
else:
|
else:
|
||||||
bb.error("Information not available for target '%s'" % target)
|
bb.error("Information not available for target '%s'" % target)
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
SRC_DISTRIBUTEDIR ?= "${DEPLOY_DIR}/sources"
|
|
||||||
|
|
||||||
inherit src_distribute
|
inherit src_distribute
|
||||||
|
|
||||||
# SRC_DIST_LOCAL possible values:
|
# SRC_DIST_LOCAL possible values:
|
||||||
|
@ -7,7 +5,7 @@ inherit src_distribute
|
||||||
# symlink symlinks the files from ${A} to the distributedir
|
# symlink symlinks the files from ${A} to the distributedir
|
||||||
# move+symlink moves the files into distributedir, and symlinks them back
|
# move+symlink moves the files into distributedir, and symlinks them back
|
||||||
SRC_DIST_LOCAL ?= "move+symlink"
|
SRC_DIST_LOCAL ?= "move+symlink"
|
||||||
|
SRC_DISTRIBUTEDIR ?= "${DEPLOY_DIR}/sources"
|
||||||
SRC_DISTRIBUTECOMMAND () {
|
SRC_DISTRIBUTECOMMAND () {
|
||||||
s="${SRC}"
|
s="${SRC}"
|
||||||
if [ ! -L "$s" ] && (echo "$s"|grep "^${DL_DIR}"); then
|
if [ ! -L "$s" ] && (echo "$s"|grep "^${DL_DIR}"); then
|
||||||
|
|
|
@ -371,6 +371,10 @@ addhandler tinderclient_eventhandler
|
||||||
python tinderclient_eventhandler() {
|
python tinderclient_eventhandler() {
|
||||||
from bb import note, error, data
|
from bb import note, error, data
|
||||||
from bb.event import NotHandled
|
from bb.event import NotHandled
|
||||||
|
|
||||||
|
if e.data is None:
|
||||||
|
return NotHandled
|
||||||
|
|
||||||
do_tinder_report = data.getVar('TINDER_REPORT', e.data, True)
|
do_tinder_report = data.getVar('TINDER_REPORT', e.data, True)
|
||||||
if do_tinder_report and do_tinder_report == "1":
|
if do_tinder_report and do_tinder_report == "1":
|
||||||
tinder_do_tinder_report(e)
|
tinder_do_tinder_report(e)
|
||||||
|
|
|
@ -6,8 +6,9 @@
|
||||||
|
|
||||||
HOMEPAGE = "http://www.xfce.org"
|
HOMEPAGE = "http://www.xfce.org"
|
||||||
LICENSE = "LGPL-2"
|
LICENSE = "LGPL-2"
|
||||||
|
DEPENDS += "startup-notification"
|
||||||
|
|
||||||
SRC_URI = "http://www.us.xfce.org/archive/xfce-${PV}/src/${PN}-${PV}.tar.gz"
|
SRC_URI = "http://www.us.xfce.org/archive/xfce-${PV}/src/${PN}-${PV}.tar.bz2"
|
||||||
|
|
||||||
inherit autotools
|
inherit autotools
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue