Skip to contentSkip to conversation

Introduction of kconfig-package

PATCH New Thomas De Schampheleire 2 participants 10 messages Aug 1, 2014 – Aug 3, 2014

lore
Share & tools
lore
#0 lore raw

PATCH v3 1/1 Introduction of kconfig-package

This patch series introduces a kconfig-package infrastructure and already converts the uclibc and busybox packages.

I believe this series is complete in the sense that it could be applied as one whole, not yet including the conversion of linux and barebox.

In a subsequent series, linux and barebox can be converted to kconfig-package too, but there will need to be some changes to kconfig-package to support them.
One particular difference with uclibc/busybox is that linux/barebox use a different method to copy the original config file: instead of simply copying it to build_dir/.config, it is first copied to arch/.../buildroot_defconfig and then 'make ... buildroot_defconfig' is called. I'm considering in adding a FOO_KCONFIG_INSTALL_CONFIG_CMDS variable to support this, which defaults to the simple copy used by busybox/uclibc, but can be overwritten appropriately by linux and barebox.
Anyway, this part is not yet ready and will only be available for 2014.11.

---
Thomas De Schampheleire (5)
uclibc: fixup config before calling menuconfig
infra: introduce a kconfig-package infrastructure
manual: add documentation for kconfig-package
uclibc: convert to kconfig-package infrastructure
busybox: convert to kconfig-package infrastructure

 docs/manual/adding-packages-kconfig.txt |  56 +++++++++++++++++
 docs/manual/adding-packages.txt         |   2 +
 package/Makefile.in                     |   1 +
 package/busybox/busybox.mk              |  25 ++----
 package/pkg-kconfig.mk                  |  82 +++++++++++++++++++++++++
 package/uclibc/uclibc.mk                |  35 +++-------
 6 files changed, 161 insertions(+), 40 deletions(-)
#1 lore raw

PATCH v3 1/1 uclibc: fixup config before calling menuconfig

The uclibc-menuconfig command is currently run based on the user-specified config file, while the fixup of the config file is done afterwards. However, it makes more sense to do an initial fixup _before_ running menuconfig, so that the options presented to the user are consistent with the final configuration.

This patch changes the dependency of the menuconfig target from .config to .stamp_config_fixup_done to achieve this.

---
v3: new patch

 package/uclibc/uclibc.mk |  2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
package/uclibc/uclibc.mk +1 -1
diff -r 892938e37055 -r 8fc7b26a4914 package/uclibc/uclibc.mk
@@ -542,7 +542,7 @@
 
 $(UCLIBC_TARGET_CONFIGURE): $(UCLIBC_DIR)/.stamp_config_fixup_done
 
-uclibc-menuconfig: $(UCLIBC_DIR)/.config
+uclibc-menuconfig: $(UCLIBC_DIR)/.stamp_config_fixup_done
 	$(MAKE) -C $(UCLIBC_DIR) \
 		$(UCLIBC_MAKE_FLAGS) \
 		PREFIX=$(STAGING_DIR) \
#3 lore raw

PATCH v3 1/1 infra: introduce a kconfig-package infrastructure

In reply to Thomas De Schampheleire

There are several packages that have a configuration file managed by
kconfig: uclibc, busybox, linux and barebox. All these packages need some make targets to handle the kconfig specificities: creating a configuration (menuconfig, ...) and saving it back (update-config, ...)

These targets should be the same for each of these packages, but unfortunately they are not. Especially with respect to saving back the configuration to the original config file, there are many differences.

A previous set of patches fixed these targets for the uclibc package. This patch extracts these targets into a common kconfig-package infrastructure, with the goals of:
- aligning the behavior of all kconfig-based packages
- removing code duplication

In order to use this infrastructure, a package should at a minimum specify FOO_KCONFIG_FILE and eval the kconfig-package macro. The supported configuration editors can be set with FOO_KCONFIG_EDITORS and defaults to menuconfig only.
Additionally, a package can specify FOO_KCONFIG_OPT for extra options to pass to the invocation of the kconfig editors, and FOO_KCONFIG_FIXUP_CMDS for a list of shell commands used to fixup the .config file after a configuration has been created/edited.

---
v3:
- let menuconfig depend on the fixup rule, rather than on .config only (Yann)
v2:
- fold comments into this patch
- inherit from generic-package instead of sitting alongside of it (ThomasP)

Notes:

- the issue with MAKE_OPT vs MAKE_OPTS has been worked around currently by not relying on any MAKE_OPT(S) but instead requiring the package to add the necessary variable to FOO_KCONFIG_OPT.
However, I still believe we should create a consistent set here, either MAKE_OPT or MAKE_OPTS, and the same for CONFIGURE_OPT(S), but this is now no longer related to the introduction of kconfig-package.

- the targets in this patch are sufficient to handle uclibc and busybox. For linux and barebox, some changes will be needed, but for clarity this will be added later.

 package/Makefile.in    |   1 +
 package/pkg-kconfig.mk |  80 +++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 81 insertions(+), 0 deletions(-)
package/Makefile.in +1 -0
diff -r 8fc7b26a4914 -r e56a7788b2d0 package/Makefile.in
@@ -390,3 +390,4 @@
 include package/pkg-python.mk
 include package/pkg-virtual.mk
 include package/pkg-generic.mk
+include package/pkg-kconfig.mk
package/pkg-kconfig.mk new file +82 -0

82 lines not on this page · raw message

#5 lore raw

PATCH v3 1/1 manual: add documentation for kconfig-package

In reply to Thomas De Schampheleire

This patch adds documentation for the new kconfig-package infrastructure to the manual.

Note that due to the simplicity of the infrastructure, the documentation is not split in a 'tutorial' and a 'reference', like for the other infrastructures. Instead, the usage is described in one section.

---
v3: update based on Yann's comments
v2: update after move to a real infrastructure

 docs/manual/adding-packages-kconfig.txt |  56 +++++++++++++++++++++++++++++
 docs/manual/adding-packages.txt         |   2 +
 2 files changed, 58 insertions(+), 0 deletions(-)
docs/manual/adding-packages-kconfig.txt new file +56 -0
diff -r e56a7788b2d0 -r fa937f090303 docs/manual/adding-packages-kconfig.txt
@@ -0,0 +1,56 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+=== Infrastructure for packages using kconfig for configuration files
+
+A popular way for a software package to handle user-specified
+configuration is +kconfig+. Among others, it is used by the Linux
+kernel, Busybox, and Buildroot itself. The presence of a .config file
+and a +menuconfig+ target are two well-known symptoms of kconfig being
+used.
+
+Buildroot features an infrastructure for packages that use kconfig for
+their configuration. This infrastructure provides the necessary logic to
+expose the package's +menuconfig+ target as +foo-menuconfig+ in
+Buildroot, and to handle the copying back and forth of the configuration
+file in a correct way.
+
+The +kconfig-package+ infrastructure is based on the +generic-package+
+infrastructure. All variables supported by +generic-package+ are
+available in +kconfig-package+ as well. See
+xref:generic-package-reference[] for more details.
+
+In order to use the +kconfig-package+ infrastructure for a Buildroot
+package, the minimally required lines in the +.mk+ file, in addition to
+the variables required by the +generic-package+ infrastructure, are:
+
+------------------------------
+FOO_KCONFIG_FILE = reference-to-source-configuration-file
+
+$(eval $(kconfig-package))
+------------------------------
+
+This snippet creates the following make targets:
+
+* +foo-menuconfig+, which calls the package's +menuconfig+ target
+
+* +foo-update-config+, which copies back the configuration to the source
+  configuration file.
+
+and ensures that the source configuration file is copied to the build
+directory at the right moment.
+
+In addition to these minimally required lines, several optional variables can
+be set to suit the needs of the package under consideration:
+
+* +FOO_KCONFIG_EDITORS+: a space-separated list of kconfig editors to
+  support, for example 'menuconfig xconfig'. By default, 'menuconfig'.
+
+* +FOO_KCONFIG_OPT+: extra options to pass when calling the kconfig
+  ediftors. This may need to include '$(FOO_MAKE_OPT)', for example. By
+  default, empty.
+
+* +FOO_KCONFIG_FIXUP_CMDS+: a list of shell commands needed to fixup the
+  configuration file after copying it or running a kconfig editor. Such
+  commands may be needed to ensure a configuration consistent with other
+  configuration of Buildroot, for example. By default, empty.
docs/manual/adding-packages.txt +2 -0
diff -r e56a7788b2d0 -r fa937f090303 docs/manual/adding-packages.txt
@@ -25,6 +25,8 @@
 
 include::adding-packages-virtual.txt[]
 
+include::adding-packages-kconfig.txt[]
+
 include::adding-packages-hooks.txt[]
 
 include::adding-packages-gettext.txt[]
#7 lore raw

PATCH v3 1/1 uclibc: convert to kconfig-package infrastructure

In reply to Thomas De Schampheleire

This patch converts the uclibc package to the new kconfig-package infrastructure, thus removing code duplication and ensuring a consistent behavior of kconfig packages.

---
v3: rebase after new initial patch
v2: kconfig-package is now a real package infrastructure, so remove call
to generic-package

 package/uclibc/uclibc.mk |  34 ++++++++++------------------------
 1 files changed, 10 insertions(+), 24 deletions(-)
package/uclibc/uclibc.mk +10 -24
diff -r fa937f090303 -r 431289c9a7bc package/uclibc/uclibc.mk
@@ -37,6 +37,14 @@
 UCLIBC_CONFIG_FILE = $(call qstrip,$(BR2_UCLIBC_CONFIG))
 endif
 
+UCLIBC_KCONFIG_FILE = $(UCLIBC_CONFIG_FILE)
+
+UCLIBC_KCONFIG_OPT = \
+		$(UCLIBC_MAKE_FLAGS) \
+		PREFIX=$(STAGING_DIR) \
+		DEVEL_PREFIX=/usr/ \
+		RUNTIME_PREFIX=$(STAGING_DIR)/ \
+
 UCLIBC_TARGET_ARCH = $(call qstrip,$(BR2_UCLIBC_TARGET_ARCH))
 
 ifeq ($(GENERATE_LOCALE),)
@@ -393,7 +401,7 @@
 	UCLIBC_EXTRA_CFLAGS="$(UCLIBC_EXTRA_CFLAGS) $(TARGET_ABI)" \
 	HOSTCC="$(HOSTCC)"
 
-define UCLIBC_FIXUP_DOT_CONFIG
+define UCLIBC_KCONFIG_FIXUP_CMDS
 	$(call KCONFIG_SET_OPT,CROSS_COMPILER_PREFIX,"$(TARGET_CROSS)",$(@D)/.config)
 	$(call KCONFIG_ENABLE_OPT,TARGET_$(UCLIBC_TARGET_ARCH),$(@D)/.config)
 	$(call KCONFIG_SET_OPT,TARGET_ARCH,"$(UCLIBC_TARGET_ARCH)",$(@D)/.config)
@@ -531,29 +539,7 @@
 	$(UCLIBC_INSTALL_UTILS_STAGING)
 endef
 
-$(eval $(generic-package))
-
-$(UCLIBC_DIR)/.config: $(UCLIBC_CONFIG_FILE) | uclibc-patch
-	$(INSTALL) -m 0644 $(UCLIBC_CONFIG_FILE) $(UCLIBC_DIR)/.config
-
-$(UCLIBC_DIR)/.stamp_config_fixup_done: $(UCLIBC_DIR)/.config
-	$(UCLIBC_FIXUP_DOT_CONFIG)
-	$(Q)touch $@
-
-$(UCLIBC_TARGET_CONFIGURE): $(UCLIBC_DIR)/.stamp_config_fixup_done
-
-uclibc-menuconfig: $(UCLIBC_DIR)/.stamp_config_fixup_done
-	$(MAKE) -C $(UCLIBC_DIR) \
-		$(UCLIBC_MAKE_FLAGS) \
-		PREFIX=$(STAGING_DIR) \
-		DEVEL_PREFIX=/usr/ \
-		RUNTIME_PREFIX=$(STAGING_DIR)/ \
-		menuconfig
-	rm -f $(UCLIBC_DIR)/.stamp_{config_fixup_done,configured,built}
-	rm -f $(UCLIBC_DIR)/.stamp_{target,staging}_installed
-
-uclibc-update-config: $(UCLIBC_DIR)/.stamp_config_fixup_done
-	cp -f $(UCLIBC_DIR)/.config $(UCLIBC_CONFIG_FILE)
+$(eval $(kconfig-package))
 
 # Before uClibc is built, we must have the second stage cross-compiler
 $(UCLIBC_TARGET_BUILD): | host-gcc-intermediate
#9 lore raw

PATCH v3 1/1 busybox: convert to kconfig-package infrastructure

In reply to Thomas De Schampheleire

This patch converts the busybox package to the new kconfig-package infrastructure, thus removing code duplication and ensuring a consistent behavior of kconfig packages.

---
v3: no changes
v2: rebase after making kconfig-package a full infra

 package/busybox/busybox.mk |  25 +++++++++----------------
 1 files changed, 9 insertions(+), 16 deletions(-)
package/busybox/busybox.mk +9 -16
diff -r 431289c9a7bc -r bf4a3c7c74fc package/busybox/busybox.mk
@@ -45,6 +45,10 @@
 	BUSYBOX_CONFIG_FILE = $(call qstrip,$(BR2_PACKAGE_BUSYBOX_CONFIG))
 endif
 
+BUSYBOX_KCONFIG_FILE = $(BUSYBOX_CONFIG_FILE)
+BUSYBOX_KCONFIG_EDITORS = menuconfig xconfig gconfig
+BUSYBOX_KCONFIG_OPT = $(BUSYBOX_MAKE_OPTS)
+
 define BUSYBOX_PERMISSIONS
 /bin/busybox			 f 4755	0 0 - - - - -
 /usr/share/udhcpc/default.script f 755  0 0 - - - - -
@@ -136,10 +140,6 @@
 endef
 endif
 
-define BUSYBOX_COPY_CONFIG
-	$(INSTALL) -D -m 0644 $(BUSYBOX_CONFIG_FILE) $(BUSYBOX_BUILD_CONFIG)
-endef
-
 # Disable shadow passwords support if unsupported by the C library
 ifeq ($(BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS),)
 define BUSYBOX_INTERNAL_SHADOW_PASSWORDS
@@ -190,8 +190,7 @@
 	$(SED) 's/^noclobber="0"$$/noclobber="1"/' $(@D)/applets/install.sh
 endef
 
-define BUSYBOX_CONFIGURE_CMDS
-	$(BUSYBOX_COPY_CONFIG)
+define BUSYBOX_KCONFIG_FIXUP_CMDS
 	$(BUSYBOX_SET_MMU)
 	$(BUSYBOX_SET_LARGEFILE)
 	$(BUSYBOX_SET_IPV6)
@@ -203,6 +202,9 @@
 	$(BUSYBOX_INTERNAL_SHADOW_PASSWORDS)
 	$(BUSYBOX_SET_INIT)
 	$(BUSYBOX_SET_WATCHDOG)
+endef
+
+define BUSYBOX_CONFIGURE_CMDS
 	@yes "" | $(MAKE) ARCH=$(KERNEL_ARCH) CROSS_COMPILE="$(TARGET_CROSS)" \
 		-C $(@D) oldconfig
 	$(BUSYBOX_NOCLOBBER_INSTALL)
@@ -224,13 +226,4 @@
 	$(BUSYBOX_INSTALL_WATCHDOG_SCRIPT)
 endef
 
-$(eval $(generic-package))
-
-busybox-menuconfig busybox-xconfig busybox-gconfig: busybox-patch
-	$(BUSYBOX_MAKE_ENV) $(MAKE) $(BUSYBOX_MAKE_OPTS) -C $(BUSYBOX_DIR) \
-		$(subst busybox-,,$@)
-	rm -f $(BUSYBOX_DIR)/.stamp_built
-	rm -f $(BUSYBOX_DIR)/.stamp_target_installed
-
-busybox-update-config: busybox-configure
-	cp -f $(BUSYBOX_BUILD_CONFIG) $(BUSYBOX_CONFIG_FILE)
+$(eval $(kconfig-package))
#6 lore raw

PATCH v3 1/1 manual: add documentation for kconfig-package

In reply to Thomas De Schampheleire

Thomas, All,

On 2014-08-01 21:53 +0200, Thomas De Schampheleire spake thusly:

Quoted 8 lines

This patch adds documentation for the new kconfig-package infrastructure to the manual.

Note that due to the simplicity of the infrastructure, the documentation is not split in a 'tutorial' and a 'reference', like for the other infrastructures. Instead, the usage is described in one section.

Regards,
Yann E. MORIN.

Quoted 80 lines

---
v3: update based on Yann's comments
v2: update after move to a real infrastructure

 docs/manual/adding-packages-kconfig.txt |  56 +++++++++++++++++++++++++++++
 docs/manual/adding-packages.txt         |   2 +
 2 files changed, 58 insertions(+), 0 deletions(-)

diff -r e56a7788b2d0 -r fa937f090303 docs/manual/adding-packages-kconfig.txt

docs/manual/adding-packages-kconfig.txt new file +56 -0
@@ -0,0 +1,56 @@
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+=== Infrastructure for packages using kconfig for configuration files
+
+A popular way for a software package to handle user-specified
+configuration is +kconfig+. Among others, it is used by the Linux
+kernel, Busybox, and Buildroot itself. The presence of a .config file
+and a +menuconfig+ target are two well-known symptoms of kconfig being
+used.
+
+Buildroot features an infrastructure for packages that use kconfig for
+their configuration. This infrastructure provides the necessary logic to
+expose the package's +menuconfig+ target as +foo-menuconfig+ in
+Buildroot, and to handle the copying back and forth of the configuration
+file in a correct way.
+
+The +kconfig-package+ infrastructure is based on the +generic-package+
+infrastructure. All variables supported by +generic-package+ are
+available in +kconfig-package+ as well. See
+xref:generic-package-reference[] for more details.
+
+In order to use the +kconfig-package+ infrastructure for a Buildroot
+package, the minimally required lines in the +.mk+ file, in addition to
+the variables required by the +generic-package+ infrastructure, are:
+
+------------------------------
+FOO_KCONFIG_FILE = reference-to-source-configuration-file
+
+$(eval $(kconfig-package))
+------------------------------
+
+This snippet creates the following make targets:
+
+* +foo-menuconfig+, which calls the package's +menuconfig+ target
+
+* +foo-update-config+, which copies back the configuration to the source
+  configuration file.
+
+and ensures that the source configuration file is copied to the build
+directory at the right moment.
+
+In addition to these minimally required lines, several optional variables can
+be set to suit the needs of the package under consideration:
+
+* +FOO_KCONFIG_EDITORS+: a space-separated list of kconfig editors to
+  support, for example 'menuconfig xconfig'. By default, 'menuconfig'.
+
+* +FOO_KCONFIG_OPT+: extra options to pass when calling the kconfig
+  ediftors. This may need to include '$(FOO_MAKE_OPT)', for example. By
+  default, empty.
+
+* +FOO_KCONFIG_FIXUP_CMDS+: a list of shell commands needed to fixup the
+  configuration file after copying it or running a kconfig editor. Such
+  commands may be needed to ensure a configuration consistent with other
+  configuration of Buildroot, for example. By default, empty.

diff -r e56a7788b2d0 -r fa937f090303 docs/manual/adding-packages.txt

docs/manual/adding-packages.txt +2 -0
@@ -25,6 +25,8 @@
 
 include::adding-packages-virtual.txt[]
 
+include::adding-packages-kconfig.txt[]
+
 include::adding-packages-hooks.txt[]
 
 include::adding-packages-gettext.txt[]
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#2 lore raw

PATCH v3 1/1 uclibc: fixup config before calling menuconfig

In reply to Thomas De Schampheleire

Thomas, All,

On 2014-08-01 21:53 +0200, Thomas De Schampheleire spake thusly:

Quoted 11 lines

The uclibc-menuconfig command is currently run based on the user-specified config file, while the fixup of the config file is done afterwards. However, it makes more sense to do an initial fixup _before_ running menuconfig, so that the options presented to the user are consistent with the final configuration.

This patch changes the dependency of the menuconfig target from .config to .stamp_config_fixup_done to achieve this.

I tested that the menuconfig does indeed display our specific options, and that the intermediate stamp file is indeed removed after exiting the menuconfig. Further calls also properly restore our options.

Regards,
Yann E. MORIN.

Quoted 19 lines

---
v3: new patch

 package/uclibc/uclibc.mk |  2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff -r 892938e37055 -r 8fc7b26a4914 package/uclibc/uclibc.mk

package/uclibc/uclibc.mk +1 -1
@@ -542,7 +542,7 @@
 
 $(UCLIBC_TARGET_CONFIGURE): $(UCLIBC_DIR)/.stamp_config_fixup_done
 
-uclibc-menuconfig: $(UCLIBC_DIR)/.config
+uclibc-menuconfig: $(UCLIBC_DIR)/.stamp_config_fixup_done
 	$(MAKE) -C $(UCLIBC_DIR) \
 		$(UCLIBC_MAKE_FLAGS) \
 		PREFIX=$(STAGING_DIR) \
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#4 lore raw

PATCH v3 1/1 infra: introduce a kconfig-package infrastructure

In reply to Thomas De Schampheleire

Thomas, All,

On 2014-08-01 21:53 +0200, Thomas De Schampheleire spake thusly:

Quoted 24 lines

There are several packages that have a configuration file managed by
kconfig: uclibc, busybox, linux and barebox. All these packages need some make targets to handle the kconfig specificities: creating a configuration (menuconfig, ...) and saving it back (update-config, ...)

These targets should be the same for each of these packages, but unfortunately they are not. Especially with respect to saving back the configuration to the original config file, there are many differences.

A previous set of patches fixed these targets for the uclibc package. This patch extracts these targets into a common kconfig-package infrastructure, with the goals of:
- aligning the behavior of all kconfig-based packages
- removing code duplication

In order to use this infrastructure, a package should at a minimum specify FOO_KCONFIG_FILE and eval the kconfig-package macro. The supported configuration editors can be set with FOO_KCONFIG_EDITORS and defaults to menuconfig only.
Additionally, a package can specify FOO_KCONFIG_OPT for extra options to pass to the invocation of the kconfig editors, and FOO_KCONFIG_FIXUP_CMDS for a list of shell commands used to fixup the .config file after a configuration has been created/edited.

Quoted 1 line

See below a comment we already shared on IRC...

package/pkg-kconfig.mk

Quoted 5 lines

+include package/pkg-kconfig.mk
diff -r 8fc7b26a4914 -r e56a7788b2d0 package/pkg-kconfig.mk

package/pkg-kconfig.mk new file +0 -0
@@ -0,0 +1,82 @@

[--SNIP--]

package/pkg-kconfig.mk line 32

Quoted 7 lines
package/pkg-kconfig.mk new file +7 -0
+define inner-kconfig-package
+
+# Call the generic package infrastructure to generate the necessary
+# make targets.
+# Note: this must be done _before_ attempting to use $$($(2)_DIR) in a
+# dependency expression
+$(call inner-generic-package,$(1),$(2),$(3),$(4))

I found that comment to be slightly confusing. Here's a proposed rewrite:

# Call the generic package infrastructure to generate the necessary # make targets.
# Note: we need to call inner-generic-package before we add the # configuration rules, because we need the $$($(2)_DIR) variable # defined there, as we use it in dependency expressions $(call inner-generic-package,$(1),$(2),$(3),$(4))

Otherwise, I'm good with it. With the above fixed, you can add my:

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#8 lore raw

PATCH v3 1/1 uclibc: convert to kconfig-package infrastructure

In reply to Thomas De Schampheleire

Thomas, All,

On 2014-08-01 21:53 +0200, Thomas De Schampheleire spake thusly:

Quoted 6 lines

This patch converts the uclibc package to the new kconfig-package infrastructure, thus removing code duplication and ensuring a consistent behavior of kconfig packages.

Not removing my reviewed-by, but see below...

package/uclibc/uclibc.mk

Quoted 3 lines

diff -r fa937f090303 -r 431289c9a7bc package/uclibc/uclibc.mk

package/uclibc/uclibc.mk +0 -0

[--SNIP--]

Quoted 4 lines

+$(eval $(kconfig-package))

# Before uClibc is built, we must have the second stage cross-compiler $(UCLIBC_TARGET_BUILD): | host-gcc-intermediate

Maybe we should add a comment saying why this should be after the $(eval...) line. Something like:

# Before uClibc is built, we must have the second stage cross-compiler. # This *must* be after the eval-line, because UCLIBC_TARGET_BUILD is # defined in there.
$(eval .....)

With the above fixed, keep my:

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'