aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/uclibc/uclibc-config.inc
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2016-07-13 11:24:16 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-07-25 23:46:57 +0100
commitff1599149942af1c36280abd4f1ed3878aaa62eb (patch)
tree1e3f1aa9ce4eb68cc32ab548dc92b7f2d25a0fe0 /meta/recipes-core/uclibc/uclibc-config.inc
parent89771f2dfc58b83a457147f8498214d7a2bfae43 (diff)
downloadopenembedded-core-contrib-ff1599149942af1c36280abd4f1ed3878aaa62eb.tar.gz
uclibc: remove
uclibc is showing its age now and upstarts like musl are approximately the same size but with far more features and active maintainers. Remove uclibc from oe-core and use endorse musl as the lighter alternative to full-fat glibc. Signed-off-by: Ross Burton <ross.burton@intel.com>
Diffstat (limited to 'meta/recipes-core/uclibc/uclibc-config.inc')
-rw-r--r--meta/recipes-core/uclibc/uclibc-config.inc142
1 files changed, 0 insertions, 142 deletions
diff --git a/meta/recipes-core/uclibc/uclibc-config.inc b/meta/recipes-core/uclibc/uclibc-config.inc
deleted file mode 100644
index 8b9e41c64d..0000000000
--- a/meta/recipes-core/uclibc/uclibc-config.inc
+++ /dev/null
@@ -1,142 +0,0 @@
-DEPENDS += "kern-tools-native"
-inherit cml1
-#
-# Set the ARCH environment variable for uClibc compilation.
-# Return value must match one of the architectures known to uClibc:
-# libc/sysdeps/*/*
-#
-
-valid_archs = "\
-alpha \
-arm \
-avr32 \
-bfin \
-c6x \
-cris \
-e1 \
-frv \
-h8300 \
-hppa \
-i386 \
-i960 \
-ia64 \
-m68k \
-microblaze \
-mips \
-nios \
-nios2 \
-powerpc \
-sh \
-sh64 \
-sparc \
-v850 \
-vax \
-x86_64 \
-xtensa \
-"
-def map_uclibc_arch(a, d):
- """Return the uClibc architecture for the given TARGET_ARCH."""
- import re
-
- valid_archs = d.getVar('valid_archs', True).split()
-
- if re.match('^(arm|sa110).*', a):
- return 'arm'
- elif re.match('^(i.86|athlon)$', a):
- return 'i386'
- elif re.match('^mips.*', a):
- return 'mips'
- elif re.match('^parisc.*', a):
- return 'hppa'
- elif re.match('^ppc.*', a):
- return 'powerpc'
- elif re.match('^s390.*', a):
- return 's390'
- elif re.match('^sh.*', a):
- return 'sh'
- elif re.match('^(sun|sparc).*', a):
- return 'sparc'
- elif re.match('^xtensa.*', a):
- return 'xtensa'
- elif a in valid_archs:
- return a
- else:
- bb.error("cannot map '%s' to a uClibc architecture" % a)
-
-export UCLIBC_ARCH = "${@map_uclibc_arch(d.getVar('TARGET_ARCH', True), d)}"
-
-def map_uclibc_abi(o, d):
- """Return the uClibc ABI for the given TARGET_OS."""
- import re
-
- arch = d.getVar('TARGET_ARCH', True)
- if map_uclibc_arch(d.getVar('TARGET_ARCH', True), d) == "arm":
- if re.match('.*eabi$', o):
- return 'ARM_EABI'
- else:
- return 'ARM_OABI'
- # FIXME: This is inaccurate! Handle o32, n32, n64
- elif re.match('^mips.*64$', arch):
- return 'MIPS_N64_ABI'
- elif re.match('^mips.*', arch):
- return 'MIPS_O32_ABI'
- return ""
-
-export UCLIBC_ABI = "${@map_uclibc_abi(d.getVar('TARGET_OS', True), d)}"
-
-def map_uclibc_endian(a, d):
- """Return the uClibc endianess for the given TARGET_ARCH."""
- import re
-
- # Always BE
- if re.match('^(avr32|e1|frv|(parisc|hppa)|m68k|microblaze|powerpc.*|(sparc|sun).*)$', a):
- return 'BIG'
- # Possibly BE
- elif re.match('^(((arm|sa110).*eb)|h8300.*eb|(parisc|hppa).*eb|mips|mips64|sh.*eb|xtensa.*eb)$', a):
- return 'BIG'
- return 'LITTLE'
-
-export UCLIBC_ENDIAN = "${@map_uclibc_endian(d.getVar('TARGET_ARCH', True), d)}"
-
-# internal helper
-def uclibc_cfg(feature, features, tokens, cnf, rem):
- if type(tokens) == type(""):
- tokens = [tokens]
- rem.extend(['/^[# ]*' + token + '[ =]/d' for token in tokens])
- if type(features) == type([]) and feature in features:
- cnf.extend([token + '=y' for token in tokens])
- else:
- cnf.extend(['# ' + token + ' is not set' for token in tokens])
-
-# Map distro features to config settings
-def features_to_uclibc_settings(d):
- cnf, rem = ([], [])
- distro_features = d.getVar('DISTRO_FEATURES', True).split()
- uclibc_cfg('ipv4', distro_features, 'UCLIBC_HAS_IPV4', cnf, rem)
- uclibc_cfg('ipv6', distro_features, 'UCLIBC_HAS_IPV6', cnf, rem)
- uclibc_cfg('largefile', distro_features, 'UCLIBC_HAS_LFS', cnf, rem)
- uclibc_cfg('nls', distro_features, 'UCLIBC_HAS_LOCALE', cnf, rem)
- uclibc_cfg('thumb-interwork', distro_features,'USE_BX', cnf, rem)
- uclibc_cfg('xattr', distro_features, 'UCLIBC_HAS_XATTR', cnf, rem)
- uclibc_cfg('ssp', distro_features, 'UCLIBC_HAS_SSP', cnf, rem)
- uclibc_cfg('argp', distro_features, 'UCLIBC_HAS_ARGP', cnf, rem)
- uclibc_cfg('libc-posix-clang-wchar', distro_features,'UCLIBC_HAS_WCHAR', cnf, rem)
- return "\n".join(cnf), "\n".join(rem)
-# X, Y = ${@features_to_uclibc_settings(d)}
-# unfortunately doesn't seem to work with bitbake, workaround:
-def features_to_uclibc_conf(d):
- cnf, rem = features_to_uclibc_settings(d)
- return cnf
-def features_to_uclibc_del(d):
- cnf, rem = features_to_uclibc_settings(d)
- return rem
-
-# returns all the elements from the src uri that are .cfg files
-def find_cfgs(d):
- sources=src_patches(d, True)
- sources_list=[]
- for s in sources:
- if s.endswith('.cfg'):
- sources_list.append(s)
-
- return sources_list