Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions recipes-sdk/aws-sdk-cpp/aws-sdk-cpp_1.11.793.bb
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,11 @@ SRC_URI = "\
file://ptest_result.py \
"

<<<<<<<< HEAD:recipes-sdk/aws-sdk-cpp/aws-sdk-cpp_1.11.793.bb
SRCREV = "7fe885d2fd5fae774f0e5f0821b76d0faea20c69"
========
SRCREV = "cfaa2bbf96a1ecf471b644b6b2f0bdf7c3b10dfe"
>>>>>>>> 9086221d2 (aws-sdk-cpp: upgrade 1.11.838 -> 1.11.839):recipes-sdk/aws-sdk-cpp/aws-sdk-cpp_1.11.839.bb

inherit cmake ptest pkgconfig

Expand Down
102 changes: 102 additions & 0 deletions recipes-sdk/aws-sdk-cpp/aws-sdk-cpp_1.11.839.bb
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
SUMMARY = "AWS C++ SDK"
DESCRIPTION = "AWS C++ SDK and ptest"
HOMEPAGE = "https://github.com/aws/aws-sdk-cpp"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"

DEPENDS += "\
aws-crt-cpp \
curl \
"

AWS_SDK_PACKAGES = ""

PACKAGES_DYNAMIC = "^${PN}-.*"

SRC_URI = "\
git://github.com/aws/aws-sdk-cpp.git;protocol=https;branch=main \
file://run-ptest \
file://ptest_result.py \
"

<<<<<<<< HEAD:recipes-sdk/aws-sdk-cpp/aws-sdk-cpp_1.11.793.bb
SRCREV = "7fe885d2fd5fae774f0e5f0821b76d0faea20c69"
========
SRCREV = "cfaa2bbf96a1ecf471b644b6b2f0bdf7c3b10dfe"
>>>>>>>> 9086221d2 (aws-sdk-cpp: upgrade 1.11.838 -> 1.11.839):recipes-sdk/aws-sdk-cpp/aws-sdk-cpp_1.11.839.bb

inherit cmake ptest pkgconfig

PACKAGECONFIG ?= "\
${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)} \
${@bb.utils.contains('PTEST_ENABLED', '1', 'with-tests', '', d)} \
"

PACKAGECONFIG:append:x86-64 = " ${@bb.utils.contains('PTEST_ENABLED', '1', 'sanitize', '', d)}"

PACKAGECONFIG[pulseaudio] = "-DPULSEAUDIO=TRUE, -DPULSEAUDIO=FALSE, pulseaudio"

# CMAKE_CROSSCOMPILING=OFF will enable build of unit tests
PACKAGECONFIG[with-tests] = "-DENABLE_TESTING=ON -DAUTORUN_UNIT_TESTS=OFF -DCMAKE_CROSSCOMPILING=OFF,-DENABLE_TESTING=OFF -DAUTORUN_UNIT_TESTS=OFF, googletest"

python populate_packages:prepend () {
packages = []
def hook(f, pkg, file_regex, output_pattern, modulename):
packages.append(pkg)

# Put the libraries into separate packages
do_split_packages(d, d.expand('${libdir}'), r'^lib(.*)\.so$', '%s', 'library for %s', extra_depends='', prepend=True, hook=hook)

d.setVar("AWS_SDK_PACKAGES", " ".join(packages))

}

# enable PACKAGECONFIG = "static" to build static instead of shared libs
PACKAGECONFIG[static] = "-DBUILD_SHARED_LIBS=OFF,-DBUILD_SHARED_LIBS=ON"

# Notify that libraries are not versioned
FILES_SOLIBSDEV = ""

# -Werror will cause deprecation warnings to fail the build e.g. OpenSSL cause one, so disable these warnings
OECMAKE_CXX_FLAGS += "-Wno-deprecated-declarations"

# note: variable tracking size limit exceeded with '-fvar-tracking-assignments', retrying without
OECMAKE_CXX_FLAGS += "-fno-var-tracking"

# -Wno-maybe-uninitialized is related to this: https://github.com/aws/aws-sdk-cpp/issues/2234
OECMAKE_CXX_FLAGS += "${@bb.utils.contains('PTEST_ENABLED', '1', '-Wno-maybe-uninitialized', '', d)}"

OECMAKE_CXX_FLAGS += "-Wno-psabi"

EXTRA_OECMAKE += "\
-DBUILD_DEPS=OFF \
-DCMAKE_MODULE_PATH=${STAGING_LIBDIR}/cmake \
"

EXTRA_OECMAKE:append = " -DCMAKE_BUILD_TYPE=RelWithDebInfo"

RDEPENDS:${PN}-ptest += "\
bash \
python3 \
"
# "aws-sdk-cpp" is a meta package which pulls in all aws-sdk-cpp libraries
ALLOW_EMPTY:${PN} = "1"
RRECOMMENDS:${PN} += "${AWS_SDK_PACKAGES}"
RRECOMMENDS:${PN}:class-native = ""

do_install_ptest () {
install -d ${D}${PTEST_PATH}/tests
find ${B}/generated/tests -executable -type f -exec install -m 0755 "{}" ${D}${PTEST_PATH}/tests/ \;
install -m 0755 ${UNPACKDIR}/ptest_result.py ${D}${PTEST_PATH}/
}

# nooelint: oelint.vars.insaneskip:INSANE_SKIP - this is related to this issue https://github.com/aws/aws-sdk-cpp/issues/2242
INSANE_SKIP:${PN}-src:append:class-target = " buildpaths"

# nooelint: oelint.vars.insaneskip:INSANE_SKIP - -fsanitize=address does cause this
INSANE_SKIP += "${@bb.utils.contains('PACKAGECONFIG', 'sanitize', 'buildpaths', '', d)}"
PACKAGECONFIG[sanitize] = ",,gcc-sanitizers"
OECMAKE_CXX_FLAGS += "${@bb.utils.contains('PACKAGECONFIG', 'sanitize', '-fsanitize=address,undefined -fno-omit-frame-pointer', '', d)}"

# nooelint: oelint.vars.insaneskip:INSANE_SKIP
INSANE_SKIP:${PN}-dev += "buildpaths"
Loading