* and keep it enabled in target builds unless libc-musl where it was
  disabled since upgrade to 4.15.1 in:
  
https://git.openembedded.org/openembedded-core/commit/?id=67257ca87c6fa8e6050a20ecea50daf834c7e869
  and disable it for native builds to be able to reuse rpm-native
  between hosts with libomp and without to avoid do_package failures like:
  recipe-sysroot-native/usr/lib/rpm/rpmdeps: error while loading shared 
libraries: libgomp.so.1: cannot open shared object file: No such file or 
directory

* and on hosts without libomp it fails in do_configure:
  | CMake Error at 
/OE/build/tmp-glibc/work/x86_64-linux/rpm-native/4.19.1/recipe-sysroot-native/usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake:230
 (message):
  |   Could NOT find OpenMP_C (missing: OpenMP_C_FLAGS OpenMP_C_LIB_NAMES)
  |   (Required is at least version "4.5")

* I've noticed this in new experimental gentoo profiles which don't
  enable openmp by default for gcc-13 and newer, see:
  https://bugs.gentoo.org/890999
  
https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8189b4b48c25dbd7b330b51b53f9023cdbbb29ec
  
https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=94d882482714698d6d9b765920cd26bbe849336d

  I'm not sure what other distributions plan with openmp support in future
  (and this profile is just experimental and the decision not to enable
  openmp by default might still change), but having the PACKAGECONFIG
  at least gives easy way to explicitly enable/disable this in bbappend

  openmp is also explicitly disabled in gettext since 2011:
  
https://git.openembedded.org/openembedded-core/commit/?id=e897103a58ad672cc87d2bab3ec45501ef09f8f1

Signed-off-by: Martin Jansa <[email protected]>
---
 meta/recipes-devtools/rpm/rpm_4.19.1.bb | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-devtools/rpm/rpm_4.19.1.bb 
b/meta/recipes-devtools/rpm/rpm_4.19.1.bb
index 1f8611a29c..477e1c2d62 100644
--- a/meta/recipes-devtools/rpm/rpm_4.19.1.bb
+++ b/meta/recipes-devtools/rpm/rpm_4.19.1.bb
@@ -52,7 +52,7 @@ DEPENDS = "lua libgcrypt file popt xz bzip2 elfutils python3 
sqlite3 zstd"
 DEPENDS:append:class-native = " file-replacement-native 
bzip2-replacement-native"
 
 EXTRA_OECMAKE:append = " -D__CURL:FILEPATH=curl"
-EXTRA_OECMAKE:append:libc-musl = " -DENABLE_NLS=OFF -DENABLE_OPENMP=OFF"
+EXTRA_OECMAKE:append:libc-musl = " -DENABLE_NLS=OFF"
 
 # --sysconfdir prevents rpm from attempting to access machine-specific 
configuration in sysroot/etc; we need to have it in rootfs
 # --localstatedir prevents rpm from writing its database to native sysroot 
when building images
@@ -64,10 +64,15 @@ OECMAKE_GENERATOR = "Unix Makefiles"
 
 BBCLASSEXTEND = "native nativesdk"
 
-PACKAGECONFIG ??= "internal-openpgp"
+PACKAGECONFIG_OPENMP = "openmp"
+PACKAGECONFIG_OPENMP:libc-musl = ""
+PACKAGECONFIG_OPENMP:class-native = ""
+
+PACKAGECONFIG ??= "internal-openpgp ${PACKAGECONFIG_OPENMP}"
 
 PACKAGECONFIG[plugins] = "-DENABLE_PLUGINS=ON,-DENABLE_PLUGINS=OFF"
 PACKAGECONFIG[testsuite] = "-DENABLE_TESTSUITE=ON,-DENABLE_TESTSUITE=OFF"
+PACKAGECONFIG[openmp] = "-DENABLE_OPENMP=ON,-DENABLE_OPENMP=OFF"
 
 # Deprecated! https://fedoraproject.org/wiki/Changes/RpmSequoia
 PACKAGECONFIG[internal-openpgp] = 
"-DWITH_INTERNAL_OPENPGP=ON,-DWITH_INTERNAL_OPENPGP=OFF"
-- 
2.44.0

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#196205): 
https://lists.openembedded.org/g/openembedded-core/message/196205
Mute This Topic: https://lists.openembedded.org/mt/104582694/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to