All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] kconfig: store default ARCH in .config
@ 2014-07-06  8:02 ` Konstantin Khlebnikov
  0 siblings, 0 replies; 13+ messages in thread
From: Konstantin Khlebnikov @ 2014-07-06  8:02 UTC (permalink / raw)
  To: Michal Marek, linux-kernel, linux-kbuild
  Cc: Greg Kroah-Hartman, Andrew Morton, Linus Torvalds, linux-arm-kernel

This patch makes cross-compilation configuration fully statefull.
Default ARCH is stored in .config as CONFIG_DEFAULT_ARCH.
After initial configuration specifying ARCH= is no longer required.

To avoid recursion it is read directly from .config using scritps/config
because include/config/auto.conf is not yet included at this point.

Signed-off-by: Konstantin Khlebnikov <koct9i@gmail.com>
---
 Documentation/kbuild/makefiles.txt |    2 ++
 Makefile                           |   19 ++++++++++++++-----
 init/Kconfig                       |    4 ++++
 3 files changed, 20 insertions(+), 5 deletions(-)

diff --git a/Documentation/kbuild/makefiles.txt b/Documentation/kbuild/makefiles.txt
index c600e2f..ced3e42 100644
--- a/Documentation/kbuild/makefiles.txt
+++ b/Documentation/kbuild/makefiles.txt
@@ -1394,6 +1394,8 @@ The top Makefile exports the following variables:
 
 	    make ARCH=m68k ...
 
+	Default $(ARCH) is stored in .config as CONFIG_DEFAULT_ARCH,
+	so overriding is required only for initial configuration.
 
     INSTALL_PATH
 
diff --git a/Makefile b/Makefile
index 50fb690..76fcd9f 100644
--- a/Makefile
+++ b/Makefile
@@ -171,6 +171,8 @@ VPATH		:= $(srctree)$(if $(KBUILD_EXTMOD),:$(KBUILD_EXTMOD))
 
 export srctree objtree VPATH
 
+KCONFIG_CONFIG	?= .config
+export KCONFIG_CONFIG
 
 # SUBARCH tells the usermode build what the underlying arch is.  That is set
 # first, and if a usermode build is happening, the "ARCH=um" on the command
@@ -193,7 +195,18 @@ SUBARCH := $(shell uname -m | sed -e s/i.86/x86/ -e s/x86_64/x86/ \
 # ARCH can be set during invocation of make:
 # make ARCH=ia64
 # Another way is to have ARCH set in the environment.
-# The default ARCH is the host where make is executed.
+# If CONFIG_DEFAULT_ARCH is in .config its value is used as default ARCH,
+# otherwise the host where make is executed.
+
+ifndef ARCH
+	ARCH := $(shell test -e $(KBUILD_OUTPUT)$(KCONFIG_CONFIG) && \
+			$(srctree)/scripts/config \
+			--file $(KBUILD_OUTPUT)$(KCONFIG_CONFIG) \
+			--state "DEFAULT_ARCH")
+ifeq ($(filter-out undef,$(ARCH)),)
+	ARCH := $(SUBARCH)
+endif
+endif
 
 # CROSS_COMPILE specify the prefix used for all executables used
 # during compilation. Only gcc and related bin-utils executables
@@ -205,7 +218,6 @@ SUBARCH := $(shell uname -m | sed -e s/i.86/x86/ -e s/x86_64/x86/ \
 # "make" in the configured kernel build directory always uses that.
 # Default value for CROSS_COMPILE is not to prefix executables
 # Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile
-ARCH		?= $(SUBARCH)
 CROSS_COMPILE	?= $(CONFIG_CROSS_COMPILE:"%"=%)
 
 # Architecture as present in compile.h
@@ -244,9 +256,6 @@ endif
 # Where to locate arch specific headers
 hdr-arch  := $(SRCARCH)
 
-KCONFIG_CONFIG	?= .config
-export KCONFIG_CONFIG
-
 # SHELL used by kbuild
 CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
 	  else if [ -x /bin/bash ]; then echo /bin/bash; \
diff --git a/init/Kconfig b/init/Kconfig
index 9d76b99..3d58cb7 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -2,6 +2,10 @@ config ARCH
 	string
 	option env="ARCH"
 
+config DEFAULT_ARCH
+	string
+	default ARCH
+
 config KERNELVERSION
 	string
 	option env="KERNELVERSION"


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH] kconfig: store default ARCH in .config
@ 2014-07-06  8:02 ` Konstantin Khlebnikov
  0 siblings, 0 replies; 13+ messages in thread
From: Konstantin Khlebnikov @ 2014-07-06  8:02 UTC (permalink / raw)
  To: linux-arm-kernel

This patch makes cross-compilation configuration fully statefull.
Default ARCH is stored in .config as CONFIG_DEFAULT_ARCH.
After initial configuration specifying ARCH= is no longer required.

To avoid recursion it is read directly from .config using scritps/config
because include/config/auto.conf is not yet included at this point.

Signed-off-by: Konstantin Khlebnikov <koct9i@gmail.com>
---
 Documentation/kbuild/makefiles.txt |    2 ++
 Makefile                           |   19 ++++++++++++++-----
 init/Kconfig                       |    4 ++++
 3 files changed, 20 insertions(+), 5 deletions(-)

diff --git a/Documentation/kbuild/makefiles.txt b/Documentation/kbuild/makefiles.txt
index c600e2f..ced3e42 100644
--- a/Documentation/kbuild/makefiles.txt
+++ b/Documentation/kbuild/makefiles.txt
@@ -1394,6 +1394,8 @@ The top Makefile exports the following variables:
 
 	    make ARCH=m68k ...
 
+	Default $(ARCH) is stored in .config as CONFIG_DEFAULT_ARCH,
+	so overriding is required only for initial configuration.
 
     INSTALL_PATH
 
diff --git a/Makefile b/Makefile
index 50fb690..76fcd9f 100644
--- a/Makefile
+++ b/Makefile
@@ -171,6 +171,8 @@ VPATH		:= $(srctree)$(if $(KBUILD_EXTMOD),:$(KBUILD_EXTMOD))
 
 export srctree objtree VPATH
 
+KCONFIG_CONFIG	?= .config
+export KCONFIG_CONFIG
 
 # SUBARCH tells the usermode build what the underlying arch is.  That is set
 # first, and if a usermode build is happening, the "ARCH=um" on the command
@@ -193,7 +195,18 @@ SUBARCH := $(shell uname -m | sed -e s/i.86/x86/ -e s/x86_64/x86/ \
 # ARCH can be set during invocation of make:
 # make ARCH=ia64
 # Another way is to have ARCH set in the environment.
-# The default ARCH is the host where make is executed.
+# If CONFIG_DEFAULT_ARCH is in .config its value is used as default ARCH,
+# otherwise the host where make is executed.
+
+ifndef ARCH
+	ARCH := $(shell test -e $(KBUILD_OUTPUT)$(KCONFIG_CONFIG) && \
+			$(srctree)/scripts/config \
+			--file $(KBUILD_OUTPUT)$(KCONFIG_CONFIG) \
+			--state "DEFAULT_ARCH")
+ifeq ($(filter-out undef,$(ARCH)),)
+	ARCH := $(SUBARCH)
+endif
+endif
 
 # CROSS_COMPILE specify the prefix used for all executables used
 # during compilation. Only gcc and related bin-utils executables
@@ -205,7 +218,6 @@ SUBARCH := $(shell uname -m | sed -e s/i.86/x86/ -e s/x86_64/x86/ \
 # "make" in the configured kernel build directory always uses that.
 # Default value for CROSS_COMPILE is not to prefix executables
 # Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile
-ARCH		?= $(SUBARCH)
 CROSS_COMPILE	?= $(CONFIG_CROSS_COMPILE:"%"=%)
 
 # Architecture as present in compile.h
@@ -244,9 +256,6 @@ endif
 # Where to locate arch specific headers
 hdr-arch  := $(SRCARCH)
 
-KCONFIG_CONFIG	?= .config
-export KCONFIG_CONFIG
-
 # SHELL used by kbuild
 CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
 	  else if [ -x /bin/bash ]; then echo /bin/bash; \
diff --git a/init/Kconfig b/init/Kconfig
index 9d76b99..3d58cb7 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -2,6 +2,10 @@ config ARCH
 	string
 	option env="ARCH"
 
+config DEFAULT_ARCH
+	string
+	default ARCH
+
 config KERNELVERSION
 	string
 	option env="KERNELVERSION"

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [PATCH] kconfig: store default ARCH in .config
  2014-07-06  8:02 ` Konstantin Khlebnikov
@ 2014-07-06  9:05   ` Paul Bolle
  -1 siblings, 0 replies; 13+ messages in thread
From: Paul Bolle @ 2014-07-06  9:05 UTC (permalink / raw)
  To: Konstantin Khlebnikov
  Cc: Michal Marek, linux-kernel, linux-kbuild, Greg Kroah-Hartman,
	Andrew Morton, Linus Torvalds, linux-arm-kernel

On Sun, 2014-07-06 at 12:02 +0400, Konstantin Khlebnikov wrote:
> This patch makes cross-compilation configuration fully statefull.
> Default ARCH is stored in .config as CONFIG_DEFAULT_ARCH.
> After initial configuration specifying ARCH= is no longer required.
> 
> To avoid recursion it is read directly from .config using scritps/config
> because include/config/auto.conf is not yet included at this point.
> 
> Signed-off-by: Konstantin Khlebnikov <koct9i@gmail.com>
> ---

It this needed because the Kconfig symbol ARCH is set only if ARCH is
set in the environment?

Could the same result be had by saving CONFIG_ARCH in .config (I suppose
it actually already is) and then use its value on builds with
that .config unless ARCH is specified in the environment again? Ie,
change the "option env=[...]" semantics a bit, perhaps by special casing
CONFIG_ARCH. 

>  Documentation/kbuild/makefiles.txt |    2 ++
>  Makefile                           |   19 ++++++++++++++-----
>  init/Kconfig                       |    4 ++++
>  3 files changed, 20 insertions(+), 5 deletions(-)
> 
> diff --git a/Documentation/kbuild/makefiles.txt b/Documentation/kbuild/makefiles.txt
> index c600e2f..ced3e42 100644
> --- a/Documentation/kbuild/makefiles.txt
> +++ b/Documentation/kbuild/makefiles.txt
> @@ -1394,6 +1394,8 @@ The top Makefile exports the following variables:
>  
>  	    make ARCH=m68k ...
>  
> +	Default $(ARCH) is stored in .config as CONFIG_DEFAULT_ARCH,
> +	so overriding is required only for initial configuration.
>  
>      INSTALL_PATH
>  
> diff --git a/Makefile b/Makefile
> index 50fb690..76fcd9f 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -171,6 +171,8 @@ VPATH		:= $(srctree)$(if $(KBUILD_EXTMOD),:$(KBUILD_EXTMOD))
>  
>  export srctree objtree VPATH
>  
> +KCONFIG_CONFIG	?= .config
> +export KCONFIG_CONFIG
>  
>  # SUBARCH tells the usermode build what the underlying arch is.  That is set
>  # first, and if a usermode build is happening, the "ARCH=um" on the command
> @@ -193,7 +195,18 @@ SUBARCH := $(shell uname -m | sed -e s/i.86/x86/ -e s/x86_64/x86/ \
>  # ARCH can be set during invocation of make:
>  # make ARCH=ia64
>  # Another way is to have ARCH set in the environment.
> -# The default ARCH is the host where make is executed.
> +# If CONFIG_DEFAULT_ARCH is in .config its value is used as default ARCH,
> +# otherwise the host where make is executed.
> +
> +ifndef ARCH
> +	ARCH := $(shell test -e $(KBUILD_OUTPUT)$(KCONFIG_CONFIG) && \
> +			$(srctree)/scripts/config \
> +			--file $(KBUILD_OUTPUT)$(KCONFIG_CONFIG) \
> +			--state "DEFAULT_ARCH")
> +ifeq ($(filter-out undef,$(ARCH)),)
> +	ARCH := $(SUBARCH)
> +endif
> +endif
>  
>  # CROSS_COMPILE specify the prefix used for all executables used
>  # during compilation. Only gcc and related bin-utils executables
> @@ -205,7 +218,6 @@ SUBARCH := $(shell uname -m | sed -e s/i.86/x86/ -e s/x86_64/x86/ \
>  # "make" in the configured kernel build directory always uses that.
>  # Default value for CROSS_COMPILE is not to prefix executables
>  # Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile
> -ARCH		?= $(SUBARCH)
>  CROSS_COMPILE	?= $(CONFIG_CROSS_COMPILE:"%"=%)
>  
>  # Architecture as present in compile.h
> @@ -244,9 +256,6 @@ endif
>  # Where to locate arch specific headers
>  hdr-arch  := $(SRCARCH)
>  
> -KCONFIG_CONFIG	?= .config
> -export KCONFIG_CONFIG
> -
>  # SHELL used by kbuild
>  CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
>  	  else if [ -x /bin/bash ]; then echo /bin/bash; \
> diff --git a/init/Kconfig b/init/Kconfig
> index 9d76b99..3d58cb7 100644
> --- a/init/Kconfig
> +++ b/init/Kconfig
> @@ -2,6 +2,10 @@ config ARCH
>  	string
>  	option env="ARCH"
>  
> +config DEFAULT_ARCH
> +	string
> +	default ARCH
> +
>  config KERNELVERSION
>  	string
>  	option env="KERNELVERSION"


Paul Bolle


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH] kconfig: store default ARCH in .config
@ 2014-07-06  9:05   ` Paul Bolle
  0 siblings, 0 replies; 13+ messages in thread
From: Paul Bolle @ 2014-07-06  9:05 UTC (permalink / raw)
  To: linux-arm-kernel

On Sun, 2014-07-06 at 12:02 +0400, Konstantin Khlebnikov wrote:
> This patch makes cross-compilation configuration fully statefull.
> Default ARCH is stored in .config as CONFIG_DEFAULT_ARCH.
> After initial configuration specifying ARCH= is no longer required.
> 
> To avoid recursion it is read directly from .config using scritps/config
> because include/config/auto.conf is not yet included at this point.
> 
> Signed-off-by: Konstantin Khlebnikov <koct9i@gmail.com>
> ---

It this needed because the Kconfig symbol ARCH is set only if ARCH is
set in the environment?

Could the same result be had by saving CONFIG_ARCH in .config (I suppose
it actually already is) and then use its value on builds with
that .config unless ARCH is specified in the environment again? Ie,
change the "option env=[...]" semantics a bit, perhaps by special casing
CONFIG_ARCH. 

>  Documentation/kbuild/makefiles.txt |    2 ++
>  Makefile                           |   19 ++++++++++++++-----
>  init/Kconfig                       |    4 ++++
>  3 files changed, 20 insertions(+), 5 deletions(-)
> 
> diff --git a/Documentation/kbuild/makefiles.txt b/Documentation/kbuild/makefiles.txt
> index c600e2f..ced3e42 100644
> --- a/Documentation/kbuild/makefiles.txt
> +++ b/Documentation/kbuild/makefiles.txt
> @@ -1394,6 +1394,8 @@ The top Makefile exports the following variables:
>  
>  	    make ARCH=m68k ...
>  
> +	Default $(ARCH) is stored in .config as CONFIG_DEFAULT_ARCH,
> +	so overriding is required only for initial configuration.
>  
>      INSTALL_PATH
>  
> diff --git a/Makefile b/Makefile
> index 50fb690..76fcd9f 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -171,6 +171,8 @@ VPATH		:= $(srctree)$(if $(KBUILD_EXTMOD),:$(KBUILD_EXTMOD))
>  
>  export srctree objtree VPATH
>  
> +KCONFIG_CONFIG	?= .config
> +export KCONFIG_CONFIG
>  
>  # SUBARCH tells the usermode build what the underlying arch is.  That is set
>  # first, and if a usermode build is happening, the "ARCH=um" on the command
> @@ -193,7 +195,18 @@ SUBARCH := $(shell uname -m | sed -e s/i.86/x86/ -e s/x86_64/x86/ \
>  # ARCH can be set during invocation of make:
>  # make ARCH=ia64
>  # Another way is to have ARCH set in the environment.
> -# The default ARCH is the host where make is executed.
> +# If CONFIG_DEFAULT_ARCH is in .config its value is used as default ARCH,
> +# otherwise the host where make is executed.
> +
> +ifndef ARCH
> +	ARCH := $(shell test -e $(KBUILD_OUTPUT)$(KCONFIG_CONFIG) && \
> +			$(srctree)/scripts/config \
> +			--file $(KBUILD_OUTPUT)$(KCONFIG_CONFIG) \
> +			--state "DEFAULT_ARCH")
> +ifeq ($(filter-out undef,$(ARCH)),)
> +	ARCH := $(SUBARCH)
> +endif
> +endif
>  
>  # CROSS_COMPILE specify the prefix used for all executables used
>  # during compilation. Only gcc and related bin-utils executables
> @@ -205,7 +218,6 @@ SUBARCH := $(shell uname -m | sed -e s/i.86/x86/ -e s/x86_64/x86/ \
>  # "make" in the configured kernel build directory always uses that.
>  # Default value for CROSS_COMPILE is not to prefix executables
>  # Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile
> -ARCH		?= $(SUBARCH)
>  CROSS_COMPILE	?= $(CONFIG_CROSS_COMPILE:"%"=%)
>  
>  # Architecture as present in compile.h
> @@ -244,9 +256,6 @@ endif
>  # Where to locate arch specific headers
>  hdr-arch  := $(SRCARCH)
>  
> -KCONFIG_CONFIG	?= .config
> -export KCONFIG_CONFIG
> -
>  # SHELL used by kbuild
>  CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
>  	  else if [ -x /bin/bash ]; then echo /bin/bash; \
> diff --git a/init/Kconfig b/init/Kconfig
> index 9d76b99..3d58cb7 100644
> --- a/init/Kconfig
> +++ b/init/Kconfig
> @@ -2,6 +2,10 @@ config ARCH
>  	string
>  	option env="ARCH"
>  
> +config DEFAULT_ARCH
> +	string
> +	default ARCH
> +
>  config KERNELVERSION
>  	string
>  	option env="KERNELVERSION"


Paul Bolle

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] kconfig: store default ARCH in .config
  2014-07-06  9:05   ` Paul Bolle
  (?)
@ 2014-07-06  9:08     ` Geert Uytterhoeven
  -1 siblings, 0 replies; 13+ messages in thread
From: Geert Uytterhoeven @ 2014-07-06  9:08 UTC (permalink / raw)
  To: Paul Bolle
  Cc: Konstantin Khlebnikov, Michal Marek, linux-kernel, linux-kbuild,
	Greg Kroah-Hartman, Andrew Morton, Linus Torvalds,
	linux-arm-kernel

On Sun, Jul 6, 2014 at 11:05 AM, Paul Bolle <pebolle@tiscali.nl> wrote:
> On Sun, 2014-07-06 at 12:02 +0400, Konstantin Khlebnikov wrote:
>> This patch makes cross-compilation configuration fully statefull.
>> Default ARCH is stored in .config as CONFIG_DEFAULT_ARCH.
>> After initial configuration specifying ARCH= is no longer required.
>>
>> To avoid recursion it is read directly from .config using scritps/config
>> because include/config/auto.conf is not yet included at this point.
>>
>> Signed-off-by: Konstantin Khlebnikov <koct9i@gmail.com>
>> ---
>
> It this needed because the Kconfig symbol ARCH is set only if ARCH is
> set in the environment?
>
> Could the same result be had by saving CONFIG_ARCH in .config (I suppose
> it actually already is) and then use its value on builds with

No, currently it's not saved in .config, so I guess that's why this convoluted
approach is needed.

> that .config unless ARCH is specified in the environment again? Ie,
> change the "option env=[...]" semantics a bit, perhaps by special casing
> CONFIG_ARCH.

Indeed.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] kconfig: store default ARCH in .config
@ 2014-07-06  9:08     ` Geert Uytterhoeven
  0 siblings, 0 replies; 13+ messages in thread
From: Geert Uytterhoeven @ 2014-07-06  9:08 UTC (permalink / raw)
  To: Paul Bolle
  Cc: Konstantin Khlebnikov, Michal Marek, linux-kernel, linux-kbuild,
	Greg Kroah-Hartman, Andrew Morton, Linus Torvalds,
	linux-arm-kernel

On Sun, Jul 6, 2014 at 11:05 AM, Paul Bolle <pebolle@tiscali.nl> wrote:
> On Sun, 2014-07-06 at 12:02 +0400, Konstantin Khlebnikov wrote:
>> This patch makes cross-compilation configuration fully statefull.
>> Default ARCH is stored in .config as CONFIG_DEFAULT_ARCH.
>> After initial configuration specifying ARCH= is no longer required.
>>
>> To avoid recursion it is read directly from .config using scritps/config
>> because include/config/auto.conf is not yet included at this point.
>>
>> Signed-off-by: Konstantin Khlebnikov <koct9i@gmail.com>
>> ---
>
> It this needed because the Kconfig symbol ARCH is set only if ARCH is
> set in the environment?
>
> Could the same result be had by saving CONFIG_ARCH in .config (I suppose
> it actually already is) and then use its value on builds with

No, currently it's not saved in .config, so I guess that's why this convoluted
approach is needed.

> that .config unless ARCH is specified in the environment again? Ie,
> change the "option env=[...]" semantics a bit, perhaps by special casing
> CONFIG_ARCH.

Indeed.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH] kconfig: store default ARCH in .config
@ 2014-07-06  9:08     ` Geert Uytterhoeven
  0 siblings, 0 replies; 13+ messages in thread
From: Geert Uytterhoeven @ 2014-07-06  9:08 UTC (permalink / raw)
  To: linux-arm-kernel

On Sun, Jul 6, 2014 at 11:05 AM, Paul Bolle <pebolle@tiscali.nl> wrote:
> On Sun, 2014-07-06 at 12:02 +0400, Konstantin Khlebnikov wrote:
>> This patch makes cross-compilation configuration fully statefull.
>> Default ARCH is stored in .config as CONFIG_DEFAULT_ARCH.
>> After initial configuration specifying ARCH= is no longer required.
>>
>> To avoid recursion it is read directly from .config using scritps/config
>> because include/config/auto.conf is not yet included at this point.
>>
>> Signed-off-by: Konstantin Khlebnikov <koct9i@gmail.com>
>> ---
>
> It this needed because the Kconfig symbol ARCH is set only if ARCH is
> set in the environment?
>
> Could the same result be had by saving CONFIG_ARCH in .config (I suppose
> it actually already is) and then use its value on builds with

No, currently it's not saved in .config, so I guess that's why this convoluted
approach is needed.

> that .config unless ARCH is specified in the environment again? Ie,
> change the "option env=[...]" semantics a bit, perhaps by special casing
> CONFIG_ARCH.

Indeed.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] kconfig: store default ARCH in .config
  2014-07-06  9:08     ` Geert Uytterhoeven
  (?)
@ 2014-07-06 10:02       ` Konstantin Khlebnikov
  -1 siblings, 0 replies; 13+ messages in thread
From: Konstantin Khlebnikov @ 2014-07-06 10:02 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Paul Bolle, Michal Marek, linux-kernel, linux-kbuild,
	Greg Kroah-Hartman, Andrew Morton, Linus Torvalds,
	linux-arm-kernel

On Sun, Jul 6, 2014 at 1:08 PM, Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> On Sun, Jul 6, 2014 at 11:05 AM, Paul Bolle <pebolle@tiscali.nl> wrote:
>> On Sun, 2014-07-06 at 12:02 +0400, Konstantin Khlebnikov wrote:
>>> This patch makes cross-compilation configuration fully statefull.
>>> Default ARCH is stored in .config as CONFIG_DEFAULT_ARCH.
>>> After initial configuration specifying ARCH= is no longer required.
>>>
>>> To avoid recursion it is read directly from .config using scritps/config
>>> because include/config/auto.conf is not yet included at this point.
>>>
>>> Signed-off-by: Konstantin Khlebnikov <koct9i@gmail.com>
>>> ---
>>
>> It this needed because the Kconfig symbol ARCH is set only if ARCH is
>> set in the environment?
>>
>> Could the same result be had by saving CONFIG_ARCH in .config (I suppose
>> it actually already is) and then use its value on builds with
>
> No, currently it's not saved in .config, so I guess that's why this convoluted
> approach is needed.

Yep, kconfig neither reads nor writres symbols with option env=...

>
>> that .config unless ARCH is specified in the environment again? Ie,
>> change the "option env=[...]" semantics a bit, perhaps by special casing
>> CONFIG_ARCH.
>
> Indeed.

If it's saved in config value might be out of sync with actual environment:
ARCH != CONFIG_ARCH. So, behaviour becomes too complicated.

>
> Gr{oetje,eeting}s,
>
>                         Geert
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
>
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
>                                 -- Linus Torvalds

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] kconfig: store default ARCH in .config
@ 2014-07-06 10:02       ` Konstantin Khlebnikov
  0 siblings, 0 replies; 13+ messages in thread
From: Konstantin Khlebnikov @ 2014-07-06 10:02 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Paul Bolle, Michal Marek, linux-kernel, linux-kbuild,
	Greg Kroah-Hartman, Andrew Morton, Linus Torvalds,
	linux-arm-kernel

On Sun, Jul 6, 2014 at 1:08 PM, Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> On Sun, Jul 6, 2014 at 11:05 AM, Paul Bolle <pebolle@tiscali.nl> wrote:
>> On Sun, 2014-07-06 at 12:02 +0400, Konstantin Khlebnikov wrote:
>>> This patch makes cross-compilation configuration fully statefull.
>>> Default ARCH is stored in .config as CONFIG_DEFAULT_ARCH.
>>> After initial configuration specifying ARCH= is no longer required.
>>>
>>> To avoid recursion it is read directly from .config using scritps/config
>>> because include/config/auto.conf is not yet included at this point.
>>>
>>> Signed-off-by: Konstantin Khlebnikov <koct9i@gmail.com>
>>> ---
>>
>> It this needed because the Kconfig symbol ARCH is set only if ARCH is
>> set in the environment?
>>
>> Could the same result be had by saving CONFIG_ARCH in .config (I suppose
>> it actually already is) and then use its value on builds with
>
> No, currently it's not saved in .config, so I guess that's why this convoluted
> approach is needed.

Yep, kconfig neither reads nor writres symbols with option env=...

>
>> that .config unless ARCH is specified in the environment again? Ie,
>> change the "option env=[...]" semantics a bit, perhaps by special casing
>> CONFIG_ARCH.
>
> Indeed.

If it's saved in config value might be out of sync with actual environment:
ARCH != CONFIG_ARCH. So, behaviour becomes too complicated.

>
> Gr{oetje,eeting}s,
>
>                         Geert
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
>
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
>                                 -- Linus Torvalds

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH] kconfig: store default ARCH in .config
@ 2014-07-06 10:02       ` Konstantin Khlebnikov
  0 siblings, 0 replies; 13+ messages in thread
From: Konstantin Khlebnikov @ 2014-07-06 10:02 UTC (permalink / raw)
  To: linux-arm-kernel

On Sun, Jul 6, 2014 at 1:08 PM, Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> On Sun, Jul 6, 2014 at 11:05 AM, Paul Bolle <pebolle@tiscali.nl> wrote:
>> On Sun, 2014-07-06 at 12:02 +0400, Konstantin Khlebnikov wrote:
>>> This patch makes cross-compilation configuration fully statefull.
>>> Default ARCH is stored in .config as CONFIG_DEFAULT_ARCH.
>>> After initial configuration specifying ARCH= is no longer required.
>>>
>>> To avoid recursion it is read directly from .config using scritps/config
>>> because include/config/auto.conf is not yet included at this point.
>>>
>>> Signed-off-by: Konstantin Khlebnikov <koct9i@gmail.com>
>>> ---
>>
>> It this needed because the Kconfig symbol ARCH is set only if ARCH is
>> set in the environment?
>>
>> Could the same result be had by saving CONFIG_ARCH in .config (I suppose
>> it actually already is) and then use its value on builds with
>
> No, currently it's not saved in .config, so I guess that's why this convoluted
> approach is needed.

Yep, kconfig neither reads nor writres symbols with option env=...

>
>> that .config unless ARCH is specified in the environment again? Ie,
>> change the "option env=[...]" semantics a bit, perhaps by special casing
>> CONFIG_ARCH.
>
> Indeed.

If it's saved in config value might be out of sync with actual environment:
ARCH != CONFIG_ARCH. So, behaviour becomes too complicated.

>
> Gr{oetje,eeting}s,
>
>                         Geert
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org
>
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
>                                 -- Linus Torvalds

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] kconfig: store default ARCH in .config
  2014-07-06 10:02       ` Konstantin Khlebnikov
  (?)
@ 2014-07-06 10:19         ` Paul Bolle
  -1 siblings, 0 replies; 13+ messages in thread
From: Paul Bolle @ 2014-07-06 10:19 UTC (permalink / raw)
  To: Konstantin Khlebnikov
  Cc: Geert Uytterhoeven, Michal Marek, linux-kernel, linux-kbuild,
	Greg Kroah-Hartman, Andrew Morton, Linus Torvalds,
	linux-arm-kernel

On Sun, 2014-07-06 at 14:02 +0400, Konstantin Khlebnikov wrote:
> On Sun, Jul 6, 2014 at 1:08 PM, Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> > On Sun, Jul 6, 2014 at 11:05 AM, Paul Bolle <pebolle@tiscali.nl> wrote:
> >> Could the same result be had by saving CONFIG_ARCH in .config (I suppose
> >> it actually already is) and then use its value on builds with
> >
> > No, currently it's not saved in .config, so I guess that's why this convoluted
> > approach is needed.
> 
> Yep, kconfig neither reads nor writres symbols with option env=...
> 
> >
> >> that .config unless ARCH is specified in the environment again? Ie,
> >> change the "option env=[...]" semantics a bit, perhaps by special casing
> >> CONFIG_ARCH.
> >
> > Indeed.
> 
> If it's saved in config value might be out of sync with actual environment:
> ARCH != CONFIG_ARCH. So, behaviour becomes too complicated.

So let the environment overrules what is saved in the .config. What
makes that complicated?


Paul Bolle


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] kconfig: store default ARCH in .config
@ 2014-07-06 10:19         ` Paul Bolle
  0 siblings, 0 replies; 13+ messages in thread
From: Paul Bolle @ 2014-07-06 10:19 UTC (permalink / raw)
  To: Konstantin Khlebnikov
  Cc: Geert Uytterhoeven, Michal Marek, linux-kernel, linux-kbuild,
	Greg Kroah-Hartman, Andrew Morton, Linus Torvalds,
	linux-arm-kernel

On Sun, 2014-07-06 at 14:02 +0400, Konstantin Khlebnikov wrote:
> On Sun, Jul 6, 2014 at 1:08 PM, Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> > On Sun, Jul 6, 2014 at 11:05 AM, Paul Bolle <pebolle@tiscali.nl> wrote:
> >> Could the same result be had by saving CONFIG_ARCH in .config (I suppose
> >> it actually already is) and then use its value on builds with
> >
> > No, currently it's not saved in .config, so I guess that's why this convoluted
> > approach is needed.
> 
> Yep, kconfig neither reads nor writres symbols with option env=...
> 
> >
> >> that .config unless ARCH is specified in the environment again? Ie,
> >> change the "option env=[...]" semantics a bit, perhaps by special casing
> >> CONFIG_ARCH.
> >
> > Indeed.
> 
> If it's saved in config value might be out of sync with actual environment:
> ARCH != CONFIG_ARCH. So, behaviour becomes too complicated.

So let the environment overrules what is saved in the .config. What
makes that complicated?


Paul Bolle


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH] kconfig: store default ARCH in .config
@ 2014-07-06 10:19         ` Paul Bolle
  0 siblings, 0 replies; 13+ messages in thread
From: Paul Bolle @ 2014-07-06 10:19 UTC (permalink / raw)
  To: linux-arm-kernel

On Sun, 2014-07-06 at 14:02 +0400, Konstantin Khlebnikov wrote:
> On Sun, Jul 6, 2014 at 1:08 PM, Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> > On Sun, Jul 6, 2014 at 11:05 AM, Paul Bolle <pebolle@tiscali.nl> wrote:
> >> Could the same result be had by saving CONFIG_ARCH in .config (I suppose
> >> it actually already is) and then use its value on builds with
> >
> > No, currently it's not saved in .config, so I guess that's why this convoluted
> > approach is needed.
> 
> Yep, kconfig neither reads nor writres symbols with option env=...
> 
> >
> >> that .config unless ARCH is specified in the environment again? Ie,
> >> change the "option env=[...]" semantics a bit, perhaps by special casing
> >> CONFIG_ARCH.
> >
> > Indeed.
> 
> If it's saved in config value might be out of sync with actual environment:
> ARCH != CONFIG_ARCH. So, behaviour becomes too complicated.

So let the environment overrules what is saved in the .config. What
makes that complicated?


Paul Bolle

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2014-07-06 10:19 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-06  8:02 [PATCH] kconfig: store default ARCH in .config Konstantin Khlebnikov
2014-07-06  8:02 ` Konstantin Khlebnikov
2014-07-06  9:05 ` Paul Bolle
2014-07-06  9:05   ` Paul Bolle
2014-07-06  9:08   ` Geert Uytterhoeven
2014-07-06  9:08     ` Geert Uytterhoeven
2014-07-06  9:08     ` Geert Uytterhoeven
2014-07-06 10:02     ` Konstantin Khlebnikov
2014-07-06 10:02       ` Konstantin Khlebnikov
2014-07-06 10:02       ` Konstantin Khlebnikov
2014-07-06 10:19       ` Paul Bolle
2014-07-06 10:19         ` Paul Bolle
2014-07-06 10:19         ` Paul Bolle

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.