aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/contrib/list-packageconfig-flags.py
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2014-05-23 13:20:40 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-06-25 11:48:13 +0100
commit0f8b16c5ea78f1d48b45cef7a317f8a307c48ebe (patch)
tree5795c311706157add70afd059abab13c5de384dc /scripts/contrib/list-packageconfig-flags.py
parent0b5e94e168819134dcda0433c8ae893df4ab13ce (diff)
downloadopenembedded-core-contrib-0f8b16c5ea78f1d48b45cef7a317f8a307c48ebe.tar.gz
list-packageconfig-flags: filter out doc and defaultval varflags
These are generic flags and shouldn't be listed in the output of this script. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Diffstat (limited to 'scripts/contrib/list-packageconfig-flags.py')
-rwxr-xr-xscripts/contrib/list-packageconfig-flags.py12
1 files changed, 7 insertions, 5 deletions
diff --git a/scripts/contrib/list-packageconfig-flags.py b/scripts/contrib/list-packageconfig-flags.py
index 615f91fdc7..3db429834b 100755
--- a/scripts/contrib/list-packageconfig-flags.py
+++ b/scripts/contrib/list-packageconfig-flags.py
@@ -83,7 +83,10 @@ def get_recipesdata(bbhandler, preferred):
data_dict = {}
for fn in get_fnlist(bbhandler, pkg_pn, preferred):
data = bb.cache.Cache.loadDataFull(fn, bbhandler.cooker.collection.get_file_appends(fn), bbhandler.config_data)
- if data.getVarFlags("PACKAGECONFIG"):
+ flags = data.getVarFlags("PACKAGECONFIG")
+ flags.pop('doc', None)
+ flags.pop('defaultval', None)
+ if flags:
data_dict[fn] = data
return data_dict
@@ -94,6 +97,8 @@ def collect_pkgs(data_dict):
pkg_dict = {}
for fn in data_dict:
pkgconfigflags = data_dict[fn].getVarFlags("PACKAGECONFIG")
+ pkgconfigflags.pop('doc', None)
+ pkgconfigflags.pop('defaultval', None)
pkgname = data_dict[fn].getVar("P", True)
pkg_dict[pkgname] = sorted(pkgconfigflags.keys())
@@ -105,9 +110,6 @@ def collect_flags(pkg_dict):
flag_dict = {}
for pkgname, flaglist in pkg_dict.iteritems():
for flag in flaglist:
- if flag == "defaultval":
- continue
-
if flag in flag_dict:
flag_dict[flag].append(pkgname)
else:
@@ -153,7 +155,7 @@ def display_all(data_dict):
print('PACKAGECONFIG %s' % packageconfig)
for flag,flag_val in data_dict[fn].getVarFlags("PACKAGECONFIG").iteritems():
- if flag == "defaultval":
+ if flag in ["defaultval", "doc"]:
continue
print('PACKAGECONFIG[%s] %s' % (flag, flag_val))
print ''
olor: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */ }
FILES_${PN}-dev += "${bindir}/*-config"
 
# The namespaces can clash here hence the two step replace
def get_binconfig_mangle(d):
    s = "-e ''"
    if not bb.data.inherits_class('native', d):
        optional_quote = r"\(\"\?\)"
        s += " -e 's:=%s${base_libdir}:=\\1OEBASELIBDIR:;'" % optional_quote
        s += " -e 's:=%s${libdir}:=\\1OELIBDIR:;'" % optional_quote
        s += " -e 's:=%s${includedir}:=\\1OEINCDIR:;'" % optional_quote
        s += " -e 's:=%s${datadir}:=\\1OEDATADIR:'" % optional_quote
        s += " -e 's:=%s${prefix}/:=\\1OEPREFIX/:'" % optional_quote
        s += " -e 's:=%s${exec_prefix}/:=\\1OEEXECPREFIX/:'" % optional_quote
        s += " -e 's:-L${libdir}:-LOELIBDIR:;'"
        s += " -e 's:-I${includedir}:-IOEINCDIR:;'"
        s += " -e 's:-L${WORKDIR}:-LOELIBDIR:'"
        s += " -e 's:-I${WORKDIR}:-IOEINCDIR:'"
        s += " -e 's:OEBASELIBDIR:${STAGING_BASELIBDIR}:;'"
        s += " -e 's:OELIBDIR:${STAGING_LIBDIR}:;'"
        s += " -e 's:OEINCDIR:${STAGING_INCDIR}:;'"
        s += " -e 's:OEDATADIR:${STAGING_DATADIR}:'"
        s += " -e 's:OEPREFIX:${STAGING_DIR_HOST}${prefix}:'"
        s += " -e 's:OEEXECPREFIX:${STAGING_DIR_HOST}${exec_prefix}:'"
        if d.getVar("OE_BINCONFIG_EXTRA_MANGLE", False):
            s += d.getVar("OE_BINCONFIG_EXTRA_MANGLE")

    return s

BINCONFIG_GLOB ?= "*-config"

PACKAGE_PREPROCESS_FUNCS += "binconfig_package_preprocess"

binconfig_package_preprocess () {
	for config in `find ${PKGD} -name '${BINCONFIG_GLOB}'`; do
		sed -i \
		    -e 's:${STAGING_BASELIBDIR}:${base_libdir}:g;' \
		    -e 's:${STAGING_LIBDIR}:${libdir}:g;' \
		    -e 's:${STAGING_INCDIR}:${includedir}:g;' \
		    -e 's:${STAGING_DATADIR}:${datadir}:' \
		    -e 's:${STAGING_DIR_HOST}${prefix}:${prefix}:' \
                    $config
	done
	for lafile in `find ${PKGD} -name "*.la"` ; do
		sed -i \
		    -e 's:${STAGING_BASELIBDIR}:${base_libdir}:g;' \
		    -e 's:${STAGING_LIBDIR}:${libdir}:g;' \
		    -e 's:${STAGING_INCDIR}:${includedir}:g;' \
		    -e 's:${STAGING_DATADIR}:${datadir}:' \
		    -e 's:${STAGING_DIR_HOST}${prefix}:${prefix}:' \
		    $lafile
	done	    
}

SYSROOT_PREPROCESS_FUNCS += "binconfig_sysroot_preprocess"

binconfig_sysroot_preprocess () {
	for config in `find ${S} -name '${BINCONFIG_GLOB}'` `find ${B} -name '${BINCONFIG_GLOB}'`; do
		configname=`basename $config`
		install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}
		sed ${@get_binconfig_mangle(d)} $config > ${SYSROOT_DESTDIR}${bindir_crossscripts}/$configname
		chmod u+x ${SYSROOT_DESTDIR}${bindir_crossscripts}/$configname
	done
}