blob: d2f02ad59b61775ca6ad77bbd734715eda730a1f [file] [log] [blame]
Patrick Williamsc124f4f2015-09-15 14:41:29 -05001require glibc-common.inc
2require glibc-ld.inc
Patrick Williamsc124f4f2015-09-15 14:41:29 -05003
Brad Bishop19323692019-04-05 15:28:33 -04004DEPENDS = "virtual/${TARGET_PREFIX}gcc libgcc-initial linux-libc-headers"
Patrick Williamsc124f4f2015-09-15 14:41:29 -05005
Brad Bishop19323692019-04-05 15:28:33 -04006PROVIDES = "virtual/libc"
Patrick Williamsc124f4f2015-09-15 14:41:29 -05007PROVIDES += "virtual/libintl virtual/libiconv"
Andrew Geissler5a43b432020-06-13 10:46:56 -05008inherit autotools texinfo systemd
Patrick Williamsc124f4f2015-09-15 14:41:29 -05009
10LEAD_SONAME = "libc.so"
11
Andrew Geissler82c905d2020-04-13 13:39:40 -050012# msgfmt could come from gettext-native but we don't depend on that and
13# disable for reproducibility
Patrick Williamsc124f4f2015-09-15 14:41:29 -050014CACHED_CONFIGUREVARS += " \
15 ac_cv_path_BASH_SHELL=${base_bindir}/bash \
Andrew Geissler82c905d2020-04-13 13:39:40 -050016 ac_cv_prog_MSGFMT= \
Patrick Williamsc124f4f2015-09-15 14:41:29 -050017 libc_cv_slibdir=${base_libdir} \
18 libc_cv_rootsbindir=${base_sbindir} \
19 libc_cv_localedir=${localedir} \
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050020 libc_cv_ssp_strong=no \
Brad Bishop316dfdd2018-06-25 12:45:53 -040021 libc_cv_ssp_all=no \
Patrick Williamsc124f4f2015-09-15 14:41:29 -050022 libc_cv_ssp=no \
23"
24
Brad Bishop19323692019-04-05 15:28:33 -040025# ifunc doesn't appear to work on mips, casuses libbfd assertion failures
26CACHED_CONFIGUREVARS_append_mipsarch = " libc_cv_ld_gnu_indirect_function=no"
27
Patrick Williamsc124f4f2015-09-15 14:41:29 -050028GLIBC_EXTRA_OECONF ?= ""
29GLIBC_EXTRA_OECONF_class-nativesdk = ""
Patrick Williamsc124f4f2015-09-15 14:41:29 -050030
31# glibc uses PARALLELMFLAGS variable to pass parallel build info so transfer
32# PARALLEL_MAKE into PARALLELMFLAGS and empty out PARALLEL_MAKE
33EGLIBCPARALLELISM := "PARALLELMFLAGS="${PARALLEL_MAKE}""
34EXTRA_OEMAKE[vardepsexclude] += "EGLIBCPARALLELISM"
35EXTRA_OEMAKE += "${EGLIBCPARALLELISM}"
36PARALLEL_MAKE = ""
37
38# glibc make-syscalls.sh has a number of issues with /bin/dash and
39# it's output which make calls via the SHELL also has issues, so
40# ensure make uses /bin/bash
41EXTRA_OEMAKE += "SHELL=/bin/bash"
42
Patrick Williamsc124f4f2015-09-15 14:41:29 -050043do_configure_prepend() {
44 sed -e "s#@BASH@#/bin/sh#" -i ${S}/elf/ldd.bash.in
Patrick Williamsc124f4f2015-09-15 14:41:29 -050045}
46
Brad Bishop37a0e4d2017-12-04 01:01:44 -050047# Enable backtrace from abort()
48do_configure_append_arm () {
49 echo "CFLAGS-abort.c = -fasynchronous-unwind-tables" >> ${B}/configparms
50 echo "CFLAGS-raise.c = -fasynchronous-unwind-tables" >> ${B}/configparms
51}