kconfig: Fix make O=<dir> local{mod,yes}config
When the output directory is something other than the kernel source, the streamline_config script gets confused. This patch passes in the source directory to the script so that it can find the proper files. Reported-by: Peter Zijlstra <peterz@infradead.org> Tested-by: Peter Zijlstra <peterz@infradead.org> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
This commit is contained in:
parent
648f4e3e50
commit
463bf90007
|
@ -30,7 +30,7 @@ silentoldconfig: $(obj)/conf
|
||||||
$< -s $(Kconfig)
|
$< -s $(Kconfig)
|
||||||
|
|
||||||
localmodconfig: $(obj)/streamline_config.pl $(obj)/conf
|
localmodconfig: $(obj)/streamline_config.pl $(obj)/conf
|
||||||
$(Q)perl $< $(Kconfig) > .tmp.config
|
$(Q)perl $< $(srctree) $(Kconfig) > .tmp.config
|
||||||
$(Q)if [ -f .config ]; then \
|
$(Q)if [ -f .config ]; then \
|
||||||
cmp -s .tmp.config .config || \
|
cmp -s .tmp.config .config || \
|
||||||
(mv -f .config .config.old.1; \
|
(mv -f .config .config.old.1; \
|
||||||
|
@ -44,7 +44,7 @@ localmodconfig: $(obj)/streamline_config.pl $(obj)/conf
|
||||||
$(Q)rm -f .tmp.config
|
$(Q)rm -f .tmp.config
|
||||||
|
|
||||||
localyesconfig: $(obj)/streamline_config.pl $(obj)/conf
|
localyesconfig: $(obj)/streamline_config.pl $(obj)/conf
|
||||||
$(Q)perl $< $(Kconfig) > .tmp.config
|
$(Q)perl $< $(srctree) $(Kconfig) > .tmp.config
|
||||||
$(Q)sed -i s/=m/=y/ .tmp.config
|
$(Q)sed -i s/=m/=y/ .tmp.config
|
||||||
$(Q)if [ -f .config ]; then \
|
$(Q)if [ -f .config ]; then \
|
||||||
cmp -s .tmp.config .config || \
|
cmp -s .tmp.config .config || \
|
||||||
|
|
|
@ -43,7 +43,6 @@
|
||||||
# make oldconfig
|
# make oldconfig
|
||||||
#
|
#
|
||||||
my $config = ".config";
|
my $config = ".config";
|
||||||
my $linuxpath = ".";
|
|
||||||
|
|
||||||
my $uname = `uname -r`;
|
my $uname = `uname -r`;
|
||||||
chomp $uname;
|
chomp $uname;
|
||||||
|
@ -111,7 +110,11 @@ sub find_config {
|
||||||
|
|
||||||
find_config;
|
find_config;
|
||||||
|
|
||||||
my @makefiles = `find $linuxpath -name Makefile`;
|
# Get the build source and top level Kconfig file (passed in)
|
||||||
|
my $ksource = $ARGV[0];
|
||||||
|
my $kconfig = $ARGV[1];
|
||||||
|
|
||||||
|
my @makefiles = `find $ksource -name Makefile`;
|
||||||
my %depends;
|
my %depends;
|
||||||
my %selects;
|
my %selects;
|
||||||
my %prompts;
|
my %prompts;
|
||||||
|
@ -119,9 +122,6 @@ my %objects;
|
||||||
my $var;
|
my $var;
|
||||||
my $cont = 0;
|
my $cont = 0;
|
||||||
|
|
||||||
# Get the top level Kconfig file (passed in)
|
|
||||||
my $kconfig = $ARGV[0];
|
|
||||||
|
|
||||||
# prevent recursion
|
# prevent recursion
|
||||||
my %read_kconfigs;
|
my %read_kconfigs;
|
||||||
|
|
||||||
|
@ -132,7 +132,7 @@ sub read_kconfig {
|
||||||
my $config;
|
my $config;
|
||||||
my @kconfigs;
|
my @kconfigs;
|
||||||
|
|
||||||
open(KIN, $kconfig) || die "Can't open $kconfig";
|
open(KIN, "$ksource/$kconfig") || die "Can't open $kconfig";
|
||||||
while (<KIN>) {
|
while (<KIN>) {
|
||||||
chomp;
|
chomp;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue