glibc-sourcery.bb 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. require recipes-core/glibc/glibc.inc
  2. require recipes-external/glibc/glibc-external-version.inc
  3. EXTERNAL_TOOLCHAIN_SYSROOT ?= "${@oe.external.run(d, 'gcc', *(TARGET_CC_ARCH.split() + ['-print-sysroot'])).rstrip()}"
  4. LICENSE = "CLOSED"
  5. LIC_FILES_CHKSUM = ""
  6. EXTERNAL_PV_PREFIX ?= ""
  7. EXTERNAL_PV_SUFFIX ?= ""
  8. PV_prepend = "${@'${EXTERNAL_PV_PREFIX}' if '${EXTERNAL_PV_PREFIX}' else ''}"
  9. PV_append = "${@'${EXTERNAL_PV_SUFFIX}' if '${EXTERNAL_PV_SUFFIX}' else ''}"
  10. SRC_PV = "${@'-'.join('${PV}'.split('-')[:-1])}"
  11. INHIBIT_DEFAULT_DEPS = "1"
  12. DEPENDS = "\
  13. virtual/${TARGET_PREFIX}gcc \
  14. linux-libc-headers \
  15. "
  16. DEPENDS_remove = "libtool-cross make-native"
  17. PROVIDES += "glibc \
  18. virtual/${TARGET_PREFIX}libc-for-gcc \
  19. virtual/${TARGET_PREFIX}libc-initial \
  20. virtual/libc \
  21. virtual/libintl \
  22. virtual/libiconv"
  23. TOOLCHAIN_OPTIONS = ""
  24. SOURCERY_SRC_URI ?= ""
  25. SRC_URI = "${SOURCERY_SRC_URI} \
  26. file://etc/ld.so.conf \
  27. file://generate-supported.mk"
  28. S = "${WORKDIR}/glibc-${SRC_PV}"
  29. B = "${WORKDIR}/build-${TARGET_SYS}"
  30. do_unpack[vardeps] += "unpack_libc"
  31. do_unpack[postfuncs] += "unpack_libc"
  32. unpack_libc () {
  33. rm -rf ${S}
  34. tar jxf */glibc-*.tar.bz2
  35. if tar jxf */glibc_ports-*.tar.bz2 2>/dev/null; then
  36. mv glibc-ports-${SRC_PV}/ ${S}/ports
  37. fi
  38. # Ensure that we can build with make 4.0 even with older glibc
  39. #sed -i -e '/critic_missing make/s/\(\[3\.79\*[^,]*\)\],/[\1 | 4\.0],/' ${S}/configure.in
  40. if [ -e "${S}/configure" ]; then
  41. sed -i -e 's/\(^ *3.79\*[^)]*\))/\1 | 4.0)/' ${S}/configure
  42. fi
  43. }
  44. unpack_libc[dirs] = "${WORKDIR}"
  45. TUNE_CCARGS_mips := "${@oe_filter_out('-march=mips32', '${TUNE_CCARGS}', d)}"
  46. CPPFLAGS[unexport] = "1"
  47. LDFLAGS[unexport] = "1"
  48. BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}"
  49. TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${layout_includedir}"
  50. export libc_cv_slibdir = "${base_libdir}"
  51. EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \
  52. --without-cvs --disable-profile --disable-debug --without-gd \
  53. --enable-clocale=gnu \
  54. --enable-add-ons \
  55. --enable-obsolete-rpc \
  56. --with-headers=${STAGING_INCDIR} \
  57. --without-selinux \
  58. ${GLIBC_EXTRA_OECONF}"
  59. EXTRA_OECONF += "${@get_libc_fpu_setting(bb, d)}"
  60. oe_runmake () {
  61. if [ "$1" = "config" ]; then
  62. return
  63. else
  64. ${MAKE} ${EXTRA_OEMAKE} "$@"
  65. fi
  66. }
  67. do_configure () {
  68. CPPFLAGS="" oe_runconf
  69. }
  70. linux_include_subdirs = "asm asm-generic bits drm linux mtd rdma sound sys video"
  71. do_install_append () {
  72. for dir in ${linux_include_subdirs}; do
  73. rm -rf "${D}${includedir}/$dir"
  74. done
  75. }
  76. require recipes-external/glibc/glibc-sysroot-setup.inc
  77. require recipes-external/glibc/glibc-package-adjusted.inc
  78. python () {
  79. if not d.getVar("EXTERNAL_TOOLCHAIN", True):
  80. raise bb.parse.SkipPackage("External toolchain not configured (EXTERNAL_TOOLCHAIN not set).")
  81. if not d.getVar("SOURCERY_SRC_URI", True):
  82. raise bb.parse.SkipPackage("glibc-sourcery requires that SOURCERY_SRC_URI point to the sourcery source tarball")
  83. }