[oe] [meta-oe][PATCH] abseil-cpp: add recipe for git version

Khem Raj raj.khem at gmail.com
Sun Feb 9 16:56:20 UTC 2020


It also fails to build on musl
https://errors.yoctoproject.org/Errors/Details/390527/

On Sat, Feb 8, 2020 at 11:53 PM Khem Raj <raj.khem at gmail.com> wrote:
>
> On Sat, Feb 8, 2020 at 7:56 PM Sinan Kaya <okaya at kernel.org> wrote:
> >
> > The repository contains the Abseil C++ library code. Abseil is an
> > open-source collection of C++ code (compliant to C++11) designed to
> > augment the C++ standard library.
> >
> > https://github.com/abseil/abseil-cpp
> >
> > Signed-off-by: Changyi Li <Changyu.Li at microsoft.com>
> > Signed-off-by: Sinan Kaya <sinan.kaya at microsoft.com>
> > ---
> >  ...e-maes-option-from-cross-compilation.patch | 53 +++++++++++++++++++
> >  .../abseil-cpp/abseil-cpp_git.bb              | 27 ++++++++++
> >  2 files changed, 80 insertions(+)
> >  create mode 100644 meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Remove-maes-option-from-cross-compilation.patch
> >  create mode 100644 meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
> >
> > diff --git a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Remove-maes-option-from-cross-compilation.patch b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Remove-maes-option-from-cross-compilation.patch
> > new file mode 100644
> > index 0000000000..4c41cd8902
> > --- /dev/null
> > +++ b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Remove-maes-option-from-cross-compilation.patch
> > @@ -0,0 +1,53 @@
> > +From 70926666f7c5c35add363e3bcade6eaabace7206 Mon Sep 17 00:00:00 2001
> > +From: Sinan Kaya <sinan.kaya at microsoft.com>
> > +Date: Mon, 3 Feb 2020 03:25:57 +0000
> > +Subject: [PATCH] Remove maes option from cross-compilation
> > +
> > +---
> > + absl/copts/GENERATED_AbseilCopts.cmake | 4 ----
> > + absl/copts/GENERATED_copts.bzl         | 4 ----
> > + absl/copts/copts.py                    | 4 ----
> > + 3 files changed, 12 deletions(-)
> > +
> > +diff --git a/absl/copts/GENERATED_AbseilCopts.cmake b/absl/copts/GENERATED_AbseilCopts.cmake
> > +index 01bd40b..af99694 100644
> > +--- a/absl/copts/GENERATED_AbseilCopts.cmake
> > ++++ b/absl/copts/GENERATED_AbseilCopts.cmake
> > +@@ -230,7 +230,3 @@ list(APPEND ABSL_RANDOM_HWAES_MSVC_X64_FLAGS
> > +     "/Ob2"
> > + )
> > +
> > +-list(APPEND ABSL_RANDOM_HWAES_X64_FLAGS
> > +-    "-maes"
> > +-    "-msse4.1"
> > +-)
> > +diff --git a/absl/copts/GENERATED_copts.bzl b/absl/copts/GENERATED_copts.bzl
> > +index 82f332f..9a548d1 100644
> > +--- a/absl/copts/GENERATED_copts.bzl
> > ++++ b/absl/copts/GENERATED_copts.bzl
> > +@@ -231,7 +231,3 @@ ABSL_RANDOM_HWAES_MSVC_X64_FLAGS = [
> > +     "/Ob2",
> > + ]
> > +
> > +-ABSL_RANDOM_HWAES_X64_FLAGS = [
> > +-    "-maes",
> > +-    "-msse4.1",
> > +-]
> > +diff --git a/absl/copts/copts.py b/absl/copts/copts.py
> > +index 068abce..c2f70fb 100644
> > +--- a/absl/copts/copts.py
> > ++++ b/absl/copts/copts.py
> > +@@ -203,10 +203,6 @@ COPT_VARS = {
> > +     # to improve performance of some random bit generators.
> > +     "ABSL_RANDOM_HWAES_ARM64_FLAGS": ["-march=armv8-a+crypto"],
> > +     "ABSL_RANDOM_HWAES_ARM32_FLAGS": ["-mfpu=neon"],
> > +-    "ABSL_RANDOM_HWAES_X64_FLAGS": [
> > +-        "-maes",
> > +-        "-msse4.1",
> > +-    ],
> > +     "ABSL_RANDOM_HWAES_MSVC_X64_FLAGS": [
> > +         "/O2",  # Maximize speed
> > +         "/Ob2",  # Aggressive inlining
> > +--
> > +2.23.0
> > +
> > diff --git a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
> > new file mode 100644
> > index 0000000000..c7077c129f
> > --- /dev/null
> > +++ b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
> > @@ -0,0 +1,27 @@
> > +SUMMARY = "Abseil is a cpp library like STL"
> > +DESCRIPTION = "It's got containers, algorithms, useful stuff!"
>
> maybe we can be more specific about it from
> https://github.com/abseil/abseil-cpp/blob/master/README.md
>
> > +HOMEPAGE = ""
>
> perhaps https://abseil.io/ instead of leaving it empty is better.
>
> > +SECTION = "libs"
> > +LICENSE = "Apache-2"
>
> The current value is not wrong but Apache-2.0 would be better to match SPDX
>
> > +LIC_FILES_CHKSUM = "file://LICENSE;md5=df52c6edb7adc22e533b2bacc3bd3915"
> > +
> > +SRCREV = "aa844899c937bde5d2b24f276b59997e5b668bde"
> > +BRANCH = "lts_2019_08_08"
> > +SRC_URI = "git://github.com/abseil/abseil-cpp;branch=${BRANCH}         \
> > +           file://0001-Remove-maes-option-from-cross-compilation.patch \
> > +          "
> > +
> > +S = "${WORKDIR}/git"
> > +
> > +TARGET_CXXFLAGS += "${@bb.utils.contains('TARGET_ARCH', 'aarch64', ' -march=armv8-a+crypto', '', d)}"
> > +TARGET_CXXFLAGS += "${@bb.utils.contains('TARGET_ARCH', 'x64', ' -maes -msse4.1', '', d)}"
> > +
> > +CXXFLAGS_append_class-nativesdk = " -Wl,--no-as-needed -fPIC"
> > +CXXFLAGS_append_class-native = " -Wl,--no-as-needed -fPIC"
>
> perhaps use ASNEEDED_<override> = ""
>
> > +CXXFLAGS_append_class-target = " -fPIC"
> > +
> > +inherit cmake
> > +
> > +BBCLASSEXTEND = "native nativesdk"
> > +ALLOW_EMPTY_${PN} = "1"
>
> why do we need this ?


More information about the Openembedded-devel mailing list