summaryrefslogtreecommitdiffstats
path: root/meta/classes-recipe/binconfig-disabled.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'meta/classes-recipe/binconfig-disabled.bbclass')
-rw-r--r--meta/classes-recipe/binconfig-disabled.bbclass36
1 files changed, 36 insertions, 0 deletions
diff --git a/meta/classes-recipe/binconfig-disabled.bbclass b/meta/classes-recipe/binconfig-disabled.bbclass
new file mode 100644
index 0000000000..cbe2078e0f
--- /dev/null
+++ b/meta/classes-recipe/binconfig-disabled.bbclass
@@ -0,0 +1,36 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
+# Class to disable binconfig files instead of installing them
+#
+
+# The list of scripts which should be disabled.
+BINCONFIG ?= ""
+
+FILES:${PN}-dev += "${bindir}/*-config"
+
+do_install:append () {
+ for x in ${BINCONFIG}; do
+ # Make the disabled script emit invalid parameters for those configure
+ # scripts which call it without checking the return code.
+ echo "#!/bin/sh" > ${D}$x
+ echo "echo 'ERROR: $x should not be used, use an alternative such as pkg-config' >&2" >> ${D}$x
+ echo "echo '--should-not-have-used-$x'" >> ${D}$x
+ echo "exit 1" >> ${D}$x
+ chmod +x ${D}$x
+ done
+}
+
+SYSROOT_PREPROCESS_FUNCS += "binconfig_disabled_sysroot_preprocess"
+
+binconfig_disabled_sysroot_preprocess () {
+ for x in ${BINCONFIG}; do
+ configname=`basename $x`
+ install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}
+ install ${D}$x ${SYSROOT_DESTDIR}${bindir_crossscripts}
+ done
+}