diff -r 000000000000 -r a41df078684a kernel/eka/configure.pl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kernel/eka/configure.pl Mon Oct 19 15:55:17 2009 +0100 @@ -0,0 +1,167 @@ +# +# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +# All rights reserved. +# This component and the accompanying materials are made available +# under the terms of the License "Eclipse Public License v1.0" +# which accompanies this distribution, and is available +# at the URL "http://www.eclipse.org/legal/epl-v10.html". +# +# Initial Contributors: +# Nokia Corporation - initial contribution. +# +# Contributors: +# +# Description: +# + +my @rootdirs; +open PIPE, "dir /b /ad \\ |"; +while () { + my $dir=$_; +# print; + chomp $dir; + unless (/^epoc32$/i) { + $dir="\\".$dir."\\*.bld"; + push @rootdirs, $dir; + } +} +close PIPE; +my %bldfiles; +my $dir; +foreach $dir (@rootdirs) { +# print "$dir\n"; + open PIPE, "dir /s /b $dir 2>NUL |"; + while () { + my %bldfileprops; + $bldfileprops{'fullname'}=lc $_; + /\\(\w+)\.bld$/; + my $name=lc $1; + $bldfileprops{'name'}=$name; + if (defined $bldfiles{$name}) { + die "Duplicate build file name $name\n"; + } + $bldfiles{$name}=\%bldfileprops; + } + close PIPE; +} + +my $bld; +my @defaults; +my @compulsory; +foreach $bld (keys %bldfiles) { + my $ref=$bldfiles{$bld}; + my $filename=$$ref{'fullname'}; + chomp $filename; + my @options; + my @components; + open FILE, $filename or die "Could not open file $filename\n"; + while () { + if (/^\!(\w+)$/) { + $$ref{lc $1}=1; + } elsif (/^\