Re: [PATCH 2/4] kconfig: streamline_config.pl: fix out-of-tree builds

From: Alan Jenkins
Date: Fri Nov 20 2009 - 12:25:38 EST


On 11/20/09, Luis R. Rodriguez <lrodriguez@xxxxxxxxxxx> wrote:
> On Fri, Nov 20, 2009 at 07:50:52AM -0800, Alan Jenkins wrote:
>> We should look for Kconfig under $srctree, just like zconf.l does.
>> This allows "make localmodconfig" to work when using a separate build
>> directory (e.g. make O=../build).
>>
>> Signed-off-by: Alan Jenkins <alan-jenkins@xxxxxxxxxxxxxx>
>> ---
>> scripts/kconfig/streamline_config.pl | 10 +++++++---
>> 1 files changed, 7 insertions(+), 3 deletions(-)
>>
>> diff --git a/scripts/kconfig/streamline_config.pl
>> b/scripts/kconfig/streamline_config.pl
>> index 7d898e3..7a7bcf7 100644
>> --- a/scripts/kconfig/streamline_config.pl
>> +++ b/scripts/kconfig/streamline_config.pl
>> @@ -46,7 +46,7 @@ use warnings;
>> # make oldconfig
>> #
>> my $config = ".config";
>> -my $linuxpath = ".";
>> +my $srctree = $ENV{"srctree"} || ".";
>>
>> my $uname = `uname -r`;
>> chomp $uname;
>> @@ -114,7 +114,7 @@ sub find_config {
>>
>> find_config;
>>
>> -my @makefiles = `find $linuxpath -name Makefile`;
>> +my @makefiles = `find $srctree -name Makefile`;
>> my %depends;
>> my %selects;
>> my %prompts;
>> @@ -135,7 +135,11 @@ sub read_kconfig {
>> my $config;
>> my @kconfigs;
>>
>> - open(KIN, $kconfig) || die "Can't open $kconfig";
>> + open(KIN, $kconfig) || (
>> + $kconfig =~ "^[^/]" &&
>> + open(KIN, $srctree . "/" . $kconfig)
>> + ) || die "Can't open $kconfig";
>> +
>
> God I hate perl, can this be a little perl-un-obfuscated a bit?

Agreed. I'll simplify it to

$kconfig = $srctree . "/" . $kconfig;
open(KIN, $kconfig) || die "Can't open $kconfig";

I'll re-send when I've figured out how to stop CONFIG_ATA=m being
deselected. (It looks like I need to handle "menuconfig" as well as
"config").

Thanks
Alan
--
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/