diff options
Diffstat (limited to 'chromeos/scripts')
-rwxr-xr-x | chromeos/scripts/allconfigs | 28 | ||||
-rwxr-xr-x | chromeos/scripts/kernelconfig | 95 | ||||
-rwxr-xr-x | chromeos/scripts/prepareconfig | 7 | ||||
-rwxr-xr-x | chromeos/scripts/splitconfig | 10 |
4 files changed, 46 insertions, 94 deletions
diff --git a/chromeos/scripts/allconfigs b/chromeos/scripts/allconfigs deleted file mode 100755 index 16431991d4da..000000000000 --- a/chromeos/scripts/allconfigs +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/bash - -bindir="`pwd`/chromeos/scripts" -confdir="`pwd`/chromeos/config" - -get_flavourconfigs() { - for file in `find $confdir`; do - if echo $file | egrep -q "config\.flavour\..*[^~]$"; then - basename $file | awk -F . '{ print $3 }' - fi - done -} - -get_arch() { - if find . -name config.flavour.$1 | grep -q i386; then - echo i386 - else - echo arm - fi -} - -for flavour in $(get_flavourconfigs); do - echo $flavour $(get_arch $flavour) - $bindir/prepareconfig $flavour - yes "" | make ARCH=$(get_arch $flavour) oldconfig - cp .config .config-$flavour -done - diff --git a/chromeos/scripts/kernelconfig b/chromeos/scripts/kernelconfig index c056c8c6086f..c4415359c38a 100755 --- a/chromeos/scripts/kernelconfig +++ b/chromeos/scripts/kernelconfig @@ -20,9 +20,8 @@ esac kerneldir="`pwd`" confdir="$kerneldir/chromeos/config" archs="x86_64 i386 armel" -family='chromeos' bindir="`pwd`/chromeos/scripts" -common_conf="$confdir/config.common.$family" +base_conf="$confdir/base.config" tmpdir=`mktemp -d` if [ "$mode" = "genconfig" ]; then @@ -47,52 +46,44 @@ for arch in $archs; do echo "***************************************" echo "* Processing $arch ($kernarch) ... " archconfdir=$confdir/$arch - flavourconfigs=$(cd $archconfdir && ls config.flavour.*[^~]) + flavourconfigs=$(cd $archconfdir && ls *.flavour.config) # Merge configs - # We merge config.common.ubuntu + config.common.<arch> + - # config.flavour.<flavour> + # We merge base.config + common.config + <flavour>.flavour.config for config in $flavourconfigs; do fullconf="$tmpdir/$arch-$config-full" - case $config in - *) - : >"$fullconf" - if [ -f $common_conf ]; then - cat $common_conf >> "$fullconf" - fi - if [ -f $archconfdir/config.common.$arch ]; then - cat $archconfdir/config.common.$arch >> "$fullconf" - fi - cat "$archconfdir/$config" >>"$fullconf" - ;; - esac + cp $base_conf "$fullconf" + cat $archconfdir/common.config >> "$fullconf" + cat $archconfdir/$config >> "$fullconf" done for config in $flavourconfigs; do - if [ -f $archconfdir/$config ]; then - fullconf="$tmpdir/$arch-$config-full" - cat "$fullconf" > build/.config - # Call oldconfig or menuconfig - case "$mode" in - oldconfig) - # Weed out incorrect config parameters - echo "* Run silentoldconfig on $arch/$config ..." - make O=`pwd`/build ARCH=$kernarch silentoldconfig ;; - editconfig) - # Interactively edit config parameters - echo " * Run menuconfig on $arch/$config... Press a key." - read - make O=`pwd`/build ARCH=$kernarch menuconfig ;; - *) # Bad! - exit 1 ;; - esac - cat build/.config > $archconfdir/$config - if [ "$keep" = "1" ]; then - cat build/.config > CONFIGS/$arch-$config - fi - else - echo "!! Config not found $archconfdir/$config..." + fullconf="$tmpdir/$arch-$config-full" + mv "$fullconf" build/.config + # Call oldconfig or menuconfig + case "$mode" in + oldconfig) + # Weed out incorrect config parameters + echo "* Run silentoldconfig on $arch/$config ..." + make O=`pwd`/build ARCH=$kernarch silentoldconfig ;; + editconfig) + # Interactively edit config parameters + echo "* $arch/$config: press <Enter> to edit, S to skip" + read -s -n 1 + if [ $REPLY = 's' -o $REPLY = 'S' ]; then + echo "* Skip: running silentoldconfig" + make O=`pwd`/build ARCH=$kernarch silentoldconfig + else + echo "* Running menuconfig" + make O=`pwd`/build ARCH=$kernarch menuconfig + fi ;; + *) # Bad! + exit 1 ;; + esac + cat build/.config > $archconfdir/$config + if [ "$keep" = "1" ]; then + mv build/.config CONFIGS/$arch-$config fi done @@ -102,22 +93,16 @@ for arch in $archs; do # Can we make this more robust by avoiding $tmpdir completely? # This approach was used for now because I didn't want to change # splitconfig - (cd $archconfdir; rm config.common.$arch; $bindir/splitconfig; \ - mv config.common config.common.$arch; \ - cp config.common.$arch $tmpdir) + (cd $archconfdir; rm common.config; $bindir/splitconfig; \ + mv common.config $tmpdir/$arch.config) done -rm -f $common_conf - -# Now run splitconfig on all the config.common.<arch> copied to +# Now run splitconfig on all the <arch>.common.config copied to # $tmpdir (cd $tmpdir; $bindir/splitconfig) -( - cd $confdir; - rm -f *-full - grep -v 'is UNMERGABLE' <$tmpdir/config.common >$common_conf - for arch in $archs; do - grep -v 'is UNMERGABLE' <$tmpdir/config.common.$arch \ - >$arch/config.common.$arch - done -) +mv $tmpdir/common.config $base_conf +for arch in $archs; do + mv $tmpdir/$arch.config $confdir/$arch/common.config +done + +rm -rf $tmpdir diff --git a/chromeos/scripts/prepareconfig b/chromeos/scripts/prepareconfig index b82cf35919fe..3fe15a1131d4 100755 --- a/chromeos/scripts/prepareconfig +++ b/chromeos/scripts/prepareconfig @@ -2,7 +2,7 @@ family=chromeos -flavourconf=$(find ${family} -name config.flavour.$1) +flavourconf=$(find ${family}/config -name $1.flavour.config) if [ ! -f "${flavourconf}" ]; then echo "Found no flavour configuration for '$1'." 1>&2 exit 1 @@ -11,8 +11,9 @@ fi outputfile="${2:-.config}" archconfdir=$(dirname ${flavourconf}) +arch=$(basename ${archconfdir}) # Generate .config -cat ${family}/config/config.common.${family} \ - ${archconfdir}/config.common.* \ +cat "${family}/config/base.config" \ + "${archconfdir}/common.config" \ "${flavourconf}" > "${outputfile}" diff --git a/chromeos/scripts/splitconfig b/chromeos/scripts/splitconfig index 262fa2015c1d..98e8efaeda16 100755 --- a/chromeos/scripts/splitconfig +++ b/chromeos/scripts/splitconfig @@ -9,13 +9,7 @@ allconfigs = {} # Parse config files for config in os.listdir("."): # Only config.* - if not config.startswith("config."): - continue - # Ignore emacs backups - if config.endswith("~"): - continue - # Nothing that is disabled, or remnant - if re.search("\.(default|disabled|stub)$", config): + if not config.endswith(".config"): continue allconfigs[config] = set() @@ -33,7 +27,7 @@ for config in allconfigs.keys(): common &= allconfigs[config] for config in allconfigs.keys(): allconfigs[config] -= common -allconfigs["config.common"] = common +allconfigs["common.config"] = common # Generate new splitconfigs for config in allconfigs.keys(): |