aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/gcc/gcc-runtime.inc
AgeCommit message (Collapse)Author
2017-03-10gcc-runtime: Enable libmpx for x86-64Mikko Ylinen
Intel MPX was recently enabled on x86 (_append_x86) but that didn't enable it on x86-64. Explicitly enable libmpx on x86-64 too. Signed-off-by: Mikko Ylinen <mikko.ylinen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-03-08gcc-runtime: Fix QA issueMartin Jansa
ERROR: gcc-runtime-6.3.0-r0 do_package: QA Issue: gcc-runtime: Files/directories were installed but not shipped in any package: /usr/lib/libmpxwrappers.la Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install. gcc-runtime: 1 installed and not shipped files. [installed-vs-shipped] Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-04gcc-runtime: Add libmpx supprt for x86Richard Purdie
Enabling building the Intel Memory Protection Extension library for x86. Leave this disabled in musl builds as it doesn't build there yet. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
#!/usr/bin/env python3
#
# Collects the recorded SRCREV values from buildhistory and reports on them
#
# Copyright 2013 Intel Corporation
# Authored-by:  Paul Eggleton <paul.eggleton@intel.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# 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; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

import collections
import os
import sys
import optparse
import logging

def logger_create():
    logger = logging.getLogger("buildhistory")
    loggerhandler = logging.StreamHandler()
    loggerhandler.setFormatter(logging.Formatter("%(levelname)s: %(message)s"))
    logger.addHandler(loggerhandler)
    logger.setLevel(logging.INFO)
    return logger

logger = logger_create()

def main():
    parser = optparse.OptionParser(
        description = "Collects the recorded SRCREV values from buildhistory and reports on them.",
        usage = """
    %prog [options]""")

    parser.add_option("-a", "--report-all",
            help = "Report all SRCREV values, not just ones where AUTOREV has been used",
            action="store_true", dest="reportall")
    parser.add_option("-f", "--forcevariable",
            help = "Use forcevariable override for all output lines",
            action="store_true", dest="forcevariable")
    parser.add_option("-p", "--buildhistory-dir",
            help = "Specify path to buildhistory directory (defaults to buildhistory/ under cwd)",
            action="store", dest="buildhistory_dir", default='buildhistory/')

    options, args = parser.parse_args(sys.argv)

    if len(args) > 1:
        sys.stderr.write('Invalid argument(s) specified: %s\n\n' % ' '.join(args[1:]))
        parser.print_help()
        sys.exit(1)

    if not os.path.exists(options.buildhistory_dir):
        sys.stderr.write('Buildhistory directory "%s" does not exist\n\n' % options.buildhistory_dir)
        parser.print_help()
        sys.exit(1)

    if options.forcevariable:
        forcevariable = '_forcevariable'
    else:
        forcevariable = ''

    all_srcrevs = collections.defaultdict(list)
    for root, dirs, files in os.walk(options.buildhistory_dir):
        if '.git' in dirs:
            dirs.remove('.git')
        for fn in files:
            if fn == 'latest_srcrev':
                curdir = os.path.basename(os.path.dirname(root))
                fullpath = os.path.join(root, fn)
                pn = os.path.basename(root)
                srcrev = None
                orig_srcrev = None
                orig_srcrevs = {}
                srcrevs = {}
                with open(fullpath) as f:
                    for line in f:
                        if '=' in line:
                            splitval = line.split('=')
                            value = splitval[1].strip('" \t\n\r')
                        if line.startswith('# SRCREV = '):
                            orig_srcrev = value
                        elif line.startswith('# SRCREV_'):
                            splitval = line.split('=')
                            name = splitval[0].split('_')[1].strip()
                            orig_srcrevs[name] = value
                        elif line.startswith('SRCREV ='):
                            srcrev = value
                        elif line.startswith('SRCREV_'):
                            name = splitval[0].split('_')[1].strip()
                            srcrevs[name] = value
                if srcrev and (options.reportall or srcrev != orig_srcrev):
                    all_srcrevs[curdir].append((pn, None, srcrev))
                for name, value in srcrevs.items():
                    orig = orig_srcrevs.get(name, orig_srcrev)
                    if options.reportall or value != orig:
                        all_srcrevs[curdir].append((pn, name, value))

    for curdir, srcrevs in sorted(all_srcrevs.items()):
        if srcrevs:
            print('# %s' % curdir)
            for pn, name, srcrev in srcrevs:
                if name:
                    print('SRCREV_%s_pn-%s%s = "%s"' % (name, pn, forcevariable, srcrev))
                else:
                    print('SRCREV_pn-%s%s = "%s"' % (pn, forcevariable, srcrev))


if __name__ == "__main__":
    main()
avatar/94db65f2c36296086fd27b475e175b15?s=13&d=retro' />Peter A. Bigot --enable-libunwind-exceptions was removed from gcc at release 3.4.3 about ten years ago. Signed-off-by: Peter A. Bigot <pab@pabigot.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> 2014-08-15gcc: recipe whitespace changesPeter A. Bigot Consistent use of whitespace in multi-line assignment, with special focus on OECONF modifications. Quotes on separate lines, four-space indentation, one value per line. Signed-off-by: Peter A. Bigot <pab@pabigot.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> 2014-07-10gcc: Ensure c++ includes are in /usr/include/c++/${BINV}Richard Tollerton It was observed that code using STLport 4.6 fails to compile under the SDK with the following error message: .../includes/cstddef:38:46: fatal error: ../4.7.2/cstddef: No such file or directory STLport 4.6 (screwily) assumes that the C++ system headers live in a gcc-versioned subdirectory, for gcc>=3.0; cf http://sourceforge.net/p/stlport/code/ci/STLport-4.6-patch/tree/stlport/config/stl_gcc.h#l269. This assumption is *almost always* valid, because that matches the default setting of --with-gxx-include-dir. We can match that behavior by appending "/${BINV}" to our own --with-gxx-include-dir settings. Natinst-CAR-ID: 446449 Natinst-Reviewboard-ID: 57209 Acked-by: Ken Sharp <ken.sharp@ni.com> Acked-by: Ben Shelton <ben.shelton@ni.com> Signed-off-by: Richard Tollerton <rich.tollerton@ni.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> 2014-04-30gcc: Drop ARCH_FLAGS_FOR_TARGET usageRichard Purdie As far as I can tell this variable is now completely unneeded. It would only ever get used in target builds and these are now correctly done in the target environment namespace, not any of our cross environments. As such, CC and other variables contain the correct compilers and other tune options and these are correctly picked up when building libgcc, libstdc++ and others. I tried to figure out where else these would make any sense and couldn't find anything. Builds appear fine without them so lets drop the complexity including the patch adding in this flag to gcc. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> 2014-04-30binutils/gcc/gdb: Add TARGET_ARCH to PN for all cross recipesRichard Purdie This allows them to co-exist together in the native sysroot, with one set of cross tools per target architecture. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> 2014-04-25gcc: Convert to use hardlinkdirRichard Purdie Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> 2014-03-21gcc-runtime: Build libatomicCosmin Paraschiv GCC 4.8 includes a new runtime library, libatomic, which supports atomic operations not supported by hardware or the OS. Build it, so other packages can link against it, if needed. Signed-off-by: Cosmin Paraschiv <cosmin.paraschiv@freescale.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> 2013-12-05gcc: Allow fortran to build successfully in 4.8Richard Purdie gcc 4.8 fortran presents some challenges: * libquadmath headers need to be in the libexec include dir. It turns out to be easiest just to manually do this. * libgfortran configure needs libquadmath to be compiled. This means a separate recipe is needed (the alternative is gross hacks) * the libtool uses to link libgfortran doesn't have our improved rpath handling and puts bogus RPATHS into the libraries. We can avoid this by tweaking libtool with sed. This patch resolves those issues. Any user of fortran does need to DEPEND on libgfortran in order to trigger it to build but this shouldn't be a major issue. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> 2013-09-06gcc-runtime: Add packaging for libgfortran (and also tweak others)Richard Purdie Add packaging for libgfortran and libquadmath as well as tweak the packaging for libmudflap since it was broken. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> 2013-08-22gcc-*-runtime.inc: Fold configuration into gcc-runtime.incRichard Purdie Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>