Skip to contentSkip to conversation

make xconfig broken in ia64-020622

PATCH In review Khalid Aziz 5 participants 6 messages Jul 9, 2002 – Jul 19, 2002

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 make xconfig broken in ia64-020622

020622 version of ia64 patch breaks "make xconfig". This is due to a bug in sound drivers configuration file. Attached patch fixes this problem.

--
Khalid

====================================================================
Khalid Aziz Linux Systems Division
(970)898-9214 Hewlett-Packard
[email protected] Fort Collins, CO

drivers/sound/Config.in +1 -1
@@ -30,7 +30,7 @@
 	fi
     fi
 fi
-dep_tristate '  FM801' CONFIG_FM801 
+dep_tristate '  FM801' CONFIG_FM801 $CONFIG_SOUND $CONFIG_PCI
 dep_tristate '  Creative SBLive! (EMU10K1)' CONFIG_SOUND_EMU10K1 $CONFIG_SOUND $CONFIG_PCI
 dep_mbool    '    Creative SBLive! MIDI' CONFIG_MIDI_EMU10K1 $CONFIG_SOUND_EMU10K1 $CONFIG_EXPERIMENTAL
 dep_tristate '  Crystal SoundFusion (CS4280/461x)' CONFIG_SOUND_FUSION $CONFIG_SOUND
#1 lore raw

Unfortunatly, there are more things broken with make xconfig:

. multiple conditions are not handled by tkparse:

eg: unable to set CONFIG_IA64_MCA when CONFIG_IA64_DIG is set.

if [ "$CONFIG_IA64_GENERIC" = "y" ] || [ "$CONFIG_IA64_DIG" = "y" ] \

   || [ "$CONFIG_IA64_HP_ZX1" = "y" ]; then
	bool '  Enable IA-64 Machine Check Abort' CONFIG_IA64_MCA

define_bool CONFIG_PM y
fi

. block device options are not generated in 2.4.18:

ERROR - Attempting to write value for unconfigured variable (CONFIG_BLK_DEV_LOOP). ERROR - Attempting to write value for unconfigured variable (CONFIG_BLK_DEV_NBD). ERROR - Attempting to write value for unconfigured variable (CONFIG_BLK_DEV_RAM). Having a look in tkparse.c, we can read:
" * TO DO:
* - xconfig is at the end of its life cycle. Contact <[email protected]> if
* you are interested in working on the replacement."

I think that the linux hackers probably use make menuconfig, as they did not report such problems :-) ???
Xavier

#2 lore raw
In reply to Khalid Aziz

Absolutely. xconfig parser has major problems with the following patch to arch/ia64/config.in in 020622:

+else # ! HP_SIM
+mainmenu_option next_comment
+comment 'Block devices'
+tristate 'Loopback device support' CONFIG_BLK_DEV_LOOP +dep_tristate 'Network block device support' CONFIG_BLK_DEV_NBD $CONFIG_NET
+
+tristate 'RAM disk support' CONFIG_BLK_DEV_RAM
+if [ "$CONFIG_BLK_DEV_RAM" = "y" -o "$CONFIG_BLK_DEV_RAM" = "m" ]; then
+ int ' Default RAM disk size' CONFIG_BLK_DEV_RAM_SIZE 4096
+fi
+endmenu

xconfig parser looks at this definition of 'Block devices' and the one in drivers/block/Config.in and considers them duplicates inspite of the conditional. With this patch, you can not configure loopback device or RAM disk unless you are configuring for HP Simulator.

Without the patch I sent, "make xconfig" won't even start. So this patch only makes xconfig atleast partially usable.

--
Khalid

Quoted 23 lines · Xavier Bru

Unfortunatly, there are more things broken with make xconfig:

. multiple conditions are not handled by tkparse:

eg: unable to set CONFIG_IA64_MCA when CONFIG_IA64_DIG is set.

if [ "$CONFIG_IA64_GENERIC" = "y" ] || [ "$CONFIG_IA64_DIG" = "y" ] \

   || [ "$CONFIG_IA64_HP_ZX1" = "y" ]; then
        bool '  Enable IA-64 Machine Check Abort' CONFIG_IA64_MCA

define_bool CONFIG_PM y
fi

. block device options are not generated in 2.4.18:

ERROR - Attempting to write value for unconfigured variable (CONFIG_BLK_DEV_LOOP). ERROR - Attempting to write value for unconfigured variable (CONFIG_BLK_DEV_NBD). ERROR - Attempting to write value for unconfigured variable (CONFIG_BLK_DEV_RAM). Having a look in tkparse.c, we can read:
" * TO DO:
* - xconfig is at the end of its life cycle. Contact <[email protected]> if
* you are interested in working on the replacement."

Quoted 8 lines

I think that the linux hackers probably use make menuconfig, as they did not report such problems :-) ???
Xavier

_______________________________________________
Linux-IA64 mailing list
[email protected]
http://lists.linuxia64.org/lists/listinfo/linux-ia64

==================================
Khalid Aziz Linux Systems Division
(970)898-9214 Hewlett-Packard
[email protected] Fort Collins, CO

#3 lore raw
In reply to Khalid Aziz
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line · Khalid Aziz

Khalid> Absolutely. xconfig parser has major problems with the Khalid> following patch to arch/ia64/config.in in 020622:

Khalid> +else # ! HP_SIM
Khalid> +mainmenu_option next_comment
Khalid> +comment 'Block devices'
Khalid> +tristate 'Loopback device support' CONFIG_BLK_DEV_LOOP Khalid> +dep_tristate 'Network block device support' CONFIG_BLK_DEV_NBD Khalid> $CONFIG_NET
Khalid> +
Khalid> +tristate 'RAM disk support' CONFIG_BLK_DEV_RAM
Khalid> +if [ "$CONFIG_BLK_DEV_RAM" = "y" -o "$CONFIG_BLK_DEV_RAM" = "m" ]; then
Khalid> + int ' Default RAM disk size' CONFIG_BLK_DEV_RAM_SIZE 4096
Khalid> +fi
Khalid> +endmenu

Khalid> xconfig parser looks at this definition of 'Block devices' Khalid> and the one in drivers/block/Config.in and considers them Khalid> duplicates inspite of the conditional. With this patch, you Khalid> can not configure loopback device or RAM disk unless you are Khalid> configuring for HP Simulator.

Khalid> Without the patch I sent, "make xconfig" won't even Khalid> start. So this patch only makes xconfig atleast partially Khalid> usable.

If nobody wants to fix this problem, perhaps what we should do is change "make xconfig" so it just prints a message telling the user to do "make menuconfig" instead. Other suggestions (and particular patches) are welcome...

	--david
#4 lore raw
In reply to Khalid Aziz
Quoted 6 lines · David Mosberger

If nobody wants to fix this problem, perhaps what we should do is change "make xconfig" so it just prints a message telling the user to do "make menuconfig" instead. Other suggestions (and particular patches) are welcome...

It might not be a bad idea to do this anyway until xconfig is fixed. If xconfig never gets fixed, the message to use menuconfig will stay in permanently.

Signature · 6 lines
Khalid

==================================
Khalid Aziz                                   Linux Systems Division
(970)898-9214                                        Hewlett-Packard
[email protected]                                    Fort Collins, CO
#5 lore raw
In reply to Khalid Aziz
Quoted 9 lines · Xavier Bru

Unfortunatly, there are more things broken with make xconfig:

. multiple conditions are not handled by tkparse:

eg: unable to set CONFIG_IA64_MCA when CONFIG_IA64_DIG is set.

if [ "$CONFIG_IA64_GENERIC" = "y" ] || [ "$CONFIG_IA64_DIG" = "y" ] \

  || [ "$CONFIG_IA64_HP_ZX1" = "y" ]; then
	bool '  Enable IA-64 Machine Check Abort' CONFIG_IA64_MCA
Quoted 8 lines

define_bool CONFIG_PM y
fi

. block device options are not generated in 2.4.18:

ERROR - Attempting to write value for unconfigured variable (CONFIG_BLK_DEV_LOOP). ERROR - Attempting to write value for unconfigured variable (CONFIG_BLK_DEV_NBD). ERROR - Attempting to write value for unconfigured variable (CONFIG_BLK_DEV_RAM).

Documentation/kbuild/config-language.txt: Config Language is not 'bash'.

Index: 18.95/arch/ia64/config.in

arch/ia64/config.in Fri, 19 Jul 2002 16:38:02 +1000 kaos (linux-2.4/s/c/38_config.in 1.1.2.1.2.2.3.1.1.6 644) renamed from arch/ia64/config.in Thu, 09 May 2002 12:00:25 +1000 kaos (linux-2.4/s/c/38_config.in 1.1.2.1.2.2.3.1.1.6 644) +6 -3
@@ -78,13 +78,12 @@ if [ "$CONFIG_MCKINLEY" = "y" ]; then
 	fi
 fi
 
-if [ "$CONFIG_IA64_GENERIC" = "y" ] || [ "$CONFIG_IA64_DIG" = "y" ] \
-   || [ "$CONFIG_IA64_HP_ZX1" = "y" ]; then
+if [ "$CONFIG_IA64_GENERIC" = "y" -o "$CONFIG_IA64_DIG" = "y" -o "$CONFIG_IA64_HP_ZX1" = "y" ]; then
 	bool '  Enable IA-64 Machine Check Abort' CONFIG_IA64_MCA
 	define_bool CONFIG_PM y
 fi
 
-if [ "$CONFIG_IA64_SGI_SN1" = "y" ] || [ "$CONFIG_IA64_SGI_SN2" = "y" ]; then
+if [ "$CONFIG_IA64_SGI_SN1" = "y" -o "$CONFIG_IA64_SGI_SN2" = "y" ]; then
 	define_bool CONFIG_IA64_SGI_SN y
 	bool '  Enable extra debugging code' CONFIG_IA64_SGI_SN_DEBUG n
 	bool '  Enable SGI Medusa Simulator Support' CONFIG_IA64_SGI_SN_SIM
@@ -143,6 +142,10 @@ fi
 
 if [ "$CONFIG_IA64_HP_SIM" = "n" ]; then
 
+define_tristate CONFIG_BLK_DEV_LOOP n
+define_tristate CONFIG_BLK_DEV_NBD n
+define_tristate CONFIG_BLK_DEV_RAM n
+
 source drivers/mtd/Config.in
 source drivers/pnp/Config.in
 source drivers/block/Config.in