mirror of
https://git.yoctoproject.org/poky
synced 2026-02-21 17:09:42 +01:00
There is little point in having "crosssdk" suffex added to the virtual provider within gcc/go since the TARGET_PREFIX or SDK_PREFIX already encapsulates this. Remove it allowing some of the special case overriding to be removed. This also allows removal of some of the MLPREFIX usage since again, the triplet also covers this. (From OE-Core rev: fe0206ba482d209b24e636d578aa68ba5e67ba1b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
82 lines
2.9 KiB
BlitzBasic
82 lines
2.9 KiB
BlitzBasic
require binutils.inc
|
|
require binutils-${PV}.inc
|
|
|
|
BPN = "binutils"
|
|
|
|
DEPENDS += "dejagnu-native expect-native"
|
|
DEPENDS += "binutils-native"
|
|
|
|
deltask do_compile
|
|
deltask do_install
|
|
|
|
inherit nopackages
|
|
|
|
do_configure[dirs] += "${B}/ld ${B}/bfd"
|
|
do_configure() {
|
|
# create config.h, oe enables initfini-array by default
|
|
echo "#define HAVE_INITFINI_ARRAY" > ${B}/ld/config.h
|
|
}
|
|
|
|
# target depends
|
|
DEPENDS += "virtual/${TARGET_PREFIX}binutils"
|
|
DEPENDS += "virtual/${TARGET_PREFIX}gcc"
|
|
DEPENDS += "virtual/${MLPREFIX}${TARGET_PREFIX}compilerlibs"
|
|
DEPENDS += "virtual/${MLPREFIX}libc"
|
|
|
|
python check_prepare() {
|
|
def suffix_sys(sys):
|
|
if sys.endswith("-linux"):
|
|
return sys + "-gnu"
|
|
return sys
|
|
|
|
def generate_site_exp(d, suite):
|
|
content = []
|
|
content.append('set srcdir "{0}/{1}"'.format(d.getVar("S"), suite))
|
|
content.append('set objdir "{0}/{1}"'.format(d.getVar("B"), suite))
|
|
content.append('set build_alias "{0}"'.format(d.getVar("BUILD_SYS")))
|
|
content.append('set build_triplet {0}'.format(d.getVar("BUILD_SYS")))
|
|
# use BUILD here since HOST=TARGET
|
|
content.append('set host_alias "{0}"'.format(d.getVar("BUILD_SYS")))
|
|
content.append('set host_triplet {0}'.format(d.getVar("BUILD_SYS")))
|
|
content.append('set target_alias "{0}"'.format(d.getVar("TARGET_SYS")))
|
|
content.append('set target_triplet {0}'.format(suffix_sys(d.getVar("TARGET_SYS"))))
|
|
content.append("set development true")
|
|
content.append("set experimental false")
|
|
|
|
content.append(d.expand('set CXXFILT "${TARGET_PREFIX}c++filt"'))
|
|
content.append(d.expand('set CC "${TARGET_PREFIX}gcc --sysroot=${STAGING_DIR_TARGET} ${TUNE_CCARGS}"'))
|
|
content.append(d.expand('set CXX "${TARGET_PREFIX}g++ --sysroot=${STAGING_DIR_TARGET} ${TUNE_CCARGS}"'))
|
|
content.append(d.expand('set CFLAGS_FOR_TARGET "--sysroot=${STAGING_DIR_TARGET} ${TUNE_CCARGS}"'))
|
|
|
|
if suite == "ld" and d.getVar("TUNE_ARCH") == "mips64":
|
|
# oe patches binutils to have the default mips64 abi as 64bit, but
|
|
# skips gas causing issues with the ld test suite (which uses gas)
|
|
content.append('set ASFLAGS "-64"')
|
|
|
|
return "\n".join(content)
|
|
|
|
for i in ["binutils", "gas", "ld"]:
|
|
builddir = os.path.join(d.getVar("B"), i)
|
|
if not os.path.isdir(builddir):
|
|
os.makedirs(builddir)
|
|
with open(os.path.join(builddir, "site.exp"), "w") as f:
|
|
f.write(generate_site_exp(d, i))
|
|
}
|
|
|
|
CHECK_TARGETS ??= "binutils gas ld"
|
|
|
|
do_check[dirs] = "${B} ${B}/binutils ${B}/gas ${B}/ld"
|
|
do_check[prefuncs] += "check_prepare"
|
|
do_check[nostamp] = "1"
|
|
do_check() {
|
|
export LC_ALL=C
|
|
for i in ${CHECK_TARGETS}; do
|
|
(cd ${B}/$i; runtest \
|
|
--tool $i \
|
|
--srcdir ${S}/$i/testsuite \
|
|
--ignore 'plugin.exp' \
|
|
|| true)
|
|
done
|
|
}
|
|
addtask check after do_configure
|