Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
pkg_addshlib: limit the number of call to pkg_config_get
Baptiste Daroussin committed 1 year ago
commit e52dd975cf86bf6faaa850082c41c39ca42c128b
parent 6f0481b
1 file changed +7 -3
modified libpkg/pkg.c
@@ -906,10 +906,14 @@ pkg_shlib_flags_from_abi(const struct pkg_abi *shlib_abi)
	enum pkg_shlib_flags flags = PKG_SHLIB_FLAGS_NONE;

	if (ctx.abi.os == PKG_OS_FREEBSD) {
-
		if (shlib_abi->os == PKG_OS_LINUX &&
-
		    pkg_object_bool(pkg_config_get("TRACK_LINUX_COMPAT_SHLIBS"))) {
-
			flags |= PKG_SHLIB_FLAGS_COMPAT_LINUX;
+
		static bool check_track_linux_compat_shlibs = false;
+
		static bool track_linux_compat_shlibs = false;
+
		if (!check_track_linux_compat_shlibs) {
+
			track_linux_compat_shlibs = pkg_object_bool(pkg_config_get("TRACK_LINUX_COMPAT_SHLIBS"));
+
			check_track_linux_compat_shlibs = true;
		}
+
		if (shlib_abi->os == PKG_OS_LINUX && track_linux_compat_shlibs)
+
			flags |= PKG_SHLIB_FLAGS_COMPAT_LINUX;

		switch (ctx.abi.arch) {
		case PKG_ARCH_AMD64: