diff --git a/recipes-connectivity/opendds/opendds.inc b/recipes-connectivity/opendds/opendds.inc index 98d9b01..81a02fa 100644 --- a/recipes-connectivity/opendds/opendds.inc +++ b/recipes-connectivity/opendds/opendds.inc @@ -7,6 +7,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=11ee76f6fb51f69658b5bb8327c50b11" inherit autotools +PACKAGECONFIG ??= "" +PACKAGECONFIG[ishapes] = "--qt=${STAGING_DIR_NATIVE}${prefix_native} --qt-include=${STAGING_INCDIR},,qtbase qtbase-native" + DEPENDS += "\ cmake-native \ opendds-native \ @@ -64,6 +67,7 @@ OECONF:append:class-target = "\ --host-tools=${STAGING_BINDIR_NATIVE}/DDS_HOST_ROOT \ --target=linux-cross \ --target-compiler=${S}/${HOST_PREFIX}g++ \ + ${PACKAGECONFIG_CONFARGS} \ " OECONF:append:class-native = "\ --target=linux \ @@ -78,6 +82,9 @@ OECONF:append:class-nativesdk = "\ --host-tools-only \ " +SOLIBS = ".so*" +FILES_SOLIBSDEV = "" + do_configure() { ./configure ${OECONF} } @@ -92,19 +99,6 @@ do_install:append:class-target() { install -d ${D}${datadir}/dds/dds/idl cp ${S}/dds/idl/IDLTemplate.txt ${D}${datadir}/dds/dds/idl - for shared_lib in ${D}${libdir}/*.so.*; do - if [ -f $shared_lib ]; then - baselib=$(basename $shared_lib) - shortlib=$(echo $baselib | sed 's/.so.*//') - extn=$(echo $baselib | sed -n 's/^[^.]*\.so//p') - extn=$(echo $extn | sed 's/[^. 0-9]*//g') - while [ -n "$extn" ]; do - extn=$(echo $extn | sed 's/\.[^.]*$//') - ln -sf $baselib ${D}${libdir}/$shortlib.so$extn - done - fi - done - # Copy OpenDDS source tree folders to sysroot-destdir/usr/share/DDS_ROOT # to support building OpenDDS apps in their own layers . ${S}/setenv.sh @@ -123,6 +117,11 @@ do_install:append:class-target() { cp -r ${DDS_ROOT}/ACE_wrappers/TAO ${D}${datadir}/DDS_ROOT/ACE_wrappers cp -r ${DDS_ROOT}/ACE_wrappers/lib ${D}${datadir}/DDS_ROOT/ACE_wrappers cp ${DDS_ROOT}/ACE_wrappers/*.txt ${D}${datadir}/DDS_ROOT/ACE_wrappers + + if [ "${@bb.utils.contains("PACKAGECONFIG", "ishapes", "1", "0", d)}" = "1" ]; then + install -d ${D}${bindir} + install -m 0755 ${S}/examples/DCPS/ishapes/ishapes ${D}${bindir}/ + fi } do_install:append:class-native() { @@ -146,10 +145,14 @@ do_install:append:class-nativesdk() { ln -sf ${bindir}/tao_idl ${D}${datadir}/ace/bin/tao_idl } +PACKAGES += "${PN}-ishapes" + INSANE_SKIP:${PN} += "dev-so" +INSANE_SKIP:${PN}-dev += "libdir" -FILES:SOLIBSDEV = "" -FILES:${PN} += "${libdir}/*.so" FILES:${PN}-dev += "${datadir}" +FILES:${PN}-ishapes += "${bindir}/ishapes" + +ALLOW_EMPTY:${PN}-ishapes = "1" BBCLASSEXTEND = "native nativesdk" diff --git a/recipes-connectivity/opendds/opendds/0001-adding-the-ishapes-demo.patch b/recipes-connectivity/opendds/opendds/0001-adding-the-ishapes-demo.patch new file mode 100644 index 0000000..db2ecee --- /dev/null +++ b/recipes-connectivity/opendds/opendds/0001-adding-the-ishapes-demo.patch @@ -0,0 +1,29 @@ +From 7e415ebcf99f7f8a775fee4155063be58031d200 Mon Sep 17 00:00:00 2001 +From: Jan Vermaete +Date: Thu, 28 Dec 2023 15:18:07 +0100 +Subject: [PATCH 1/1] adding the ishapes demo + +Without having to use the --tests during configuration. +This would include all tests. And depends on gtests, what +not part of common openembedded/Yocto layers. + +Signed-off-by: Jan Vermaete +--- + DDS_TAOv2.mwc | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/DDS_TAOv2.mwc b/DDS_TAOv2.mwc +index 384e2620a..4f154deb2 100644 +--- a/DDS_TAOv2.mwc ++++ b/DDS_TAOv2.mwc +@@ -6,6 +6,7 @@ workspace { + tools + java + DevGuideExamples ++ examples/DCPS/ishapes + + exclude { + java/jms +-- +2.39.2 + diff --git a/recipes-connectivity/opendds/opendds_3.26.1.bb b/recipes-connectivity/opendds/opendds_3.26.1.bb index 0318ab3..0e9efc5 100644 --- a/recipes-connectivity/opendds/opendds_3.26.1.bb +++ b/recipes-connectivity/opendds/opendds_3.26.1.bb @@ -4,6 +4,7 @@ SRCREV = "3d7f89e8243fbf382ce6374f900489e76894d4f9" DDS_SRC_BRANCH = "branch-DDS-3.26" SRC_URI = "\ git://github.com/OpenDDS/OpenDDS.git;protocol=https;branch=${DDS_SRC_BRANCH};name=opendds \ + ${@bb.utils.contains('PACKAGECONFIG', 'ishapes', 'file://0001-adding-the-ishapes-demo.patch', '', d)} \ file://0002-fixing-DoAll-testing-DoAll.patch \ "