patch-1.3.36 linux/scripts/Configure

Next file: linux/scripts/header.tk
Previous file: linux/net/socket.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v1.3.35/linux/scripts/Configure linux/scripts/Configure
@@ -99,11 +99,11 @@
 #
 # bool processes a boolean argument
 #
-#	bool question define default
+#	bool question define
 #
 function bool () {
 	ans=""
-	def=$(eval echo "\${$2:-$3}")
+	def=$(eval echo "\${$2:-'n'}")
         case "$def" in
          "y") defprompt="Y/n"
               ;;
@@ -119,11 +119,11 @@
 #
 # tristate processes a tristate argument
 #
-#	tristate question define default
+#	tristate question define
 #
 function tristate () {
 	ans=""
-	def=$(eval echo "\${$2:-$3}")
+	def=$(eval echo "\${$2:-'n'}")
         case "$def" in
          "y") defprompt="Y/m/n"
               ;;
@@ -149,11 +149,11 @@
 #	else in the kernel.
 #
 function dep_tristate () {
-	if [ "$4" != "m" ]; then
-		tristate "$1" "$2" "$3"
+	def=$(eval echo "\${$2:-'n'}")
+	if [ "$def" != "m" ]; then
+		tristate "$1" "$2"
 	else
 		ans=""
-		def=$(eval echo "\${$2:-$3}")
 	        case "$def" in
         	 "y" | "m") defprompt="M/n"
 		      def="m"
@@ -284,17 +284,26 @@
 	CONFIG_IN=$1
 fi
 
-if [ -f ./.config ] ; then
-	. ./.config
-	sed -e 's/# \(.*\) is not.*/\1=n/' <./.config >/tmp/conf.$$
-	. /tmp/conf.$$
-	rm /tmp/conf.$$
+DEFAULTS=arch/$ARCH/defconfig
+if [ -f .config ]; then
+  DEFAULTS=.config
 fi
-. $CONFIG_IN
 
-case "$CONFIG_SOUND" in
-	[YyMm] )	$MAKE -C drivers/sound config || exit 1 ;;
-esac
+if [ -f $DEFAULTS ]; then
+  echo "#"
+  echo "# Using defaults found in" $DEFAULTS
+  echo "#"
+  . $DEFAULTS
+  sed -e 's/# \(.*\) is not.*/\1=n/' < $DEFAULTS > /tmp/conf.$$
+  . /tmp/conf.$$
+  rm /tmp/conf.$$
+else
+  echo "#"
+  echo "# No defaults found"
+  echo "#"
+fi
+
+. $CONFIG_IN
 
 rm -f .config.old
 if [ -f .config ]; then

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov with Sam's (original) version
of this