Re: [RFC PATCH 00/50] tools/perf: Speed up the build system
From: Ingo Molnar
Date: Mon Oct 07 2013 - 12:42:09 EST
* David Ahern <dsahern@xxxxxxxxx> wrote:
> I also noticed that the dwarf test is still run even with the NO_DWARF
> option passed in:
>
> [daahern@nxos-vdc-dev1 perf]$ make O=/tmp/junk LDFLAGS=-static
> NO_DWARF=1 -j 4
> BUILD: Doing 'make -j16' parallel build
>
> Auto-detecting system features:
>
> ... backtrace: [ on ]
> ... dwarf: [ on ]
> ... fortify-source: [ on ]
>
> Note the dwarf test shows 'on'.
Hm, yes.
This is just the print-out though - the actual feature logic should still
follow the NO_DWARF=1 setting (modulo bugs).
So I'm wondering, should we solve this by adding extra logic linking the
feature flags with their legacy names. It would get unwieldy rather
quickly I think.
Another solution would be to introduce a new method to disable features,
via something like:
make FEATURE_dwarf=0
Where the pattern would follow the auto-detected naming. This would
simplify the printout logic and would simplify the feature support / flags
decision tree as well.
Furthermore, it would unify the various flags we have today, which is
rather mixed: for example there's NO_DWARF which is a name that shows
negated logic, but there's also HAVE_CPLUS_DEMANGLE_SUPPORT is is a name
with positive logic. We'd have one uniform naming scheme permeating the
whole build system.
And that brings in your [K]config patches: which would make sense in that
context as well, as they'd allow the permanent configuration of features
with 3 states for each feature flag:
off
auto-detect
on
Your scheme I think makes a lot of sense on top of my bits. Packagers
would likely want to use a .config to build perf, most users would likely
be fine with a default of everything on auto-detect. Specialized users
would want to use their own .config's.
Thanks,
Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/