+SECTION = "opie/games"
+
+include abuse_${PV}.bb
+
+DEPENDS += "virtual/libqpe"
+
+EXTRA_CXXFLAGS_append = " -Dmain=SDL_main"
+EXTRA_CFLAGS_append = " -Dmain=SDL_main"
+EXTRA_LFLAGS_append = "-lqpe"
+
+do_install() {
+ install -d ${D}/${palmtopdir}/bin \
+ ${D}/${palmtopdir}/pics \
+ ${D}/${palmtopdir}/apps/Games \
+ ${D}/${palmtopdir}/share/aliens
+ install -D -m 0755 aliens ${D}${palmtopdir}/bin/aliens
+ install -D -m 0644 aliens.png ${D}${palmtopdir}/pics/aliens.png
+ install -D -m 0644 aliens.desktop ${D}${palmtopdir}/Games/aliens.desktop
+}
# doc/fr/apt-ftparchive.fr.1
# doc/apt-ftparchive.1
-def get_files_apt_doc(d, oe, manpages):
+def get_files_apt_doc(d, bb, manpages):
import re
manpages = re.sub(r'\bdoc/(\S+)/(\S+)\.\1\.(.)\b', r'${mandir}/\1/man\3/\2.\3', manpages)
manpages = re.sub(r'\bdoc/(\S+)\.(.)\b', r'${mandir}/man\3/\1.\3', manpages)
return manpages
-def get_commands_apt_doc(d, oe, manpages):
+def get_commands_apt_doc(d, bb, manpages):
import os
s = list()
__dir_cache__ = list()
for m in manpages.split():
- dest = get_files_apt_doc(d, oe, m)
+ dest = get_files_apt_doc(d, bb, m)
dir = os.path.dirname(dest)
if not dir in __dir_cache__:
s.append("install -d ${D}/%s" % dir)
${localstatedir} ${sysconfdir} \
${libdir}/dpkg"
FILES_${PN}-utils = "${bindir}/apt-sortpkgs ${bindir}/apt-extracttemplates"
-FILES_${PN}-doc = "${@get_files_apt_doc(d, oe, bb.data.getVar('apt-manpages', d, 1))} \
+FILES_${PN}-doc = "${@get_files_apt_doc(d, bb, bb.data.getVar('apt-manpages', d, 1))} \
${datadir}/doc/apt"
-FILES_${PN}-utils-doc = "${@get_files_apt_doc(d, oe, bb.data.getVar('apt-utils-manpages', d, 1))}"
+FILES_${PN}-utils-doc = "${@get_files_apt_doc(d, bb, bb.data.getVar('apt-utils-manpages', d, 1))}"
FILES_${PN}-dev = "${libdir}/libapt*.so"
do_install () {
- ${@get_commands_apt_doc(d, oe, bb.data.getVar('apt-manpages', d, 1))}
- ${@get_commands_apt_doc(d, oe, bb.data.getVar('apt-utils-manpages', d, 1))}
+ ${@get_commands_apt_doc(d, bb, bb.data.getVar('apt-manpages', d, 1))}
+ ${@get_commands_apt_doc(d, bb, bb.data.getVar('apt-utils-manpages', d, 1))}
install -d ${D}/${bindir}
install -m 0755 bin/apt-cdrom ${D}/${bindir}/
install -m 0755 bin/apt-get ${D}/${bindir}/
+SECTION = "devel"
+include autoconf_${PV}.bb
+S = "${WORKDIR}/autoconf-${PV}"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/autoconf-${PV}"
+
+inherit native
+SECTION = "devel"
+include automake_${PV}.bb
+S = "${WORKDIR}/automake-${PV}"
+DEPENDS = "autoconf-native"
+
+inherit native
+
+do_stage () {
+ oe_runmake install
+ install -d ${datadir}
+ if [ ! -e ${datadir}/aclocal ]; then
+ ln -sf aclocal-1.8 ${datadir}/aclocal
+ fi
+ if [ ! -e ${datadir}/automake ]; then
+ ln -sf automake-1.8 ${datadir}/automake
+ fi
+}
+SECTION = "devel"
+include automake_${PV}.bb
+S = "${WORKDIR}/automake-${PV}"
+DEPENDS = "autoconf-native"
+
+inherit native
+
+do_stage () {
+ oe_runmake install
+ install -d ${datadir}
+ if [ ! -e ${datadir}/aclocal ]; then
+ ln -sf aclocal-1.8 ${datadir}/aclocal
+ fi
+ if [ ! -e ${datadir}/automake ]; then
+ ln -sf automake-1.8 ${datadir}/automake
+ fi
+}
+SECTION = "devel"
+include automake_${PV}.bb
+DEPENDS = "autoconf-native"
+
+inherit native
+
+do_stage () {
+ oe_runmake install
+ install -d ${datadir}
+ if [ ! -e ${datadir}/aclocal ]; then
+ ln -sf aclocal-1.9 ${datadir}/aclocal
+ fi
+ if [ ! -e ${datadir}/automake ]; then
+ ln -sf automake-1.9 ${datadir}/automake
+ fi
+}
+SECTION = "devel"
+include automake_${PV}.bb
+DEPENDS = "autoconf-native"
+
+inherit native
+
+do_stage () {
+ oe_runmake install
+ install -d ${datadir}
+ if [ ! -e ${datadir}/aclocal ]; then
+ ln -sf aclocal-1.9 ${datadir}/aclocal
+ fi
+ if [ ! -e ${datadir}/automake ]; then
+ ln -sf automake-1.9 ${datadir}/automake
+ fi
+}
+SECTION = "devel"
+include binutils_${PV}.bb
+inherit sdk
+DEPENDS += "flex-native bison-native"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/binutils-${PV}"
+EXTRA_OECONF = "--with-sysroot=${CROSS_DIR}/${TARGET_SYS} \
+ --program-prefix=${TARGET_PREFIX}"
+
+do_stage() {
+ :
+}
+SECTION = "devel"
+include binutils_${PV}.bb
+inherit sdk
+DEPENDS += "flex-native bison-native"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/binutils-${PV}"
+EXTRA_OECONF = "--with-sysroot=${CROSS_DIR}/${TARGET_SYS} \
+ --program-prefix=${TARGET_PREFIX}"
+
+do_stage() {
+ :
+}
+SECTION = "devel"
+include binutils_${PV}.bb
+inherit sdk
+DEPENDS += "flex-native bison-native"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/binutils-${PV}"
+EXTRA_OECONF = "--with-sysroot=${CROSS_DIR}/${TARGET_SYS} \
+ --program-prefix=${TARGET_PREFIX}"
+
+do_stage() {
+ :
+}
+SECTION = "devel"
+include binutils_${PV}.bb
+inherit sdk
+DEPENDS += "flex-native bison-native"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/binutils-${PV}"
+EXTRA_OECONF = "--with-sysroot=${CROSS_DIR}/${TARGET_SYS} \
+ --program-prefix=${TARGET_PREFIX}"
+
+do_stage() {
+ :
+}
+SECTION = "devel"
+PR = "r1"
+include binutils_${PV}.bb
+inherit sdk
+DEPENDS += "flex-native bison-native"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/binutils-${PV}"
+EXTRA_OECONF = "--with-sysroot=${CROSS_DIR}/${TARGET_SYS} \
+ --program-prefix=${TARGET_PREFIX}"
+
+do_stage() {
+ :
+}
+
+do_install () {
+ autotools_do_install
+
+ # Install the libiberty header
+ install -d ${D}/${includedir}
+ install -m 644 ${S}/include/ansidecl.h ${D}/${includedir}
+ install -m 644 ${S}/include/libiberty.h ${D}/${includedir}
+}
+SECTION = "devel"
+include binutils_cvs.bb
+inherit sdk
+DEPENDS += "flex-native bison-native"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/binutils-cvs"
+EXTRA_OECONF = "--with-sysroot=${CROSS_DIR}/${TARGET_SYS} \
+ --program-prefix=${TARGET_PREFIX}"
+
+do_stage() {
+ :
+}
+SECTION = "devel"
+include binutils_${PV}.bb
+inherit cross
+DEPENDS += "flex-native bison-native"
+PROVIDES = "virtual/${TARGET_PREFIX}binutils"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/binutils-${PV}"
+PACKAGES = ""
+EXTRA_OECONF = "--with-sysroot=${CROSS_DIR}/${TARGET_SYS} \
+ --program-prefix=${TARGET_PREFIX}"
+
+do_stage () {
+ oe_runmake install
+
+ # We don't really need these, so we'll remove them...
+ rm -rf ${CROSS_DIR}/lib/ldscripts
+ rm -rf ${CROSS_DIR}/share/info
+ rm -rf ${CROSS_DIR}/share/locale
+ rm -rf ${CROSS_DIR}/share/man
+ rmdir ${CROSS_DIR}/share || :
+ rmdir ${CROSS_DIR}/${libdir}/gcc-lib || :
+ rmdir ${CROSS_DIR}/${libdir} || :
+ rmdir ${CROSS_DIR}/${prefix} || :
+
+ # We want to move this into the target specific location
+ mkdir -p ${CROSS_DIR}/${TARGET_SYS}/lib
+ mv -f ${CROSS_DIR}/lib/libiberty.a ${CROSS_DIR}/${TARGET_SYS}/lib
+ rmdir ${CROSS_DIR}/lib || :
+}
+
+do_install () {
+ :
+}
+SECTION = "devel"
+include binutils_${PV}.bb
+inherit cross
+DEPENDS += "flex-native bison-native"
+PROVIDES = "virtual/${TARGET_PREFIX}binutils"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/binutils-${PV}"
+PACKAGES = ""
+EXTRA_OECONF = "--with-sysroot=${CROSS_DIR}/${TARGET_SYS} \
+ --program-prefix=${TARGET_PREFIX}"
+
+do_stage () {
+ oe_runmake install
+
+ # We don't really need these, so we'll remove them...
+ rm -rf ${CROSS_DIR}/lib/ldscripts
+ rm -rf ${CROSS_DIR}/share/info
+ rm -rf ${CROSS_DIR}/share/locale
+ rm -rf ${CROSS_DIR}/share/man
+ rmdir ${CROSS_DIR}/share || :
+ rmdir ${CROSS_DIR}/${libdir}/gcc-lib || :
+ rmdir ${CROSS_DIR}/${libdir} || :
+ rmdir ${CROSS_DIR}/${prefix} || :
+
+ # We want to move this into the target specific location
+ mkdir -p ${CROSS_DIR}/${TARGET_SYS}/lib
+ mv -f ${CROSS_DIR}/lib/libiberty.a ${CROSS_DIR}/${TARGET_SYS}/lib
+ rmdir ${CROSS_DIR}/lib || :
+}
+
+do_install () {
+ :
+}
+SECTION = "devel"
+include binutils_${PV}.bb
+inherit cross
+DEPENDS += "flex-native bison-native"
+PROVIDES = "virtual/${TARGET_PREFIX}binutils"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/binutils-${PV}"
+PACKAGES = ""
+EXTRA_OECONF = "--with-sysroot=${CROSS_DIR}/${TARGET_SYS} \
+ --program-prefix=${TARGET_PREFIX}"
+
+do_stage () {
+ oe_runmake install
+
+ # We don't really need these, so we'll remove them...
+ rm -rf ${CROSS_DIR}/lib/ldscripts
+ rm -rf ${CROSS_DIR}/share/info
+ rm -rf ${CROSS_DIR}/share/locale
+ rm -rf ${CROSS_DIR}/share/man
+ rmdir ${CROSS_DIR}/share || :
+ rmdir ${CROSS_DIR}/${libdir}/gcc-lib || :
+ rmdir ${CROSS_DIR}/${libdir} || :
+ rmdir ${CROSS_DIR}/${prefix} || :
+
+ # We want to move this into the target specific location
+ mkdir -p ${CROSS_DIR}/${TARGET_SYS}/lib
+ mv -f ${CROSS_DIR}/lib/libiberty.a ${CROSS_DIR}/${TARGET_SYS}/lib
+ rmdir ${CROSS_DIR}/lib || :
+}
+
+do_install () {
+ :
+}
+SECTION = "devel"
+include binutils_${PV}.bb
+inherit cross
+DEPENDS += "flex-native bison-native"
+PROVIDES = "virtual/${TARGET_PREFIX}binutils"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/binutils-${PV}"
+PACKAGES = ""
+EXTRA_OECONF = "--with-sysroot=${CROSS_DIR}/${TARGET_SYS} \
+ --program-prefix=${TARGET_PREFIX}"
+
+do_stage () {
+ oe_runmake install
+
+ # We don't really need these, so we'll remove them...
+ rm -rf ${CROSS_DIR}/lib/ldscripts
+ rm -rf ${CROSS_DIR}/share/info
+ rm -rf ${CROSS_DIR}/share/locale
+ rm -rf ${CROSS_DIR}/share/man
+ rmdir ${CROSS_DIR}/share || :
+ rmdir ${CROSS_DIR}/${libdir}/gcc-lib || :
+ rmdir ${CROSS_DIR}/${libdir} || :
+ rmdir ${CROSS_DIR}/${prefix} || :
+
+ # We want to move this into the target specific location
+ mkdir -p ${CROSS_DIR}/${TARGET_SYS}/lib
+ mv -f ${CROSS_DIR}/lib/libiberty.a ${CROSS_DIR}/${TARGET_SYS}/lib
+ rmdir ${CROSS_DIR}/lib || :
+}
+
+do_install () {
+ :
+}
+SECTION = "devel"
+include binutils_${PV}.bb
+inherit cross
+DEPENDS += "flex-native bison-native"
+PROVIDES = "virtual/${TARGET_PREFIX}binutils"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/binutils-${PV}"
+PACKAGES = ""
+EXTRA_OECONF = "--with-sysroot=${CROSS_DIR}/${TARGET_SYS} \
+ --program-prefix=${TARGET_PREFIX}"
+
+do_stage () {
+ oe_runmake install
+
+ # We don't really need these, so we'll remove them...
+ rm -rf ${CROSS_DIR}/lib/ldscripts
+ rm -rf ${CROSS_DIR}/share/info
+ rm -rf ${CROSS_DIR}/share/locale
+ rm -rf ${CROSS_DIR}/share/man
+ rmdir ${CROSS_DIR}/share || :
+ rmdir ${CROSS_DIR}/${libdir}/gcc-lib || :
+ rmdir ${CROSS_DIR}/${libdir} || :
+ rmdir ${CROSS_DIR}/${prefix} || :
+
+ # We want to move this into the target specific location
+ mkdir -p ${CROSS_DIR}/${TARGET_SYS}/lib
+ mv -f ${CROSS_DIR}/lib/libiberty.a ${CROSS_DIR}/${TARGET_SYS}/lib
+ rmdir ${CROSS_DIR}/lib || :
+}
+
+do_install () {
+ :
+}
+SECTION = "devel"
+include binutils_${PV}.bb
+inherit cross
+DEPENDS += "flex-native bison-native"
+PROVIDES = "virtual/${TARGET_PREFIX}binutils"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/binutils-${PV}"
+PACKAGES = ""
+EXTRA_OECONF = "--with-sysroot=${CROSS_DIR}/${TARGET_SYS} \
+ --program-prefix=${TARGET_PREFIX}"
+
+do_stage () {
+ oe_runmake install
+
+ # We don't really need these, so we'll remove them...
+ rm -rf ${CROSS_DIR}/lib/ldscripts
+ rm -rf ${CROSS_DIR}/share/info
+ rm -rf ${CROSS_DIR}/share/locale
+ rm -rf ${CROSS_DIR}/share/man
+ rmdir ${CROSS_DIR}/share || :
+ rmdir ${CROSS_DIR}/${libdir}/gcc-lib || :
+ rmdir ${CROSS_DIR}/${libdir} || :
+ rmdir ${CROSS_DIR}/${prefix} || :
+
+ # We want to move this into the target specific location
+ mkdir -p ${CROSS_DIR}/${TARGET_SYS}/lib
+ mv -f ${CROSS_DIR}/lib/libiberty.a ${CROSS_DIR}/${TARGET_SYS}/lib
+ rmdir ${CROSS_DIR}/lib || :
+}
+
+do_install () {
+ :
+}
+SECTION = "devel"
+include binutils_cvs.bb
+inherit cross
+DEPENDS += "flex-native bison-native"
+PROVIDES = "virtual/${TARGET_PREFIX}binutils"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/binutils-cvs"
+PACKAGES = ""
+EXTRA_OECONF = "--with-sysroot=${CROSS_DIR}/${TARGET_SYS} \
+ --program-prefix=${TARGET_PREFIX}"
+
+do_stage () {
+ oe_runmake install
+
+ # We don't really need these, so we'll remove them...
+ rm -rf ${CROSS_DIR}/lib/ldscripts
+ rm -rf ${CROSS_DIR}/share/info
+ rm -rf ${CROSS_DIR}/share/locale
+ rm -rf ${CROSS_DIR}/share/man
+ rmdir ${CROSS_DIR}/share || :
+ rmdir ${CROSS_DIR}/${libdir}/gcc-lib || :
+ rmdir ${CROSS_DIR}/${libdir} || :
+ rmdir ${CROSS_DIR}/${prefix} || :
+
+ # We want to move this into the target specific location
+ mkdir -p ${CROSS_DIR}/${TARGET_SYS}/lib
+ mv -f ${CROSS_DIR}/lib/libiberty.a ${CROSS_DIR}/${TARGET_SYS}/lib
+ rmdir ${CROSS_DIR}/lib || :
+}
+
+do_install () {
+ :
+}
+include bison_${PV}.bb
+SECTION = "devel"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/bison-${PV}"
+S = "${WORKDIR}/bison-${PV}"
+
+inherit native autotools
+
+do_stage() {
+ install -m 0755 src/bison ${STAGING_BINDIR}/
+ ln -sf ./bison ${STAGING_BINDIR}/yacc
+ install -d ${STAGING_BINDIR}/../share/bison/m4sugar
+ install -m 0755 data/c.m4 data/glr.c data/lalr1.cc data/yacc.c ${STAGING_BINDIR}/../share/bison/
+ install -m 0755 data/m4sugar/m4sugar.m4 ${STAGING_BINDIR}/../share/bison/m4sugar/
+}
+# bootsplash-native OE build file
+# Copyright (C) 2004, Advanced Micro Devices, Inc. All Rights Reserved
+# Released under the MIT license (see packages/COPYING)
+
+include bootsplash_${PV}.bb
+
+inherit native
+S="${WORKDIR}/bootsplash-${PV}"
+
+do_compile() {
+ oe_runmake -C Utilities splash
+}
+
+do_stage() {
+ install -d ${STAGING_BINDIR}
+ install -m 0755 Utilities/splash ${STAGING_BINDIR}/splash
+}
+include ccdv.bb
+inherit native
+
+do_stage () {
+ install -m 0755 ccdv ${STAGING_BINDIR}/
+}
+
+do_install () {
+ :
+}
+SECTION = "console/network"
+include cetools_${PV}.bb
+inherit native
+
+do_stage() {
+ install -m 0755 rom2files rom2bin bin2rom dump2bin ${STAGING_BINDIR}
+}
+python () {
+ if bb.data.getVar('PN', d, 1) in ['ccdv-native']:
+ if not bb.data.getVar('INHIBIT_DEFAULT_DEPS', d, 1):
+ bb.data.setVar("DEPENDS", '%s %s' % ("ccdv-native", bb.data.getVar("DEPENDS", d, 1) or ""), d)
+ bb.data.setVar("CC", '%s %s' % ("ccdv", bb.data.getVar("CC", d, 1) or ""), d)
+ bb.data.setVar("BUILD_CC", '%s %s' % ("ccdv", bb.data.getVar("BUILD_CC", d, 1) or ""), d)
+ bb.data.setVar("CCLD", '%s %s' % ("ccdv", bb.data.getVar("CCLD", d, 1) or ""), d)
+}
+
+def quiet_libtool(bb,d):
+ deps = (bb.data.getVar('DEPENDS', d, 1) or "").split()
+ if 'libtool-cross' in deps:
+ return "'LIBTOOL=${STAGING_BINDIR}/${HOST_SYS}-libtool --silent'"
+ elif 'libtool-native' in deps:
+ return "'LIBTOOL=${B}/${HOST_SYS}-libtool --silent'"
+ else:
+ return ""
+
+CCDV = "ccdv"
+EXTRA_OEMAKE_append = " ${@quiet_libtool(bb,d)}"
+MAKE += "-s"
+# classes/opie_i18n.oeclass Matthias 'CoreDump' Hentges 16-10-2004
+#
+# Automatically builds i18n ipks for opie packages. It downloads opie-i18n from opie CVS
+# and tries to guess the name of the .ts file based on the package name:
+# ${PN}.ts, lib${PN}.ts and opie-${PN}.ts are all valid. The .ts "guessing" can be
+# disabled by setting I18N_FILES in the .oe file.
+#
+# Todo:
+#
+
+I18N_STATS = "1"
+SRC_URI += "cvs://anoncvs:anoncvs@cvs.handhelds.org/cvs;module=opie/i18n"
+DEPENDS += "opie-i18n"
+
+die () {
+ echo -e "opie_18n: ERROR: $1"
+ exit 1
+}
+
+python do_build_opie_i18n_data() {
+
+ import os, bb, re
+ workdir = bb.data.getVar("WORKDIR", d, 1)
+ packages = bb.data.getVar("PACKAGES", d, 1)
+ files = bb.data.getVar("FILES", d, 1)
+ section = bb.data.getVar("SECTION", d, 1)
+ pn = bb.data.getVar("PN", d, 1)
+ rdepends = bb.data.getVar("RDEPENDS", d, 1)
+
+ if os.path.exists(workdir + "/PACKAGES.tmp"):
+ fd = open(workdir + "/PACKAGES.tmp", 'r')
+ lines = fd.readlines()
+ fd.close()
+
+ bb.data.setVar('PACKAGES', " ".join(lines).lower() + " " + packages, d)
+
+ fd = open(workdir + "/FILES.tmp", 'r')
+ lines = fd.readlines()
+ fd.close()
+
+ for l in lines:
+ x = re.split("\#", l)
+ bb.data.setVar('FILES_%s' % x[0].lower(), " " + x[1].strip('\n'), d)
+ bb.data.setVar('SECTION_%s' % x[0].lower(), "opie/translations", d)
+ bb.data.setVar('RDEPENDS_%s' % x[0].lower(), pn, d)
+
+ bb.data.setVar('SECTION_%s' % pn, section, d)
+ bb.data.setVar('RDEPENDS', rdepends, d)
+ else:
+ bb.note("No translations found for package " + pn)
+}
+
+do_build_opie_i18n () {
+
+ cd "${WORKDIR}/i18n" || die "ERROR:\nCouldn't find Opies i18n sources in ${PN}/i18n\nMake sure that <inherit opie_i18n> or <inherit opie> is *below* <SRC_URIS =>!"
+
+ if test -z "${I18N_FILES}"
+ then
+ package_name="`echo "${PN}"| sed "s/^opie\-//"`"
+ package_name2="`echo "${PN}"| sed "s/^opie\-//;s/\-//"`"
+ test "$package_name" != "$package_name2" && I18N_FILES="${package_name}.ts lib${package_name}.ts opie-${package_name}.ts ${package_name2}.ts lib${package_name2}.ts opie-${package_name2}.ts"
+ test "$package_name" = "$package_name2" && I18N_FILES="${package_name}.ts lib${package_name}.ts opie-${package_name}.ts"
+ echo -e "I18N Datafiles: ${I18N_FILES} (auto-detected)\nYou can overide the auto-detection by setting I18N_FILES in your .oe file"
+ else
+ echo "I18N Datafiles: ${I18N_FILES} (provided by .bb)"
+ fi
+
+ rm -f "${WORKDIR}/FILES.tmp" "${WORKDIR}/PACKAGES.tmp"
+
+ echo -e "\nFILES is set to [${FILES}]\n"
+
+ for file in ${I18N_FILES}
+ do
+ echo "Working on [$file]"
+ for ts_file in `ls -1 */*.ts | egrep "/$file"`
+ do
+ echo -e "\tCompiling [$ts_file]"
+ cd "${WORKDIR}/i18n/`dirname $ts_file`" || die "[${WORKDIR}/i18n/`dirname $ts_file`] not found"
+ opie-lrelease "`basename $ts_file`" || die "lrelease failed! Make sure that <inherit opie_i18n> or <inherit opie> is *below* <DEPENDS =>!"
+
+ # $lang is the language as in de_DE, $lang_sane replaces "_" with "-"
+ # to allow packaging as "_" is not allowed in a package name
+ lang="`echo "$ts_file" | sed -n "s#\(.*\)/\(.*\)#\1#p"`"
+ lang_sane="`echo "$ts_file" | sed -n "s#\(.*\)/\(.*\)#\1#p"|sed s/\_/\-/`"
+ echo -e "\tPackaging [`basename $ts_file`] for language [$lang]"
+
+ install -d ${D}${palmtopdir}/i18n/$lang
+ install -m 0644 ${WORKDIR}/i18n/$lang/.directory ${D}${palmtopdir}/i18n/$lang/
+ install -m 0644 ${WORKDIR}/i18n/$lang/*.qm "${D}${palmtopdir}/i18n/$lang/"
+
+ # As it is not possible to modify OE vars from within a _shell_ function,
+ # some major hacking was needed. These two files will be read by the python
+ # function do_build_opie_i18n_data() which sets the variables FILES_* and
+ # PACKAGES as needed.
+ echo -n "${PN}-${lang_sane} " >> "${WORKDIR}/PACKAGES.tmp"
+ echo -e "${PN}-${lang_sane}#${palmtopdir}/i18n/$lang" >> "${WORKDIR}/FILES.tmp"
+
+ ts_found_something=1
+ done
+
+ if test "$ts_found_something" != 1
+ then
+ echo -e "\tNo translations found"
+ else
+ ts_found_something=""
+ ts_found="$ts_found $file"
+ fi
+
+ # Only used for debugging purposes
+ test "${I18N_STATS}" = 1 && cd "${WORKDIR}/i18n"
+
+ echo -e "Completed [$file]\n\n"
+ done
+
+ qt_dirs="apps bin etc lib pics plugins share sounds"
+
+ for dir in $qt_dirs
+ do
+ dir_="$dir_ ${palmtopdir}/$dir "
+ done
+
+
+ # If we don't adjust FILES to exclude the i18n directory, we will end up with
+ # _lots_ of empty i18n/$lang directories in the original .ipk.
+ if (echo "${FILES}" | egrep "/opt/QtPalmtop/? |/opt/QtPalmtop/?$") &>/dev/null
+ then
+ echo "NOTE: FILES was set to /opt/QtPalmtop which would include the i18n directory"
+ echo -e "\n\nI'll remove /opt/QtPalmtop from FILES and replace it with all directories"
+ echo "below QtPalmtop, except i18n ($qt_dirs). See classes/opie_i18n.oeclass for details"
+
+ # Removes /opt/QtPalmtop from FILES but keeps /opt/QtPalmtop/$some_dir
+ FILES="`echo "$FILES"| sed "s#/opt/QtPalmtop[/]\?\$\|/opt/QtPalmtop[/]\? ##"`"
+
+ echo "${PN}#$FILES $dir_" >> "${WORKDIR}/FILES.tmp"
+ fi
+
+ # This is the common case for OPIE apps which are installed by opie.oeclass magic
+ if test -z "${FILES}"
+ then
+ echo "NOTE:"
+ echo -e "Since FILES is empty, i'll add all directories below /o/QtPalmtop to it,\nexcluding i18n: ( $qt_dirs )"
+ echo "${PN}#$FILES $dir_" >> "${WORKDIR}/FILES.tmp"
+ fi
+
+ if ! test -e "${WORKDIR}/PACKAGES.tmp" -a "${I18N_STATS}" = 1
+ then
+ echo "No translations for package [${PN}]" >> /tmp/oe-i18n-missing.log
+ else
+ echo "Using [$ts_found ] for package [${PN}]" >> /tmp/oe-i18n.log
+ fi
+
+ # While this might not be very elegant, it safes a _ton_ of space (~30Mb) for
+ # each opie package.
+ for file in $(ls */*.ts | egrep -v "`echo "$ts_found"| sed "s/^\ //;s/\ /\|/"`")
+ do
+ rm "$file"
+ done
+
+ return 0
+}
+
+addtask build_opie_i18n before do_compile
+addtask build_opie_i18n_data after do_build_opie_i18n before do_compile
+SECTION = "base"
+inherit native
+
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/coreutils-${PV}"
+S = "${WORKDIR}/coreutils-${PV}"
+
+include coreutils_${PV}.bb
+SECTION = "libs"
+inherit native
+include db3_${PV}.bb
+
+FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/db3-${PV}', '${FILE_DIRNAME}/db3', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
+PACKAGES = ""
+SECTION = "base"
+include e2fsprogs-libs_${PV}.bb
+inherit native
+
+FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/e2fsprogs-libs-${PV}', '${FILE_DIRNAME}/e2fsprogs-libs', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
+PACKAGES = ""
+SECTION = "base"
+include e2fsprogs_${PV}.bb
+inherit native
+
+FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/e2fsprogs-${PV}', '${FILE_DIRNAME}/e2fsprogs', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
+PACKAGES = ""
+
+do_stage () {
+ oe_libinstall -a -C lib libe2p ${STAGING_LIBDIR}/
+ oe_libinstall -a -C lib libext2fs ${STAGING_LIBDIR}/
+ install -d ${STAGING_INCDIR}/e2p
+ for h in ${e2pheaders}; do
+ install -m 0644 lib/e2p/$h ${STAGING_INCDIR}/e2p/ || die "failed to install $h"
+ done
+ install -d ${STAGING_INCDIR}/ext2fs
+ for h in ${ext2fsheaders}; do
+ install -m 0644 lib/ext2fs/$h ${STAGING_INCDIR}/ext2fs/ || die "failed to install $h"
+ done
+}
+SECTION = "base"
+include e2tools_${PV}.bb
+inherit native
+
+DEPENDS = "e2fsprogs-libs-native e2fsprogs-native"
+FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/e2tools-${PV}', '${FILE_DIRNAME}/e2tools', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
+PACKAGES = ""
+
+e2links = "e2ln e2ls e2mkdir e2mv e2rm e2tail"
+do_stage () {
+ install -m 0755 e2cp ${STAGING_BINDIR}/
+ for i in ${e2links}; do
+ ln -sf e2cp ${STAGING_BINDIR}/$i
+ done
+}
+include ecore_${PV}.bb
+LICENSE = "MIT"
+inherit native
+DEPENDS = "edb-native eet-native evas-native freetype-native"
+
+export EDB_CONFIG = "${STAGING_BINDIR}/edb-config-native"
+export EET_CONFIG = "${STAGING_BINDIR}/eet-config-native"
+export EVAS_CONFIG = "${STAGING_BINDIR}/evas-config-native"
+export FREETYPE_CONFIG = "${STAGING_BINDIR}/freetype-config-native"
+
+do_stage () {
+ for p in ${parts}; do
+ dir=`echo $p|tr A-Z a-z`
+ install -m 0644 ${S}/src/lib/$dir/$p.h ${STAGING_INCDIR}/
+ oe_libinstall -C src/lib/$dir lib$dir ${STAGING_LIBDIR}/
+ done
+ install -m 0644 ${S}/src/lib/ecore/Ecore_Data.h ${STAGING_INCDIR}/
+ install -m 0644 ${S}/ecore.m4 ${STAGING_DATADIR}/aclocal/
+}
+SECTION = "unknown"
+LICENSE = "MIT"
+include edb_cvs.bb
+inherit native
+DEPENDS = "zlib-native"
+
+do_stage () {
+ install -m 0755 tools/.libs/edb_ed ${STAGING_BINDIR}
+ oe_libinstall -C src libedb ${STAGING_LIBDIR}/
+ install -m 0644 ${S}/src/Edb.h ${STAGING_INCDIR}/
+}
+include edje_${PV}.bb
+inherit native
+DEPENDS = "freetype-native evas-native ecore-native embryo-native eet-native edb-native imlib2-native"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/edje"
+
+EXTRA_OECONF = "--enable-fb-only"
+
+export EDB_CONFIG = "${STAGING_BINDIR}/edb-config-native"
+export EET_CONFIG = "${STAGING_BINDIR}/eet-config-native"
+export FREETYPE_CONFIG = "${STAGING_BINDIR}/freetype-config-native"
+export EVAS_CONFIG = "${STAGING_BINDIR}/evas-config-native"
+export ECORE_CONFIG = "${STAGING_BINDIR}/ecore-config-native"
+export EMBRYO_CONFIG = "${STAGING_BINDIR}/embryo-config-native"
+export IMLIB2_CONFIG = "${STAGING_BINDIR}/imlib2-config-native"
+
+do_stage() {
+ for i in edje edje_ls edje_cc
+ do
+ install -m 0755 src/bin/$i ${STAGING_BINDIR}
+ done
+}
+SECTION = "unknown"
+include eet_${PV}.bb
+inherit native
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/eet"
+DEPENDS = "zlib-native jpeg-native"
+
+do_stage () {
+ oe_libinstall -C src/lib libeet ${STAGING_LIBDIR}/
+ install -m 0644 ${S}/src/lib/Eet.h ${STAGING_INCDIR}/
+}
+include embryo_${PV}.bb
+inherit native
+
+do_stage () {
+ oe_libinstall -C src/lib libembryo ${STAGING_LIBDIR}/
+ install -m 0644 ${S}/src/lib/Embryo.h ${STAGING_INCDIR}/
+}
+include encdec-updater.bb
+inherit native
+
+do_stage() {
+ install -m 0755 encdec-updater ${STAGING_BINDIR}
+}
+SECTION = "unknown"
+include espgs_${PV}.bb
+inherit native
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/espgs-${PV}"
+DEPENDS = "jpeg-native zlib-native libpng-native"
+
+do_stage_append () {
+ install -m 0755 obj/echogs obj/genarch obj/genconf ${STAGING_BINDIR}/
+}
+SECTION = "console/network"
+include ethload_${PV}.bb
+inherit native
+
+do_stage() {
+ install -m 0755 ethload ${STAGING_BINDIR}
+}
+DESCRIPTION = "The Enlightenment Canvas Library"
+include evas_${PV}.bb
+inherit native
+DEPENDS = "freetype-native"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/evas"
+
+export FREETYPE_CONFIG = "${STAGING_BINDIR}/freetype-config-native"
+export EET_CONFIG = "${STAGING_BINDIR}/eet-config-native"
+export EDB_CONFIG = "${STAGING_BINDIR}/edb-config-native"
+
+do_stage () {
+ for i in ${headers}; do
+ install -m 0644 ${S}/src/lib/$i ${STAGING_INCDIR}/
+ done
+ oe_libinstall -C src/lib libevas ${STAGING_LIBDIR}/
+}
+
+#FIXME: Conflicts with zlib-devel on the build machine. Remove it and it builds.
+SECTION = "libs"
+include expat_${PV}.bb
+inherit native
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/expat-${PV}"
+SECTION = "base"
+include fakeroot_${PV}.bb
+inherit native
+
+S = ${WORKDIR}/fakeroot-${PV}
+
+EXTRA_OECONF = "--program-prefix= "
+
+do_stage_append () {
+ oe_libinstall -so libfakeroot ${STAGING_LIBDIR}/libfakeroot/
+}
+SECTION = "base"
+PR = "r1"
+include fakeroot_${PV}.bb
+inherit native
+
+SRC_URI += "file://fix-prefix.patch;patch=1"
+S = ${WORKDIR}/fakeroot-${PV}
+
+EXTRA_OECONF = "--program-prefix="
+
+do_stage_append () {
+ oe_libinstall -so libfakeroot ${STAGING_LIBDIR}/libfakeroot/
+}
+SECTION = "base"
+include fontconfig_${PV}.bb
+inherit native
+DEPENDS = "freetype-native expat-native zlib-native"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/fontconfig-${PV}"
+
+EXTRA_OEMAKE = ""
+
+do_stage () {
+ oe_runmake install
+ install fc-lang/fc-lang ${STAGING_BINDIR}
+ install fc-glyphname/fc-glyphname ${STAGING_BINDIR}
+}
+SECTION = "devel"
+include gcc-csl-cross_${PV}.bb
+
+DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-initial"
+PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial"
+
+PACKAGES = ""
+
+# This is intended to be a -very- basic config
+EXTRA_OECONF = "--with-local-prefix=${CROSS_DIR}/${TARGET_SYS} \
+ --with-newlib \
+ --disable-shared \
+ --disable-threads \
+ --disable-multilib \
+ --disable-__cxa_atexit \
+ --enable-languages=c \
+ --enable-target-optspace \
+ --program-prefix=${TARGET_PREFIX}"
+
+do_stage_prepend () {
+ mkdir -p ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${PV}
+ ln -sf libgcc.a ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/3.4.0/libgcc_eh.a
+}
+
+# Override the method from gcc-cross so we don't try to install libgcc
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install
+}
+SECTION = "devel"
+include gcc-csl_${PV}.bb
+inherit cross
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-csl-${PV}"
+
+DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc"
+PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
+
+# Files for these are defined in the main gcc.oe
+PACKAGES = "libgcc libstdc++ libg2c"
+INHIBIT_PACKAGE_STRIP = "1"
+
+EXTRA_OECONF_PATHS = "--with-local-prefix=${CROSS_DIR}/${TARGET_SYS} \
+ --with-gxx-include-dir=${CROSS_DIR}/${TARGET_SYS}/include/c++"
+
+export CPPFLAGS = ""
+export CXXFLAGS = ""
+export CFLAGS = ""
+export LDFLAGS = ""
+
+do_configure () {
+ rm -f ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/3.4.0/libgcc_eh.a
+ (cd ${S} && gnu-configize) || die "failure running gnu-configize"
+ oe_runconf
+}
+
+do_compile_prepend () {
+ export CC="${BUILD_CC}"
+ export AR_FOR_TARGET="${TARGET_SYS}-ar"
+ export RANLIB_FOR_TARGET="${TARGET_SYS}-ranlib"
+ export LD_FOR_TARGET="${TARGET_SYS}-ld"
+ export NM_FOR_TARGET="${TARGET_SYS}-nm"
+ export CC_FOR_TARGET="${CCACHE} ${TARGET_SYS}-gcc"
+}
+
+do_stage_append () {
+ for d in info man share/doc share/locale ; do
+ rm -rf ${CROSS_DIR}/$d
+ done
+
+ # These aren't useful on the cross toolchain
+ rm -f ${CROSS_DIR}/bin/*gcov
+ rm -f ${CROSS_DIR}/bin/*gccbug
+
+ # Fix a few include links so cross builds are happier
+ if [ ! -e ${STAGING_INCDIR}/c++ ]; then
+ mkdir -p ${STAGING_INCDIR}
+ ln -sf ${CROSS_DIR}/${TARGET_SYS}/include/c++ \
+ ${STAGING_INCDIR}/
+ fi
+
+ # We use libiberty from binutils
+ rm -f ${CROSS_DIR}/lib/libiberty.a
+
+ # We probably don't need these
+ rmdir ${CROSS_DIR}/include || :
+
+ # We don't really need to keep this around
+ rm -rf ${CROSS_DIR}/share
+}
+
+python do_package() {
+ if bb.data.getVar('DEBIAN_NAMES', d, 1):
+ bb.data.setVar('PKG_libgcc', 'libgcc1', d)
+ bb.build.exec_func('package_do_package', d)
+}
+
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install
+
+ # Move libgcc_s into /lib
+ mkdir -p ${D}/lib
+ if [ -f ${D}/lib/libgcc_s.so.? ]; then
+ # Already in the right location
+ :
+ elif [ -f ${D}/${prefix}/lib/libgcc_s.so.? ]; then
+ mv -f ${D}/${prefix}/lib/libgcc_s.so.* ${D}/lib
+ else
+ mv -f ${D}/${prefix}/*/lib/libgcc_s.so.* ${D}/lib
+ fi
+
+ # Move libstdc++ and libg2c into libdir (resetting our prefix to /usr
+ TGT_LIBDIR=`echo ${libdir} | sed -e 's,${CROSS_DIR},/usr,'`
+ mkdir -p ${D}/${TGT_LIBDIR}
+ mv -f ${D}/${prefix}/*/lib/libstdc++.so.* ${D}/${TGT_LIBDIR}
+ mv -f ${D}/${prefix}/*/lib/libg2c.so.* ${D}/${TGT_LIBDIR}
+
+ # Manually run the target stripper since we won't get it run by
+ # the packaging.
+ ${TARGET_PREFIX}strip ${D}/${TGT_LIBDIR}/libstdc++.so.*
+ ${TARGET_PREFIX}strip ${D}/${TGT_LIBDIR}/libg2c.so.*
+ ${TARGET_PREFIX}strip ${D}/libgcc_s.so.*
+}
+SECTION = "devel"
+include gcc-snapshot-cross_cvs.bb
+
+DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-initial"
+PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial"
+
+PACKAGES = ""
+
+# This is intended to be a -very- basic config
+EXTRA_OECONF = "--with-local-prefix=${CROSS_DIR}/${TARGET_SYS} \
+ --with-newlib \
+ --disable-shared \
+ --disable-threads \
+ --disable-multilib \
+ --disable-__cxa_atexit \
+ --enable-languages=c \
+ --enable-target-optspace \
+ --program-prefix=${TARGET_PREFIX}"
+
+do_stage_prepend () {
+ mkdir -p ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${PV}
+ ln -sf libgcc.a ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${PV}/libgcc_eh.a
+}
+
+# Override the method from gcc-cross so we don't try to install libgcc
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install
+}
+SECTION = "devel"
+include gcc-snapshot_cvs.bb
+inherit cross
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}"
+
+DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc"
+PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
+
+# Files for these are defined in the main gcc.oe
+PACKAGES = "libgcc libstdc++ libg2c"
+INHIBIT_PACKAGE_STRIP = "1"
+
+EXTRA_OECONF_PATHS = "--with-local-prefix=${CROSS_DIR}/${TARGET_SYS} \
+ --with-gxx-include-dir=${CROSS_DIR}/${TARGET_SYS}/include/c++"
+
+export CPPFLAGS = ""
+export CXXFLAGS = ""
+export CFLAGS = ""
+export LDFLAGS = ""
+
+do_configure () {
+ rm -f ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${PV}/libgcc_eh.a
+ (cd ${S} && gnu-configize) || die "failure running gnu-configize"
+ oe_runconf
+}
+
+do_compile_prepend () {
+ export CC="${BUILD_CC}"
+ export AR_FOR_TARGET="${TARGET_SYS}-ar"
+ export RANLIB_FOR_TARGET="${TARGET_SYS}-ranlib"
+ export LD_FOR_TARGET="${TARGET_SYS}-ld"
+ export NM_FOR_TARGET="${TARGET_SYS}-nm"
+ export CC_FOR_TARGET="${CCACHE} ${TARGET_SYS}-gcc"
+}
+
+do_stage_append () {
+ for d in info man share/doc share/locale ; do
+ rm -rf ${CROSS_DIR}/$d
+ done
+
+ # These aren't useful on the cross toolchain
+ rm -f ${CROSS_DIR}/bin/*gcov
+ rm -f ${CROSS_DIR}/bin/*gccbug
+
+ # Fix a few include links so cross builds are happier
+ if [ ! -e ${STAGING_INCDIR}/c++ ]; then
+ mkdir -p ${STAGING_INCDIR}
+ ln -sf ${CROSS_DIR}/${TARGET_SYS}/include/c++ \
+ ${STAGING_INCDIR}/
+ fi
+
+ # We use libiberty from binutils
+ rm -f ${CROSS_DIR}/lib/libiberty.a
+
+ # We probably don't need these
+ rmdir ${CROSS_DIR}/include || :
+
+ # We don't really need to keep this around
+ rm -rf ${CROSS_DIR}/share
+}
+
+python do_package() {
+ if bb.data.getVar('DEBIAN_NAMES', d, 1):
+ bb.data.setVar('PKG_libgcc', 'libgcc1', d)
+ bb.build.exec_func('package_do_package', d)
+}
+
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install
+
+ # Move libgcc_s into /lib
+ mkdir -p ${D}/lib
+ if [ -f ${D}/lib/libgcc_s.so.? ]; then
+ # Already in the right location
+ :
+ elif [ -f ${D}/${prefix}/lib/libgcc_s.so.? ]; then
+ mv -f ${D}/${prefix}/lib/libgcc_s.so.* ${D}/lib
+ else
+ mv -f ${D}/${prefix}/*/lib/libgcc_s.so.* ${D}/lib
+ fi
+
+ # Move libstdc++ and libg2c into libdir (resetting our prefix to /usr
+ TGT_LIBDIR=`echo ${libdir} | sed -e 's,${CROSS_DIR},/usr,'`
+ mkdir -p ${D}/${TGT_LIBDIR}
+ mv -f ${D}/${prefix}/*/lib/libstdc++.so.* ${D}/${TGT_LIBDIR}
+ mv -f ${D}/${prefix}/*/lib/libg2c.so.* ${D}/${TGT_LIBDIR}
+
+ # Manually run the target stripper since we won't get it run by
+ # the packaging.
+ ${TARGET_PREFIX}strip ${D}/${TGT_LIBDIR}/libstdc++.so.*
+ ${TARGET_PREFIX}strip ${D}/${TGT_LIBDIR}/libg2c.so.*
+ ${TARGET_PREFIX}strip ${D}/libgcc_s.so.*
+}
+SECTION = "devel"
+include gcc-cross_${PV}.bb
+
+DEPENDS = "virtual/${TARGET_PREFIX}binutils"
+DEPENDS += "${@['virtual/${TARGET_PREFIX}libc-initial',''][bb.data.getVar('TARGET_ARCH', d, 1) in ['arm', 'armeb', 'mips', 'mipsel']]}"
+PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial"
+
+# This is intended to be a -very- basic config
+EXTRA_OECONF = "--with-local-prefix=${CROSS_DIR}/${TARGET_SYS} \
+ --with-newlib \
+ --disable-shared \
+ --disable-threads \
+ --disable-multilib \
+ --disable-__cxa_atexit \
+ --enable-languages=c \
+ --enable-target-optspace \
+ --program-prefix=${TARGET_PREFIX} \
+ ${@get_gcc_fpu_setting(bb, d)}"
+
+do_stage_prepend () {
+ mkdir -p ${CROSS_DIR}/lib/gcc-lib/${TARGET_SYS}/${PV}
+ ln -sf libgcc.a ${CROSS_DIR}/lib/gcc-lib/${TARGET_SYS}/${PV}/libgcc_eh.a
+}
+
+# Override the method from gcc-cross so we don't try to install libgcc
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install
+}
+SECTION = "devel"
+include gcc-cross_${PV}.bb
+
+DEPENDS = "virtual/${TARGET_PREFIX}binutils"
+DEPENDS += "${@['virtual/${TARGET_PREFIX}libc-initial',''][bb.data.getVar('TARGET_ARCH', d, 1) in ['arm', 'armeb', 'mips', 'mipsel']]}"
+PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial"
+
+# This is intended to be a -very- basic config
+EXTRA_OECONF = "--with-local-prefix=${CROSS_DIR}/${TARGET_SYS} \
+ --with-newlib \
+ --disable-shared \
+ --disable-threads \
+ --disable-multilib \
+ --disable-__cxa_atexit \
+ --enable-languages=c \
+ --enable-target-optspace \
+ --program-prefix=${TARGET_PREFIX} \
+ ${@get_gcc_fpu_setting(bb, d)}"
+
+do_stage_prepend () {
+ mkdir -p ${CROSS_DIR}/lib/gcc-lib/${TARGET_SYS}/${PV}
+ ln -sf libgcc.a ${CROSS_DIR}/lib/gcc-lib/${TARGET_SYS}/${PV}/libgcc_eh.a
+}
+
+# Override the method from gcc-cross so we don't try to install libgcc
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install
+}
+include gcc-cross_${PV}.bb
+
+DEPENDS = "virtual/${TARGET_PREFIX}binutils"
+DEPENDS += "${@['virtual/${TARGET_PREFIX}libc-initial',''][bb.data.getVar('TARGET_ARCH', d, 1) in ['arm', 'armeb', 'mips', 'mipsel']]}"
+PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial"
+PACKAGES = ""
+
+# This is intended to be a -very- basic config
+EXTRA_OECONF = "--with-local-prefix=${CROSS_DIR}/${TARGET_SYS} \
+ --with-newlib \
+ --disable-shared \
+ --disable-threads \
+ --disable-multilib \
+ --disable-__cxa_atexit \
+ --enable-languages=c \
+ --enable-target-optspace \
+ --program-prefix=${TARGET_PREFIX} \
+ ${@get_gcc_fpu_setting(bb, d)}"
+
+do_stage_prepend () {
+ mkdir -p ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${PV}
+ ln -sf libgcc.a ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${PV}/libgcc_eh.a
+}
+
+# Override the method from gcc-cross so we don't try to install libgcc
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install
+}
+include gcc-cross_${PV}.bb
+
+DEPENDS = "virtual/${TARGET_PREFIX}binutils"
+DEPENDS += "${@['virtual/${TARGET_PREFIX}libc-initial',''][bb.data.getVar('TARGET_ARCH', d, 1) in ['arm', 'armeb', 'mips', 'mipsel']]}"
+PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial"
+PACKAGES = ""
+
+# This is intended to be a -very- basic config
+EXTRA_OECONF = "--with-local-prefix=${CROSS_DIR}/${TARGET_SYS} \
+ --with-newlib \
+ --disable-shared \
+ --disable-threads \
+ --disable-multilib \
+ --disable-__cxa_atexit \
+ --enable-languages=c \
+ --enable-target-optspace \
+ --program-prefix=${TARGET_PREFIX} \
+ ${@get_gcc_fpu_setting(bb, d)}"
+
+do_stage_prepend () {
+ mkdir -p ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${PV}
+ ln -sf libgcc.a ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${PV}/libgcc_eh.a
+}
+
+# Override the method from gcc-cross so we don't try to install libgcc
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install
+}
+include gcc-cross_${PV}.bb
+
+DEPENDS = "virtual/${TARGET_PREFIX}binutils"
+DEPENDS += "${@['virtual/${TARGET_PREFIX}libc-initial',''][bb.data.getVar('TARGET_ARCH', d, 1) in ['arm', 'armeb', 'mips', 'mipsel']]}"
+PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial"
+PACKAGES = ""
+
+# This is intended to be a -very- basic config
+EXTRA_OECONF = "--with-local-prefix=${CROSS_DIR}/${TARGET_SYS} \
+ --with-newlib \
+ --disable-shared \
+ --disable-threads \
+ --disable-multilib \
+ --disable-__cxa_atexit \
+ --enable-languages=c \
+ --enable-target-optspace \
+ --program-prefix=${TARGET_PREFIX} \
+ ${@get_gcc_fpu_setting(bb, d)}"
+
+do_stage_prepend () {
+ mkdir -p ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${PV}
+ ln -sf libgcc.a ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${PV}/libgcc_eh.a
+}
+
+# Override the method from gcc-cross so we don't try to install libgcc
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install
+}
+SECTION = "devel"
+# cut-down gcc for kernel builds
+# only installs ${TARGET_PREFIX}gcc-${PV}, not ${TARGET_PREFIX}gcc.
+
+include gcc-cross-initial_${PV}.bb
+
+PROVIDES = "virtual/${TARGET_PREFIX}gcc-${PV}"
+
+do_install () {
+ :
+}
+
+do_stage () {
+ cd gcc
+ oe_runmake install-common install-headers install-libgcc
+ install -m 0755 xgcc ${CROSS_DIR}/bin/${TARGET_PREFIX}gcc-${PV}
+}
+SECTION = "devel"
+# cut-down gcc for kernel builds
+# only installs ${TARGET_PREFIX}gcc-${PV}, not ${TARGET_PREFIX}gcc.
+
+include gcc-cross-initial_${PV}.bb
+
+PROVIDES = "virtual/${TARGET_PREFIX}gcc-${PV}"
+
+do_install () {
+ :
+}
+
+do_stage () {
+ cd gcc
+ oe_runmake install-common install-headers install-libgcc
+ install -m 0755 xgcc ${CROSS_DIR}/bin/${TARGET_PREFIX}gcc-${PV}
+}
+SECTION = "devel"
+DESCRIPTION = "The GNU cc and gcc C compilers."
+HOMEPAGE = "http://www.gnu.org/software/gcc/"
+LICENSE = "GPL"
+MAINTAINER = "Phil Blundell <pb@handhelds.org>"
+
+inherit autotools sdk
+
+SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
+ file://gcc34-reverse-compare.patch;patch=1 \
+ file://gcc34-arm-ldm.patch;patch=1 \
+ file://gcc34-arm-ldm-peephole.patch;patch=1 \
+ file://gcc34-arm-tune.patch;patch=1 \
+ file://gcc-3.4.1-uclibc-100-conf.patch;patch=1 \
+ file://gcc-3.4.1-uclibc-200-locale.patch;patch=1 \
+ file://gcc-3.4.0-arm-lib1asm.patch;patch=1 \
+ file://gcc-3.4.0-arm-nolibfloat.patch;patch=1"
+
+SRC_URI += 'file://sdk-libstdc++-includes.patch;patch=1'
+
+MIRRORS_prepend () {
+${GNU_MIRROR}/gcc/ http://gcc.get-software.com/releases/
+${GNU_MIRROR}/gcc/ http://mirrors.rcn.net/pub/sourceware/gcc/releases/
+}
+
+S = "${WORKDIR}/gcc-${PV}"
+B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"
+
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}"
+
+DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc"
+
+export CPPFLAGS = ""
+export CXXFLAGS = ""
+export CFLAGS = ""
+export LDFLAGS = ""
+
+STAGING_TARGET_INCDIR = "${STAGING_DIR}/${TARGET_SYS}/include"
+STAGING_TARGET_LIBDIR = "${STAGING_DIR}/${TARGET_SYS}/lib"
+
+EXTRA_OECONF = "--with-gnu-ld \
+ --enable-shared \
+ --enable-languages=c,c++,f77 \
+ --enable-threads=posix \
+ --enable-multilib \
+ --enable-c99 \
+ --enable-long-long \
+ --enable-symvers=gnu \
+ --program-prefix=${TARGET_PREFIX} \
+ ${EXTRA_OECONF_PATHS} \
+ ${EXTRA_OECONF_DEP}"
+
+EXTRA_OECONF += "${@get_gcc_fpu_setting(bb, d)}"
+
+def get_gcc_fpu_setting(bb, d):
+ if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]:
+ return "--with-float=soft"
+ return ""
+
+do_configure () {
+ (cd ${S} && gnu-configize) || die "failure running gnu-configize"
+ (cd ${S}/libstdc++-v3 && autoreconf)
+ oe_runconf
+ mkdir -p gcc
+ ln -sf ${CROSS_DIR}/bin/${TARGET_PREFIX}as gcc/as
+ ln -sf ${CROSS_DIR}/bin/${TARGET_PREFIX}ld gcc/ld
+ ln -sf ${STAGING_TARGET_INCDIR}/* ${S}/include
+ ln -sf ${STAGING_TARGET_LIBDIR}/crt*.o gcc/
+}
+
+do_compile () {
+ export CC="${BUILD_CC}"
+ export AR_FOR_TARGET="${TARGET_SYS}-ar"
+ export RANLIB_FOR_TARGET="${TARGET_SYS}-ranlib"
+ export LD_FOR_TARGET="${TARGET_SYS}-ld"
+ export NM_FOR_TARGET="${TARGET_SYS}-nm"
+ export CC_FOR_TARGET="${CCACHE} ${TARGET_SYS}-gcc"
+ oe_runmake CFLAGS_FOR_TARGET="-I${STAGING_TARGET_INCDIR}"
+}
+
+do_install () {
+ autotools_do_install
+}
+SECTION = "devel"
+DESCRIPTION = "The GNU cc and gcc C compilers."
+HOMEPAGE = "http://www.gnu.org/software/gcc/"
+LICENSE = "GPL"
+MAINTAINER = "Phil Blundell <pb@handhelds.org>"
+
+inherit autotools sdk
+
+SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
+ file://gcc34-reverse-compare.patch;patch=1 \
+ file://gcc34-arm-ldm.patch;patch=1 \
+ file://gcc34-arm-ldm-peephole.patch;patch=1 \
+ file://gcc34-arm-tune.patch;patch=1 \
+ file://gcc-3.4.1-uclibc-100-conf.patch;patch=1 \
+ file://gcc-3.4.1-uclibc-200-locale.patch;patch=1 \
+ file://gcc-3.4.0-arm-lib1asm.patch;patch=1 \
+ file://gcc-3.4.0-arm-nolibfloat.patch;patch=1"
+
+SRC_URI += 'file://sdk-libstdc++-includes.patch;patch=1'
+
+MIRRORS_prepend () {
+${GNU_MIRROR}/gcc/ http://gcc.get-software.com/releases/
+${GNU_MIRROR}/gcc/ http://mirrors.rcn.net/pub/sourceware/gcc/releases/
+}
+
+S = "${WORKDIR}/gcc-${PV}"
+B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"
+
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}"
+
+DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc"
+
+export CPPFLAGS = ""
+export CXXFLAGS = ""
+export CFLAGS = ""
+export LDFLAGS = ""
+
+STAGING_TARGET_INCDIR = "${STAGING_DIR}/${TARGET_SYS}/include"
+STAGING_TARGET_LIBDIR = "${STAGING_DIR}/${TARGET_SYS}/lib"
+
+EXTRA_OECONF = "--with-gnu-ld \
+ --enable-shared \
+ --enable-languages=c,c++,f77 \
+ --enable-threads=posix \
+ --enable-multilib \
+ --enable-c99 \
+ --enable-long-long \
+ --enable-symvers=gnu \
+ --program-prefix=${TARGET_PREFIX} \
+ ${EXTRA_OECONF_PATHS} \
+ ${EXTRA_OECONF_DEP}"
+
+EXTRA_OECONF += "${@get_gcc_fpu_setting(bb, d)}"
+
+def get_gcc_fpu_setting(bb, d):
+ if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]:
+ return "--with-float=soft"
+ return ""
+
+do_configure () {
+ (cd ${S} && gnu-configize) || die "failure running gnu-configize"
+ (cd ${S}/libstdc++-v3 && autoreconf)
+ oe_runconf
+ mkdir -p gcc
+ ln -sf ${CROSS_DIR}/bin/${TARGET_PREFIX}as gcc/as
+ ln -sf ${CROSS_DIR}/bin/${TARGET_PREFIX}ld gcc/ld
+ ln -sf ${STAGING_TARGET_INCDIR}/* ${S}/include
+ ln -sf ${STAGING_TARGET_LIBDIR}/crt*.o gcc/
+}
+
+do_compile () {
+ export CC="${BUILD_CC}"
+ export AR_FOR_TARGET="${TARGET_SYS}-ar"
+ export RANLIB_FOR_TARGET="${TARGET_SYS}-ranlib"
+ export LD_FOR_TARGET="${TARGET_SYS}-ld"
+ export NM_FOR_TARGET="${TARGET_SYS}-nm"
+ export CC_FOR_TARGET="${CCACHE} ${TARGET_SYS}-gcc"
+ oe_runmake CFLAGS_FOR_TARGET="-I${STAGING_TARGET_INCDIR}"
+}
+
+do_install () {
+ autotools_do_install
+}
+SECTION = "devel"
+include gcc_${PV}.bb
+inherit cross
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}"
+
+DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc"
+PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
+
+# Files for these are defined in the main gcc.oe
+PACKAGES = "libgcc libstdc++ libg2c"
+INHIBIT_PACKAGE_STRIP = 1
+
+EXTRA_OECONF_PATHS = "--with-local-prefix=${CROSS_DIR}/${TARGET_SYS} \
+ --with-gxx-include-dir=${CROSS_DIR}/${TARGET_SYS}/include/c++"
+
+export CPPFLAGS = ""
+export CXXFLAGS = ""
+export CFLAGS = ""
+export LDFLAGS = ""
+
+do_configure () {
+ export CC="${BUILD_CC}"
+ export AR="${TARGET_SYS}-ar"
+ export RANLIB="${TARGET_SYS}-ranlib"
+ export LD="${TARGET_SYS}-ld"
+ export NM="${TARGET_SYS}-nm"
+ rm -f ${CROSS_DIR}/lib/gcc-lib/${TARGET_SYS}/${PV}/libgcc_eh.a
+ (cd ${S} && gnu-configize) || die "failure running gnu-configize"
+ oe_runconf
+}
+
+do_compile_prepend () {
+ export CC="${BUILD_CC}"
+ export AR_FOR_TARGET="${TARGET_SYS}-ar"
+ export RANLIB_FOR_TARGET="${TARGET_SYS}-ranlib"
+ export LD_FOR_TARGET="${TARGET_SYS}-ld"
+ export NM_FOR_TARGET="${TARGET_SYS}-nm"
+ export CC_FOR_TARGET="${CCACHE} ${TARGET_SYS}-gcc"
+}
+
+do_stage_append () {
+ for d in info man share/doc share/locale ; do
+ rm -rf ${CROSS_DIR}/$d
+ done
+
+ # These aren't useful on the cross toolchain
+ rm -f ${CROSS_DIR}/bin/*gcov
+ rm -f ${CROSS_DIR}/bin/*gccbug
+
+ # Fix a few include links so cross builds are happier
+ if [ ! -e ${STAGING_INCDIR}/c++ ]; then
+ mkdir -p ${STAGING_INCDIR}
+ rm -f ${STAGING_INCDIR}/c++
+ ln -sf ${CROSS_DIR}/${TARGET_SYS}/include/c++ \
+ ${STAGING_INCDIR}/
+ fi
+
+ # We use libiberty from binutils
+ rm -f ${CROSS_DIR}/lib/libiberty.a
+
+ # We probably don't need these
+ rmdir ${CROSS_DIR}/include || :
+
+ # We don't really need to keep this around
+ rm -rf ${CROSS_DIR}/share
+}
+
+python do_package() {
+ if bb.data.getVar('DEBIAN_NAMES', d, 1):
+ bb.data.setVar('PKG_libgcc', 'libgcc1', d)
+ bb.build.exec_func('package_do_package', d)
+}
+
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install
+
+ # Move libgcc_s into /lib
+ mkdir -p ${D}/lib
+ if [ "${BUILD_SYS}" == "${TARGET_SYS}" ]; then
+ # native builds drop one pathname component
+ mv -f ${D}/${prefix}/lib/libgcc_s.so.* ${D}/lib
+ else
+ mv -f ${D}/${prefix}/*/lib/libgcc_s.so.* ${D}/lib
+ fi
+
+ # Move libstdc++ and libg2c into libdir (resetting our prefix to /usr
+ TGT_LIBDIR=`echo ${libdir} | sed -e 's,${CROSS_DIR},/usr,'`
+ mkdir -p ${D}/${TGT_LIBDIR}
+ mv -f ${D}/${prefix}/*/lib/libstdc++.so.* ${D}/${TGT_LIBDIR}
+ mv -f ${D}/${prefix}/*/lib/libg2c.so.* ${D}/${TGT_LIBDIR}
+
+ # Manually run the target stripper since we won't get it run by
+ # the packaging.
+ ${TARGET_PREFIX}strip ${D}/${TGT_LIBDIR}/libstdc++.so.*
+ ${TARGET_PREFIX}strip ${D}/${TGT_LIBDIR}/libg2c.so.*
+ ${TARGET_PREFIX}strip ${D}/lib/libgcc_s.so.*
+}
+SECTION = "devel"
+include gcc_${PV}.bb
+inherit cross
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}"
+
+DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc"
+PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
+
+# Files for these are defined in the main gcc.oe
+PACKAGES = "libgcc libstdc++ libg2c"
+OLD_INHIBIT_PACKAGE_STRIP := "${INHIBIT_PACKAGE_STRIP}"
+INHIBIT_PACKAGE_STRIP = 1
+
+EXTRA_OECONF_PATHS = "--with-local-prefix=${CROSS_DIR}/${TARGET_SYS} \
+ --with-gxx-include-dir=${CROSS_DIR}/${TARGET_SYS}/include/c++"
+
+export CPPFLAGS = ""
+export CXXFLAGS = ""
+export CFLAGS = ""
+export LDFLAGS = ""
+
+do_configure () {
+ export CC="${BUILD_CC}"
+ export AR="${TARGET_SYS}-ar"
+ export RANLIB="${TARGET_SYS}-ranlib"
+ export LD="${TARGET_SYS}-ld"
+ export NM="${TARGET_SYS}-nm"
+ rm -f ${CROSS_DIR}/lib/gcc-lib/${TARGET_SYS}/${PV}/libgcc_eh.a
+ (cd ${S} && gnu-configize) || die "failure running gnu-configize"
+ oe_runconf
+}
+
+do_compile_prepend () {
+ export CC="${BUILD_CC}"
+ export AR_FOR_TARGET="${TARGET_SYS}-ar"
+ export RANLIB_FOR_TARGET="${TARGET_SYS}-ranlib"
+ export LD_FOR_TARGET="${TARGET_SYS}-ld"
+ export NM_FOR_TARGET="${TARGET_SYS}-nm"
+ export CC_FOR_TARGET="${CCACHE} ${TARGET_SYS}-gcc"
+}
+
+do_stage_append () {
+ for d in info man share/doc share/locale ; do
+ rm -rf ${CROSS_DIR}/$d
+ done
+
+ # These aren't useful on the cross toolchain
+ rm -f ${CROSS_DIR}/bin/*gcov
+ rm -f ${CROSS_DIR}/bin/*gccbug
+
+ # Fix a few include links so cross builds are happier
+ if [ ! -e ${STAGING_INCDIR}/c++ ]; then
+ mkdir -p ${STAGING_INCDIR}
+ rm -f ${STAGING_INCDIR}/c++
+ ln -sf ${CROSS_DIR}/${TARGET_SYS}/include/c++ \
+ ${STAGING_INCDIR}/
+ fi
+
+ # We use libiberty from binutils
+ rm -f ${CROSS_DIR}/lib/libiberty.a
+
+ # We probably don't need these
+ rmdir ${CROSS_DIR}/include || :
+
+ # We don't really need to keep this around
+ rm -rf ${CROSS_DIR}/share
+}
+
+python do_package() {
+ if bb.data.getVar('DEBIAN_NAMES', d, 1):
+ bb.data.setVar('PKG_libgcc', 'libgcc1', d)
+ bb.build.exec_func('package_do_package', d)
+}
+
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install
+
+ # Move libgcc_s into /lib
+ mkdir -p ${D}/lib
+ if [ "${BUILD_SYS}" == "${TARGET_SYS}" ]; then
+ # native builds drop one pathname component
+ mv -f ${D}/${prefix}/lib/libgcc_s.so.* ${D}/lib
+ else
+ mv -f ${D}/${prefix}/*/lib/libgcc_s.so.* ${D}/lib
+ fi
+
+ # Move libstdc++ and libg2c into libdir (resetting our prefix to /usr
+ TGT_LIBDIR=`echo ${libdir} | sed -e 's,${CROSS_DIR},/usr,'`
+ mkdir -p ${D}/${TGT_LIBDIR}
+ mv -f ${D}/${prefix}/*/lib/libstdc++.so.* ${D}/${TGT_LIBDIR}
+ mv -f ${D}/${prefix}/*/lib/libg2c.so.* ${D}/${TGT_LIBDIR}
+
+ # Manually run the target stripper since we won't get it run by
+ # the packaging.
+ if [ "x${OLD_INHIBIT_PACKAGE_STRIP}" != "x1" ]; then
+ ${TARGET_PREFIX}strip ${D}/${TGT_LIBDIR}/libstdc++.so.*
+ ${TARGET_PREFIX}strip ${D}/${TGT_LIBDIR}/libg2c.so.*
+ ${TARGET_PREFIX}strip ${D}/lib/libgcc_s.so.*
+ fi
+}
+include gcc_${PV}.bb
+inherit cross
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}"
+# NOTE: split PR. If the main .oe changes something that affects its *build*
+# remember to increment this one too.
+PR = "r3"
+
+DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc"
+PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
+
+# Files for these are defined in the main gcc.oe
+PACKAGES = "libgcc libstdc++ libg2c"
+
+include gcc3-cross-build.inc
+include gcc_${PV}.bb
+inherit cross
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}"
+# NOTE: split PR. If the main .oe changes something that affects its *build*
+# remember to increment this one too.
+PR = "r3"
+
+DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc"
+PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
+
+# Files for these are defined in the main gcc.oe
+PACKAGES = "libgcc libstdc++ libg2c"
+
+include gcc3-cross-build.inc
+include gcc_${PV}.bb
+inherit cross
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}"
+# NOTE: split PR. If the main .oe changes something that affects its *build*
+# remember to increment this one too.
+PR = "r3"
+
+DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc"
+PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
+
+# Files for these are defined in the main gcc.oe
+PACKAGES = "libgcc libstdc++ libg2c"
+
+include gcc3-cross-build.inc
+include gcc_${PV}.bb
+inherit cross
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}"
+# NOTE: split PR. If the main .oe changes something that affects its *build*
+# remember to increment this one too.
+PR = "r4"
+
+DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc"
+PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
+
+# Files for these are defined in the main gcc.oe
+PACKAGES = "libgcc libstdc++ libg2c"
+
+include gcc3-cross-build.inc
EXTRA_OECONF_DEP = ""
EXTRA_OECONF_uclibc = "--disable-__cxa_atexit"
EXTRA_OECONF_glibc = "--enable-__cxa_atexit"
-EXTRA_OECONF += "${@get_gcc_fpu_setting(oe, d)}"
+EXTRA_OECONF += "${@get_gcc_fpu_setting(bb, d)}"
CPPFLAGS = ""
-def get_gcc_fpu_setting(oe, d):
+def get_gcc_fpu_setting(bb, d):
if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]:
return "--with-float=soft"
return ""
+SECTION = "devel"
+PR = "r1"
+inherit autotools gettext
+
+DESCRIPTION = "The GNU cc and gcc C compilers."
+HOMEPAGE = "http://www.gnu.org/software/gcc/"
+LICENSE = "GPL"
+MAINTAINER = "Gerald Britton <gbritton@doomcom.org>"
+
+# libgcc libstdc++ libg2c are listed in our FILES_*, but are actually
+# packaged in the respective cross packages.
+PACKAGES = "${PN} ${PN}-symlinks \
+ ${PN}-c++ ${PN}-c++-symlinks \
+ ${PN}-f77 ${PN}-f77-symlinks \
+ libstdc++-dev libg2c-dev \
+ ${PN}-doc"
+
+FILES_${PN} = "${bindir}/${TARGET_PREFIX}gcc \
+ ${bindir}/${TARGET_PREFIX}cpp \
+ ${bindir}/${TARGET_PREFIX}gcov \
+ ${bindir}/${TARGET_PREFIX}gccbug \
+ ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/cc1 \
+ ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/collect2 \
+ ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/crt* \
+ ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/specs \
+ ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/lib* \
+ ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/include"
+
+FILES_${PN}-symlinks = "${bindir}/cc \
+ ${bindir}/gcc \
+ ${bindir}/cpp \
+ ${bindir}/gcov \
+ ${bindir}/gccbug"
+
+FILES_${PN}-c++ = "${bindir}/${TARGET_PREFIX}g++ \
+ ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/cc1plus"
+
+FILES_${PN}-c++-symlinks = "${bindir}/c++ \
+ ${bindir}/g++"
+
+PACKAGE_ARCH_libgcc = "${TARGET_ARCH}"
+FILES_libgcc = "/lib/libgcc_s.so.*"
+
+PACKAGE_ARCH_libstdc++ = "${TARGET_ARCH}"
+PACKAGE_ARCH_libstdc++-dev = "${TARGET_ARCH}"
+# Called from within gcc-cross, so libdir is set wrong
+#FILES_libstdc++ = "${libdir}/libstdc++.so.*"
+FILES_libstdc++ = "/usr/lib/libstdc++.so.*"
+
+FILES_libstdc++-dev = "${includedir}/c++/${PV} \
+ ${libdir}/libstdc++.so \
+ ${libdir}/libstdc++.la \
+ ${libdir}/libstdc++.a \
+ ${libdir}/libsupc++.la \
+ ${libdir}/libsupc++.a"
+
+FILES_${PN}-doc = "${infodir} \
+ ${mandir} \
+ ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/include/README"
+
+SRC_URI = "${GNU_MIRROR}/gcc/releases/gcc-${PV}/gcc-${PV}.tar.bz2 \
+ file://config.sub.patch;patch=1 \
+ file://empty6.patch;patch=1 \
+ file://pr10392-1-test.patch;patch=1 \
+ file://pr10412-1-test.patch;patch=1 \
+ file://pr10589-1-test.patch;patch=1 \
+ file://pr11162-1-test.patch;patch=1 \
+ file://pr11587-1-test.patch;patch=1 \
+ file://pr11608.patch;patch=1 \
+ file://pr11736-1-test.patch;patch=1 \
+ file://pr11864-1-test.patch;patch=1 \
+ file://pr12009.patch;patch=1 \
+ file://pr12010.patch;patch=1 \
+ file://pr13260-test.patch;patch=1 \
+ file://pr9365-1-test.patch;patch=1 \
+ file://sh-lib1funcs_sizeAndType.patch;patch=1 \
+ file://sh-pic-set_fpscr-gcc-3.3.2.patch;patch=1 \
+ file://thunk3.patch;patch=1 \
+ file://arm-10730.dpatch;patch=1;pnum=0 \
+ file://arm-12527.dpatch;patch=1;pnum=0 \
+ file://arm-14558.dpatch;patch=1;pnum=0 \
+ file://arm-common.dpatch;patch=1;pnum=0 \
+ file://arm-gotoff.dpatch;patch=1;pnum=0 \
+ file://arm-ldm.dpatch;patch=1;pnum=0 \
+ file://arm-tune.patch;patch=1;pnum=0 \
+ file://arm-xscale.patch;patch=1;pnum=0 \
+ file://arm-14302.patch;patch=1;pnum=0 \
+ file://arm-ldm-peephole.patch;patch=1;pnum=0 \
+ file://libibery-crosstool.patch;patch=1;pnum=1 \
+ file://reverse-compare.patch;patch=1 \
+ file://gcc34-15089.patch;patch=1 \
+ file://gcc-uclibc-3.3-100-conf.patch;patch=1 \
+ file://gcc-uclibc-3.3-110-conf.patch;patch=1 \
+ file://gcc-uclibc-3.3-120-softfloat.patch;patch=1 \
+ file://gcc-uclibc-3.3-200-code.patch;patch=1"
+
+MIRRORS_prepend () {
+${GNU_MIRROR}/gcc/releases/ http://gcc.get-software.com/releases/
+}
+
+S = "${WORKDIR}/gcc-${PV}"
+B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"
+
+EXTRA_OECONF = "${@['--enable-clocale=generic', ''][bb.data.getVar('USE_NLS', d, 1) != 'no']} \
+ --with-gnu-ld \
+ --enable-shared \
+ --enable-multilib \
+ --enable-target-optspace \
+ --enable-languages=c,c++,f77 \
+ --enable-threads=posix \
+ --enable-c99 \
+ --enable-long-long \
+ --enable-symvers=gnu \
+ --program-prefix=${TARGET_PREFIX} \
+ ${EXTRA_OECONF_PATHS} \
+ ${EXTRA_OECONF_DEP}"
+
+EXTRA_OECONF_PATHS = "--with-local-prefix=${prefix}/local \
+ --with-gxx-include-dir=${includedir}/c++/${PV}"
+
+EXTRA_OECONF_DEP = ""
+EXTRA_OECONF_uclibc = "--disable-__cxa_atexit"
+EXTRA_OECONF_glibc = "--enable-__cxa_atexit"
+EXTRA_OECONF += "${@get_gcc_fpu_setting(bb, d)}"
+
+def get_gcc_fpu_setting(bb, d):
+ if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]:
+ return "--with-float=soft"
+ return ""
+
+python __anonymous () {
+ import bb, re
+ if (re.match('linux-uclibc$', bb.data.getVar('TARGET_OS', d, 1)) != None):
+ bb.data.setVar('EXTRA_OECONF_DEP', '${EXTRA_OECONF_uclibc}', d)
+ elif (re.match('linux$', bb.data.getVar('TARGET_OS', d, 1)) != None):
+ bb.data.setVar('EXTRA_OECONF_DEP', '${EXTRA_OECONF_glibc}', d)
+}
+
+do_configure () {
+ # Setup these vars for cross building only
+ if [ "${BUILD_SYS}" != "${HOST_SYS}" ]; then
+ export CC_FOR_TARGET="${CCACHE} ${HOST_PREFIX}gcc"
+ export GCC_FOR_TARGET="${CCACHE} ${HOST_PREFIX}gcc"
+ export CXX_FOR_TARGET="${CCACHE} ${HOST_PREFIX}g++"
+ export AS_FOR_TARGET="${HOST_PREFIX}as"
+ export LD_FOR_TARGET="${HOST_PREFIX}ld"
+ export NM_FOR_TARGET="${HOST_PREFIX}nm"
+ export AR_FOR_TARGET="${HOST_PREFIX}ar"
+ export RANLIB_FOR_TARGET="${HOST_PREFIX}ranlib"
+ fi
+ (cd ${S} && gnu-configize) || die "failure running gnu-configize"
+ oe_runconf
+}
+
+do_install () {
+ autotools_do_install
+
+ # Cleanup some of the gcc-lib stuff
+ rm -rf ${D}/${libdir}/gcc-lib/${TARGET_SYS}/${PV}/install-tools
+
+ # Move libgcc_s into /lib
+ mkdir -p ${D}/lib
+ mv -f ${D}/${libdir}/libgcc_s.so.* ${D}/lib
+ rm -f ${D}/${libdir}/libgcc_s.so
+ ln -sf `echo ${libdir}/gcc-lib/${TARGET_SYS}/${PV} | tr -s / |
+ sed -e 's,^/,,' -e 's,[^/]*,..,g'`/lib/libgcc_s.so.? \
+ ${D}/${libdir}/gcc-lib/${TARGET_SYS}/${PV}/libgcc_s.so
+
+ # Cleanup manpages..
+ rm -rf ${D}/${mandir}/man7
+ mv ${D}/${mandir}/man1/cpp.1 \
+ ${D}/${mandir}/man1/${TARGET_SYS}-cpp.1
+ mv ${D}/${mandir}/man1/gcov.1 \
+ ${D}/${mandir}/man1/${TARGET_SYS}-gcov.1
+
+ # We use libiberty from binutils
+ rm -f ${D}/${libdir}/libiberty.a
+
+ cd ${D}/${bindir}
+
+ # We care about g++ not c++
+ rm -f *c++
+
+ # We don't care about the gcc-<version> ones for this
+ rm -f *gcc-?.?*
+
+ # These sometimes show up, they are strange, we remove them
+ rm -f ${TARGET_ARCH}-*${TARGET_ARCH}-*
+
+ # Symlinks so we can use these trivially on the target
+ ln -sf ${TARGET_SYS}-g77 g77
+ ln -sf ${TARGET_SYS}-g++ g++
+ ln -sf ${TARGET_SYS}-gcc gcc
+ ln -sf g77 f77
+ ln -sf g++ c++
+ ln -sf gcc cc
+}
+SECTION = "devel"
+PR = "r1"
+inherit autotools gettext
+
+DESCRIPTION = "The GNU cc and gcc C compilers."
+HOMEPAGE = "http://www.gnu.org/software/gcc/"
+LICENSE = "GPL"
+MAINTAINER = "Gerald Britton <gbritton@doomcom.org>"
+
+# libgcc libstdc++ libg2c are listed in our FILES_*, but are actually
+# packaged in the respective cross packages.
+PACKAGES = "${PN} ${PN}-symlinks \
+ ${PN}-c++ ${PN}-c++-symlinks \
+ ${PN}-f77 ${PN}-f77-symlinks \
+ libstdc++-dev libg2c-dev \
+ ${PN}-doc"
+
+FILES_${PN} = "${bindir}/${TARGET_PREFIX}gcc \
+ ${bindir}/${TARGET_PREFIX}cpp \
+ ${bindir}/${TARGET_PREFIX}gcov \
+ ${bindir}/${TARGET_PREFIX}gccbug \
+ ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/cc1 \
+ ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/collect2 \
+ ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/crt* \
+ ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/specs \
+ ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/lib* \
+ ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/include"
+
+FILES_${PN}-symlinks = "${bindir}/cc \
+ ${bindir}/gcc \
+ ${bindir}/cpp \
+ ${bindir}/gcov \
+ ${bindir}/gccbug"
+
+FILES_${PN}-c++ = "${bindir}/${TARGET_PREFIX}g++ \
+ ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/cc1plus"
+
+FILES_${PN}-c++-symlinks = "${bindir}/c++ \
+ ${bindir}/g++"
+
+PACKAGE_ARCH_libgcc = "${TARGET_ARCH}"
+FILES_libgcc = "/lib/libgcc_s.so.*"
+
+PACKAGE_ARCH_libstdc++ = "${TARGET_ARCH}"
+PACKAGE_ARCH_libstdc++-dev = "${TARGET_ARCH}"
+# Called from within gcc-cross, so libdir is set wrong
+#FILES_libstdc++ = "${libdir}/libstdc++.so.*"
+FILES_libstdc++ = "/usr/lib/libstdc++.so.*"
+
+FILES_libstdc++-dev = "${includedir}/c++/${PV} \
+ ${libdir}/libstdc++.so \
+ ${libdir}/libstdc++.la \
+ ${libdir}/libstdc++.a \
+ ${libdir}/libsupc++.la \
+ ${libdir}/libsupc++.a"
+
+FILES_${PN}-doc = "${infodir} \
+ ${mandir} \
+ ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/include/README"
+
+SRC_URI = "${GNU_MIRROR}/gcc/releases/gcc-${PV}/gcc-${PV}.tar.bz2 \
+ file://arm-gotoff.dpatch;patch=1;pnum=0 \
+ file://arm-ldm.dpatch;patch=1;pnum=0 \
+ file://arm-tune.patch;patch=1;pnum=0 \
+ file://arm-ldm-peephole.patch;patch=1;pnum=0 \
+ file://libibery-crosstool.patch;patch=1;pnum=1 \
+ file://reverse-compare.patch;patch=1 \
+ file://gcc34-15089.patch;patch=1 \
+ file://gcc-uclibc-3.3-100-conf.patch;patch=1 \
+ file://gcc-uclibc-3.3-110-conf.patch;patch=1 \
+ file://gcc-uclibc-3.3-120-softfloat.patch;patch=1 \
+ file://gcc-uclibc-3.3-200-code.patch;patch=1"
+
+PREMIRRORS_prepend () {
+${GNU_MIRROR}/gcc/releases/ ftp://gcc.gnu.org/pub/gcc/releases/
+${GNU_MIRROR}/gcc/releases/ http://gcc.get-software.com/releases/
+}
+
+S = "${WORKDIR}/gcc-${PV}"
+B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"
+
+EXTRA_OECONF = "${@['--enable-clocale=generic', ''][bb.data.getVar('USE_NLS', d, 1) != 'no']} \
+ --with-gnu-ld \
+ --enable-shared \
+ --enable-multilib \
+ --enable-target-optspace \
+ --enable-languages=c,c++,f77 \
+ --enable-threads=posix \
+ --enable-c99 \
+ --enable-long-long \
+ --enable-symvers=gnu \
+ --program-prefix=${TARGET_PREFIX} \
+ ${EXTRA_OECONF_PATHS} \
+ ${EXTRA_OECONF_DEP}"
+
+EXTRA_OECONF_PATHS = "--with-local-prefix=${prefix}/local \
+ --with-gxx-include-dir=${includedir}/c++/${PV}"
+
+EXTRA_OECONF_DEP = ""
+EXTRA_OECONF_uclibc = "--disable-__cxa_atexit"
+EXTRA_OECONF_glibc = "--enable-__cxa_atexit"
+EXTRA_OECONF += "${@get_gcc_fpu_setting(bb, d)}"
+
+def get_gcc_fpu_setting(bb, d):
+ if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]:
+ return "--with-float=soft"
+ return ""
+
+python __anonymous () {
+ import bb, re
+ if (re.match('linux-uclibc$', bb.data.getVar('TARGET_OS', d, 1)) != None):
+ bb.data.setVar('EXTRA_OECONF_DEP', '${EXTRA_OECONF_uclibc}', d)
+ elif (re.match('linux$', bb.data.getVar('TARGET_OS', d, 1)) != None):
+ bb.data.setVar('EXTRA_OECONF_DEP', '${EXTRA_OECONF_glibc}', d)
+}
+
+do_configure () {
+ # Setup these vars for cross building only
+ if [ "${BUILD_SYS}" != "${HOST_SYS}" ]; then
+ export CC_FOR_TARGET="${CCACHE} ${HOST_PREFIX}gcc"
+ export GCC_FOR_TARGET="${CCACHE} ${HOST_PREFIX}gcc"
+ export CXX_FOR_TARGET="${CCACHE} ${HOST_PREFIX}g++"
+ export AS_FOR_TARGET="${HOST_PREFIX}as"
+ export LD_FOR_TARGET="${HOST_PREFIX}ld"
+ export NM_FOR_TARGET="${HOST_PREFIX}nm"
+ export AR_FOR_TARGET="${HOST_PREFIX}ar"
+ export RANLIB_FOR_TARGET="${HOST_PREFIX}ranlib"
+ fi
+ (cd ${S} && gnu-configize) || die "failure running gnu-configize"
+ oe_runconf
+}
+
+do_install () {
+ autotools_do_install
+
+ # Cleanup some of the gcc-lib stuff
+ rm -rf ${D}/${libdir}/gcc-lib/${TARGET_SYS}/${PV}/install-tools
+
+ # Move libgcc_s into /lib
+ mkdir -p ${D}/lib
+ mv -f ${D}/${libdir}/libgcc_s.so.* ${D}/lib
+ rm -f ${D}/${libdir}/libgcc_s.so
+ ln -sf `echo ${libdir}/gcc-lib/${TARGET_SYS}/${PV} | tr -s / |
+ sed -e 's,^/,,' -e 's,[^/]*,..,g'`/lib/libgcc_s.so.? \
+ ${D}/${libdir}/gcc-lib/${TARGET_SYS}/${PV}/libgcc_s.so
+
+ # Cleanup manpages..
+ rm -rf ${D}/${mandir}/man7
+ mv ${D}/${mandir}/man1/cpp.1 \
+ ${D}/${mandir}/man1/${TARGET_SYS}-cpp.1
+ mv ${D}/${mandir}/man1/gcov.1 \
+ ${D}/${mandir}/man1/${TARGET_SYS}-gcov.1
+
+ # We use libiberty from binutils
+ rm -f ${D}/${libdir}/libiberty.a
+
+ cd ${D}/${bindir}
+
+ # We care about g++ not c++
+ rm -f *c++
+
+ # We don't care about the gcc-<version> ones for this
+ rm -f *gcc-?.?*
+
+ # These sometimes show up, they are strange, we remove them
+ rm -f ${TARGET_ARCH}-*${TARGET_ARCH}-*
+
+ # Symlinks so we can use these trivially on the target
+ ln -sf ${TARGET_SYS}-g77 g77
+ ln -sf ${TARGET_SYS}-g++ g++
+ ln -sf ${TARGET_SYS}-gcc gcc
+ ln -sf g77 f77
+ ln -sf g++ c++
+ ln -sf gcc cc
+}
+include genext2fs_${PV}.bb
+inherit native
+FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/genext2fs-${PV}', '${FILE_DIRNAME}/genext2fs', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
+
+do_stage () {
+ install -m 0755 genext2fs ${STAGING_BINDIR}/
+}
+
+do_install () {
+ :
+}
+include gettext_${PV}.bb
+S = "${WORKDIR}/gettext-${PV}"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gettext-${PV}"
+inherit native
+PROVIDES = ""
+
+M4 = "\
+lib-ld.m4 \
+lib-link.m4 \
+lib-prefix.m4 \
+codeset.m4 \
+gettext.m4 \
+glibc21.m4 \
+iconv.m4 \
+intdiv0.m4 \
+intmax.m4 \
+inttypes.m4 \
+inttypes_h.m4 \
+inttypes-pri.m4 \
+isc-posix.m4 \
+lcmessage.m4 \
+longdouble.m4 \
+longlong.m4 \
+nls.m4 \
+po.m4 \
+printf-posix.m4 \
+progtest.m4 \
+signed.m4 \
+size_max.m4 \
+stdint_h.m4 \
+uintmax_t.m4 \
+ulonglong.m4 \
+wchar_t.m4 \
+wint_t.m4 \
+xsize.m4 \
+"
+
+do_stage_append() {
+ for i in ${M4}; do
+ src="gettext-runtime/m4/$i"
+ if [ ! -f $src ]; then
+ src="gettext-tools/m4/$i"
+ fi
+ if [ ! -f $src ]; then
+ src="autoconf-lib-link/m4/$i"
+ fi
+ if [ ! -f $src ]; then
+ echo "can't find $i" >&2
+ exit 1
+ fi
+ install -m 0644 $src ${STAGING_DATADIR}/aclocal/$i
+ done
+}
+SECTION = "libs"
+include glibc_${PV}.bb
+
+DEPENDS = "patcher-native linux-libc-headers"
+PROVIDES = "virtual/${TARGET_PREFIX}libc-initial"
+FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/glibc-${PV}', '${FILE_DIRNAME}/glibc', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
+
+PACKAGES = ""
+
+do_configure () {
+ sed -ie 's,{ (exit 1); exit 1; }; },{ (exit 0); }; },g' ${S}/configure
+ chmod +x ${S}/configure
+ CC="${BUILD_CC}" CPP="${BUILD_CPP}" LD="${BUILD_LD}" ${S}/configure --host=${TARGET_SYS} --build=${BUILD_SYS} \
+ --without-cvs --disable-sanity-checks \
+ --with-headers=${CROSS_DIR}/${TARGET_SYS}/include \
+ --enable-hacker-mode
+ if grep -q GLIBC_2.3 ${S}/ChangeLog; then
+ # glibc-2.3.x passes cross options to $(CC) when generating errlist-compat.c, which fails without a real cross-compiler.
+ # Fortunately, we don't need errlist-compat.c, since we just need .h files,
+ # so work around this by creating a fake errlist-compat.c and satisfying its dependencies.
+ # Another workaround might be to tell configure to not use any cross options to $(CC).
+ # The real fix would be to get install-headers to not generate errlist-compat.c.
+ make sysdeps/gnu/errlist.c
+ mkdir -p stdio-common
+ touch stdio-common/errlist-compat.c
+ fi
+}
+
+do_compile () {
+ :
+}
+
+do_stage () {
+ oe_runmake cross-compiling=yes install_root=${CROSS_DIR}/${TARGET_SYS} prefix="" install-headers
+
+ # Two headers -- stubs.h and features.h -- aren't installed by install-headers,
+ # so do them by hand. We can tolerate an empty stubs.h for the moment.
+ # See e.g. http://gcc.gnu.org/ml/gcc/2002-01/msg00900.html
+ mkdir -p ${CROSS_DIR}/${TARGET_SYS}/include/gnu
+ touch ${CROSS_DIR}/${TARGET_SYS}/include/gnu/stubs.h
+ cp ${S}/include/features.h ${CROSS_DIR}/${TARGET_SYS}/include/features.h
+}
+
+do_install () {
+ :
+}
+SECTION = "libs"
+include glibc_${PV}.bb
+
+DEPENDS = "patcher-native linux-libc-headers"
+PROVIDES = "virtual/${TARGET_PREFIX}libc-initial"
+FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/glibc-cvs', '${FILE_DIRNAME}/glibc', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
+
+PACKAGES = ""
+
+do_configure () {
+ sed -ie 's,{ (exit 1); exit 1; }; },{ (exit 0); }; },g' ${S}/configure
+ chmod +x ${S}/configure
+ CC="${BUILD_CC}" CPP="${BUILD_CPP}" LD="${BUILD_LD}" ${S}/configure --host=${TARGET_SYS} --build=${BUILD_SYS} \
+ --without-cvs --disable-sanity-checks \
+ --with-headers=${CROSS_DIR}/${TARGET_SYS}/include \
+ --enable-hacker-mode
+ if grep -q GLIBC_2.3 ${S}/ChangeLog; then
+ # glibc-2.3.x passes cross options to $(CC) when generating errlist-compat.c, which fails without a real cross-compiler.
+ # Fortunately, we don't need errlist-compat.c, since we just need .h files,
+ # so work around this by creating a fake errlist-compat.c and satisfying its dependencies.
+ # Another workaround might be to tell configure to not use any cross options to $(CC).
+ # The real fix would be to get install-headers to not generate errlist-compat.c.
+ make sysdeps/gnu/errlist.c
+ mkdir -p stdio-common
+ touch stdio-common/errlist-compat.c
+ fi
+}
+
+do_compile () {
+ :
+}
+
+do_stage () {
+ oe_runmake cross-compiling=yes install_root=${CROSS_DIR}/${TARGET_SYS} prefix="" install-headers
+
+ # Two headers -- stubs.h and features.h -- aren't installed by install-headers,
+ # so do them by hand. We can tolerate an empty stubs.h for the moment.
+ # See e.g. http://gcc.gnu.org/ml/gcc/2002-01/msg00900.html
+ mkdir -p ${CROSS_DIR}/${TARGET_SYS}/include/gnu
+ touch ${CROSS_DIR}/${TARGET_SYS}/include/gnu/stubs.h
+ cp ${S}/include/features.h ${CROSS_DIR}/${TARGET_SYS}/include/features.h
+}
+
+do_install () {
+ :
+}
+SECTION = "libs"
+include glibc_${PV}.bb
+
+DEPENDS = "patcher-native linux-libc-headers"
+PROVIDES = "virtual/${TARGET_PREFIX}libc-initial"
+FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/glibc-${PV}', '${FILE_DIRNAME}/glibc', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
+
+PACKAGES = ""
+
+do_configure () {
+ sed -ie 's,{ (exit 1); exit 1; }; },{ (exit 0); }; },g' ${S}/configure
+ chmod +x ${S}/configure
+ CC="${BUILD_CC}" CPP="${BUILD_CPP}" LD="${BUILD_LD}" ${S}/configure --host=${TARGET_SYS} --build=${BUILD_SYS} \
+ --without-cvs --disable-sanity-checks \
+ --with-headers=${CROSS_DIR}/${TARGET_SYS}/include \
+ --enable-hacker-mode
+ if grep -q GLIBC_2.3 ${S}/ChangeLog; then
+ # glibc-2.3.x passes cross options to $(CC) when generating errlist-compat.c, which fails without a real cross-compiler.
+ # Fortunately, we don't need errlist-compat.c, since we just need .h files,
+ # so work around this by creating a fake errlist-compat.c and satisfying its dependencies.
+ # Another workaround might be to tell configure to not use any cross options to $(CC).
+ # The real fix would be to get install-headers to not generate errlist-compat.c.
+ make sysdeps/gnu/errlist.c
+ mkdir -p stdio-common
+ touch stdio-common/errlist-compat.c
+ fi
+}
+
+do_compile () {
+ :
+}
+
+do_stage () {
+ oe_runmake cross-compiling=yes install_root=${CROSS_DIR}/${TARGET_SYS} prefix="" install-headers
+
+ # Two headers -- stubs.h and features.h -- aren't installed by install-headers,
+ # so do them by hand. We can tolerate an empty stubs.h for the moment.
+ # See e.g. http://gcc.gnu.org/ml/gcc/2002-01/msg00900.html
+ mkdir -p ${CROSS_DIR}/${TARGET_SYS}/include/gnu
+ touch ${CROSS_DIR}/${TARGET_SYS}/include/gnu/stubs.h
+ cp ${S}/include/features.h ${CROSS_DIR}/${TARGET_SYS}/include/features.h
+}
+
+do_install () {
+ :
+}
+SECTION = "libs"
+include glibc_${PV}.bb
+
+DEPENDS = "patcher-native linux-libc-headers"
+PROVIDES = "virtual/${TARGET_PREFIX}libc-initial"
+FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/glibc-cvs', '${FILE_DIRNAME}/glibc', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
+
+PACKAGES = ""
+
+do_configure () {
+ sed -ie 's,{ (exit 1); exit 1; }; },{ (exit 0); }; },g' ${S}/configure
+ chmod +x ${S}/configure
+ CC="${BUILD_CC}" CPP="${BUILD_CPP}" LD="${BUILD_LD}" ${S}/configure --host=${TARGET_SYS} --build=${BUILD_SYS} \
+ --without-cvs --disable-sanity-checks \
+ --with-headers=${CROSS_DIR}/${TARGET_SYS}/include \
+ --enable-hacker-mode
+ if grep -q GLIBC_2.3 ${S}/ChangeLog; then
+ # glibc-2.3.x passes cross options to $(CC) when generating errlist-compat.c, which fails without a real cross-compiler.
+ # Fortunately, we don't need errlist-compat.c, since we just need .h files,
+ # so work around this by creating a fake errlist-compat.c and satisfying its dependencies.
+ # Another workaround might be to tell configure to not use any cross options to $(CC).
+ # The real fix would be to get install-headers to not generate errlist-compat.c.
+ make sysdeps/gnu/errlist.c
+ mkdir -p stdio-common
+ touch stdio-common/errlist-compat.c
+ fi
+}
+
+do_compile () {
+ :
+}
+
+do_stage () {
+ oe_runmake cross-compiling=yes install_root=${CROSS_DIR}/${TARGET_SYS} prefix="" install-headers
+
+ # Two headers -- stubs.h and features.h -- aren't installed by install-headers,
+ # so do them by hand. We can tolerate an empty stubs.h for the moment.
+ # See e.g. http://gcc.gnu.org/ml/gcc/2002-01/msg00900.html
+ mkdir -p ${CROSS_DIR}/${TARGET_SYS}/include/gnu
+ touch ${CROSS_DIR}/${TARGET_SYS}/include/gnu/stubs.h
+ cp ${S}/include/features.h ${CROSS_DIR}/${TARGET_SYS}/include/features.h
+}
+
+do_install () {
+ :
+}
+SECTION = "libs"
+include glibc_${PV}.bb
+
+do_install () {
+ :
+}
+
+PACKAGES = ""
+PROVIDES = "virtual/${TARGET_PREFIX}libc-for-gcc"
+DEPENDS = "patcher-native virtual/${TARGET_PREFIX}gcc-initial"
+GLIBC_ADDONS = "linuxthreads"
+GLIBC_EXTRA_OECONF = ""
+SECTION = "libs"
+include glibc_${PV}.bb
+
+DEFAULT_PREFERENCE = "-1"
+
+do_install () {
+ :
+}
+
+PACKAGES = ""
+PROVIDES = "virtual/${TARGET_PREFIX}libc-for-gcc"
+DEPENDS = "patcher-native virtual/${TARGET_PREFIX}gcc-initial"
+GLIBC_ADDONS = "linuxthreads"
+GLIBC_EXTRA_OECONF = ""
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/glibc-cvs"
+PR = "r3"
+DESCRIPTION = "GNU C Library"
+HOMEPAGE = "http://www.gnu.org/software/libc/libc.html"
+LICENSE = "LGPL"
+SECTION = "libs"
+PRIORITY = "required"
+MAINTAINER = "Phil Blundell <pb@handhelds.org>"
+
+GLIBC_ADDONS ?= "linuxthreads"
+GLIBC_EXTRA_OECONF ?= ""
+
+#
+# For now, we will skip building of a gcc package if it is a uclibc one
+# and our build is not a uclibc one, and we skip a glibc one if our build
+# is a uclibc build.
+#
+# See the note in gcc/gcc_3.4.0.oe
+#
+
+python __anonymous () {
+ import bb, re
+ uc_os = (re.match('.*uclibc$', bb.data.getVar('TARGET_OS', d, 1)) != None)
+ if uc_os:
+ raise bb.parse.SkipPackage("incompatible with target %s" %
+ bb.data.getVar('TARGET_OS', d, 1))
+}
+
+PACKAGES = "glibc catchsegv sln nscd ldd localedef glibc-utils glibc-dev glibc-doc glibc-locale libsegfault glibc-extra-nss glibc-thread-db glibc-pcprofile"
+
+# nptl needs unwind support in gcc, which can't be built without glibc.
+PROVIDES = "virtual/libc ${@['virtual/${TARGET_PREFIX}libc-for-gcc', '']['nptl' in '${GLIBC_ADDONS}']}"
+PROVIDES += "virtual/libintl virtual/libiconv"
+DEPENDS = "patcher-native ${@['virtual/${TARGET_PREFIX}gcc-initial', 'virtual/${TARGET_PREFIX}gcc']['nptl' in '${GLIBC_ADDONS}']} linux-libc-headers"
+INHIBIT_DEFAULT_DEPS = "1"
+
+libc_baselibs = "/lib/libc* /lib/libm* /lib/ld* /lib/libpthread* /lib/libresolv* /lib/librt* /lib/libutil* /lib/libnsl* /lib/libnss_files* /lib/libnss_compat* /lib/libnss_dns* /lib/libdl* /lib/libanl* /lib/libBrokenLocale*"
+
+FILES_${PN} = "${sysconfdir} ${libc_baselibs} /sbin/ldconfig ${libexecdir} ${datadir}/zoneinfo ${libdir}/locale"
+FILES_ldd = "${bindir}/ldd"
+FILES_libsegfault = "/lib/libSegFault*"
+FILES_glibc-extra-nss = "/lib/libnss*"
+FILES_sln = "/sbin/sln"
+FILES_glibc-dev_append = " ${libdir}/*.o ${bindir}/rpcgen"
+FILES_nscd = "${sbindir}/nscd*"
+FILES_glibc-utils = "${bindir} ${sbindir}"
+FILES_glibc-gconv = "${libdir}/gconv"
+FILES_catchsegv = "${bindir}/catchsegv"
+DEPENDS_catchsegv = "libsegfault"
+FILES_glibc-pcprofile = "/lib/libpcprofile.so"
+FILES_glibc-thread-db = "/lib/libthread_db*"
+FILES_localedef = "${bindir}/localedef"
+RPROVIDES_glibc-dev += "libc-dev"
+
+# file://noinfo.patch;patch=1 \
+# file://ldconfig.patch;patch=1;pnum=0 \
+
+SRC_URI = "${GNU_MIRROR}/glibc/glibc-${PV}.tar.gz \
+ ${GNU_MIRROR}/glibc/glibc-linuxthreads-${PV}.tar.gz \
+ file://alpha-build-failure.patch;patch=1 \
+ file://arm-asm-clobber.patch;patch=1 \
+ file://arm-ctl_bus_isa.patch;patch=1 \
+ file://cris-libc-symbols.patch;patch=1 \
+ file://cris-stack-direction.patch;patch=1 \
+ file://dl-machine-alpha.patch;patch=1 \
+ file://dl-machine-arm.patch;patch=1 \
+ file://dl-machine-m68k.patch;patch=1 \
+ file://dl-machine-mips.patch;patch=1 \
+ file://dl-machine-sh.patch;patch=1 \
+ file://dl-machine-sparc.patch;patch=1 \
+ file://errlist-1.9.patch;patch=1 \
+ file://errlist-arm.patch;patch=1 \
+ file://glibc-2.2.5-allow-gcc-3.4-fixup.patch;patch=1 \
+ file://glibc-2.2.5-allow-gcc-3.4-grp.patch;patch=1 \
+ file://glibc-2.2.5-alpha-pwrite64.patch;patch=1 \
+ file://glibc-2.2.5-arm-pwrite64.patch;patch=1 \
+ file://glibc-2.2.5-crosstest.patch;patch=1 \
+ file://glibc-2.2.5-crossyes.patch;patch=1 \
+ file://glibc-2.2.5-cygwin.patch;patch=1 \
+ file://glibc-2.2.5-hhl-powerpc-fpu.patch;patch=1 \
+ file://glibc-2.2.5-mips-build-gmon.patch;patch=1 \
+ file://glibc-2.2.5-mips-clone-local-label.patch;patch=1 \
+ file://glibc-2.2.5-ppc405erratum77.patch;patch=1 \
+ file://glibc-drow-sh.patch;patch=1 \
+ file://glibc-test-lowram.patch;patch=1 \
+ file://initfini-alpha.patch;patch=1 \
+ file://initfini-sh.patch;patch=1 \
+ file://longjmp-sparc.patch;patch=1 \
+ file://sh-setjmp-fix.patch;patch=1 \
+ file://sprintf-prototype.patch;patch=1 \
+ file://sscanf.patch;patch=1 \
+ file://unwind-arm.patch;patch=1 \
+ file://ldd.patch;patch=1;pnum=0 \
+ file://fhs-linux-paths.patch;patch=1;pnum=1 \
+ file://arm-no-hwcap.patch;patch=1;pnum=0 \
+ file://arm-memcpy.patch;patch=1;pnum=0 \
+ file://arm-longlong.patch;patch=1;pnum=0 \
+ file://arm-machine-gmon.patch;patch=1;pnum=0 \
+ file://glibc-2.2.5-allow-gcc-3.4-td.patch;patch=1 \
+ file://glibc-2.2.5-alpha-self-clobber.patch;patch=1 \
+ file://pt-initfini-alpha.patch;patch=1 \
+ file://pt-initfini-sh.patch;patch=1 \
+ file://linuxthreads-2.2.5-ppc405erratum77.patch;patch=1 \
+ file://threadparam.patch;patch=1 \
+ file://initfini-flags.patch;patch=1 \
+ file://pt-initfini-flags.patch;patch=1 \
+ \
+ file://etc/ld.so.conf \
+ file://generate-supported.mk"
+# file://makeconfig.patch;patch=1;pnum=0
+
+
+# seems to break on TLS platforms
+# SRC_URI_append_arm = " file://dyn-ldconfig.patch;patch=1;pnum=0"
+
+S = "${WORKDIR}/glibc-${PV}"
+B = "${WORKDIR}/build-${TARGET_SYS}"
+
+inherit autotools
+
+EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \
+ --without-cvs --disable-profile --disable-debug --without-gd \
+ --enable-clocale=gnu \
+ --enable-add-ons=${GLIBC_ADDONS} \
+ --with-headers=${CROSS_DIR}/${TARGET_SYS}/include \
+ ${GLIBC_EXTRA_OECONF}"
+
+EXTRA_OECONF += "${@get_glibc_fpu_setting(bb, d)}"
+
+def get_glibc_fpu_setting(bb, d):
+ if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]:
+ return "--without-fp"
+ return ""
+
+glibc_do_unpack () {
+ mv ${WORKDIR}/linuxthreads ${WORKDIR}/linuxthreads_db ${S}/
+}
+
+python do_unpack () {
+ bb.build.exec_func('base_do_unpack', d)
+ bb.build.exec_func('glibc_do_unpack', d)
+}
+
+do_configure () {
+# override this function to avoid the autoconf/automake/aclocal/autoheader
+# calls for now
+# don't pass CPPFLAGS into configure, since it upsets the kernel-headers
+# version check and doesn't really help with anything
+ if [ -z "`which rpcgen`" ]; then
+ echo "rpcgen not found. Install glibc-devel."
+ exit 1
+ fi
+ (cd ${S} && gnu-configize) || die "failure in running gnu-configize"
+ CPPFLAGS="" oe_runconf
+}
+
+rpcsvc = "bootparam_prot.x nlm_prot.x rstat.x \
+ yppasswd.x klm_prot.x rex.x sm_inter.x mount.x \
+ rusers.x spray.x nfs_prot.x rquota.x key_prot.x"
+
+do_compile () {
+ # this really is arm specific
+ touch ${S}/sysdeps/arm/framestate.c
+ # -Wl,-rpath-link <staging>/lib in LDFLAGS can cause breakage if another glibc is in staging
+ unset LDFLAGS
+ base_do_compile
+ (
+ cd ${S}/sunrpc/rpcsvc
+ for r in ${rpcsvc}; do
+ h=`echo $r|sed -e's,\.x$,.h,'`
+ rpcgen -h $r -o $h || oewarn "unable to generate header for $r"
+ done
+ )
+}
+
+do_stage() {
+ rm -f ${STAGING_LIBDIR}/libc.so.6
+ oe_runmake 'install_root=${STAGING_DIR}/${HOST_SYS}' \
+ 'includedir=/include' 'libdir=/lib' 'slibdir=/lib' \
+ '${STAGING_LIBDIR}/libc.so.6' \
+ '${STAGING_INCDIR}/bits/errno.h' \
+ '${STAGING_INCDIR}/bits/libc-lock.h' \
+ '${STAGING_INCDIR}/gnu/stubs.h' \
+ install-headers install-lib
+
+ install -d ${STAGING_INCDIR}/gnu \
+ ${STAGING_INCDIR}/bits \
+ ${STAGING_INCDIR}/sys \
+ ${STAGING_INCDIR}/rpcsvc
+ install -m 0644 ${B}/bits/stdio_lim.h ${STAGING_INCDIR}/bits/
+ install -m 0644 misc/syscall-list.h ${STAGING_INCDIR}/bits/syscall.h
+ install -m 0644 ${S}/include/bits/xopen_lim.h ${STAGING_INCDIR}/bits/
+ install -m 0644 ${B}/gnu/lib-names.h ${STAGING_INCDIR}/gnu/
+ install -m 0644 ${S}/include/limits.h ${STAGING_INCDIR}/
+ install -m 0644 ${S}/include/gnu/libc-version.h ${STAGING_INCDIR}/gnu/
+ install -m 0644 ${S}/include/gnu-versions.h ${STAGING_INCDIR}/
+ install -m 0644 ${S}/include/values.h ${STAGING_INCDIR}/
+ install -m 0644 ${S}/include/errno.h ${STAGING_INCDIR}/
+ install -m 0644 ${S}/include/sys/errno.h ${STAGING_INCDIR}/sys/
+ install -m 0644 ${S}/include/features.h ${STAGING_INCDIR}/
+ for r in ${rpcsvc}; do
+ h=`echo $r|sed -e's,\.x$,.h,'`
+ install -m 0644 ${S}/sunrpc/rpcsvc/$h ${STAGING_INCDIR}/rpcsvc/
+ done
+ for i in libc.a libc_pic.a libc_nonshared.a; do
+ install -m 0644 ${B}/$i ${STAGING_LIBDIR}/ || die "failed to install $i"
+ done
+ echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${STAGING_LIBDIR}/libpthread.so
+ echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${STAGING_LIBDIR}/libc.so
+
+ rm -f ${CROSS_DIR}/${TARGET_SYS}/lib/libc.so.6
+ oe_runmake 'install_root=${CROSS_DIR}/${TARGET_SYS}' \
+ 'includedir=/include' 'libdir=/lib' 'slibdir=/lib' \
+ '${CROSS_DIR}/${TARGET_SYS}/lib/libc.so.6' \
+ '${CROSS_DIR}/${TARGET_SYS}/include/bits/errno.h' \
+ '${CROSS_DIR}/${TARGET_SYS}/include/bits/libc-lock.h' \
+ '${CROSS_DIR}/${TARGET_SYS}/include/gnu/stubs.h' \
+ install-headers install-lib
+
+ install -d ${CROSS_DIR}/${TARGET_SYS}/include/gnu \
+ ${CROSS_DIR}/${TARGET_SYS}/include/bits \
+ ${CROSS_DIR}/${TARGET_SYS}/include/sys \
+ ${CROSS_DIR}/${TARGET_SYS}/include/rpcsvc
+ install -m 0644 ${B}/bits/stdio_lim.h ${CROSS_DIR}/${TARGET_SYS}/include/bits/
+ install -m 0644 misc/syscall-list.h ${CROSS_DIR}/${TARGET_SYS}/include/bits/syscall.h
+ install -m 0644 ${S}/include/bits/xopen_lim.h ${CROSS_DIR}/${TARGET_SYS}/include/bits/
+ install -m 0644 ${B}/gnu/lib-names.h ${CROSS_DIR}/${TARGET_SYS}/include/gnu/
+ install -m 0644 ${S}/include/limits.h ${CROSS_DIR}/${TARGET_SYS}/include/
+ install -m 0644 ${S}/include/gnu/libc-version.h ${CROSS_DIR}/${TARGET_SYS}/include/gnu/
+ install -m 0644 ${S}/include/gnu-versions.h ${CROSS_DIR}/${TARGET_SYS}/include/
+ install -m 0644 ${S}/include/values.h ${CROSS_DIR}/${TARGET_SYS}/include/
+ install -m 0644 ${S}/include/errno.h ${CROSS_DIR}/${TARGET_SYS}/include/
+ install -m 0644 ${S}/include/sys/errno.h ${CROSS_DIR}/${TARGET_SYS}/include/sys/
+ install -m 0644 ${S}/include/features.h ${CROSS_DIR}/${TARGET_SYS}/include/
+ for r in ${rpcsvc}; do
+ h=`echo $r|sed -e's,\.x$,.h,'`
+ install -m 0644 ${S}/sunrpc/rpcsvc/$h ${CROSS_DIR}/${TARGET_SYS}/include/rpcsvc/
+ done
+
+ for i in libc.a libc_pic.a libc_nonshared.a; do
+ install -m 0644 ${B}/$i ${CROSS_DIR}/${TARGET_SYS}/lib/ || die "failed to install $i"
+ done
+ echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${CROSS_DIR}/${TARGET_SYS}/lib/libpthread.so
+ echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${CROSS_DIR}/${TARGET_SYS}/lib/libc.so
+}
+
+include glibc-package.bbclass
+
+
+# Unslung distribution specific packages follow ...
+
+PACKAGES_unslung = libc6-unslung
+PACKAGE_ARCH_nslu2 = "nslu2"
+MAINTAINER_libc6-unslung = "NSLU2 Linux <www.nslu2-linux.org>"
+RDEPENDS_libc6-unslung = "nslu2-linksys-ramdisk"
+RPROVIDES_libc6-unslung = "libc6"
+
+FILES_libc6-unslung = "/lib/librt*"
+
+# For some reason, ldconfig segfaults on nslu2.
+# FILES_libc6-unslung += " /sbin/ldconfig"
+
+# For some reason, libnss_compat causes segmentation faults on nslu2.
+# FILES_libc6-unslung += " /lib/libnss_compat*"
+
+DESCRIPTION = "GNU C Library"
+HOMEPAGE = "http://www.gnu.org/software/libc/libc.html"
+LICENSE = "LGPL"
+SECTION = "libs"
+PRIORITY = "required"
+MAINTAINER = "Phil Blundell <pb@handhelds.org>"
+
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/glibc-cvs"
+PR = "r13"
+
+GLIBC_ADDONS ?= "linuxthreads"
+GLIBC_EXTRA_OECONF ?= ""
+
+#
+# For now, we will skip building of a gcc package if it is a uclibc one
+# and our build is not a uclibc one, and we skip a glibc one if our build
+# is a uclibc build.
+#
+# See the note in gcc/gcc_3.4.0.oe
+#
+
+python __anonymous () {
+ import bb, re
+ uc_os = (re.match('.*uclibc$', bb.data.getVar('TARGET_OS', d, 1)) != None)
+ if uc_os:
+ raise bb.parse.SkipPackage("incompatible with target %s" %
+ bb.data.getVar('TARGET_OS', d, 1))
+}
+
+PACKAGES = "glibc catchsegv sln nscd ldd localedef glibc-utils glibc-dev glibc-doc glibc-locale libsegfault glibc-extra-nss glibc-thread-db glibc-pcprofile"
+
+# nptl needs unwind support in gcc, which can't be built without glibc.
+PROVIDES = "virtual/libc ${@['virtual/${TARGET_PREFIX}libc-for-gcc', '']['nptl' in '${GLIBC_ADDONS}']}"
+PROVIDES += "virtual/libintl virtual/libiconv"
+DEPENDS = "patcher-native ${@['virtual/${TARGET_PREFIX}gcc-initial', 'virtual/${TARGET_PREFIX}gcc']['nptl' in '${GLIBC_ADDONS}']} linux-libc-headers"
+INHIBIT_DEFAULT_DEPS = "1"
+
+libc_baselibs = "/lib/libc* /lib/libm* /lib/ld* /lib/libpthread* /lib/libresolv* /lib/librt* /lib/libutil* /lib/libnsl* /lib/libnss_files* /lib/libnss_compat* /lib/libnss_dns* /lib/libdl* /lib/libanl* /lib/libBrokenLocale*"
+
+FILES_${PN} = "${sysconfdir} ${libc_baselibs} /sbin/ldconfig ${libexecdir} ${datadir}/zoneinfo ${libdir}/locale"
+FILES_ldd = "${bindir}/ldd"
+FILES_libsegfault = "/lib/libSegFault*"
+FILES_glibc-extra-nss = "/lib/libnss*"
+FILES_sln = "/sbin/sln"
+FILES_glibc-dev_append = " ${libdir}/*.o ${bindir}/rpcgen"
+FILES_nscd = "${sbindir}/nscd*"
+FILES_glibc-utils = "${bindir} ${sbindir}"
+FILES_glibc-gconv = "${libdir}/gconv"
+FILES_catchsegv = "${bindir}/catchsegv"
+DEPENDS_catchsegv = "libsegfault"
+FILES_glibc-pcprofile = "/lib/libpcprofile.so"
+FILES_glibc-thread-db = "/lib/libthread_db*"
+FILES_localedef = "${bindir}/localedef"
+RPROVIDES_glibc-dev += "libc-dev"
+
+# file://noinfo.patch;patch=1
+# file://ldconfig.patch;patch=1;pnum=0
+SRC_URI = "cvs://anoncvs@sources.redhat.com/cvs/glibc;module=libc;date=${@bb.data.getVar('PV', d, 1)[9:]} \
+ file://arm-ioperm.patch;patch=1;pnum=0 \
+ file://makeconfig.patch;patch=1;pnum=0 \
+ file://ldd.patch;patch=1;pnum=0 \
+ file://fhs-linux-paths.patch;patch=1 \
+ file://arm-no-hwcap.patch;patch=1;pnum=0 \
+ file://arm-memcpy.patch;patch=1;pnum=0 \
+ file://arm-longlong.patch;patch=1;pnum=0 \
+ file://arm-machine-gmon.patch;patch=1;pnum=0 \
+ \
+ file://etc/ld.so.conf \
+ file://generate-supported.mk"
+
+# seems to fail on tls platforms
+SRC_URI_append_arm = " file://dyn-ldconfig.patch;patch=1;pnum=0"
+
+SRC_URI_append_ramses = " file://ldsocache-varrun.patch;patch=1"
+
+S = "${WORKDIR}/libc"
+B = "${WORKDIR}/build-${TARGET_SYS}"
+
+inherit autotools
+
+EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \
+ --without-cvs --disable-profile --disable-debug --without-gd \
+ --enable-clocale=gnu \
+ --enable-add-ons=${GLIBC_ADDONS} \
+ --with-headers=${CROSS_DIR}/${TARGET_SYS}/include \
+ ${GLIBC_EXTRA_OECONF}"
+
+EXTRA_OECONF += "${@get_glibc_fpu_setting(bb, d)}"
+
+def get_glibc_fpu_setting(bb, d):
+ if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]:
+ return "--without-fp"
+ return ""
+
+do_configure () {
+# override this function to avoid the autoconf/automake/aclocal/autoheader
+# calls for now
+# don't pass CPPFLAGS into configure, since it upsets the kernel-headers
+# version check and doesn't really help with anything
+ if [ -z "`which rpcgen`" ]; then
+ echo "rpcgen not found. Install glibc-devel."
+ exit 1
+ fi
+ (cd ${S} && gnu-configize) || die "failure in running gnu-configize"
+ CPPFLAGS="" oe_runconf
+}
+
+rpcsvc = "bootparam_prot.x nlm_prot.x rstat.x \
+ yppasswd.x klm_prot.x rex.x sm_inter.x mount.x \
+ rusers.x spray.x nfs_prot.x rquota.x key_prot.x"
+
+do_compile () {
+ # this really is arm specific
+ touch ${S}/sysdeps/arm/framestate.c
+ # -Wl,-rpath-link <staging>/lib in LDFLAGS can cause breakage if another glibc is in staging
+ unset LDFLAGS
+ base_do_compile
+ (
+ cd ${S}/sunrpc/rpcsvc
+ for r in ${rpcsvc}; do
+ h=`echo $r|sed -e's,\.x$,.h,'`
+ rpcgen -h $r -o $h || oewarn "unable to generate header for $r"
+ done
+ )
+}
+
+do_stage() {
+ rm -f ${STAGING_LIBDIR}/libc.so.6
+ oe_runmake 'install_root=${STAGING_DIR}/${HOST_SYS}' \
+ 'includedir=/include' 'libdir=/lib' 'slibdir=/lib' \
+ '${STAGING_LIBDIR}/libc.so.6' \
+ install-headers install-lib
+
+ install -d ${STAGING_INCDIR}/gnu \
+ ${STAGING_INCDIR}/bits \
+ ${STAGING_INCDIR}/rpcsvc
+ install -m 0644 ${S}/include/gnu/stubs.h ${STAGING_INCDIR}/gnu/
+ install -m 0644 ${B}/bits/stdio_lim.h ${STAGING_INCDIR}/bits/
+ install -m 0644 misc/syscall-list.h ${STAGING_INCDIR}/bits/syscall.h
+ for r in ${rpcsvc}; do
+ h=`echo $r|sed -e's,\.x$,.h,'`
+ install -m 0644 ${S}/sunrpc/rpcsvc/$h ${STAGING_INCDIR}/rpcsvc/
+ done
+ for i in libc.a libc_pic.a libc_nonshared.a; do
+ install -m 0644 ${B}/$i ${STAGING_LIBDIR}/ || die "failed to install $i"
+ done
+ echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${STAGING_LIBDIR}/libpthread.so
+ echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${STAGING_LIBDIR}/libc.so
+
+ rm -f ${CROSS_DIR}/${TARGET_SYS}/lib/libc.so.6
+ oe_runmake 'install_root=${CROSS_DIR}/${TARGET_SYS}' \
+ 'includedir=/include' 'libdir=/lib' 'slibdir=/lib' \
+ '${CROSS_DIR}/${TARGET_SYS}/lib/libc.so.6' \
+ install-headers install-lib
+
+ install -d ${CROSS_DIR}/${TARGET_SYS}/include/gnu \
+ ${CROSS_DIR}/${TARGET_SYS}/include/bits \
+ ${CROSS_DIR}/${TARGET_SYS}/include/rpcsvc
+ install -m 0644 ${S}/include/gnu/stubs.h ${CROSS_DIR}/${TARGET_SYS}/include/gnu/
+ install -m 0644 ${B}/bits/stdio_lim.h ${CROSS_DIR}/${TARGET_SYS}/include/bits/
+ install -m 0644 misc/syscall-list.h ${CROSS_DIR}/${TARGET_SYS}/include/bits/syscall.h
+ for r in ${rpcsvc}; do
+ h=`echo $r|sed -e's,\.x$,.h,'`
+ install -m 0644 ${S}/sunrpc/rpcsvc/$h ${CROSS_DIR}/${TARGET_SYS}/include/rpcsvc/
+ done
+
+ for i in libc.a libc_pic.a libc_nonshared.a; do
+ install -m 0644 ${B}/$i ${CROSS_DIR}/${TARGET_SYS}/lib/ || die "failed to install $i"
+ done
+ echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${CROSS_DIR}/${TARGET_SYS}/lib/libpthread.so
+ echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${CROSS_DIR}/${TARGET_SYS}/lib/libc.so
+}
+
+include glibc-package.bbclass
+DESCRIPTION = "GNU C Library"
+HOMEPAGE = "http://www.gnu.org/software/libc/libc.html"
+LICENSE = "LGPL"
+SECTION = "libs"
+PRIORITY = "required"
+PR = "r6"
+
+GLIBC_ADDONS ?= "linuxthreads"
+GLIBC_EXTRA_OECONF ?= ""
+
+#
+# For now, we will skip building of a gcc package if it is a uclibc one
+# and our build is not a uclibc one, and we skip a glibc one if our build
+# is a uclibc build.
+#
+# See the note in gcc/gcc_3.4.0.oe
+#
+
+python __anonymous () {
+ import bb, re
+ uc_os = (re.match('.*uclibc$', bb.data.getVar('TARGET_OS', d, 1)) != None)
+ if uc_os:
+ raise bb.parse.SkipPackage("incompatible with target %s" %
+ bb.data.getVar('TARGET_OS', d, 1))
+}
+
+PACKAGES = "glibc catchsegv sln nscd ldd localedef glibc-utils glibc-dev glibc-doc glibc-locale libsegfault glibc-extra-nss glibc-thread-db glibc-pcprofile"
+PROVIDES += "virtual/libintl virtual/libiconv"
+
+# nptl needs unwind support in gcc, which can't be built without glibc.
+PROVIDES = "virtual/libc ${@['virtual/${TARGET_PREFIX}libc-for-gcc', '']['nptl' in '${GLIBC_ADDONS}']}"
+DEPENDS = "patcher-native ${@['virtual/${TARGET_PREFIX}gcc-initial', 'virtual/${TARGET_PREFIX}gcc']['nptl' in '${GLIBC_ADDONS}']} linux-libc-headers"
+INHIBIT_DEFAULT_DEPS = "1"
+
+libc_baselibs = "/lib/libc* /lib/libm* /lib/ld* /lib/libpthread* /lib/libresolv* /lib/librt* /lib/libutil* /lib/libnsl* /lib/libnss_files* /lib/libnss_compat* /lib/libnss_dns* /lib/libdl* /lib/libanl* /lib/libBrokenLocale*"
+
+FILES_${PN} = "${sysconfdir} ${libc_baselibs} /sbin/ldconfig ${libexecdir} ${datadir}/zoneinfo"
+FILES_ldd = "${bindir}/ldd"
+FILES_libsegfault = "/lib/libSegFault*"
+FILES_glibc-extra-nss = "/lib/libnss*"
+FILES_sln = "/sbin/sln"
+FILES_glibc-dev_append = " ${libdir}/*.o ${bindir}/rpcgen"
+FILES_nscd = "${sbindir}/nscd*"
+FILES_glibc-utils = "${bindir} ${sbindir}"
+FILES_glibc-gconv = "${libdir}/gconv"
+FILES_catchsegv = "${bindir}/catchsegv"
+DEPENDS_catchsegv = "libsegfault"
+FILES_glibc-pcprofile = "/lib/libpcprofile.so"
+FILES_glibc-thread-db = "/lib/libthread_db*"
+FILES_localedef = "${bindir}/localedef"
+RPROVIDES_glibc-dev += "libc-dev"
+
+SRC_URI = "ftp://ftp.gnu.org/gnu/glibc/glibc-${PV}.tar.gz \
+ ftp://ftp.gnu.org/pub/gnu/glibc/glibc-linuxthreads-2.3.2.tar.gz \
+ file://noinfo.patch;patch=1 \
+ file://10_cvs.patch;patch=1 \
+ file://arm-ioperm.patch;patch=1;pnum=0 \
+ file://glibc-i686-timing.patch;patch=1;pnum=1 \
+ file://makeconfig.patch;patch=1;pnum=0 \
+ file://locale-es_AR.patch;patch=1;pnum=0 \
+ file://ldconfig.patch;patch=1;pnum=0 \
+ file://ldd.patch;patch=1;pnum=0 \
+ file://fhs-linux-paths.patch;patch=1;pnum=1 \
+ file://glibc22-nss-upgrade.patch;patch=1;pnum=1 \
+ file://glibc22-eo_EO.patch;patch=1;pnum=1 \
+ file://glibc22-m68k-compat.patch;patch=1;pnum=1 \
+ file://glibc22-m68k-fpic.patch;patch=1;pnum=1 \
+ file://glibc22-locales.patch;patch=1;pnum=0 \
+ file://sparc64-fixups.patch;patch=1;pnum=1 \
+ file://glibc22-ttyname-devfs.patch;patch=1;pnum=0 \
+ file://powerpc-sysconf.patch;patch=1;pnum=1 \
+ file://arm-no-hwcap.patch;patch=1;pnum=0 \
+ file://locales-stuff.patch;patch=1;pnum=1 \
+ file://librt-mips.patch;patch=1;pnum=0 \
+ file://glibc23-ctype-compat.patch;patch=1;pnum=1 \
+ file://glibc23-hppa-Rminkernel.patch;patch=1;pnum=0 \
+ file://glibc23-function-compat.patch;patch=1;pnum=1 \
+ file://glibc23-errno.patch;patch=1;pnum=1 \
+ file://glibc23-asserth-decls.patch;patch=1;pnum=0 \
+ file://alpha-pic.patch;patch=1;pnum=0 \
+ file://glibc23-cmov.patch;patch=1;pnum=1 \
+ file://libgcc-compat-all.patch;patch=1;pnum=0 \
+ file://locales-supported.patch;patch=1;pnum=0 \
+ file://libgcc-compat-other.patch;patch=1;pnum=1 \
+ file://s390-tls.patch;patch=1;pnum=0 \
+ file://hurd-enable-ldconfig.patch;patch=1;pnum=1 \
+ file://30_glibc232-base.patch;patch=1;pnum=0 \
+ file://sparcv8-target.patch;patch=1;pnum=0 \
+ file://50_glibc232-arm-dwarf2-buildfix.patch;patch=1;pnum=0 \
+ file://50_glibc232-m68k-dwarf2-buildfix.patch;patch=1;pnum=1 \
+ file://arm-output-format.patch;patch=1;pnum=0 \
+ file://pthread-cleanup.patch;patch=1;pnum=0 \
+ file://glibc-${PV}-ldconfig-tls.patch;patch=1;pnum=1 \
+ file://glibc23-mips-msq.patch;patch=1;pnum=0 \
+ file://glibc23-libio-compat.patch;patch=1;pnum=1 \
+ file://80_glibc232-locales-nb_NO-fix.patch;patch=1;pnum=0 \
+ file://ldso-disable-hwcap.patch;patch=1;pnum=1 \
+ file://11_shlib-lds.patch;patch=1;pnum=1 \
+ file://glibc23-version-sanity.patch;patch=1;pnum=1 \
+ file://glibc23-sse-oldkernel.patch;patch=1;pnum=1 \
+ file://glibc23-sparc-pread64.patch;patch=1;pnum=1 \
+ file://glibc23-powerpc-sigcontext.patch;patch=1;pnum=1 \
+ file://hppa-syscall.patch;patch=1;pnum=0 \
+ file://glibc23-errno-hack.patch;patch=1;pnum=1 \
+ file://90_glibc232-statvfs.patch;patch=1;pnum=0 \
+ file://90_glibc232-timezones.patch;patch=1;pnum=0 \
+ file://arm-memcpy.patch;patch=1;pnum=0 \
+ file://arm-longlong.patch;patch=1;pnum=0 \
+ file://arm-machine-gmon.patch;patch=1;pnum=0 \
+ file://dyn-ldconfig.diff;patch=1;pnum=0 \
+ file://glibc232-gcc34-i386-fixup-attribute.patch;patch=1;pnum=1 \
+ file://glibc232-gcc34-no-unit-at-a-time.patch;patch=1;pnum=1 \
+ file://etc/ld.so.conf \
+ file://generate-supported.mk"
+
+S = "${WORKDIR}/glibc-${PV}"
+B = "${WORKDIR}/build-${TARGET_SYS}"
+
+inherit autotools
+
+EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \
+ --without-cvs --disable-profile --disable-debug --without-gd \
+ --enable-clocale=gnu \
+ --enable-add-ons=${GLIBC_ADDONS} \
+ --with-headers=${CROSS_DIR}/${TARGET_SYS}/include \
+ ${GLIBC_EXTRA_OECONF}"
+
+EXTRA_OECONF += "${@get_glibc_fpu_setting(bb, d)}"
+
+def get_glibc_fpu_setting(bb, d):
+ if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]:
+ return "--without-fp"
+ return ""
+
+glibc_do_unpack () {
+ mv "${WORKDIR}/linuxthreads" "${WORKDIR}/linuxthreads_db" "${S}/"
+}
+
+python do_unpack () {
+ bb.build.exec_func('base_do_unpack', d)
+ bb.build.exec_func('glibc_do_unpack', d)
+}
+
+do_configure () {
+# override this function to avoid the autoconf/automake/aclocal/autoheader
+# calls for now
+# don't pass CPPFLAGS into configure, since it upsets the kernel-headers
+# version check and doesn't really help with anything
+ if [ -z "`which rpcgen`" ]; then
+ echo "rpcgen not found. Install glibc-devel."
+ exit 1
+ fi
+ (cd ${S} && gnu-configize) || die "failure in running gnu-configize"
+ CPPFLAGS="" oe_runconf
+}
+
+rpcsvc = "bootparam_prot.x nlm_prot.x rstat.x \
+ yppasswd.x klm_prot.x rex.x sm_inter.x mount.x \
+ rusers.x spray.x nfs_prot.x rquota.x key_prot.x"
+
+do_compile () {
+ # this really is arm specific
+ touch ${S}/sysdeps/arm/framestate.c
+ # -Wl,-rpath-link <staging>/lib in LDFLAGS can cause breakage if another glibc is in staging
+ unset LDFLAGS
+ base_do_compile
+ (
+ cd ${S}/sunrpc/rpcsvc
+ for r in ${rpcsvc}; do
+ h=`echo $r|sed -e's,\.x$,.h,'`
+ rpcgen -h $r -o $h || oewarn "unable to generate header for $r"
+ done
+ )
+}
+
+do_stage() {
+ rm -f ${STAGING_LIBDIR}/libc.so.6
+ oe_runmake 'install_root=${STAGING_DIR}/${HOST_SYS}' \
+ 'includedir=/include' 'libdir=/lib' 'slibdir=/lib' \
+ '${STAGING_LIBDIR}/libc.so.6' \
+ install-headers install-lib
+
+ install -d ${STAGING_INCDIR}/gnu \
+ ${STAGING_INCDIR}/bits \
+ ${STAGING_INCDIR}/rpcsvc
+ install -m 0644 ${S}/include/gnu/stubs.h ${STAGING_INCDIR}/gnu/
+ install -m 0644 ${B}/bits/stdio_lim.h ${STAGING_INCDIR}/bits/
+ install -m 0644 misc/syscall-list.h ${STAGING_INCDIR}/bits/syscall.h
+ for r in ${rpcsvc}; do
+ h=`echo $r|sed -e's,\.x$,.h,'`
+ install -m 0644 ${S}/sunrpc/rpcsvc/$h ${STAGING_INCDIR}/rpcsvc/
+ done
+ for i in libc.a libc_pic.a libc_nonshared.a; do
+ install -m 0644 ${B}/$i ${STAGING_LIBDIR}/ || die "failed to install $i"
+ done
+ echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${STAGING_LIBDIR}/libpthread.so
+ echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${STAGING_LIBDIR}/libc.so
+
+ rm -f ${CROSS_DIR}/${TARGET_SYS}/lib/libc.so.6
+ oe_runmake 'install_root=${CROSS_DIR}/${TARGET_SYS}' \
+ 'includedir=/include' 'libdir=/lib' 'slibdir=/lib' \
+ '${CROSS_DIR}/${TARGET_SYS}/lib/libc.so.6' \
+ install-headers install-lib
+
+ install -d ${CROSS_DIR}/${TARGET_SYS}/include/gnu \
+ ${CROSS_DIR}/${TARGET_SYS}/include/bits \
+ ${CROSS_DIR}/${TARGET_SYS}/include/rpcsvc
+ install -m 0644 ${S}/include/gnu/stubs.h ${CROSS_DIR}/${TARGET_SYS}/include/gnu/
+ install -m 0644 ${B}/bits/stdio_lim.h ${CROSS_DIR}/${TARGET_SYS}/include/bits/
+ install -m 0644 misc/syscall-list.h ${CROSS_DIR}/${TARGET_SYS}/include/bits/syscall.h
+ for r in ${rpcsvc}; do
+ h=`echo $r|sed -e's,\.x$,.h,'`
+ install -m 0644 ${S}/sunrpc/rpcsvc/$h ${CROSS_DIR}/${TARGET_SYS}/include/rpcsvc/
+ done
+
+ for i in libc.a libc_pic.a libc_nonshared.a; do
+ install -m 0644 ${B}/$i ${CROSS_DIR}/${TARGET_SYS}/lib/ || die "failed to install $i"
+ done
+ echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${CROSS_DIR}/${TARGET_SYS}/lib/libpthread.so
+ echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${CROSS_DIR}/${TARGET_SYS}/lib/libc.so
+}
+
+include glibc-package.bbclass
+DESCRIPTION = "GNU C Library"
+HOMEPAGE = "http://www.gnu.org/software/libc/libc.html"
+LICENSE = "LGPL"
+SECTION = "libs"
+PRIORITY = "required"
+MAINTAINER = "Phil Blundell <pb@handhelds.org>"
+
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/glibc-cvs"
+PR = "r1"
+
+GLIBC_ADDONS ?= "linuxthreads"
+GLIBC_EXTRA_OECONF ?= ""
+
+DEFAULT_PREFERENCE = "-1"
+DEFAULT_PREFERENCE_i686 = "0"
+DEFAULT_PREFERENCE_i586 = "0"
+
+#
+# For now, we will skip building of a gcc package if it is a uclibc one
+# and our build is not a uclibc one, and we skip a glibc one if our build
+# is a uclibc build.
+#
+# See the note in gcc/gcc_3.4.0.oe
+#
+
+python __anonymous () {
+ import bb, re
+ uc_os = (re.match('.*uclibc$', bb.data.getVar('TARGET_OS', d, 1)) != None)
+ if uc_os:
+ raise bb.parse.SkipPackage("incompatible with target %s" %
+ bb.data.getVar('TARGET_OS', d, 1))
+}
+
+PACKAGES = "glibc catchsegv sln nscd ldd localedef glibc-utils glibc-dev glibc-doc glibc-locale libsegfault glibc-extra-nss glibc-thread-db glibc-pcprofile"
+
+# nptl needs unwind support in gcc, which can't be built without glibc.
+PROVIDES = "virtual/libc ${@['virtual/${TARGET_PREFIX}libc-for-gcc', '']['nptl' in '${GLIBC_ADDONS}']}"
+PROVIDES += "virtual/libintl virtual/libiconv"
+DEPENDS = "patcher-native ${@['virtual/${TARGET_PREFIX}gcc-initial', 'virtual/${TARGET_PREFIX}gcc']['nptl' in '${GLIBC_ADDONS}']} linux-libc-headers"
+INHIBIT_DEFAULT_DEPS = "1"
+
+libc_baselibs = "/lib/libc* /lib/libm* /lib/ld* /lib/libpthread* /lib/libresolv* /lib/librt* /lib/libutil* /lib/libnsl* /lib/libnss_files* /lib/libnss_compat* /lib/libnss_dns* /lib/libdl* /lib/libanl* /lib/libBrokenLocale*"
+
+FILES_${PN} = "${sysconfdir} ${libc_baselibs} /sbin/ldconfig ${libexecdir} ${datadir}/zoneinfo ${libdir}/locale"
+FILES_ldd = "${bindir}/ldd"
+FILES_libsegfault = "/lib/libSegFault*"
+FILES_glibc-extra-nss = "/lib/libnss*"
+FILES_sln = "/sbin/sln"
+FILES_glibc-dev_append = " ${libdir}/*.o ${bindir}/rpcgen"
+FILES_nscd = "${sbindir}/nscd*"
+FILES_glibc-utils = "${bindir} ${sbindir}"
+FILES_glibc-gconv = "${libdir}/gconv"
+FILES_catchsegv = "${bindir}/catchsegv"
+DEPENDS_catchsegv = "libsegfault"
+FILES_glibc-pcprofile = "/lib/libpcprofile.so"
+FILES_glibc-thread-db = "/lib/libthread_db*"
+FILES_localedef = "${bindir}/localedef"
+RPROVIDES_glibc-dev += "libc-dev"
+
+# file://noinfo.patch;patch=1
+# file://ldconfig.patch;patch=1;pnum=0
+SRC_URI = "cvs://anoncvs@sources.redhat.com/cvs/glibc;module=libc;date=${@bb.data.getVar('PV', d, 1)[9:]} \
+ file://arm-ioperm.patch;patch=1;pnum=0 \
+ file://ldd.patch;patch=1;pnum=0 \
+ file://fhs-linux-paths.patch;patch=1 \
+ file://arm-no-hwcap.patch;patch=1;pnum=0 \
+ file://arm-memcpy.patch;patch=1;pnum=0 \
+ file://arm-longlong.patch;patch=1;pnum=0 \
+ file://arm-machine-gmon.patch;patch=1;pnum=0 \
+ \
+ file://etc/ld.so.conf \
+ file://generate-supported.mk"
+
+# seems to fail on tls platforms
+SRC_URI_append_arm = " file://dyn-ldconfig-20041128.patch;patch=1"
+
+SRC_URI_append_ramses = " file://ldsocache-varrun.patch;patch=1"
+
+S = "${WORKDIR}/libc"
+B = "${WORKDIR}/build-${TARGET_SYS}"
+
+inherit autotools
+
+EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \
+ --without-cvs --disable-profile --disable-debug --without-gd \
+ --enable-clocale=gnu \
+ --enable-add-ons=${GLIBC_ADDONS} \
+ --with-headers=${CROSS_DIR}/${TARGET_SYS}/include \
+ ${GLIBC_EXTRA_OECONF}"
+
+EXTRA_OECONF += "${@get_glibc_fpu_setting(bb, d)}"
+
+def get_glibc_fpu_setting(bb, d):
+ if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]:
+ return "--without-fp"
+ return ""
+
+do_configure () {
+# override this function to avoid the autoconf/automake/aclocal/autoheader
+# calls for now
+# don't pass CPPFLAGS into configure, since it upsets the kernel-headers
+# version check and doesn't really help with anything
+ if [ -z "`which rpcgen`" ]; then
+ echo "rpcgen not found. Install glibc-devel."
+ exit 1
+ fi
+ (cd ${S} && gnu-configize) || die "failure in running gnu-configize"
+ CPPFLAGS="" oe_runconf
+}
+
+rpcsvc = "bootparam_prot.x nlm_prot.x rstat.x \
+ yppasswd.x klm_prot.x rex.x sm_inter.x mount.x \
+ rusers.x spray.x nfs_prot.x rquota.x key_prot.x"
+
+do_compile () {
+ # this really is arm specific
+ touch ${S}/sysdeps/arm/framestate.c
+ # -Wl,-rpath-link <staging>/lib in LDFLAGS can cause breakage if another glibc is in staging
+ unset LDFLAGS
+ base_do_compile
+ (
+ cd ${S}/sunrpc/rpcsvc
+ for r in ${rpcsvc}; do
+ h=`echo $r|sed -e's,\.x$,.h,'`
+ rpcgen -h $r -o $h || oewarn "unable to generate header for $r"
+ done
+ )
+}
+
+do_stage() {
+ rm -f ${STAGING_LIBDIR}/libc.so.6
+ oe_runmake 'install_root=${STAGING_DIR}/${HOST_SYS}' \
+ 'includedir=/include' 'libdir=/lib' 'slibdir=/lib' \
+ '${STAGING_LIBDIR}/libc.so.6' \
+ install-headers install-lib
+
+ install -d ${STAGING_INCDIR}/gnu \
+ ${STAGING_INCDIR}/bits \
+ ${STAGING_INCDIR}/rpcsvc
+ install -m 0644 ${S}/include/gnu/stubs.h ${STAGING_INCDIR}/gnu/
+ install -m 0644 ${B}/bits/stdio_lim.h ${STAGING_INCDIR}/bits/
+ install -m 0644 misc/syscall-list.h ${STAGING_INCDIR}/bits/syscall.h
+ for r in ${rpcsvc}; do
+ h=`echo $r|sed -e's,\.x$,.h,'`
+ install -m 0644 ${S}/sunrpc/rpcsvc/$h ${STAGING_INCDIR}/rpcsvc/
+ done
+ for i in libc.a libc_pic.a libc_nonshared.a; do
+ install -m 0644 ${B}/$i ${STAGING_LIBDIR}/ || die "failed to install $i"
+ done
+ echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${STAGING_LIBDIR}/libpthread.so
+ echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${STAGING_LIBDIR}/libc.so
+
+ rm -f ${CROSS_DIR}/${TARGET_SYS}/lib/libc.so.6
+ oe_runmake 'install_root=${CROSS_DIR}/${TARGET_SYS}' \
+ 'includedir=/include' 'libdir=/lib' 'slibdir=/lib' \
+ '${CROSS_DIR}/${TARGET_SYS}/lib/libc.so.6' \
+ install-headers install-lib
+
+ install -d ${CROSS_DIR}/${TARGET_SYS}/include/gnu \
+ ${CROSS_DIR}/${TARGET_SYS}/include/bits \
+ ${CROSS_DIR}/${TARGET_SYS}/include/rpcsvc
+ install -m 0644 ${S}/include/gnu/stubs.h ${CROSS_DIR}/${TARGET_SYS}/include/gnu/
+ install -m 0644 ${B}/bits/stdio_lim.h ${CROSS_DIR}/${TARGET_SYS}/include/bits/
+ install -m 0644 misc/syscall-list.h ${CROSS_DIR}/${TARGET_SYS}/include/bits/syscall.h
+ for r in ${rpcsvc}; do
+ h=`echo $r|sed -e's,\.x$,.h,'`
+ install -m 0644 ${S}/sunrpc/rpcsvc/$h ${CROSS_DIR}/${TARGET_SYS}/include/rpcsvc/
+ done
+
+ for i in libc.a libc_pic.a libc_nonshared.a; do
+ install -m 0644 ${B}/$i ${CROSS_DIR}/${TARGET_SYS}/lib/ || die "failed to install $i"
+ done
+ echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${CROSS_DIR}/${TARGET_SYS}/lib/libpthread.so
+ echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${CROSS_DIR}/${TARGET_SYS}/lib/libc.so
+}
+
+include glibc-package.bbclass
+PR = "r3"
+DESCRIPTION = "GNU C Library"
+HOMEPAGE = "http://www.gnu.org/software/libc/libc.html"
+LICENSE = "LGPL"
+SECTION = "libs"
+PRIORITY = "required"
+
+DEFAULT_PREFERENCE_arm = "-1"
+DEFAULT_PREFERENCE_armeb = "-1"
+DEFAULT_PREFERENCE_i686 = "-1"
+
+GLIBC_ADDONS ?= "linuxthreads"
+GLIBC_EXTRA_OECONF ?= ""
+
+#
+# For now, we will skip building of a gcc package if it is a uclibc one
+# and our build is not a uclibc one, and we skip a glibc one if our build
+# is a uclibc build.
+#
+# See the note in gcc/gcc_3.4.0.oe
+#
+
+python __anonymous () {
+ import bb, re
+ uc_os = (re.match('.*uclibc$', bb.data.getVar('TARGET_OS', d, 1)) != None)
+ if uc_os:
+ raise bb.parse.SkipPackage("incompatible with target %s" %
+ bb.data.getVar('TARGET_OS', d, 1))
+}
+
+PACKAGES = "glibc catchsegv sln nscd ldd localedef glibc-utils glibc-dev glibc-doc glibc-locale libsegfault glibc-extra-nss glibc-thread-db glibc-pcprofile"
+
+# nptl needs unwind support in gcc, which can't be built without glibc.
+PROVIDES = "virtual/libc ${@['virtual/${TARGET_PREFIX}libc-for-gcc', '']['nptl' in '${GLIBC_ADDONS}']}"
+PROVIDES += "virtual/libintl virtual/libiconv"
+DEPENDS = "patcher-native ${@['virtual/${TARGET_PREFIX}gcc-initial', 'virtual/${TARGET_PREFIX}gcc']['nptl' in '${GLIBC_ADDONS}']} linux-libc-headers"
+INHIBIT_DEFAULT_DEPS = "1"
+
+libc_baselibs = "/lib/libc* /lib/libm* /lib/ld* /lib/libpthread* /lib/libresolv* /lib/librt* /lib/libutil* /lib/libnsl* /lib/libnss_files* /lib/libnss_compat* /lib/libnss_dns* /lib/libdl* /lib/libanl* /lib/libBrokenLocale*"
+
+FILES_${PN} = "${sysconfdir} ${libc_baselibs} /sbin/ldconfig ${libexecdir} ${datadir}/zoneinfo"
+FILES_ldd = "${bindir}/ldd"
+FILES_libsegfault = "/lib/libSegFault*"
+FILES_glibc-extra-nss = "/lib/libnss*"
+FILES_sln = "/sbin/sln"
+FILES_glibc-dev_append = " ${libdir}/*.o ${bindir}/rpcgen"
+FILES_nscd = "${sbindir}/nscd*"
+FILES_glibc-utils = "${bindir} ${sbindir}"
+FILES_glibc-gconv = "${libdir}/gconv"
+FILES_catchsegv = "${bindir}/catchsegv"
+DEPENDS_catchsegv = "libsegfault"
+FILES_glibc-pcprofile = "/lib/libpcprofile.so"
+FILES_glibc-thread-db = "/lib/libthread_db*"
+FILES_localedef = "${bindir}/localedef"
+RPROVIDES_glibc-dev += "libc-dev"
+
+SRC_URI = "ftp://ftp.gnu.org/gnu/glibc/glibc-${PV}.tar.gz \
+ ftp://ftp.gnu.org/pub/gnu/glibc/glibc-linuxthreads-${PV}.tar.gz \
+ file://etc/ld.so.conf \
+ file://generate-supported.mk"
+
+S = "${WORKDIR}/glibc-${PV}"
+B = "${WORKDIR}/build-${TARGET_SYS}"
+
+inherit autotools
+
+EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \
+ --without-cvs --disable-profile --disable-debug --without-gd \
+ --enable-clocale=gnu \
+ --enable-add-ons=${GLIBC_ADDONS} \
+ --with-headers=${CROSS_DIR}/${TARGET_SYS}/include \
+ ${GLIBC_EXTRA_OECONF}"
+
+EXTRA_OECONF += "${@get_glibc_fpu_setting(bb, d)}"
+
+def get_glibc_fpu_setting(bb, d):
+ if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]:
+ return "--without-fp"
+ return ""
+
+glibc_do_unpack () {
+ mv "${WORKDIR}/linuxthreads" "${WORKDIR}/linuxthreads_db" "${S}/"
+}
+
+python do_unpack () {
+ bb.build.exec_func('base_do_unpack', d)
+ bb.build.exec_func('glibc_do_unpack', d)
+}
+
+do_configure () {
+# override this function to avoid the autoconf/automake/aclocal/autoheader
+# calls for now
+# don't pass CPPFLAGS into configure, since it upsets the kernel-headers
+# version check and doesn't really help with anything
+ if [ -z "`which rpcgen`" ]; then
+ echo "rpcgen not found. Install glibc-devel."
+ exit 1
+ fi
+ (cd ${S} && gnu-configize) || die "failure in running gnu-configize"
+ CPPFLAGS="" oe_runconf
+}
+
+rpcsvc = "bootparam_prot.x nlm_prot.x rstat.x \
+ yppasswd.x klm_prot.x rex.x sm_inter.x mount.x \
+ rusers.x spray.x nfs_prot.x rquota.x key_prot.x"
+
+do_compile () {
+ # this really is arm specific
+ touch ${S}/sysdeps/arm/framestate.c
+ # -Wl,-rpath-link <staging>/lib in LDFLAGS can cause breakage if another glibc is in staging
+ unset LDFLAGS
+ base_do_compile
+ (
+ cd ${S}/sunrpc/rpcsvc
+ for r in ${rpcsvc}; do
+ h=`echo $r|sed -e's,\.x$,.h,'`
+ rpcgen -h $r -o $h || oewarn "unable to generate header for $r"
+ done
+ )
+}
+
+do_stage() {
+ rm -f ${STAGING_LIBDIR}/libc.so.6
+ oe_runmake 'install_root=${STAGING_DIR}/${HOST_SYS}' \
+ 'includedir=/include' 'libdir=/lib' 'slibdir=/lib' \
+ '${STAGING_LIBDIR}/libc.so.6' \
+ install-headers install-lib
+
+ install -d ${STAGING_INCDIR}/gnu \
+ ${STAGING_INCDIR}/bits \
+ ${STAGING_INCDIR}/rpcsvc
+ install -m 0644 ${S}/include/gnu/stubs.h ${STAGING_INCDIR}/gnu/
+ install -m 0644 ${B}/bits/stdio_lim.h ${STAGING_INCDIR}/bits/
+ install -m 0644 misc/syscall-list.h ${STAGING_INCDIR}/bits/syscall.h
+ for r in ${rpcsvc}; do
+ h=`echo $r|sed -e's,\.x$,.h,'`
+ install -m 0644 ${S}/sunrpc/rpcsvc/$h ${STAGING_INCDIR}/rpcsvc/
+ done
+ for i in libc.a libc_pic.a libc_nonshared.a; do
+ install -m 0644 ${B}/$i ${STAGING_LIBDIR}/ || die "failed to install $i"
+ done
+ echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${STAGING_LIBDIR}/libpthread.so
+ echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${STAGING_LIBDIR}/libc.so
+
+ rm -f ${CROSS_DIR}/${TARGET_SYS}/lib/libc.so.6
+ oe_runmake 'install_root=${CROSS_DIR}/${TARGET_SYS}' \
+ 'includedir=/include' 'libdir=/lib' 'slibdir=/lib' \
+ '${CROSS_DIR}/${TARGET_SYS}/lib/libc.so.6' \
+ install-headers install-lib
+
+ install -d ${CROSS_DIR}/${TARGET_SYS}/include/gnu \
+ ${CROSS_DIR}/${TARGET_SYS}/include/bits \
+ ${CROSS_DIR}/${TARGET_SYS}/include/rpcsvc
+ install -m 0644 ${S}/include/gnu/stubs.h ${CROSS_DIR}/${TARGET_SYS}/include/gnu/
+ install -m 0644 ${B}/bits/stdio_lim.h ${CROSS_DIR}/${TARGET_SYS}/include/bits/
+ install -m 0644 misc/syscall-list.h ${CROSS_DIR}/${TARGET_SYS}/include/bits/syscall.h
+ for r in ${rpcsvc}; do
+ h=`echo $r|sed -e's,\.x$,.h,'`
+ install -m 0644 ${S}/sunrpc/rpcsvc/$h ${CROSS_DIR}/${TARGET_SYS}/include/rpcsvc/
+ done
+
+ for i in libc.a libc_pic.a libc_nonshared.a; do
+ install -m 0644 ${B}/$i ${CROSS_DIR}/${TARGET_SYS}/lib/ || die "failed to install $i"
+ done
+ echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${CROSS_DIR}/${TARGET_SYS}/lib/libpthread.so
+ echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${CROSS_DIR}/${TARGET_SYS}/lib/libc.so
+}
+
+include glibc-package.bbclass
+DESCRIPTION = "GNU C Library"
+HOMEPAGE = "http://www.gnu.org/software/libc/libc.html"
+LICENSE = "LGPL"
+SECTION = "libs"
+PRIORITY = "required"
+MAINTAINER = "Phil Blundell <pb@handhelds.org>"
+
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/glibc-cvs"
+PR = "r0"
+PV = "2.3.3+cvs${CVSDATE}"
+
+GLIBC_ADDONS ?= "linuxthreads"
+GLIBC_EXTRA_OECONF ?= ""
+
+DEFAULT_PREFERENCE = "-1"
+
+#
+# For now, we will skip building of a gcc package if it is a uclibc one
+# and our build is not a uclibc one, and we skip a glibc one if our build
+# is a uclibc build.
+#
+# See the note in gcc/gcc_3.4.0.oe
+#
+
+python __anonymous () {
+ import bb, re
+ uc_os = (re.match('.*uclibc$', bb.data.getVar('TARGET_OS', d, 1)) != None)
+ if uc_os:
+ raise bb.parse.SkipPackage("incompatible with target %s" %
+ bb.data.getVar('TARGET_OS', d, 1))
+}
+
+PACKAGES = "glibc catchsegv sln nscd ldd localedef glibc-utils glibc-dev glibc-doc glibc-locale libsegfault glibc-extra-nss glibc-thread-db glibc-pcprofile"
+
+# nptl needs unwind support in gcc, which can't be built without glibc.
+PROVIDES = "virtual/libc ${@['virtual/${TARGET_PREFIX}libc-for-gcc', '']['nptl' in '${GLIBC_ADDONS}']}"
+PROVIDES += "virtual/libintl virtual/libiconv"
+DEPENDS = "patcher-native ${@['virtual/${TARGET_PREFIX}gcc-initial', 'virtual/${TARGET_PREFIX}gcc']['nptl' in '${GLIBC_ADDONS}']} linux-libc-headers"
+INHIBIT_DEFAULT_DEPS = "1"
+
+libc_baselibs = "/lib/libc* /lib/libm* /lib/ld* /lib/libpthread* /lib/libresolv* /lib/librt* /lib/libutil* /lib/libnsl* /lib/libnss_files* /lib/libnss_compat* /lib/libnss_dns* /lib/libdl* /lib/libanl* /lib/libBrokenLocale*"
+
+FILES_${PN} = "${sysconfdir} ${libc_baselibs} /sbin/ldconfig ${libexecdir} ${datadir}/zoneinfo ${libdir}/locale"
+FILES_ldd = "${bindir}/ldd"
+FILES_libsegfault = "/lib/libSegFault*"
+FILES_glibc-extra-nss = "/lib/libnss*"
+FILES_sln = "/sbin/sln"
+FILES_glibc-dev_append = " ${libdir}/*.o ${bindir}/rpcgen"
+FILES_nscd = "${sbindir}/nscd*"
+FILES_glibc-utils = "${bindir} ${sbindir}"
+FILES_glibc-gconv = "${libdir}/gconv"
+FILES_catchsegv = "${bindir}/catchsegv"
+DEPENDS_catchsegv = "libsegfault"
+FILES_glibc-pcprofile = "/lib/libpcprofile.so"
+FILES_glibc-thread-db = "/lib/libthread_db*"
+FILES_localedef = "${bindir}/localedef"
+RPROVIDES_glibc-dev += "libc-dev"
+
+# file://noinfo.patch;patch=1
+# file://ldconfig.patch;patch=1;pnum=0
+SRC_URI = "cvs://anoncvs@sources.redhat.com/cvs/glibc;module=libc \
+ file://arm-ioperm.patch;patch=1;pnum=0 \
+ file://ldd.patch;patch=1;pnum=0 \
+ file://fhs-linux-paths.patch;patch=1 \
+ file://arm-no-hwcap.patch;patch=1;pnum=0 \
+ file://arm-memcpy.patch;patch=1;pnum=0 \
+ file://arm-longlong.patch;patch=1;pnum=0 \
+ file://arm-machine-gmon.patch;patch=1;pnum=0 \
+ \
+ file://etc/ld.so.conf \
+ file://generate-supported.mk"
+
+# seems to fail on tls platforms
+SRC_URI_append_arm = " file://dyn-ldconfig-20041128.patch;patch=1"
+
+SRC_URI_append_ramses = " file://ldsocache-varrun.patch;patch=1"
+
+S = "${WORKDIR}/libc"
+B = "${WORKDIR}/build-${TARGET_SYS}"
+
+inherit autotools
+
+EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \
+ --without-cvs --disable-profile --disable-debug --without-gd \
+ --enable-clocale=gnu \
+ --enable-add-ons=${GLIBC_ADDONS} \
+ --with-headers=${CROSS_DIR}/${TARGET_SYS}/include \
+ ${GLIBC_EXTRA_OECONF}"
+
+EXTRA_OECONF += "${@get_glibc_fpu_setting(bb, d)}"
+
+def get_glibc_fpu_setting(bb, d):
+ if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]:
+ return "--without-fp"
+ return ""
+
+do_configure () {
+# override this function to avoid the autoconf/automake/aclocal/autoheader
+# calls for now
+# don't pass CPPFLAGS into configure, since it upsets the kernel-headers
+# version check and doesn't really help with anything
+ if [ -z "`which rpcgen`" ]; then
+ echo "rpcgen not found. Install glibc-devel."
+ exit 1
+ fi
+ (cd ${S} && gnu-configize) || die "failure in running gnu-configize"
+ CPPFLAGS="" oe_runconf
+}
+
+rpcsvc = "bootparam_prot.x nlm_prot.x rstat.x \
+ yppasswd.x klm_prot.x rex.x sm_inter.x mount.x \
+ rusers.x spray.x nfs_prot.x rquota.x key_prot.x"
+
+do_compile () {
+ # this really is arm specific
+ touch ${S}/sysdeps/arm/framestate.c
+ # -Wl,-rpath-link <staging>/lib in LDFLAGS can cause breakage if another glibc is in staging
+ unset LDFLAGS
+ base_do_compile
+ (
+ cd ${S}/sunrpc/rpcsvc
+ for r in ${rpcsvc}; do
+ h=`echo $r|sed -e's,\.x$,.h,'`
+ rpcgen -h $r -o $h || oewarn "unable to generate header for $r"
+ done
+ )
+}
+
+do_stage() {
+ rm -f ${STAGING_LIBDIR}/libc.so.6
+ oe_runmake 'install_root=${STAGING_DIR}/${HOST_SYS}' \
+ 'includedir=/include' 'libdir=/lib' 'slibdir=/lib' \
+ '${STAGING_LIBDIR}/libc.so.6' \
+ install-headers install-lib
+
+ install -d ${STAGING_INCDIR}/gnu \
+ ${STAGING_INCDIR}/bits \
+ ${STAGING_INCDIR}/rpcsvc
+ install -m 0644 ${S}/include/gnu/stubs.h ${STAGING_INCDIR}/gnu/
+ install -m 0644 ${B}/bits/stdio_lim.h ${STAGING_INCDIR}/bits/
+ install -m 0644 misc/syscall-list.h ${STAGING_INCDIR}/bits/syscall.h
+ for r in ${rpcsvc}; do
+ h=`echo $r|sed -e's,\.x$,.h,'`
+ install -m 0644 ${S}/sunrpc/rpcsvc/$h ${STAGING_INCDIR}/rpcsvc/
+ done
+ for i in libc.a libc_pic.a libc_nonshared.a; do
+ install -m 0644 ${B}/$i ${STAGING_LIBDIR}/ || die "failed to install $i"
+ done
+ echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${STAGING_LIBDIR}/libpthread.so
+ echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${STAGING_LIBDIR}/libc.so
+
+ rm -f ${CROSS_DIR}/${TARGET_SYS}/lib/libc.so.6
+ oe_runmake 'install_root=${CROSS_DIR}/${TARGET_SYS}' \
+ 'includedir=/include' 'libdir=/lib' 'slibdir=/lib' \
+ '${CROSS_DIR}/${TARGET_SYS}/lib/libc.so.6' \
+ install-headers install-lib
+
+ install -d ${CROSS_DIR}/${TARGET_SYS}/include/gnu \
+ ${CROSS_DIR}/${TARGET_SYS}/include/bits \
+ ${CROSS_DIR}/${TARGET_SYS}/include/rpcsvc
+ install -m 0644 ${S}/include/gnu/stubs.h ${CROSS_DIR}/${TARGET_SYS}/include/gnu/
+ install -m 0644 ${B}/bits/stdio_lim.h ${CROSS_DIR}/${TARGET_SYS}/include/bits/
+ install -m 0644 misc/syscall-list.h ${CROSS_DIR}/${TARGET_SYS}/include/bits/syscall.h
+ for r in ${rpcsvc}; do
+ h=`echo $r|sed -e's,\.x$,.h,'`
+ install -m 0644 ${S}/sunrpc/rpcsvc/$h ${CROSS_DIR}/${TARGET_SYS}/include/rpcsvc/
+ done
+
+ for i in libc.a libc_pic.a libc_nonshared.a; do
+ install -m 0644 ${B}/$i ${CROSS_DIR}/${TARGET_SYS}/lib/ || die "failed to install $i"
+ done
+ echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${CROSS_DIR}/${TARGET_SYS}/lib/libpthread.so
+ echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${CROSS_DIR}/${TARGET_SYS}/lib/libc.so
+}
+
+include glibc-package.bbclass
+SECTION = "base"
+include gnu-config.bb
+
+inherit native
+
+DEPENDS = "patcher-native"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gnu-config"
+
+do_stage () {
+ install -d ${STAGING_DATADIR}/gnu-config
+ cat ${WORKDIR}/gnu-configize.in | \
+ sed -e 's,@gnu-configdir@,${STAGING_DATADIR}/gnu-config,' \
+ -e 's,@autom4te_perllibdir@,${STAGING_DATADIR}/autoconf,' > ${STAGING_BINDIR}/gnu-configize
+ chmod 755 ${STAGING_BINDIR}/gnu-configize
+ install -m 0644 config.guess config.sub ${STAGING_DATADIR}/gnu-config/
+}
+SECTION = "base"
+include gnu-config_${PV}.bb
+
+inherit native
+
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gnu-config"
+
+do_stage () {
+ install -d ${STAGING_DATADIR}/gnu-config
+ cat ${WORKDIR}/gnu-configize.in | \
+ sed -e 's,@gnu-configdir@,${STAGING_DATADIR}/gnu-config,' \
+ -e 's,@autom4te_perllibdir@,${STAGING_DATADIR}/autoconf,' > ${STAGING_BINDIR}/gnu-configize
+ chmod 755 ${STAGING_BINDIR}/gnu-configize
+ install -m 0644 config.guess config.sub ${STAGING_DATADIR}/gnu-config/
+}
+SECTION = "x11/base"
+inherit native
+include gtk-doc.bb
+SECTION = "libs"
+include imlib2_${PV}.bb
+inherit native
+DEPENDS = "freetype"
+
+EXTRA_OECONF = "--without-x \
+ --disable-mmx"
+
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/imlib2-${PV}"
+SECTION = "libs"
+include imlib2_${PV}.bb
+inherit native
+DEPENDS = "freetype-native"
+EXTRA_OECONF = "--without-x"
+PR = "r1"
+
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/imlib2-${PV}"
+
+do_configure () {
+ rm -f ${S}/libltdl/acinclude.m4
+ autotools_do_configure
+}
+
+do_stage () {
+ oe_libinstall -a -so -C src libImlib2 ${STAGING_LIBDIR}/
+ install -m 0644 ${S}/src/Imlib2.h ${STAGING_INCDIR}/
+ install -d ${STAGING_LIBDIR}/imlib2/loaders/image/
+ install -m 0755 loaders/.libs/*.so ${STAGING_LIBDIR}/imlib2/loaders/image/
+}
+SECTION = "devel"
+include intltool_${PV}.bb
+inherit native
+DEPENDS = "libxml-parser-perl-native"
+SECTION = "base"
+include ipkg-utils_${PV}.bb
+PR = "r3"
+inherit native
+DEPENDS = "python-native"
+
+do_stage() {
+ for i in ${INSTALL}; do
+ install -m 0755 $i ${STAGING_BINDIR}
+ done
+}
+SECTION = "base"
+include ipkg_${PV}.bb
+inherit native
+
+DEPENDS = "patcher-native libtool-native automake-native"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/ipkg-${PV}"
+PROVIDES = ""
+SECTION = "base"
+include ipkg_${PV}.bb
+inherit native
+
+DEPENDS = "patcher-native libtool-native automake-native"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/ipkg-${PV}"
+PROVIDES = ""
+SECTION = "devel"
+inherit native
+include jikes_${PV}.bb
+S = "${WORKDIR}/jikes-${PV}"
+
+do_stage() {
+ install -d ${STAGING_BINDIR}
+ install -m 755 src/jikes ${STAGING_BINDIR}
+}
+SECTION = "libs"
+include jpeg_${PV}.bb
+inherit native
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/jpeg-${PV}"
+DEPENDS = ""
+
+do_stage() {
+ install -m 644 jconfig.h ${STAGING_INCDIR}/jconfig.h
+ install -m 644 jpeglib.h ${STAGING_INCDIR}/jpeglib.h
+ install -m 644 jmorecfg.h ${STAGING_INCDIR}/jmorecfg.h
+ install -m 644 jerror.h ${STAGING_INCDIR}/jerror.h
+ install -m 644 jpegint.h ${STAGING_INCDIR}/jpegint.h
+ oe_libinstall -so libjpeg ${STAGING_LIBDIR}
+}
+SECTION = "libs"
+include libidl_${PV}.bb
+inherit native
+
+DEPENDS = "glib-2.0-native"
+SECTION = "libs"
+include libpng_${PV}.bb
+inherit native
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/libpng-${PV}"
+DEPENDS = "zlib-native"
+SECTION = "libs"
+include libpng_${PV}.bb
+inherit native
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/libpng-${PV}"
+DEPENDS = "zlib-native"
+SECTION = "devel"
+include libtool_${PV}.bb
+
+PACKAGES = ""
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/libtool-${PV}"
+SRC_URI_append = " file://libdir-la.patch;patch=1 \
+ file://prefix.patch;patch=1 \
+ file://tag.patch;patch=1 \
+ file://install-path-check.patch;patch=1"
+S = "${WORKDIR}/libtool-${PV}"
+
+prefix = "${STAGING_DIR}"
+exec_prefix = "${prefix}/${BUILD_SYS}"
+
+do_compile () {
+}
+
+do_stage () {
+ install -m 0755 ${HOST_SYS}-libtool ${bindir}/${HOST_SYS}-libtool
+}
+
+do_install () {
+}
+SECTION = "devel"
+include libtool_${PV}.bb
+
+PACKAGES = ""
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/libtool-${PV}"
+SRC_URI_append = " file://libdir-la.patch;patch=1 \
+ file://prefix.patch;patch=1 \
+ file://tag.patch;patch=1 \
+ file://install-path-check.patch;patch=1"
+S = "${WORKDIR}/libtool-${PV}"
+
+prefix = "${STAGING_DIR}"
+exec_prefix = "${prefix}/${BUILD_SYS}"
+
+do_compile () {
+}
+
+do_stage () {
+ install -m 0755 ${HOST_SYS}-libtool ${bindir}/${HOST_SYS}-libtool
+}
+
+do_install () {
+}
+SECTION = "devel"
+include libtool_${PV}.bb
+
+PR = "r1"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/libtool-${PV}"
+SRC_URI_append = " file://libdir-la.patch;patch=1 \
+ file://prefix.patch;patch=1 \
+ file://tag.patch;patch=1 \
+ file://install-path-check.patch;patch=1"
+S = "${WORKDIR}/libtool-${PV}"
+
+STAGING_DATADIR_safe := "${STAGING_DATADIR}"
+
+inherit native
+
+do_stage () {
+ install -m 0755 ${HOST_SYS}-libtool ${STAGING_BINDIR}/${HOST_SYS}-libtool
+ install -m 0755 libtoolize ${STAGING_BINDIR}/libtoolize
+ oe_libinstall -a -so -C libltdl libltdl ${STAGING_LIBDIR}
+ install -m 0644 libltdl/ltdl.h ${STAGING_INCDIR}/
+ for dir in ${STAGING_DATADIR} ${STAGING_DATADIR_safe}; do
+ install -d $dir/libtool \
+ $dir/aclocal
+ install -c config.guess $dir/libtool/config.guess
+ install -c config.sub $dir/libtool/config.sub
+ install -c -m 0644 ltmain.sh $dir/libtool/
+ install -c -m 0644 libtool.m4 $dir/aclocal/
+ install -c -m 0644 ltdl.m4 $dir/aclocal/
+ done
+}
+
+do_install () {
+}
+SECTION = "devel"
+include libtool_${PV}.bb
+
+PR = "r1"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/libtool-${PV}"
+SRC_URI_append = " file://libdir-la.patch;patch=1 \
+ file://prefix.patch;patch=1 \
+ file://tag.patch;patch=1 \
+ file://install-path-check.patch;patch=1"
+S = "${WORKDIR}/libtool-${PV}"
+
+STAGING_DATADIR_safe := "${STAGING_DATADIR}"
+
+inherit native
+
+do_stage () {
+ install -m 0755 ${HOST_SYS}-libtool ${STAGING_BINDIR}/${HOST_SYS}-libtool
+ install -m 0755 libtoolize ${STAGING_BINDIR}/libtoolize
+ oe_libinstall -a -so -C libltdl libltdl ${STAGING_LIBDIR}
+ install -m 0644 libltdl/ltdl.h ${STAGING_INCDIR}/
+ for dir in ${STAGING_DATADIR} ${STAGING_DATADIR_safe}; do
+ install -d $dir/libtool \
+ $dir/aclocal
+ install -c config.guess $dir/libtool/config.guess
+ install -c config.sub $dir/libtool/config.sub
+ install -c -m 0644 ltmain.sh $dir/libtool/
+ install -c -m 0644 libtool.m4 $dir/aclocal/
+ install -c -m 0644 ltdl.m4 $dir/aclocal/
+ done
+}
+
+do_install () {
+}
+SECTION = "kernel"
+COLLIE_MEMORY_SIZE=24
+COLLIE_RAMDISK_SIZE=8
+
+include ../linux/openzaurus-sa_2.4.18-rmk7-pxa3-embedix20030509.bb
+
+do_deploy_append() {
+ ! test -d ${DEPLOY_DIR}/images/collie/kernel && mkdir -p ${DEPLOY_DIR}/images/collie/kernel
+ mv ${DEPLOY_DIR}/images/${KERNEL_IMAGETYPE}-${DATETIME} ${DEPLOY_DIR}/images/collie/kernel/${KERNEL_IMAGETYPE}_collie-${COLLIE_MEMORY_SIZE}-${COLLIE_RAMDISK_SIZE}
+}
+SECTION = "kernel"
+COLLIE_MEMORY_SIZE=32
+COLLIE_RAMDISK_SIZE=0
+
+include ../linux/openzaurus-sa_2.4.18-rmk7-pxa3-embedix20030509.bb
+
+do_deploy_append() {
+ ! test -d ${DEPLOY_DIR}/images/collie/kernel && mkdir -p ${DEPLOY_DIR}/images/collie/kernel
+ mv ${DEPLOY_DIR}/images/${KERNEL_IMAGETYPE}-${DATETIME} ${DEPLOY_DIR}/images/collie/kernel/${KERNEL_IMAGETYPE}_collie-${COLLIE_MEMORY_SIZE}-${COLLIE_RAMDISK_SIZE}
+}
+SECTION = "kernel"
+COLLIE_MEMORY_SIZE=32
+COLLIE_RAMDISK_SIZE=32
+
+include ../linux/openzaurus-sa_2.4.18-rmk7-pxa3-embedix20030509.bb
+
+do_deploy_append() {
+ ! test -d ${DEPLOY_DIR}/images/collie/kernel && mkdir -p ${DEPLOY_DIR}/images/collie/kernel
+ mv ${DEPLOY_DIR}/images/${KERNEL_IMAGETYPE}-${DATETIME} ${DEPLOY_DIR}/images/collie/kernel/${KERNEL_IMAGETYPE}_collie-${COLLIE_MEMORY_SIZE}-${COLLIE_RAMDISK_SIZE}
+}
+SECTION = "kernel"
+COLLIE_MEMORY_SIZE=40
+COLLIE_RAMDISK_SIZE=24
+
+include ../linux/openzaurus-sa_2.4.18-rmk7-pxa3-embedix20030509.bb
+
+do_deploy_append() {
+ ! test -d ${DEPLOY_DIR}/images/collie/kernel && mkdir -p ${DEPLOY_DIR}/images/collie/kernel
+ mv ${DEPLOY_DIR}/images/${KERNEL_IMAGETYPE}-${DATETIME} ${DEPLOY_DIR}/images/collie/kernel/${KERNEL_IMAGETYPE}_collie-${COLLIE_MEMORY_SIZE}-${COLLIE_RAMDISK_SIZE}
+}
+SECTION = "kernel"
+COLLIE_MEMORY_SIZE=48
+COLLIE_RAMDISK_SIZE=16
+
+include ../linux/openzaurus-sa_2.4.18-rmk7-pxa3-embedix20030509.bb
+
+do_deploy_append() {
+ ! test -d ${DEPLOY_DIR}/images/collie/kernel && mkdir -p ${DEPLOY_DIR}/images/collie/kernel
+ mv ${DEPLOY_DIR}/images/${KERNEL_IMAGETYPE}-${DATETIME} ${DEPLOY_DIR}/images/collie/kernel/${KERNEL_IMAGETYPE}_collie-${COLLIE_MEMORY_SIZE}-${COLLIE_RAMDISK_SIZE}
+}
+SECTION = "kernel"
+COLLIE_MEMORY_SIZE=58
+COLLIE_RAMDISK_SIZE=6
+
+include ../linux/openzaurus-sa_2.4.18-rmk7-pxa3-embedix20030509.bb
+
+do_deploy_append() {
+ ! test -d ${DEPLOY_DIR}/images/collie/kernel && mkdir -p ${DEPLOY_DIR}/images/collie/kernel
+ mv ${DEPLOY_DIR}/images/${KERNEL_IMAGETYPE}-${DATETIME} ${DEPLOY_DIR}/images/collie/kernel/${KERNEL_IMAGETYPE}_collie-${COLLIE_MEMORY_SIZE}-${COLLIE_RAMDISK_SIZE}
+}
+SECTION = "kernel"
+COLLIE_MEMORY_SIZE=64
+COLLIE_RAMDISK_SIZE=0
+
+include ../linux/openzaurus-sa_2.4.18-rmk7-pxa3-embedix20030509.bb
+
+do_deploy_append() {
+ ! test -d ${DEPLOY_DIR}/images/collie/kernel && mkdir -p ${DEPLOY_DIR}/images/collie/kernel
+ mv ${DEPLOY_DIR}/images/${KERNEL_IMAGETYPE}-${DATETIME} ${DEPLOY_DIR}/images/collie/kernel/${KERNEL_IMAGETYPE}_collie-${COLLIE_MEMORY_SIZE}-${COLLIE_RAMDISK_SIZE}
+}
+SECTION = "kernel"
+include opensimpad_${PV}.bb
+
+SIMPAD_MEM = "64"
+SIMPAD_RD = "0"
+SECTION = "kernel"
+PV = "2.4.18-rmk7-pxa3-embedix"
+LICENSE = "GPL"
+KV = "2.4.18"
+RMKV = "7"
+PXAV = "3"
+SHARPV = "20031107"
+PR = "r25"
+DESCRIPTION = "Linux kernel for OpenZaurus PXA processor based devices."
+MAINTAINER = "Michael 'Mickey' Lauer <mickey@Vanille.de>"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/openzaurus-pxa-${KV}-rmk${RMKV}-pxa${PXAV}-embedix${SHARPV}"
+
+ALLOW_EMPTY_kernel = "1"
+
+SRC_URI = "ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-${KV}.tar.bz2 \
+ ftp://ftp.arm.linux.org.uk/pub/armlinux/source/kernel-patches/v2.4/patch-${KV}-rmk${RMKV}.gz;patch=1 \
+ ftp://source.mvista.com/pub/xscale/pxa/diff-${KV}-rmk${RMKV}-pxa${PXAV}.gz;patch=1 \
+ http://developer.ezaurus.com/sl_j/source/c860/${SHARPV}/linux-${PV}-slc860-${SHARPV}-rom1_10.bz2;patch=1 \
+ file://piro.patch;patch=1 \
+ file://swap-performance.patch;patch=1 \
+ file://bluetooth-2.4.18-mh15.patch;patch=1 \
+ file://iw_handlers.w13-5.diff;patch=1 \
+ file://iw_handlers.w14-5.diff;patch=1 \
+ file://iw240_we15-6.diff;patch=1 \
+ file://bt950_cs.patch;patch=1 \
+ file://bluecard_cs.patch;patch=1 \
+ file://sharpsl_battery.patch;patch=1 \
+ file://irda-qos.patch;patch=1 \
+ file://buffered-fbmem.patch;patch=1 \
+ file://enable-sysrq.patch;patch=1 \
+ file://compile.patch;patch=1 \
+ file://idecs.patch;patch=1 \
+ file://logo.patch;patch=1 \
+ file://initsh.patch;patch=1 \
+ file://keyboard-ctrl+alt.patch;patch=1 \
+ file://keymap-more-sane.patch;patch=1 \
+ file://mkdep.patch;patch=1 \
+ file://disable-pcmcia-probe.patch;patch=1 \
+ file://deviceinfo.patch;patch=1 \
+ file://linux-2.4.18-list_move.patch;patch=1 \
+ file://tosa_map.patch;patch=1 \
+ file://tosa_ts.patch;patch=1 \
+ file://corgi-fbcon-logo.patch;patch=1 \
+ http://www.openswan.org/download/openswan-2.2.0-kernel-2.4-klips.patch.gz;patch=1 \
+ file://1764-1.patch;patch=1 \
+ file://module_licence.patch;patch=1 \
+ http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/iw249_we16-6.diff;patch=1 \
+ file://defconfig-${MACHINE} \
+ http://us1.samba.org/samba/ftp/cifs-cvs/cifs-1.20c-2.4.tar.gz "
+
+def get_sysreq_setting(bb, d):
+ if bb.data.getVar('ENABLE_SYSREQ', d, 1) in [ 'yes' ]:
+ return "file://enable-sysrq.patch;patch=1 "
+ return ""
+
+SRC_URI_append_poodle += " file://smallfonts.diff;patch=1"
+# apply this when we have a kernel that builds with gcc 3.x:
+# SRC_URI_append = file://machtune-args.patch;patch=1
+SRC_URI_append_tosa = " file://tosa-power-key-off.patch;patch=1"
+
+S = "${WORKDIR}/linux"
+
+inherit kernel
+
+#
+# Create the kernel command line. CMDLINE_CONSOLE is set through kernel.oeclass.
+#
+CMDLINE_MTDPARTS_poodle = "mtdparts=sharpsl-nand:7168k@0k(smf),22528k@7168k(root),-(home)"
+CMDLINE_MTDPARTS_corgi = "mtdparts=sharpsl-nand:7168k@0k(smf),25600k@7168k(root),-(home)"
+CMDLINE_MTDPARTS_shepherd = "mtdparts=sharpsl-nand:7168k@0k(smf),25600k@7168k(root),-(home)"
+CMDLINE_MTDPARTS_husky = "mtdparts=sharpsl-nand:7168k@0k(smf),54272k@7168k(root),-(home)"
+CMDLINE_MTDPARTS_tosa = "mtdparts=sharpsl-nand:7168k@0k(smf),28672k@7168k(root),-(home) EQUIPMENT=2"
+
+CMDLINE_ROOT = "root=/dev/mtdblock2 rootfstype=jffs2 jffs2_orphaned_inodes=delete"
+CMDLINE = "${CMDLINE_MTDPARTS} ${CMDLINE_ROOT} ${CMDLINE_CONSOLE}"
+
+#
+# Compensate for sucky bootloader on all Sharp Zaurus models
+#
+FILES_kernel = ""
+
+EXTRA_OEMAKE = ""
+KERNEL_CCSUFFIX = "-2.95"
+KERNEL_LDSUFFIX = "-2.11.2"
+COMPATIBLE_HOST = "arm.*-linux"
+
+module_conf_usbdmonitor = "alias usbd0 usbdmonitor"
+module_conf_pxa_bi = "below pxa_bi net_fd usbdcore "
+module_autoload_pxa_bi = "pxa_bi"
+
+do_configure_prepend() {
+ patch -p1 < cifs_24.patch
+ install -m 0644 ${WORKDIR}/defconfig-${MACHINE} ${S}/.config || die "No default configuration for ${MACHINE} available."
+ echo "CONFIG_CMDLINE=\"${CMDLINE}\"" >> ${S}/.config
+}
+
+do_deploy() {
+ install -d ${DEPLOY_DIR}/images
+ install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR}/images/${KERNEL_IMAGETYPE}-${MACHINE}-${DATETIME}.bin
+}
+
+do_deploy[dirs] = "${S}"
+
+addtask deploy before do_build after do_compile
+SECTION = "kernel"
+
+UNSLUNG_VARIANT = "able"
+
+include unslung-standard-kernel_2.3r25.bb
+
+SRC_URI += "file://usbnet.patch;patch=1 \
+ file://missing-usb-ioctls.patch;patch=1"
+SECTION = "kernel"
+
+include nslu2-linksys-kernel_2.4.22.bb
+
+DESCRIPTION = "Unslung kernel for the Linksys NSLU2 device"
+MAINTAINER = "NSLU2 Linux <www.nlsu2-linux.org>"
+PR = "r4"
+
+UNSLUNG_VARIANT ?= "standard"
+KERNEL_SUFFIX = "unslung-${UNSLUNG_VARIANT}"
+
+CMDLINE_ROOT = "root=/dev/slug initrd=0x01000000,10M mem=32M@0x00000000"
+
+UNSLUNG_KERNEL_EXTRA_SRC_URI ?=
+
+SRC_URI += "file://limit1gb.patch;patch=1 \
+ file://gl811e.patch;patch=1 \
+ file://ext3flash-on-disk1.patch;patch=1 \
+ ${UNSLUNG_KERNEL_EXTRA_SRC_URI}"
+
+FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/unslung-kernel-${PV}/${UNSLUNG_VARIANT}', '${FILE_DIRNAME}/unslung-kernel-${PV}', '${FILE_DIRNAME}/nslu2-linksys-kernel-2.4.22', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
+SECTION = "base"
+include makedevs_${PV}.bb
+inherit native
+
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/makedevs-${PV}"
+
+do_stage() {
+ install -d ${STAGING_BINDIR}/
+ install -m 0755 ${S}/makedevs ${STAGING_BINDIR}/
+}
+include gpe-collections.bb
+
+MAINTAINER = "Rob Taylor <rjt@cambridgebroadband.com"
+
+PR = "r4"
+
+export IMAGE_BASENAME = "gpe-image-blank-user"
+
+DEPENDS = "task-bootstrap ${GPE_BASE_DEPENDS} ${GPE_BASE} ${GPE_PIM} \
+ ${GPE_BASE_SETTINGS} ${GPE_BASE_APPS} \
+ ${GPE_EXTRA_DEPENDS}"
+
+export IPKG_INSTALL = "task-bootstrap ${GPE_BASE_DEPENDS} ${GPE_BASE} \
+ ${GPE_PIM} ${GPE_BASE_SETTINGS} \
+ ${GPE_BASE_APPS} ${GPE_EXTRA_DEPENDS} \
+ ${XSERVER} \
+ ${GPE_BASE_RDEPENDS} \
+ ${GPE_EXTRA_INSTALL}"
+
+
+ROOTFS_POSTPROCESS_COMMAND += "adduser -D user"
+
+
+inherit image_ipk
+include nylon-image-standard.bb
+
+export IMAGE_BASENAME = "nylon-extra"
+
+NYLON_EXTRA = "\
+ kismet \
+ netperf \
+ nylon-statistics \
+ openvpn \
+ "
+
+DEPENDS += "${NYLON_EXTRA}"
+
+RDEPENDS += "${NYLON_EXTRA}"
+include nylon-image-base.bb
+
+export IMAGE_BASENAME = "nylon-standard"
+
+NYLON_STANDARD = "\
+ bridge-utils \
+ dnsmasq \
+ hostap-utils \
+ ifplugd iproute2 iptables \
+ mobilemesh \
+ nylon-scripts \
+ ppp rp-pppoe \
+ shorewall \
+ tcpdump \
+ wireless-tools \
+ unik-olsrd"
+
+DEPENDS += "hostap-modules ntp \
+ ${NYLON_STANDARD}"
+
+RDEPENDS += "hostap-modules-pci ntpdate \
+ ${NYLON_STANDARD}"
+IMAGE_VARIANT = "able"
+
+include unslung-standard-image.bb
+LICENSE = GPL
+include module-init-tools_${PV}.bb
+inherit cross
+DEFAULT_PREFERENCE = "0"
+PROVIDES += "virtual/${TARGET_PREFIX}depmod"
+
+EXTRA_OECONF_append = " --program-prefix=${TARGET_PREFIX}"
+
+do_stage () {
+ oe_runmake install
+}
+
+do_install () {
+ :
+}
+SECTION = "base"
+include modutils_${PV}.bb
+PR = "r5"
+inherit cross
+S = "${WORKDIR}/modutils-${PV}"
+DEPENDS = "patcher-native"
+PACKAGES = ""
+PROVIDES += "virtual/${TARGET_PREFIX}depmod"
+DEFAULT_PREFERENCE = "1"
+
+SRC_URI += "file://modutils-cross/module.h.diff;patch=1"
+
+sbindir = "${prefix}/bin"
+
+EXTRA_OECONF_append = " --program-prefix=${TARGET_PREFIX}"
+
+CFLAGS_prepend_mipsel = "-D__MIPSEL__"
+CFLAGS_prepend_mipseb = "-D__MIPSEB__"
+
+do_stage () {
+ oe_runmake install
+}
+
+do_install () {
+ :
+}
+SECTION = "unknown"
+include mono_${PV}.bb
+S = "${WORKDIR}/mono-${PV}"
+DEPENDS = "glib-2.0-native"
+
+inherit native
+SECTION = "base"
+include mtd_${PV}.bb
+inherit native
+DEPENDS = "patcher-native zlib-native"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/mtd"
+
+do_stage () {
+ for binary in ftl_format flash_erase flash_eraseall nanddump doc_loadbios \
+ mkfs.jffs ftl_check mkfs.jffs2 flash_lock flash_unlock flash_info mtd_debug \
+ flashcp nandwrite jffs2dump; do
+ install -m 0755 util/$binary ${STAGING_BINDIR}/
+ done
+}
+SECTION = "console/network"
+include mysql_${PV}.bb
+inherit native
+
+FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/mysql-${PV}', '${FILE_DIRNAME}/mysql-4.1', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
+PACKAGES = ""
+DEPENDS = "ncurses-native"
+EXTRA_OEMAKE = ""
+
+do_stage() {
+ install -m 0755 sql/gen_lex_hash ${STAGING_BINDIR}/
+}
+
+do_install() {
+ :
+}
+SECTION = "unknown"
+include nasm_${PV}.bb
+S = "${WORKDIR}/nasm-${PV}"
+inherit native
+SECTION = "libs"
+include ncurses_${PV}.bb
+inherit native
+EXTRA_OEMAKE = '"BUILD_CCFLAGS=${BUILD_CCFLAGS}"'
+DEPENDS = ""
+include netkit-rpc_${PV}.bb
+inherit native
+
+FILESPATH = "${FILE_DIRNAME}/netkit-rpc-${PV}:${FILE_DIRNAME}/netkit-rpc:${FILE_DIRNAME}/files:${FILE_DIRNAME}"
+UNSLUNG_VARIANT = "able"
+
+include unslung-standard-ramdisk_2.3r25.bb
+
+# Add overlays and patches to the standard ramdisk here
+SRC_URI += "file://mount_usbdevfs.patch;patch=1"
+
+SECTION = "unknown"
+include pcre_${PV}.bb
+inherit native
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/pcre-${PV}"
+SECTION = "libs"
+include libxml-parser-perl_${PV}.bb
+inherit native
+DEPENDS = "perl-native expat-native"
+SECTION = "console/network"
+include php_${PV}.bb
+inherit native
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/php-${PV}"
+DEPENDS = "zlib-native"
+SECTION = "console/utils"
+include pkgconfig_${PV}.bb
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/pkgconfig-${PV}"
+
+S = "${WORKDIR}/pkgconfig-${PV}"
+DEPENDS = "patcher-native"
+inherit native
+SECTION = "unknown"
+include popt_${PV}.bb
+inherit native
+
+S = "${WORKDIR}/popt-${PV}"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/popt-${PV}"
+SECTION = "console/network"
+include postfix_${PV}.bb
+inherit native
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/postfix-${PV}"
+DEPENDS = "db3-native pcre-native"
+export DIRS = "src/util src/global src/postconf"
+
+do_stage () {
+ install -m 0755 src/postconf/postconf ${STAGING_BINDIR}/
+}
+SECTION = "base"
+include prism54-module_1.2.bb
+
+SRC_URI = "http://prism54.org/pub/linux/snapshot/tars/prism54-cvs-latest.tar.bz2"
+S = "${WORKDIR}/prism54-cvs-latest"
+SECTION = "opie/base"
+include qte_${PV}.bb
+
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/qte-${PV}"
+
+DESCRIPTION = "Qt/Embedded w/ Opie Patches version ${PV}"
+
+SRC_URI_append = "file://opie.patch;patch=1 \
+ file://lefthand.patch;patch=1 \
+ file://qiconview-speed.patch;patch=1 "
+SECTION = "opie/base"
+include qte_${PV}-snapshot.bb
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/qte-2.3.8-snapshot"
+
+DESCRIPTION = "Qt/Embedded w/ Opie Patches version ${PV}"
+
+SRC_URI_append = " file://opie.patch;patch=1 \
+ file://qte238-iconviewspeed.patch;patch=1 \
+ file://c700-hardware.patch;patch=1 \
+ file://tslib.patch;patch=1 \
+ file://qpe.patch;patch=1 \
+ file://vt-switch.patch;patch=1 \
+ file://daemonize.patch;patch=1 \
+ file://no-moc.patch;patch=1 \
+ file://encoding.patch;patch=1 \
+ file://fix-qgfxraster.patch;patch=1 \
+ file://update-qtfontdir \
+ file://sharp_char.h \
+ file://switches.h "
+
+
+
+# file://lefthand.patch;patch=1 \
+SECTION = "opie/base"
+include qte_${PV}.bb
+
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/qte-${PV}-r0"
+
+DESCRIPTION = "Qt/Embedded w/ Qtopia Patches version ${PV}"
+
+SRC_URI = "ftp://ftp.trolltech.com/pub/qt/source/qt-embedded-${PV}.tar.gz \
+ file://qtopia.patch;patch=1 \
+ file://tslib.patch;patch=1 \
+ file://devfs.patch;patch=1 \
+ file://no-moc.patch;patch=1"
+
+SECTION = "opie/base"
+include qte_${PV}-snapshot.bb
+
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/qte-2.3.8-snapshot"
+
+DESCRIPTION = "Qt/Embedded for Qtopia version ${PV}"
+
+SRC_URI_append = " file://qtopia.patch;patch=1 \
+ file://qconfig-qpe.h \
+ file://sharp_char.h \
+ file://switches.h "
+
+# file://devfs.patch;patch=1 \
+SECTION = "opie/base"
+include qte_${PV}.bb
+
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/qte-${PV}"
+
+DESCRIPTION = "Qt/Embedded w/ Opie Patches version ${PV}"
+
+SRC_URI_append = "file://opie.patch;patch=1 \
+ file://lefthand.patch;patch=1 \
+ file://qiconview-speed.patch;patch=1 "
+
+EXTRA_OECONF = "-system-jpeg -system-libpng -system-zlib -qvfb -no-xft -no-vnc -gif \
+ -xplatform ${TARGET_OS}-${QTE_ARCH}-g++ ${EXTRA_OECONF_CONFIG}"
+SECTION = "console/utils"
+include sed_${PV}.bb
+inherit native
+SECTION = "base"
+include sgml-common_${PV}.bb
+inherit native
+
+DEPENDS = "patcher-native"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/sgml-common-${PV}"
+S = "${WORKDIR}/sgml-common-${PV}"
+PACKAGES = ""
+
+do_stage () {
+ install -m 0755 bin/install-catalog ${STAGING_BINDIR}/
+ install -m 0755 bin/sgmlwhich ${STAGING_BINDIR}/
+ install -d ${STAGING_DIR}/etc
+ install -m 0644 config/sgml.conf ${STAGING_DIR}/etc/
+ install -d ${STAGING_DATADIR}/sgml
+ install -m 0644 xml.dcl ${STAGING_DATADIR}/sgml/
+ install -d ${STAGING_DATADIR}/xml/xml-iso-entities-8879.1986
+ install -m 0644 xml-iso-entities/catalog ${STAGING_DATADIR}/xml/xml-iso-entities-8879.1986/
+ install -m 0644 xml-iso-entities/*.ent ${STAGING_DATADIR}/xml/xml-iso-entities-8879.1986/
+ install -d ${STAGING_DATADIR}/sgml/sgml-iso-entities-8879.1986
+ install -m 0644 sgml-iso-entities/catalog ${STAGING_DATADIR}/sgml/sgml-iso-entities-8879.1986/
+ install -m 0644 sgml-iso-entities/*.ent ${STAGING_DATADIR}/sgml/sgml-iso-entities-8879.1986/
+}
+
+do_install () {
+ :
+}
+SECTION = "unknown"
+include slugimage.bb
+inherit native
+
+FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/slugimage-${PV}', '${FILE_DIRNAME}/slugimage', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
+PACKAGES = ""
+
+do_stage () {
+ install -m 0755 slugimage/slugimage ${STAGING_BINDIR}/
+}
+SECTION = "unknown"
+include slugtool.bb
+inherit native
+
+FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/slugtool-${PV}', '${FILE_DIRNAME}/slugtool', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
+PACKAGES = ""
+
+do_stage () {
+ install -m 0755 slugtool ${STAGING_BINDIR}/
+}
+SECTION = "base"
+PN_BASE = "squashfs-tools"
+include ${PN_BASE}_${PV}.bb
+inherit native
+
+FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/${PN_BASE}-${PV}', '${FILE_DIRNAME}/${PN_BASE}', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
+PACKAGES = ""
+
+do_stage () {
+ install -m 0755 mksquashfs ${STAGING_BINDIR}/
+}
+SECTION = "console/utils"
+include stat_${PV}.bb
+inherit native
+S = "${WORKDIR}/stat-${PV}"
+
+do_stage() {
+ install -m 755 stat ${STAGING_BINDIR}
+
+}
+
+do_install() {
+ true
+}
+SECTION = "unknown"
+include swig_${PV}.bb
+inherit native
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/swig-${PV}"
+
+do_stage() {
+ oe_runmake install PREFIX=${STAGING_BINDIR}/..
+}
+SECTION = "base"
+include tar_${PV}.bb
+inherit native
+S = "${WORKDIR}/tar-${PV}"
+
+do_stage() {
+ install -m 755 src/tar ${STAGING_BINDIR}
+}
+
+do_install() {
+ true
+}
+SECTION = "base"
+include uclibc_${PV}.bb
+
+FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/uclibc-${PV}', '${FILE_DIRNAME}/uclibc', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
+
+DEPENDS = "patcher-native linux-libc-headers"
+PROVIDES = "virtual/${TARGET_PREFIX}libc-initial"
+PACKAGES = ""
+
+do_stage() {
+ # Install initial headers into the cross dir
+ make PREFIX= DEVEL_PREFIX=${UCLIBC_PREFIX}/ \
+ RUNTIME_PREFIX=${UCLIBC_PREFIX}/ \
+ pregen install_dev
+
+ mkdir -p ${CROSS_DIR}/${TARGET_SYS}
+ mkdir -p ${CROSS_DIR}/${TARGET_SYS}/include
+ mkdir -p ${CROSS_DIR}/${TARGET_SYS}/lib
+ ln -sf include ${CROSS_DIR}/${TARGET_SYS}/sys-include
+ rm -rf ${CROSS_DIR}/${TARGET_SYS}/${prefix}
+
+ # This conflicts with the c++ version of this header
+ rm -f ${UCLIBC_PREFIX}/include/bits/atomicity.h
+}
+
+do_install() {
+ :
+}
+
+do_compile () {
+ :
+}
+SECTION = "base"
+include uclibc_cvs.bb
+
+FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/uclibc-cvs', '${FILE_DIRNAME}/uclibc', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
+
+DEPENDS = "patcher-native linux-libc-headers"
+PROVIDES = "virtual/${TARGET_PREFIX}libc-initial"
+PACKAGES = ""
+
+do_stage() {
+ # Install initial headers into the cross dir
+ make PREFIX= DEVEL_PREFIX=${UCLIBC_PREFIX}/ \
+ RUNTIME_PREFIX=${UCLIBC_PREFIX}/ \
+ pregen install_dev
+
+ mkdir -p ${CROSS_DIR}/${TARGET_SYS}
+ mkdir -p ${CROSS_DIR}/${TARGET_SYS}/include
+ mkdir -p ${CROSS_DIR}/${TARGET_SYS}/lib
+ ln -sf include ${CROSS_DIR}/${TARGET_SYS}/sys-include
+ rm -rf ${CROSS_DIR}/${TARGET_SYS}/${prefix}
+
+ # This conflicts with the c++ version of this header
+ rm -f ${UCLIBC_PREFIX}/include/bits/atomicity.h
+}
+
+do_install() {
+ :
+}
+
+do_compile () {
+ :
+}
+SECTION = "console/utils"
+inherit native
+include unzip_${PV}.bb
+
+do_stage() {
+ install -d ${STAGING_BINDIR}
+ install unzip ${STAGING_BINDIR}
+}
+SECTION = "console/utils"
+include vim_${PV}.bb
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/vim-${PV}"
+
+EXTRA_OECONF = "--enable-gui=none --disable-gtktest \
+ --disable-xim --with-features=tiny \
+ --disable-gpm --without-x --disable-netbeans \
+ --with-tlib=ncurses"
+
+FILES_${PN} = "${bindir} ${sbindir} ${libexecdir} ${libdir}/lib*.so.* \
+ ${libdir}/*/ ${sysconfdir} ${sharedstatedir} ${localstatedir} \
+ /bin /sbin /lib/*/ /lib/*.so* ${datadir}/vim"
+SECTION = "unknown"
+include wiggle_${PV}.bb
+inherit native
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/wiggle-${PV}"
+SECTION = "x11/base"
+include x11_${PV}.bb
+
+EXTRA_OECONF = "--disable-xcms --disable-xlocale --disable-xkb"
+SECTION = "x11/base"
+include x11_cvs.bb
+
+EXTRA_OECONF = "--disable-xcms --disable-xlocale --disable-xkb"
+SECTION = "x11/base"
+include x11_${PV}.bb
+inherit native
+DEPENDS = "xproto-native xextensions-native xau-native xtrans-native libxdmcp-native"
+PROVIDES = ""
+SECTION = "x11/base"
+include x11_cvs.bb
+inherit native
+DEPENDS = "xproto-native xextensions-native xau-native xtrans-native libxdmcp-native"
+PROVIDES = ""
+SECTION = "x11/base"
+include xau_${PV}.bb
+inherit native
+DEPENDS = "xproto-native"
+PROVIDES = ""
+SECTION = "x11/base"
+include xau_cvs.bb
+inherit native
+DEPENDS = "xproto-native"
+PROVIDES = ""
+SECTION = "x11/libs"
+include libxdmcp_${PV}.bb
+inherit native
+DEPENDS = "xproto-native"
+PROVIDES = ""
+SECTION = "x11/libs"
+include libxdmcp_${PV}.bb
+inherit native
+DEPENDS = "xproto-native"
+PROVIDES = ""
+SECTION = "unknown"
+include xext_${PV}.bb
+inherit native
+DEPENDS = "x11-native xextensions-native"
+SECTION = "unknown"
+include xextensions_${PV}.bb
+inherit native
+PROVIDES = ""
+SECTION = "unknown"
+include xextensions_cvs.bb
+inherit native
+PROVIDES = ""
+SECTION = "unknown"
+include xproto_${PV}.bb
+inherit native
+PROVIDES = ""
+SECTION = "unknown"
+include xproto_cvs.bb
+inherit native
+PROVIDES = ""
+SECTION = "x11/base"
+include xtrans_${PV}.bb
+inherit native
+SECTION = "console/utils"
+inherit native
+include zip_${PV}.bb
+S = "${WORKDIR}/zip-${PV}"
+
+do_stage() {
+ install -d ${STAGING_BINDIR}
+ install zip zipnote zipsplit zipcloak ${STAGING_BINDIR}
+}
+SECTION = "libs"
+include zlib_${PV}.bb
+inherit native
+DEPENDS = "patcher-native"
+SECTION = "libs"
+include zlib_${PV}.bb
+inherit native
+DEPENDS = "patcher-native"