Skip to contentSkip to conversation

Remove unnecessary config symbol from makefile.

PATCH In review Rob Landley 2 participants 5 messages Mar 17, 2005 – Mar 20, 2005 User-mode Linux (UML)

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Remove unnecessary config symbol from makefile.

There can be only one!

arch/um/Kconfig +0 -5
diff -ur linux-2.6.11/arch/um/Kconfig linux-2.6.11.new/arch/um/Kconfig
@@ -75,11 +75,6 @@
 	default y
 	depends on MODE_TT || STATIC_LINK
 
-config LD_SCRIPT_DYN
-	bool
-	default y
-	depends on !LD_SCRIPT_STATIC
-
 config NET
 	bool "Networking support"
 	help
arch/um/Makefile +3 -6
diff -ur linux-2.6.11/arch/um/Makefile linux-2.6.11.new/arch/um/Makefile
@@ -90,7 +90,7 @@
 define archhelp
   echo '* linux		- Binary kernel image (./linux) - for backward'
   echo '		   compatibility only, this creates a hard link to the'
-  echo '		   real kernel binary, the the "vmlinux" binary you'
+  echo '		   real kernel binary, the "vmlinux" binary you'
   echo '		   find in the kernel root.'
 endef
 
@@ -99,11 +99,8 @@
 prepare: $(ARCH_SYMLINKS) $(SYS_HEADERS) $(GEN_HEADERS) \
 	$(ARCH_DIR)/kernel/vmlinux.lds.S
 
-LINK-$(CONFIG_LD_SCRIPT_STATIC) += -static
-LINK-$(CONFIG_LD_SCRIPT_DYN) += -Wl,-rpath,/lib
-
-LD_SCRIPT-$(CONFIG_LD_SCRIPT_STATIC) := uml.lds.S
-LD_SCRIPT-$(CONFIG_LD_SCRIPT_DYN) := dyn.lds.S
+LINK-y += $(if $(CONFIG_LD_SCRIPT_STATIC),-static,-Wl,-rpath,/lib)
+LD_SCRIPT-y += $(if $(CONFIG_LD_SCRIPT_STATIC),uml.lds.S,dyn.lds.S)
 
 CPP_MODE-$(CONFIG_MODE_TT) := -DMODE_TT
 CONFIG_KERNEL_STACK_ORDER ?= 2

-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
User-mode-linux-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

#1 lore raw
Quoted 1 line · Rob Landley

There can be only one!

Yes, but I prefer slightly the current way, since it's more similar to the obj-$(CONFIG_WHATEVER) += whatyouneed.o Kbuild idiom...

Quoted 55 lines

diff -ur linux-2.6.11/arch/um/Kconfig linux-2.6.11.new/arch/um/Kconfig

arch/um/Kconfig 2005-03-16 17:38:54.000000000 -0600 renamed from arch/um/Kconfig 2005-03-02 01:38:09.000000000 -0600 +0 -5
@@ -75,11 +75,6 @@
  default y
  depends on MODE_TT || STATIC_LINK
 
-config LD_SCRIPT_DYN
- bool
- default y
- depends on !LD_SCRIPT_STATIC
-
 config NET
  bool "Networking support"
  help

diff -ur linux-2.6.11/arch/um/Makefile linux-2.6.11.new/arch/um/Makefile

arch/um/Makefile 2005-03-16 17:55:36.997564112 -0600 renamed from arch/um/Makefile 2005-03-02 01:38:12.000000000 -0600 +3 -7
@@ -90,7 +90,7 @@
 define archhelp
   echo '* linux  - Binary kernel image (./linux) - for backward'
   echo '     compatibility only, this creates a hard link to the'
-  echo '     real kernel binary, the the "vmlinux" binary you'
+  echo '     real kernel binary, the "vmlinux" binary you'
   echo '     find in the kernel root.'
 endef
 
@@ -99,11 +99,8 @@
 prepare: $(ARCH_SYMLINKS) $(SYS_HEADERS) $(GEN_HEADERS) \
  $(ARCH_DIR)/kernel/vmlinux.lds.S
 
-LINK-$(CONFIG_LD_SCRIPT_STATIC) += -static
-LINK-$(CONFIG_LD_SCRIPT_DYN) += -Wl,-rpath,/lib
-
-LD_SCRIPT-$(CONFIG_LD_SCRIPT_STATIC) := uml.lds.S
-LD_SCRIPT-$(CONFIG_LD_SCRIPT_DYN) := dyn.lds.S
+LINK-y += $(if $(CONFIG_LD_SCRIPT_STATIC),-static,-Wl,-rpath,/lib)
+LD_SCRIPT-y += $(if $(CONFIG_LD_SCRIPT_STATIC),uml.lds.S,dyn.lds.S)
 
 CPP_MODE-$(CONFIG_MODE_TT) := -DMODE_TT
 CONFIG_KERNEL_STACK_ORDER ?= 2
 
 
-------------------------------------------------------

SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
User-mode-linux-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

Signature · 16 lines
Paolo Giarrusso, aka Blaisorblade
Linux registered user n. 292729
http://www.user-mode-linux.org/~blaisorblade




-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
User-mode-linux-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
#2 lore raw
Quoted 5 lines · Blaisorblade
Quoted 1 line · Rob Landley

There can be only one!

Yes, but I prefer slightly the current way, since it's more similar to the obj-$(CONFIG_WHATEVER) += whatyouneed.o Kbuild idiom...

What I wanted to do was have my build "make allnoconfig", add the symbols I wanted to switch on to the .config, and "yes '' | make oldconfig" to resolve dependencies.

The symbol I killed is set Y by make allnoconfig, and disabled by switching the other symbol on. Without the fix I posted, I have to remove existing symbols from the list, which is uglier.

I can snapshot a handtuned .config, but that's A) harder to see what I did, B) a lot more version-specific.

Rob

-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
User-mode-linux-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

#3 lore raw
Quoted 11 lines · Rob Landley
Quoted 5 lines · Blaisorblade
Quoted 1 line · Rob Landley

There can be only one!

Yes, but I prefer slightly the current way, since it's more similar to the obj-$(CONFIG_WHATEVER) += whatyouneed.o Kbuild idiom...

What I wanted to do was have my build "make allnoconfig", add the symbols I wanted to switch on to the .config, and "yes '' | make oldconfig" to resolve dependencies.

Quoted 5 lines

The symbol I killed is set Y by make allnoconfig, and disabled by switching the other symbol on.

Without the fix I posted, I have to remove existing symbols from the list,

If you enable the other symbol, Kbuild will remove it from .config for you (and output a warning message, yes, but that's hardly a problem). When I remove config options from Kconfig files I don't need to remove them from .config by hand...

Quoted 17 lines

which is uglier.

I can snapshot a handtuned .config, but that's A) harder to see what I did,
B) a lot more version-specific.

Rob

-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
User-mode-linux-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

Signature · 16 lines
Paolo Giarrusso, aka Blaisorblade
Linux registered user n. 292729
http://www.user-mode-linux.org/~blaisorblade




-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
User-mode-linux-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
#4 lore raw
Quoted 7 lines · Blaisorblade
Quoted 2 lines

Without the fix I posted, I have to remove existing symbols from the list,

If you enable the other symbol, Kbuild will remove it from .config for you (and output a warning message, yes, but that's hardly a problem). When I remove config options from Kconfig files I don't need to remove them from .config by hand...

How does oldconfig know which one "wins" when they're both set in the .config? I'm not running menuconfig, I have a script that is appending more symbols to the .config file, which works fine for normal symbols (ones that are commented out when they're not set), and I'm starting with a "make allnoconfig" that I then append extra symbols to and run make oldconfig to resolve dependencies...

Trying to set up something with make config and expect would be more brittle and version specific than just snapshotting a .config file in the first place, and would defeat the purpose anyway. The point is, I wanted my build script to be self-documenting about what symbols it needed. The ones it appends are the ones it needs, and the ones you'd have to switch on by hand if you did a make allnoconfig followed by make menuconfig yourself..

See what I'm getting at?

If you're saying that there's a hard rule that any symbol that's set by make allnoconfig will automatically lose to any other symbol that isn't if both are set in the config and oldconfig has to resolve an inconsistent state, I suppose I can live with that. I'm a bit uncomfortable relying on that unless it's documented somewhere...

Rob

-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
User-mode-linux-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel