summaryrefslogtreecommitdiff
path: root/openembedded/classes/icecc.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'openembedded/classes/icecc.bbclass')
-rw-r--r--openembedded/classes/icecc.bbclass156
1 files changed, 0 insertions, 156 deletions
diff --git a/openembedded/classes/icecc.bbclass b/openembedded/classes/icecc.bbclass
deleted file mode 100644
index 7dfcfc29a..000000000
--- a/openembedded/classes/icecc.bbclass
+++ /dev/null
@@ -1,156 +0,0 @@
-# IceCream distributed compiling support
-#
-# We need to create a tar.bz2 of our toolchain and set
-# ICECC_VERSION, ICECC_CXX and ICEC_CC
-#
-
-def create_env(bb,d):
- """
- Create a tar.bz of the current toolchain
- """
-
- # Constin native-native compilation no environment needed if
- # host prefix is empty (let us duplicate the query for ease)
- prefix = bb.data.expand('${HOST_PREFIX}', d)
- if len(prefix) == 0:
- return ""
-
- import tarfile
- import socket
- import time
- import 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)
- #float = bb.data.getVar('${TARGET_FPU}', d)
- float = "anyfloat"
- name = socket.gethostname()
-
- try:
- os.stat(ice_dir + '/' + target_sys + '/lib/ld-linux.so.2')
- os.stat(ice_dir + '/' + target_sys + '/bin/g++')
- except:
- return ""
-
- VERSION = '3.4.3'
- cross_name = prefix + distro + target_sys + float +VERSION+ name
- tar_file = ice_dir + '/ice/' + cross_name + '.tar.bz2'
-
- try:
- os.stat(tar_file)
- return tar_file
- except:
- try:
- os.makedirs(ice_dir+'/ice')
- except:
- pass
-
- # FIXME find out the version of the compiler
- tar = tarfile.open(tar_file, 'w:bz2')
- tar.add(ice_dir + '/' + target_sys + '/lib/ld-linux.so.2',
- target_sys + 'cross/lib/ld-linux.so.2')
- tar.add(ice_dir + '/' + target_sys + '/lib/ld-linux.so.2',
- target_sys + 'cross/lib/ld-2.3.3.so')
- tar.add(ice_dir + '/' + target_sys + '/lib/libc-2.3.3.so',
- target_sys + 'cross/lib/libc-2.3.3.so')
- tar.add(ice_dir + '/' + target_sys + '/lib/libc.so.6',
- target_sys + 'cross/lib/libc.so.6')
- tar.add(ice_dir + '/' + target_sys + '/bin/gcc',
- target_sys + 'cross/usr/bin/gcc')
- tar.add(ice_dir + '/' + target_sys + '/bin/g++',
- target_sys + 'cross/usr/bin/g++')
- tar.add(ice_dir + '/' + target_sys + '/bin/as',
- target_sys + 'cross/usr/bin/as')
- tar.add(ice_dir + '/lib/gcc/' + target_sys +'/'+ VERSION + '/specs',
- target_sys+'cross/usr/lib/gcc/'+target_sys+'/'+VERSION+'/lib/specs')
- tar.add(ice_dir + '/libexec/gcc/'+target_sys+'/' + VERSION + '/cc1',
- target_sys + 'cross/usr/lib/gcc/'+target_sys+'/'+VERSION+'/lib/cc1')
- tar.add(ice_dir + '/libexec/gcc/arm-linux/' + VERSION + '/cc1plus',
- target_sys+'cross/usr/lib/gcc/'+target_sys+'/'+VERSION+'/lib/cc1plus')
- tar.close()
- return tar_file
-
-
-def create_path(compilers, type, bb, d):
- """
- Create Symlinks for the icecc in the staging directory
- """
- import os
-
- staging = bb.data.expand('${STAGING_DIR}', d) + "/ice/" + type
- icecc = bb.data.getVar('ICECC_PATH', d)
-
- # Create the dir if necessary
- try:
- os.stat(staging)
- except:
- os.makedirs(staging)
-
-
- for compiler in compilers:
- gcc_path = staging + "/" + compiler
- try:
- os.stat(gcc_path)
- except:
- os.symlink(icecc, gcc_path)
-
- return staging + ":"
-
-
-def use_icc_version(bb,d):
- # Constin native native
- prefix = bb.data.expand('${HOST_PREFIX}', d)
- if len(prefix) == 0:
- return "no"
-
-
- native = bb.data.expand('${PN}', d)
- blacklist = [ "-cross", "-native" ]
-
- for black in blacklist:
- if black in native:
- return "no"
-
- return "yes"
-
-def icc_path(bb,d,compile):
- native = bb.data.expand('${PN}', d)
- blacklist = [ "ulibc", "glibc", "ncurses" ]
- for black in blacklist:
- if black in native:
- return ""
-
- if "-native" in native:
- compile = False
- if "-cross" in native:
- compile = False
-
- prefix = bb.data.expand('${HOST_PREFIX}', d)
- if compile and len(prefix) != 0:
- return create_path( [prefix+"gcc", prefix+"g++"], "cross", bb, d )
- elif not compile or len(prefix) == 0:
- return create_path( ["gcc", "g++"], "native", bb, d)
-
-
-def icc_version(bb,d):
- return create_env(bb,d)
-
-
-#
-# set the IceCream environment variables
-do_configure_prepend() {
- export PATH=${@icc_path(bb,d,False)}$PATH
- export ICECC_CC="gcc"
- export ICECC_CXX="g++"
-}
-
-do_compile_prepend() {
- export PATH=${@icc_path(bb,d,True)}$PATH
- export ICECC_CC="${HOST_PREFIX}gcc"
- export ICECC_CXX="${HOST_PREFIX}g++"
-
- if [ "${@use_icc_version(bb,d)}" = "yes" ]; then
- export ICECC_VERSION="${@icc_version(bb,d)}"
- fi
-}