* [PATCH 1/3] dejagnu: Add recipe @ 2013-09-06 13:38 Mihaela Sendrea 2013-09-06 13:38 ` [PATCH 2/3] expect: " Mihaela Sendrea 2013-09-06 13:38 ` [PATCH 3/3] gcc-runtime: Add ptest Mihaela Sendrea 0 siblings, 2 replies; 5+ messages in thread From: Mihaela Sendrea @ 2013-09-06 13:38 UTC (permalink / raw) To: openembedded-core Nedeed for gcc-runtime tests. Signed-off-by: Mihaela Sendrea <mihaela.sendrea@enea.com> --- .../dejagnu-1.5/remove-expect-tcl-dependency.patch | 34 ++++++++++++++++++++ meta/recipes-devtools/dejagnu/dejagnu_1.5.bb | 19 +++++++++++ 2 files changed, 53 insertions(+) create mode 100644 meta/recipes-devtools/dejagnu/dejagnu-1.5/remove-expect-tcl-dependency.patch create mode 100644 meta/recipes-devtools/dejagnu/dejagnu_1.5.bb diff --git a/meta/recipes-devtools/dejagnu/dejagnu-1.5/remove-expect-tcl-dependency.patch b/meta/recipes-devtools/dejagnu/dejagnu-1.5/remove-expect-tcl-dependency.patch new file mode 100644 index 0000000..9e5471a --- /dev/null +++ b/meta/recipes-devtools/dejagnu/dejagnu-1.5/remove-expect-tcl-dependency.patch @@ -0,0 +1,34 @@ +Remove the build dependency on expect and tcl + +Upstream-Status: Pending + +Signed-off-by: Anders Roxell <anders.roxell@enea.com> +--- +diff -uNr a/configure.ac b/configure.ac +--- a/configure.ac 2013-01-17 16:05:13.715074360 +0100 ++++ b/configure.ac 2013-01-17 16:25:48.678029417 +0100 +@@ -37,24 +37,5 @@ + AC_PATH_PROG([DOCBOOK2PS], [docbook2ps], [false]) + AC_PATH_PROG([DOCBOOK2TEXI], [docbook2x-texi], [false]) + +-dnl Search for expect. +-AC_PATH_PROG([EXPECT], [expect]) +-if test -z $ac_cv_path_EXPECT ; then +- AC_MSG_ERROR([unable to locate expect]) +-fi +- +-dnl Check the Tcl version is >= 8.3. +-AC_MSG_CHECKING([Tcl version 8.3 or greater]) +-AC_CACHE_VAL(ac_cv_dg_tcl_modern,[ +- ac_cv_dg_tcl_modern=`$EXPECT << EOF +-if @<:@ expr \\${tcl_version} >= 8.3 @:>@ then { puts yes } else { puts no } +-EOF` +-]) +-if test x${ac_cv_dg_tcl_modern} = xyes ; then +- AC_MSG_RESULT(${ac_cv_dg_tcl_modern}) +-else +- AC_MSG_ERROR([Tcl 8.3 or greater is required]) +-fi +- + AC_CONFIG_SUBDIRS([example/calc example/hello example/mathhelper]) + AC_OUTPUT([Makefile]) diff --git a/meta/recipes-devtools/dejagnu/dejagnu_1.5.bb b/meta/recipes-devtools/dejagnu/dejagnu_1.5.bb new file mode 100644 index 0000000..d70d4c3 --- /dev/null +++ b/meta/recipes-devtools/dejagnu/dejagnu_1.5.bb @@ -0,0 +1,19 @@ +DESCRIPTION = "dejagnu tests tool." +HOMEPAGE = "http://www.gnu.org/software/dejagnu/" +LICENSE="GPLv3+" +SECTION = "devel" + +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" +PR = "r1" + +RDEPENDS_${PN} = "expect" + +SRC_URI = "${GNU_MIRROR}/dejagnu/dejagnu-${PV}.tar.gz \ + file://remove-expect-tcl-dependency.patch \ + " + +SRC_URI[md5sum] = "3df1cbca885e751e22d3ebd1ac64dc3c" +SRC_URI[sha256sum] = "c8b45808357a6f3e32cd56d8b56a4fdf8a1d5f3818818045c2022993e0e8a3db" + +inherit autotools + -- 1.7.10.4 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/3] expect: Add recipe 2013-09-06 13:38 [PATCH 1/3] dejagnu: Add recipe Mihaela Sendrea @ 2013-09-06 13:38 ` Mihaela Sendrea 2013-09-06 13:38 ` [PATCH 3/3] gcc-runtime: Add ptest Mihaela Sendrea 1 sibling, 0 replies; 5+ messages in thread From: Mihaela Sendrea @ 2013-09-06 13:38 UTC (permalink / raw) To: openembedded-core Nedeed for gcc-runtime tests. Signed-off-by: Mihaela Sendrea <mihaela.sendrea@enea.com> --- .../expect/expect/0001-configure.in.patch | 108 ++++++++++++++++++++ .../expect/expect/0002-tcl.m4.patch | 17 +++ meta/recipes-devtools/expect/expect_5.45.bb | 53 ++++++++++ 3 files changed, 178 insertions(+) create mode 100644 meta/recipes-devtools/expect/expect/0001-configure.in.patch create mode 100644 meta/recipes-devtools/expect/expect/0002-tcl.m4.patch create mode 100644 meta/recipes-devtools/expect/expect_5.45.bb diff --git a/meta/recipes-devtools/expect/expect/0001-configure.in.patch b/meta/recipes-devtools/expect/expect/0001-configure.in.patch new file mode 100644 index 0000000..7595a25 --- /dev/null +++ b/meta/recipes-devtools/expect/expect/0001-configure.in.patch @@ -0,0 +1,108 @@ +Allow cross compiling. + +Signed-off-by: Anders Roxell <anders.roxell@enea.com> +Upstream-Status: Pending +--- +diff -uNr a/configure.in b/configure.in +--- a/configure.in 2012-12-14 15:31:32.623180450 +0100 ++++ b/configure.in 2012-12-14 15:53:34.518233519 +0100 +@@ -481,7 +481,7 @@ + , + AC_MSG_RESULT(no) + , +- AC_MSG_ERROR([Expect can't be cross compiled]) ++ AC_MSG_RESULT(no) + ) + + AC_MSG_CHECKING([if any value exists for WNOHANG]) +@@ -506,7 +506,9 @@ + AC_MSG_RESULT(no) + AC_DEFINE(WNOHANG_BACKUP_VALUE, 1) + , +- AC_MSG_ERROR([Expect can't be cross compiled]) ++ AC_MSG_RESULT(yes) ++ AC_DEFINE_UNQUOTED(WNOHANG_BACKUP_VALUE, `cat wnohang`) ++ rm -f wnohang + ) + + # +@@ -574,7 +576,8 @@ + AC_DEFINE(REARM_SIG) + , + AC_MSG_RESULT(no) +-, AC_MSG_WARN([Expect can't be cross compiled]) ++, ++ AC_MSG_RESULT(no) + ) + + # HPUX7 has trouble with the big cat so split it +@@ -725,7 +728,9 @@ + , + AC_MSG_RESULT(no) + , +- AC_MSG_ERROR([Expect can't be cross compiled]) ++ AC_MSG_RESULT(yes) ++ AC_DEFINE(HAVE_SGTTYB) ++ PTY_TYPE=sgttyb + ) + + # mach systems have include files for unimplemented features +@@ -749,7 +754,9 @@ + , + AC_MSG_RESULT(no) + , +- AC_MSG_ERROR([Expect can't be cross compiled]) ++ AC_DEFINE(HAVE_TERMIO) ++ PTY_TYPE=termios ++ AC_MSG_RESULT(yes) + ) + + # now check for the new style ttys (not yet posix) +@@ -771,7 +778,9 @@ + , + AC_MSG_RESULT(no) + , +- AC_MSG_ERROR([Expect can't be cross compiled]) ++ AC_DEFINE(HAVE_TERMIOS) ++ PTY_TYPE=termios ++ AC_MSG_RESULT(yes) + ) + fi + +@@ -794,7 +803,7 @@ + , + AC_MSG_RESULT(no) + , +- AC_MSG_ERROR([Expect can't be cross compiled]) ++ AC_MSG_RESULT(no) + ) + + AC_MSG_CHECKING([if TIOCGWINSZ in termios.h]) +@@ -816,7 +825,7 @@ + , + AC_MSG_RESULT(no) + , +- AC_MSG_ERROR([Expect can't be cross compiled]) ++ AC_MSG_RESULT(no) + ) + + # finally check for Cray style ttys +@@ -837,7 +846,7 @@ + , + AC_MSG_RESULT(no) + , +- AC_MSG_ERROR([Expect can't be cross compiled]) ++ AC_MSG_RESULT(no) + ) + + # +@@ -889,7 +898,8 @@ + AC_MSG_RESULT(yes), + AC_MSG_RESULT(no) + , +- AC_MSG_ERROR([Expect can't be cross compiled]) ++ AC_DEFINE(HAVE_SV_TIMEZONE) ++ AC_MSG_RESULT(yes), + ) + + diff --git a/meta/recipes-devtools/expect/expect/0002-tcl.m4.patch b/meta/recipes-devtools/expect/expect/0002-tcl.m4.patch new file mode 100644 index 0000000..dc4c6ba --- /dev/null +++ b/meta/recipes-devtools/expect/expect/0002-tcl.m4.patch @@ -0,0 +1,17 @@ +Use proper -L path when cross compiling. + +Signed-off-by: Anders Roxell <anders.roxell@enea.com> +Upstream-Status: Pending +--- +diff -uNr a/tclconfig/tcl.m4 b/tclconfig/tcl.m4 +--- a/tclconfig/tcl.m4 2012-12-14 09:16:58.789861281 +0100 ++++ b/tclconfig/tcl.m4 2012-12-14 10:55:43.542297010 +0100 +@@ -371,7 +371,7 @@ + # of TCL_BUILD_LIB_SPEC. An extension should make use of TCL_LIB_SPEC + # instead of TCL_BUILD_LIB_SPEC since it will work with both an + # installed and uninstalled version of Tcl. +- if test -f "${TCL_BIN_DIR}/Makefile" ; then ++ if test -f "${TCL_BIN_DIR}/Makefile" || test "$cross_compiling" = yes; then + TCL_LIB_SPEC="${TCL_BUILD_LIB_SPEC}" + TCL_STUB_LIB_SPEC="${TCL_BUILD_STUB_LIB_SPEC}" + TCL_STUB_LIB_PATH="${TCL_BUILD_STUB_LIB_PATH}" diff --git a/meta/recipes-devtools/expect/expect_5.45.bb b/meta/recipes-devtools/expect/expect_5.45.bb new file mode 100644 index 0000000..d7c0772 --- /dev/null +++ b/meta/recipes-devtools/expect/expect_5.45.bb @@ -0,0 +1,53 @@ +DESCRIPTION = "expect." +HOMEPAGE = " http://expect.nist.gov" +LICENSE="GPLv3+" +SECTION = "devel" + +LIC_FILES_CHKSUM = "file://README;md5=2862a5993e5f43b368a49cfaad5bead6" +PR = "r1" +DEPENDS = "tcl" +RDEPENDS_${PN} = "tcl" +ALLOW_EMPTY_${PN} = "1" + +FILESEXTRAPATHS_prepend := "${THISDIR}/expect:" + +S = "${WORKDIR}/${BPN}${PV}" + +SRC_URI = "${SOURCEFORGE_MIRROR}/expect/Expect/5.45/expect5.45.tar.gz \ + file://0001-configure.in.patch \ + file://0002-tcl.m4.patch \ + " +EXTRA_OECONF += "--includedir=${STAGING_INCDIR} \ + --with-tcl=${STAGING_LIBDIR} \ + --with-tclinclude=${STAGING_INCDIR} \ + --enable-shared \ + --enable-threads \ + --disable-rpath \ + " +EXTRA_OEMAKE_install = " 'SCRIPTS=' " +FILES_${PN}-dbg += "${libdir}/expect5.45/.debug \ + ${libdir}/.debug \ + " +FILES_${PN}-dev = "${libdir_native}/expect${PV}/libexpect*.so \ + ${STAGING_INCDIR}/expect.h \ + ${STAGING_INCDIR}/expect_tcl.h \ + ${STAGING_INCDIR}/expect_comm.h \ + ${STAGING_INCDIR}/tcldbg.h \ + ${includedir}/*.h \ + " + +FILES_${PN} += "${libdir}/libexpect${PV}.so \ + ${libdir}/expect${PV}/* \ + " + +inherit autotools + +do_install_append() { + install -m 0755 ${D}${libdir}/expect${PV}/libexpect*.so ${D}${libdir}/ + install -m 0755 ${S}/fixline1 ${D}${libdir_native}/expect${PV}/ + install -m 0755 ${S}/example/* ${D}${libdir_native}/expect${PV}/ + rm ${D}${libdir}/expect${PV}/libexpect*.so +} + +SRC_URI[md5sum] = "44e1a4f4c877e9ddc5a542dfa7ecc92b" +SRC_URI[sha256sum] = "b28dca90428a3b30e650525cdc16255d76bb6ccd65d448be53e620d95d5cc040" -- 1.7.10.4 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 3/3] gcc-runtime: Add ptest 2013-09-06 13:38 [PATCH 1/3] dejagnu: Add recipe Mihaela Sendrea 2013-09-06 13:38 ` [PATCH 2/3] expect: " Mihaela Sendrea @ 2013-09-06 13:38 ` Mihaela Sendrea 2013-09-06 14:34 ` Richard Purdie 2013-09-06 18:22 ` Saul Wold 1 sibling, 2 replies; 5+ messages in thread From: Mihaela Sendrea @ 2013-09-06 13:38 UTC (permalink / raw) To: openembedded-core libstdc++-v3 tests need g++ installed on the target, otherwise the majority of the tests will fail. The v3-build_support (initial support for objects needed for the test suite) is built separately at build time, to be able to still run and see the testcases and their output: PASS/FAIL/SKIP. Signed-off-by: Mihaela Sendrea <mihaela.sendrea@enea.com> --- meta/recipes-devtools/gcc/gcc-4.8.inc | 2 + .../gcc-4.8/add-install-ptest-to-Makefile.patch | 162 ++++++++++++++++++++ meta/recipes-devtools/gcc/gcc-4.8/run-ptest | 3 + meta/recipes-devtools/gcc/gcc-common.inc | 2 +- meta/recipes-devtools/gcc/gcc-runtime.inc | 21 ++- 5 files changed, 188 insertions(+), 2 deletions(-) create mode 100644 meta/recipes-devtools/gcc/gcc-4.8/add-install-ptest-to-Makefile.patch create mode 100644 meta/recipes-devtools/gcc/gcc-4.8/run-ptest diff --git a/meta/recipes-devtools/gcc/gcc-4.8.inc b/meta/recipes-devtools/gcc/gcc-4.8.inc index 0fbbc1d..9632e6f 100644 --- a/meta/recipes-devtools/gcc/gcc-4.8.inc +++ b/meta/recipes-devtools/gcc/gcc-4.8.inc @@ -75,6 +75,8 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \ file://0043-cpp.patch \ file://0044-gengtypes.patch \ file://0045-gcc-4.8-PR57717-PowerPC-E500v2.patch \ + file://add-install-ptest-to-Makefile.patch \ + file://run-ptest \ " SRC_URI[md5sum] = "3b2386c114cd74185aa3754b58a79304" SRC_URI[sha256sum] = "545b44be3ad9f2c4e90e6880f5c9d4f0a8f0e5f67e1ffb0d45da9fa01bb05813" diff --git a/meta/recipes-devtools/gcc/gcc-4.8/add-install-ptest-to-Makefile.patch b/meta/recipes-devtools/gcc/gcc-4.8/add-install-ptest-to-Makefile.patch new file mode 100644 index 0000000..3dedde5 --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-4.8/add-install-ptest-to-Makefile.patch @@ -0,0 +1,162 @@ +Add 'install-ptest' rule. + +Signed-off-by: Mihaela Sendrea <mihaela.sendrea@enea.com> +Upstream-status: Pending +--- +diff -uNr a/libstdc++-v3/Makefile.in b/libstdc++-v3/Makefile.in +--- a/libstdc++-v3/Makefile.in 2013-07-01 13:01:43.659958328 +0200 ++++ b/libstdc++-v3/Makefile.in 2013-08-23 13:22:41.962029555 +0200 +@@ -710,6 +710,26 @@ + dvi: + install-dvi: + ++spath=$(subst /,\/,$(SOURCE_DIR)) ++bpath=$(subst /,\/,$(BUILD_DIR)) ++rpath=$(subst /,\/,$(REPLACE_DIR)) ++install-ptest: ++ mkdir -p $(DEST_DIR)/gcc/testsuite ++ mkdir -p $(DEST_DIR)/libstdc++-v3 ++ mkdir -p $(DEST_DIR)/contrib ++ cp -r $(SOURCE_DIR)/libstdc++-v3/testsuite $(DEST_DIR)/libstdc++-v3 ++ cp $(SOURCE_DIR)/contrib/dg-extract-results.sh $(DEST_DIR)/contrib ++ cp $(SOURCE_DIR)/gcc/BASE-VER $(DEST_DIR)/gcc ++ cp -r $(SOURCE_DIR)/gcc/testsuite/lib $(DEST_DIR)/gcc/testsuite ++ cp -r $(SOURCE_DIR)/libstdc++-v3/scripts $(DEST_DIR)/libstdc++-v3 ++ cp $(BUILD_DIR)/libstdc++-v3/scripts/* $(DEST_DIR)/libstdc++-v3/scripts ++ cp $(BUILD_DIR)/libstdc++-v3/testsuite/Makefile $(DEST_DIR)/libstdc++-v3/testsuite ++ cp $(BUILD_DIR)/libstdc++-v3/Makefile $(DEST_DIR)/libstdc++-v3 ++ sed -i -e 's|^Makefile:|_Makefile:|' $(DEST_DIR)/libstdc++-v3/testsuite/Makefile ++ sed -i -e "s/$(spath)/$(rpath)/g" -e "s/$(bpath)/$(rpath)/g" $(DEST_DIR)/libstdc++-v3/testsuite/Makefile ++ sed -i -e "s/$(spath)/$(rpath)/g" -e "s/$(bpath)/$(rpath)/g" $(DEST_DIR)/libstdc++-v3/Makefile ++ sed -i -e 's/RUNTESTDEFAULTFLAGS.=/RUNTESTDEFAULTFLAGS =-a/g' ${DEST_DIR}/libstdc++-v3/testsuite/Makefile ++ + # All the machinations with string instantiations messes up the + # automake-generated TAGS rule. Make a simple one here. + TAGS: tags-recursive $(LISP) +diff -uNr a/libstdc++-v3/testsuite/Makefile.in b/libstdc++-v3/testsuite/Makefile.in +--- a/libstdc++-v3/testsuite/Makefile.in 2013-07-05 16:06:08.995480821 +0200 ++++ b/libstdc++-v3/testsuite/Makefile.in 2013-08-26 08:50:04.698546942 +0200 +@@ -478,6 +478,8 @@ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am + ++buildtest-TESTS: ++ -@runtest $(AM_RUNTESTFLAGS) --tool libstdc++ $(RUNTESTFLAGS) buildtest.exp + + # This rule generates all of the testsuite_files* lists at once. + ${lists_of_files}: +@@ -545,7 +547,7 @@ + + # Run the testsuite in normal mode. + check-DEJAGNU $(check_DEJAGNU_normal_targets): check-DEJAGNU%: site.exp +- AR="$(AR)"; export AR; \ ++ -@(AR="$(AR)"; export AR; \ + RANLIB="$(RANLIB)"; export RANLIB; \ + if [ -z "$*$(filter-out --target_board=%, $(RUNTESTFLAGS))" ] \ + && [ "$(filter -j, $(MFLAGS))" = "-j" ]; then \ +@@ -563,6 +565,7 @@ + exit 0; \ + fi; \ + srcdir=`$(am__cd) $(srcdir) && pwd`; export srcdir; \ ++ $(SHELL) command -v g++ >/dev/null 2>&1 || echo "g++ is not installed on your system! Please note that most of the tests need g++."; \ + EXPECT=$(EXPECT); export EXPECT; \ + runtest=$(RUNTEST); \ + if [ -z "$$runtest" ]; then runtest=runtest; fi; \ +@@ -606,7 +609,7 @@ + $(RUNTESTFLAGS); \ + fi; \ + else echo "WARNING: could not find \`runtest'" 1>&2; :;\ +- fi ++ fi) + + check-am: + $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU +diff -uNr a/libstdc++-v3/testsuite/buildtest.exp b/libstdc++-v3/testsuite/buildtest.exp +--- a/libstdc++-v3/testsuite/buildtest.exp 1970-01-01 01:00:00.000000000 +0100 ++++ b/libstdc++-v3/testsuite/buildtest.exp 2013-08-14 09:25:57.773587133 +0200 +@@ -0,0 +1,33 @@ ++# Copyright (C) 2013 Free Software Foundation, Inc. ++# ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 3 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; see the file COPYING3. If not see ++# <http://www.gnu.org/licenses/>. ++ ++# If there is no baseline file, or we can't find the library, skip ++# this test. Or, hey, if we don't support this kind of symbol ++# versioning test: don't run it. ++ ++ ++set baseline_subdir "[eval exec $cxx $baseline_subdir_switch]" ++ ++# Build the support objects. ++v3-build_support ++ ++# Build the abi_check program. ++if { [v3_target_compile "$srcdir/util/testsuite_abi_check.cc" "abi_check" \ ++ "executable" [list "additional_flags=-w"]] != "" } { ++ error "could not compile testsuite_abi_check.cc" ++} ++ ++ +diff -uNr a/libstdc++-v3/testsuite/libstdc++-abi/abi.exp b/libstdc++-v3/testsuite/libstdc++-abi/abi.exp +--- a/libstdc++-v3/testsuite/libstdc++-abi/abi.exp 2013-08-09 10:02:56.769743266 +0200 ++++ b/libstdc++-v3/testsuite/libstdc++-abi/abi.exp 2013-08-14 09:27:15.722299887 +0200 +@@ -24,11 +24,6 @@ + set lib $blddir/src/.libs/libstdc++.so + } + +-set baseline_subdir "[eval exec $cxx $baseline_subdir_switch]" +- +-# Build the support objects. +-v3-build_support +- + if { (${v3-symver} == 0) || ![info exists baseline_dir] \ + || ![file exists $baseline_dir] \ + || ![file exists $lib] } { +@@ -50,12 +45,6 @@ + remote_exec "build" "$objdir/../scripts/extract_symvers" \ + [list $lib "current_symbols.txt"] + +-# Build the abi_check program. +-if { [v3_target_compile "$srcdir/util/testsuite_abi_check.cc" "abi_check" \ +- "executable" [list "additional_flags=-w"]] != "" } { +- error "could not compile testsuite_abi_check.cc" +-} +- + remote_download "target" $baseline_file "baseline_symbols.txt" + remote_download "target" "current_symbols.txt" "current_symbols.txt" + set result [${tool}_load "./abi_check" \ +diff -uNr a/libstdc++-v3/testsuite/libstdc++-dg/conformance.exp b/libstdc++-v3/testsuite/libstdc++-dg/conformance.exp +--- a/libstdc++-v3/testsuite/libstdc++-dg/conformance.exp 2013-08-09 13:06:20.795174486 +0200 ++++ b/libstdc++-v3/testsuite/libstdc++-dg/conformance.exp 2013-08-23 13:25:31.290856664 +0200 +@@ -21,9 +21,6 @@ + # Initialization. + dg-init + +-# Build the support objects. +-v3-build_support +- + set tests [list] + + # If there is a "testsuite_files" file, use it. +diff -uNr a/libstdc++-v3/testsuite/libstdc++-prettyprinters/prettyprinters.exp b/libstdc++-v3/testsuite/libstdc++-prettyprinters/prettyprinters.exp +--- a/libstdc++-v3/testsuite/libstdc++-prettyprinters/prettyprinters.exp 2013-08-09 13:08:17.946244225 +0200 ++++ b/libstdc++-v3/testsuite/libstdc++-prettyprinters/prettyprinters.exp 2013-08-09 13:31:19.812003255 +0200 +@@ -17,7 +17,6 @@ + load_lib gdb-test.exp + + dg-init +-v3-build_support + + global GDB + if ![info exists ::env(GUALITY_GDB_NAME)] { diff --git a/meta/recipes-devtools/gcc/gcc-4.8/run-ptest b/meta/recipes-devtools/gcc/gcc-4.8/run-ptest new file mode 100644 index 0000000..36eccc3 --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-4.8/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh + +make -C libstdc++-v3/testsuite -i check | sed -e 's/ERROR/FAIL/' -e 's/XFAIL/PASS/' -e 's/XPASS/FAIL/' -e 's/UNRESOLVED/SKIP/' -e 's/UNTESTED/SKIP/' -e 's/UNSUPPORTED/SKIP/' diff --git a/meta/recipes-devtools/gcc/gcc-common.inc b/meta/recipes-devtools/gcc/gcc-common.inc index d20be9f..b1d87fb 100644 --- a/meta/recipes-devtools/gcc/gcc-common.inc +++ b/meta/recipes-devtools/gcc/gcc-common.inc @@ -5,7 +5,7 @@ LICENSE = "GPL" NATIVEDEPS = "" -inherit autotools gettext +inherit autotools gettext ptest def get_gcc_fpu_setting(bb, d): if d.getVar('ARMPKGSFX_EABI', True) == "hf" and d.getVar('TRANSLATED_TARGET_ARCH', True) == "arm": diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc index b882889..69a7897 100644 --- a/meta/recipes-devtools/gcc/gcc-runtime.inc +++ b/meta/recipes-devtools/gcc/gcc-runtime.inc @@ -9,7 +9,8 @@ EXTRA_OECONF_PATHS = " \ ARCH_FLAGS_FOR_TARGET += "-isystem${STAGING_INCDIR}" -EXTRA_OECONF += "--disable-libunwind-exceptions" +EXTRA_OECONF += "--disable-libunwind-exceptions \ + ${@base_contains('DISTRO_FEATURES', 'ptest', 1, 0, d)}" EXTRA_OECONF_append_linuxstdbase = " --enable-clocale=gnu" RUNTIMETARGET = "libssp libstdc++-v3 libgomp" @@ -57,6 +58,23 @@ do_install () { chown -R root:root ${D} } +RDEPENDS_${PN}-ptest = "dejagnu make" + +do_configure_ptest() { + if [ "${PN}" = "${BPN}" ]; then + mkdir -p ${D}${PTEST_PATH} + cp ${S}/../run-ptest ${WORKDIR} + fi +} + +do_compile_ptest() { + oe_runmake -C ${B}/${TARGET_SYS}/libstdc++-v3/testsuite buildtest-TESTS +} + +do_install_ptest() { + oe_runmake -C ${B}/${TARGET_SYS}/libstdc++-v3 install-ptest DEST_DIR=${D}${PTEST_PATH} SOURCE_DIR=${S} BUILD_DIR=${B}/${TARGET_SYS} REPLACE_DIR=${PTEST_PATH} +} + INHIBIT_DEFAULT_DEPS = "1" DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++ libgcc" PROVIDES = "virtual/${TARGET_PREFIX}compilerlibs" @@ -81,6 +99,7 @@ PACKAGES = "\ libgomp \ libgomp-dev \ libgomp-staticdev \ + ${@base_contains('DISTRO_FEATURES', 'ptest', '${PN}-ptest', '', d)} \ " # The base package doesn't exist, so we clear the recommends. RRECOMMENDS_${PN}-dbg = "" -- 1.7.10.4 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 3/3] gcc-runtime: Add ptest 2013-09-06 13:38 ` [PATCH 3/3] gcc-runtime: Add ptest Mihaela Sendrea @ 2013-09-06 14:34 ` Richard Purdie 2013-09-06 18:22 ` Saul Wold 1 sibling, 0 replies; 5+ messages in thread From: Richard Purdie @ 2013-09-06 14:34 UTC (permalink / raw) To: Mihaela Sendrea; +Cc: openembedded-core On Fri, 2013-09-06 at 15:38 +0200, Mihaela Sendrea wrote: > libstdc++-v3 tests need g++ installed on the target, otherwise the > majority of the tests will fail. Shouldn't that be listed in RDEPENDS then? I'm guessing the problem is that adds the target gcc into the build and kills performance? :/ Rather tricky :( Cheers, Richard ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 3/3] gcc-runtime: Add ptest 2013-09-06 13:38 ` [PATCH 3/3] gcc-runtime: Add ptest Mihaela Sendrea 2013-09-06 14:34 ` Richard Purdie @ 2013-09-06 18:22 ` Saul Wold 1 sibling, 0 replies; 5+ messages in thread From: Saul Wold @ 2013-09-06 18:22 UTC (permalink / raw) To: Mihaela Sendrea; +Cc: openembedded-core On 09/06/2013 06:38 AM, Mihaela Sendrea wrote: > libstdc++-v3 tests need g++ installed on the target, otherwise the > majority of the tests will fail. > The v3-build_support (initial support for objects needed for the test > suite) is built separately at build time, to be able to still run and > see the testcases and their output: PASS/FAIL/SKIP. > > Signed-off-by: Mihaela Sendrea <mihaela.sendrea@enea.com> > --- > meta/recipes-devtools/gcc/gcc-4.8.inc | 2 + > .../gcc-4.8/add-install-ptest-to-Makefile.patch | 162 ++++++++++++++++++++ > meta/recipes-devtools/gcc/gcc-4.8/run-ptest | 3 + > meta/recipes-devtools/gcc/gcc-common.inc | 2 +- > meta/recipes-devtools/gcc/gcc-runtime.inc | 21 ++- > 5 files changed, 188 insertions(+), 2 deletions(-) > create mode 100644 meta/recipes-devtools/gcc/gcc-4.8/add-install-ptest-to-Makefile.patch > create mode 100644 meta/recipes-devtools/gcc/gcc-4.8/run-ptest > > diff --git a/meta/recipes-devtools/gcc/gcc-4.8.inc b/meta/recipes-devtools/gcc/gcc-4.8.inc > index 0fbbc1d..9632e6f 100644 > --- a/meta/recipes-devtools/gcc/gcc-4.8.inc > +++ b/meta/recipes-devtools/gcc/gcc-4.8.inc > @@ -75,6 +75,8 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \ > file://0043-cpp.patch \ > file://0044-gengtypes.patch \ > file://0045-gcc-4.8-PR57717-PowerPC-E500v2.patch \ > + file://add-install-ptest-to-Makefile.patch \ > + file://run-ptest \ > " > SRC_URI[md5sum] = "3b2386c114cd74185aa3754b58a79304" > SRC_URI[sha256sum] = "545b44be3ad9f2c4e90e6880f5c9d4f0a8f0e5f67e1ffb0d45da9fa01bb05813" > diff --git a/meta/recipes-devtools/gcc/gcc-4.8/add-install-ptest-to-Makefile.patch b/meta/recipes-devtools/gcc/gcc-4.8/add-install-ptest-to-Makefile.patch > new file mode 100644 > index 0000000..3dedde5 > --- /dev/null > +++ b/meta/recipes-devtools/gcc/gcc-4.8/add-install-ptest-to-Makefile.patch > @@ -0,0 +1,162 @@ > +Add 'install-ptest' rule. > + > +Signed-off-by: Mihaela Sendrea <mihaela.sendrea@enea.com> > +Upstream-status: Pending A small nit, status should bu Upstream-Status: Sau! > +--- > +diff -uNr a/libstdc++-v3/Makefile.in b/libstdc++-v3/Makefile.in > +--- a/libstdc++-v3/Makefile.in 2013-07-01 13:01:43.659958328 +0200 > ++++ b/libstdc++-v3/Makefile.in 2013-08-23 13:22:41.962029555 +0200 > +@@ -710,6 +710,26 @@ > + dvi: > + install-dvi: > + > ++spath=$(subst /,\/,$(SOURCE_DIR)) > ++bpath=$(subst /,\/,$(BUILD_DIR)) > ++rpath=$(subst /,\/,$(REPLACE_DIR)) > ++install-ptest: > ++ mkdir -p $(DEST_DIR)/gcc/testsuite > ++ mkdir -p $(DEST_DIR)/libstdc++-v3 > ++ mkdir -p $(DEST_DIR)/contrib > ++ cp -r $(SOURCE_DIR)/libstdc++-v3/testsuite $(DEST_DIR)/libstdc++-v3 > ++ cp $(SOURCE_DIR)/contrib/dg-extract-results.sh $(DEST_DIR)/contrib > ++ cp $(SOURCE_DIR)/gcc/BASE-VER $(DEST_DIR)/gcc > ++ cp -r $(SOURCE_DIR)/gcc/testsuite/lib $(DEST_DIR)/gcc/testsuite > ++ cp -r $(SOURCE_DIR)/libstdc++-v3/scripts $(DEST_DIR)/libstdc++-v3 > ++ cp $(BUILD_DIR)/libstdc++-v3/scripts/* $(DEST_DIR)/libstdc++-v3/scripts > ++ cp $(BUILD_DIR)/libstdc++-v3/testsuite/Makefile $(DEST_DIR)/libstdc++-v3/testsuite > ++ cp $(BUILD_DIR)/libstdc++-v3/Makefile $(DEST_DIR)/libstdc++-v3 > ++ sed -i -e 's|^Makefile:|_Makefile:|' $(DEST_DIR)/libstdc++-v3/testsuite/Makefile > ++ sed -i -e "s/$(spath)/$(rpath)/g" -e "s/$(bpath)/$(rpath)/g" $(DEST_DIR)/libstdc++-v3/testsuite/Makefile > ++ sed -i -e "s/$(spath)/$(rpath)/g" -e "s/$(bpath)/$(rpath)/g" $(DEST_DIR)/libstdc++-v3/Makefile > ++ sed -i -e 's/RUNTESTDEFAULTFLAGS.=/RUNTESTDEFAULTFLAGS =-a/g' ${DEST_DIR}/libstdc++-v3/testsuite/Makefile > ++ > + # All the machinations with string instantiations messes up the > + # automake-generated TAGS rule. Make a simple one here. > + TAGS: tags-recursive $(LISP) > +diff -uNr a/libstdc++-v3/testsuite/Makefile.in b/libstdc++-v3/testsuite/Makefile.in > +--- a/libstdc++-v3/testsuite/Makefile.in 2013-07-05 16:06:08.995480821 +0200 > ++++ b/libstdc++-v3/testsuite/Makefile.in 2013-08-26 08:50:04.698546942 +0200 > +@@ -478,6 +478,8 @@ > + maintainer-clean-generic mostlyclean mostlyclean-generic \ > + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am > + > ++buildtest-TESTS: > ++ -@runtest $(AM_RUNTESTFLAGS) --tool libstdc++ $(RUNTESTFLAGS) buildtest.exp > + > + # This rule generates all of the testsuite_files* lists at once. > + ${lists_of_files}: > +@@ -545,7 +547,7 @@ > + > + # Run the testsuite in normal mode. > + check-DEJAGNU $(check_DEJAGNU_normal_targets): check-DEJAGNU%: site.exp > +- AR="$(AR)"; export AR; \ > ++ -@(AR="$(AR)"; export AR; \ > + RANLIB="$(RANLIB)"; export RANLIB; \ > + if [ -z "$*$(filter-out --target_board=%, $(RUNTESTFLAGS))" ] \ > + && [ "$(filter -j, $(MFLAGS))" = "-j" ]; then \ > +@@ -563,6 +565,7 @@ > + exit 0; \ > + fi; \ > + srcdir=`$(am__cd) $(srcdir) && pwd`; export srcdir; \ > ++ $(SHELL) command -v g++ >/dev/null 2>&1 || echo "g++ is not installed on your system! Please note that most of the tests need g++."; \ > + EXPECT=$(EXPECT); export EXPECT; \ > + runtest=$(RUNTEST); \ > + if [ -z "$$runtest" ]; then runtest=runtest; fi; \ > +@@ -606,7 +609,7 @@ > + $(RUNTESTFLAGS); \ > + fi; \ > + else echo "WARNING: could not find \`runtest'" 1>&2; :;\ > +- fi > ++ fi) > + > + check-am: > + $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU > +diff -uNr a/libstdc++-v3/testsuite/buildtest.exp b/libstdc++-v3/testsuite/buildtest.exp > +--- a/libstdc++-v3/testsuite/buildtest.exp 1970-01-01 01:00:00.000000000 +0100 > ++++ b/libstdc++-v3/testsuite/buildtest.exp 2013-08-14 09:25:57.773587133 +0200 > +@@ -0,0 +1,33 @@ > ++# Copyright (C) 2013 Free Software Foundation, Inc. > ++# > ++# This program is free software; you can redistribute it and/or modify > ++# it under the terms of the GNU General Public License as published by > ++# the Free Software Foundation; either version 3 of the License, or > ++# (at your option) any later version. > ++# > ++# This program is distributed in the hope that it will be useful, > ++# but WITHOUT ANY WARRANTY; without even the implied warranty of > ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > ++# GNU General Public License for more details. > ++# > ++# You should have received a copy of the GNU General Public License > ++# along with this program; see the file COPYING3. If not see > ++# <http://www.gnu.org/licenses/>. > ++ > ++# If there is no baseline file, or we can't find the library, skip > ++# this test. Or, hey, if we don't support this kind of symbol > ++# versioning test: don't run it. > ++ > ++ > ++set baseline_subdir "[eval exec $cxx $baseline_subdir_switch]" > ++ > ++# Build the support objects. > ++v3-build_support > ++ > ++# Build the abi_check program. > ++if { [v3_target_compile "$srcdir/util/testsuite_abi_check.cc" "abi_check" \ > ++ "executable" [list "additional_flags=-w"]] != "" } { > ++ error "could not compile testsuite_abi_check.cc" > ++} > ++ > ++ > +diff -uNr a/libstdc++-v3/testsuite/libstdc++-abi/abi.exp b/libstdc++-v3/testsuite/libstdc++-abi/abi.exp > +--- a/libstdc++-v3/testsuite/libstdc++-abi/abi.exp 2013-08-09 10:02:56.769743266 +0200 > ++++ b/libstdc++-v3/testsuite/libstdc++-abi/abi.exp 2013-08-14 09:27:15.722299887 +0200 > +@@ -24,11 +24,6 @@ > + set lib $blddir/src/.libs/libstdc++.so > + } > + > +-set baseline_subdir "[eval exec $cxx $baseline_subdir_switch]" > +- > +-# Build the support objects. > +-v3-build_support > +- > + if { (${v3-symver} == 0) || ![info exists baseline_dir] \ > + || ![file exists $baseline_dir] \ > + || ![file exists $lib] } { > +@@ -50,12 +45,6 @@ > + remote_exec "build" "$objdir/../scripts/extract_symvers" \ > + [list $lib "current_symbols.txt"] > + > +-# Build the abi_check program. > +-if { [v3_target_compile "$srcdir/util/testsuite_abi_check.cc" "abi_check" \ > +- "executable" [list "additional_flags=-w"]] != "" } { > +- error "could not compile testsuite_abi_check.cc" > +-} > +- > + remote_download "target" $baseline_file "baseline_symbols.txt" > + remote_download "target" "current_symbols.txt" "current_symbols.txt" > + set result [${tool}_load "./abi_check" \ > +diff -uNr a/libstdc++-v3/testsuite/libstdc++-dg/conformance.exp b/libstdc++-v3/testsuite/libstdc++-dg/conformance.exp > +--- a/libstdc++-v3/testsuite/libstdc++-dg/conformance.exp 2013-08-09 13:06:20.795174486 +0200 > ++++ b/libstdc++-v3/testsuite/libstdc++-dg/conformance.exp 2013-08-23 13:25:31.290856664 +0200 > +@@ -21,9 +21,6 @@ > + # Initialization. > + dg-init > + > +-# Build the support objects. > +-v3-build_support > +- > + set tests [list] > + > + # If there is a "testsuite_files" file, use it. > +diff -uNr a/libstdc++-v3/testsuite/libstdc++-prettyprinters/prettyprinters.exp b/libstdc++-v3/testsuite/libstdc++-prettyprinters/prettyprinters.exp > +--- a/libstdc++-v3/testsuite/libstdc++-prettyprinters/prettyprinters.exp 2013-08-09 13:08:17.946244225 +0200 > ++++ b/libstdc++-v3/testsuite/libstdc++-prettyprinters/prettyprinters.exp 2013-08-09 13:31:19.812003255 +0200 > +@@ -17,7 +17,6 @@ > + load_lib gdb-test.exp > + > + dg-init > +-v3-build_support > + > + global GDB > + if ![info exists ::env(GUALITY_GDB_NAME)] { > diff --git a/meta/recipes-devtools/gcc/gcc-4.8/run-ptest b/meta/recipes-devtools/gcc/gcc-4.8/run-ptest > new file mode 100644 > index 0000000..36eccc3 > --- /dev/null > +++ b/meta/recipes-devtools/gcc/gcc-4.8/run-ptest > @@ -0,0 +1,3 @@ > +#!/bin/sh > + > +make -C libstdc++-v3/testsuite -i check | sed -e 's/ERROR/FAIL/' -e 's/XFAIL/PASS/' -e 's/XPASS/FAIL/' -e 's/UNRESOLVED/SKIP/' -e 's/UNTESTED/SKIP/' -e 's/UNSUPPORTED/SKIP/' > diff --git a/meta/recipes-devtools/gcc/gcc-common.inc b/meta/recipes-devtools/gcc/gcc-common.inc > index d20be9f..b1d87fb 100644 > --- a/meta/recipes-devtools/gcc/gcc-common.inc > +++ b/meta/recipes-devtools/gcc/gcc-common.inc > @@ -5,7 +5,7 @@ LICENSE = "GPL" > > NATIVEDEPS = "" > > -inherit autotools gettext > +inherit autotools gettext ptest > > def get_gcc_fpu_setting(bb, d): > if d.getVar('ARMPKGSFX_EABI', True) == "hf" and d.getVar('TRANSLATED_TARGET_ARCH', True) == "arm": > diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc > index b882889..69a7897 100644 > --- a/meta/recipes-devtools/gcc/gcc-runtime.inc > +++ b/meta/recipes-devtools/gcc/gcc-runtime.inc > @@ -9,7 +9,8 @@ EXTRA_OECONF_PATHS = " \ > > ARCH_FLAGS_FOR_TARGET += "-isystem${STAGING_INCDIR}" > > -EXTRA_OECONF += "--disable-libunwind-exceptions" > +EXTRA_OECONF += "--disable-libunwind-exceptions \ > + ${@base_contains('DISTRO_FEATURES', 'ptest', 1, 0, d)}" > EXTRA_OECONF_append_linuxstdbase = " --enable-clocale=gnu" > > RUNTIMETARGET = "libssp libstdc++-v3 libgomp" > @@ -57,6 +58,23 @@ do_install () { > chown -R root:root ${D} > } > > +RDEPENDS_${PN}-ptest = "dejagnu make" > + > +do_configure_ptest() { > + if [ "${PN}" = "${BPN}" ]; then > + mkdir -p ${D}${PTEST_PATH} > + cp ${S}/../run-ptest ${WORKDIR} > + fi > +} > + > +do_compile_ptest() { > + oe_runmake -C ${B}/${TARGET_SYS}/libstdc++-v3/testsuite buildtest-TESTS > +} > + > +do_install_ptest() { > + oe_runmake -C ${B}/${TARGET_SYS}/libstdc++-v3 install-ptest DEST_DIR=${D}${PTEST_PATH} SOURCE_DIR=${S} BUILD_DIR=${B}/${TARGET_SYS} REPLACE_DIR=${PTEST_PATH} > +} > + > INHIBIT_DEFAULT_DEPS = "1" > DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++ libgcc" > PROVIDES = "virtual/${TARGET_PREFIX}compilerlibs" > @@ -81,6 +99,7 @@ PACKAGES = "\ > libgomp \ > libgomp-dev \ > libgomp-staticdev \ > + ${@base_contains('DISTRO_FEATURES', 'ptest', '${PN}-ptest', '', d)} \ > " > # The base package doesn't exist, so we clear the recommends. > RRECOMMENDS_${PN}-dbg = "" > ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2013-09-06 18:23 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-09-06 13:38 [PATCH 1/3] dejagnu: Add recipe Mihaela Sendrea 2013-09-06 13:38 ` [PATCH 2/3] expect: " Mihaela Sendrea 2013-09-06 13:38 ` [PATCH 3/3] gcc-runtime: Add ptest Mihaela Sendrea 2013-09-06 14:34 ` Richard Purdie 2013-09-06 18:22 ` Saul Wold
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox