Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Arnout Vandecappelle <arnout@mind.be>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 1 of 5 RFC] uclibc: menuconfig: take into account initial settings from config file
Date: Wed, 25 Jun 2014 08:16:24 +0200	[thread overview]
Message-ID: <53AA6938.80303@mind.be> (raw)
In-Reply-To: <97d74ccbe054d9a16465.1403444740@localhost>

On 22/06/14 15:45, Thomas De Schampheleire wrote:
> When uclibc-menuconfig is executed from a clean repo, and a custom
> configuration file was set, then these custom settings are ignored and
> uclibc starts from the default configuration.
> 
> This patch adds an explicit copy of the custom config file to the menuconfig
> target to fix 'make clean uclibc-menuconfig'.
> 
> Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
> 
> ---
>  package/uclibc/uclibc.mk |  7 ++++++-
>  1 files changed, 6 insertions(+), 1 deletions(-)
> 
> diff -r 5ea6db6a0838 -r 97d74ccbe054 package/uclibc/uclibc.mk
> --- a/package/uclibc/uclibc.mk	Fri Jun 20 23:38:46 2014 +0200
> +++ b/package/uclibc/uclibc.mk	Sun Jun 22 10:37:22 2014 +0200
> @@ -413,8 +413,11 @@
>  	UCLIBC_EXTRA_CFLAGS="$(UCLIBC_EXTRA_CFLAGS) $(TARGET_ABI)" \
>  	HOSTCC="$(HOSTCC)"
>  
> +define UCLIBC_COPY_DOT_CONFIG
> +	$(INSTALL) -m 0644 $(UCLIBC_CONFIG_FILE) $(UCLIBC_DIR)/.config
> +endef
> +
>  define UCLIBC_SETUP_DOT_CONFIG
> -	$(INSTALL) -m 0644 $(UCLIBC_CONFIG_FILE) $(@D)/.config
>  	$(call UCLIBC_OPT_SET,CROSS_COMPILER_PREFIX,"$(TARGET_CROSS)",$(@D))
>  	$(call UCLIBC_OPT_SET,TARGET_$(UCLIBC_TARGET_ARCH),y,$(@D))
>  	$(call UCLIBC_OPT_SET,TARGET_ARCH,"$(UCLIBC_TARGET_ARCH)",$(@D))
> @@ -454,6 +457,7 @@
>  endef
>  
>  define UCLIBC_CONFIGURE_CMDS
> +	$(UCLIBC_COPY_DOT_CONFIG)
>  	$(UCLIBC_SETUP_DOT_CONFIG)
>  	$(MAKE1) -C $(UCLIBC_DIR) \
>  		$(UCLIBC_MAKE_FLAGS) \
> @@ -543,6 +547,7 @@
>  endef
>  
>  uclibc-menuconfig: uclibc-patch
> +	$(UCLIBC_COPY_DOT_CONFIG)
>  	$(MAKE1) -C $(UCLIBC_DIR) \
>  		$(UCLIBC_MAKE_FLAGS) \
>  		PREFIX=$(STAGING_DIR) \

 In order to cover all requirements, I think we should rely on real dependencies
here. Something like:

uclibc-menuconfig: $(UCLIBC_DIR)/.config
	$(MAKE1) -C $(UCLIBC_DIR) ...
	$(UCLIBC_FIXUP_DOT_CONFIG)

$(UCLIBC_DIR)/.config: $(UCLIBC_CONFIG_FILE) uclibc-patch
	$(INSTALL) -m 0644 $(UCLIBC_CONFIG_FILE) $(@)
	$(MAKE1) -C $(UCLIBC_DIR) ... oldconfig
	$(UCLIBC_FIXUP_DOT_CONFIG)

uclibc-configure: $(UCLIBC_DIR)/.config


(I renamed SETUP_DOT_CONFIG to FIXUP_DOT_CONFIG which I think is more accurate.)


 This is obviously just a skeleton, but you can see where I'm going... The
important thing is:

- all config targets depend on .config
- .config depends on the the CONFIG_FILE
- all config targets and .config itself call to FIXUP_DOT_CONFIG


 Regards,
 Arnout

> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
> 


-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

  parent reply	other threads:[~2014-06-25  6:16 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-22 13:45 [Buildroot] [PATCH 0 of 5 RFC] uclibc/busybox: fix handling of configuration file Thomas De Schampheleire
2014-06-22 13:45 ` [Buildroot] [PATCH 1 of 5 RFC] uclibc: menuconfig: take into account initial settings from config file Thomas De Schampheleire
2014-06-22 14:05   ` Yann E. MORIN
2014-06-22 16:52   ` Thomas Petazzoni
2014-06-22 17:23     ` Thomas De Schampheleire
2014-06-22 17:29       ` Danomi Manchego
2014-06-22 18:52         ` Thomas De Schampheleire
2014-06-22 19:07           ` Danomi Manchego
2014-06-24 18:35             ` Thomas De Schampheleire
2014-06-25  6:16   ` Arnout Vandecappelle [this message]
2014-06-30 19:31     ` Thomas De Schampheleire
2014-07-01  6:09       ` Arnout Vandecappelle
2014-07-01  8:35         ` Thomas De Schampheleire
2014-06-22 13:45 ` [Buildroot] [PATCH 2 of 5 RFC] uclibc: update-config: preserve freshly configured settings Thomas De Schampheleire
2014-06-22 14:07   ` Yann E. MORIN
2014-06-22 13:45 ` [Buildroot] [PATCH 3 of 5 RFC] busybox: fix typo overwritting Thomas De Schampheleire
2014-06-22 13:57   ` Yann E. MORIN
2014-06-22 13:45 ` [Buildroot] [PATCH 4 of 5 RFC] busybox: menuconfig: take into account initial settings from config file Thomas De Schampheleire
2014-06-22 14:10   ` Yann E. MORIN
2014-06-22 13:45 ` [Buildroot] [PATCH 5 of 5 RFC] busybox: update-config: preserve freshly configured settings Thomas De Schampheleire
2014-06-22 14:14   ` Yann E. MORIN
2014-06-22 14:22     ` Thomas De Schampheleire
2014-06-22 14:46       ` Yann E. MORIN
2014-06-25  6:06 ` [Buildroot] [PATCH 0 of 5 RFC] uclibc/busybox: fix handling of configuration file Arnout Vandecappelle
2014-06-25 19:24   ` Thomas De Schampheleire
2014-06-29  8:13     ` Thomas De Schampheleire
2014-06-29  8:20       ` Thomas Petazzoni
2014-06-29 10:05         ` Arnout Vandecappelle

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=53AA6938.80303@mind.be \
    --to=arnout@mind.be \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox