EGLIBC has long had cross testing capability, so use that there are few steps needed on setting up the target as well as the build host. This patch tries to generate a script with all the needed environment on build host system To use this script one needs to setup the target as described in the testing intructions of eglibc and then this script can directly interface to the target and run the tests from eglibc's build directory. To run this script bash <script> username@testing_hostname/ip The output can be dumped into a log file for later viewing and checked for "Error " to see the failed tests Removes INC_PR its not used anywhere (From OE-Core rev: 9244a3b0565fd52d7973fda42a4f706b16240316) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
53 lines
2.3 KiB
PHP
53 lines
2.3 KiB
PHP
require eglibc-common.inc
|
|
require eglibc-ld.inc
|
|
require eglibc-testing.inc
|
|
|
|
STAGINGCC = "gcc-cross-intermediate"
|
|
STAGINGCC_virtclass-nativesdk = "gcc-crosssdk-intermediate"
|
|
PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:"
|
|
|
|
TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR_TCBOOTSTRAP}"
|
|
|
|
# siteconfig.bbclass runs configure which needs a working compiler
|
|
# For the compiler to work we need a working libc yet libc isn't
|
|
# in the sysroots directory at this point. This means the libc.so
|
|
# linker script won't work as the --sysroot setting isn't correct.
|
|
# Here we create a hacked up libc linker script and pass in the right
|
|
# flags to let configure work. Ugly.
|
|
EXTRASITECONFIG = "CFLAGS='${CFLAGS} -Wl,-L${WORKDIR}/site_config_libc -L${WORKDIR}/site_config_libc -L${SYSROOT_DESTDIR}${libdir} -L${SYSROOT_DESTDIR}${base_libdir} -Wl,-L${SYSROOT_DESTDIR}${libdir} -Wl,-L${SYSROOT_DESTDIR}${base_libdir}'"
|
|
siteconfig_do_siteconfig_gencache_prepend = " \
|
|
mkdir -p ${WORKDIR}/site_config_libc; \
|
|
cp ${SYSROOT_DESTDIR}${libdir}/libc.so ${WORKDIR}/site_config_libc; \
|
|
sed -i -e 's# ${base_libdir}# ${SYSROOT_DESTDIR}${base_libdir}#g' -e 's# ${libdir}# ${SYSROOT_DESTDIR}${libdir}#g' ${WORKDIR}/site_config_libc/libc.so; \
|
|
"
|
|
|
|
# nptl needs unwind support in gcc, which can't be built without glibc.
|
|
DEPENDS = "virtual/${TARGET_PREFIX}gcc-intermediate linux-libc-headers"
|
|
# nptl needs libgcc but dlopens it, so our shlibs code doesn't detect this
|
|
#RDEPENDS_${PN} += "${@['','libgcc']['nptl' in '${GLIBC_ADDONS}']}"
|
|
PROVIDES = "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc"
|
|
PROVIDES += "virtual/libintl virtual/libiconv"
|
|
inherit autotools
|
|
require eglibc-options.inc
|
|
|
|
LEAD_SONAME = "libc.so"
|
|
|
|
GLIBC_EXTRA_OECONF ?= ""
|
|
GLIBC_EXTRA_OECONF_virtclass-nativesdk = ""
|
|
INHIBIT_DEFAULT_DEPS = "1"
|
|
|
|
ARM_INSTRUCTION_SET = "arm"
|
|
|
|
# eglibc uses PARALLELMFLAGS variable to pass parallel build info so transfer
|
|
# PARALLEL_MAKE into PARALLELMFLAGS and empty out PARALLEL_MAKE
|
|
EGLIBCPARALLELISM := "PARALLELMFLAGS="${PARALLEL_MAKE}""
|
|
EXTRA_OEMAKE[vardepsexclude] += "EGLIBCPARALLELISM"
|
|
EXTRA_OEMAKE += ${EGLIBCPARALLELISM}
|
|
PARALLEL_MAKE = ""
|
|
|
|
OE_FEATURES = "${@features_to_eglibc_settings(d)}"
|
|
do_configure_prepend() {
|
|
sed -e "s#@BASH@#/bin/sh#" -i ${S}/elf/ldd.bash.in
|
|
echo '${OE_FEATURES}' > ${B}/option-groups.config
|
|
}
|