2023-01-12 05:11:23

by Peter Foley

[permalink] [raw]
Subject: [PATCH] kconfig: Update all declared targets

Currently qconf-cfg.sh is the only script that touches the "-bin"
target, even though all of the conf_cfg rules declare that they do.
Make the other scripts touch all declared targets to avoid
incompatibilities with upcoming versions of GNU make:
https://lists.gnu.org/archive/html/info-gnu/2022-10/msg00008.html

e.g.
scripts/kconfig/Makefile:215: warning: pattern recipe did not update peer target 'scripts/kconfig/nconf-bin'.
scripts/kconfig/Makefile:215: warning: pattern recipe did not update peer target 'scripts/kconfig/mconf-bin'.
scripts/kconfig/Makefile:215: warning: pattern recipe did not update peer target 'scripts/kconfig/gconf-bin'.

Signed-off-by: Peter Foley <[email protected]>
---
scripts/kconfig/gconf-cfg.sh | 2 ++
scripts/kconfig/mconf-cfg.sh | 3 +++
scripts/kconfig/nconf-cfg.sh | 3 +++
3 files changed, 8 insertions(+)

diff --git a/scripts/kconfig/gconf-cfg.sh b/scripts/kconfig/gconf-cfg.sh
index 040d8f3388202..d98c2ed09b158 100755
--- a/scripts/kconfig/gconf-cfg.sh
+++ b/scripts/kconfig/gconf-cfg.sh
@@ -3,6 +3,7 @@

cflags=$1
libs=$2
+bin=$3

PKG="gtk+-2.0 gmodule-2.0 libglade-2.0"

@@ -31,3 +32,4 @@ fi

${HOSTPKG_CONFIG} --cflags ${PKG} > ${cflags}
${HOSTPKG_CONFIG} --libs ${PKG} > ${libs}
+touch ${bin}
diff --git a/scripts/kconfig/mconf-cfg.sh b/scripts/kconfig/mconf-cfg.sh
index 1e61f50a59050..3719e1607d34a 100755
--- a/scripts/kconfig/mconf-cfg.sh
+++ b/scripts/kconfig/mconf-cfg.sh
@@ -3,10 +3,13 @@

cflags=$1
libs=$2
+bin=$3

PKG="ncursesw"
PKG2="ncurses"

+touch ${bin}
+
if [ -n "$(command -v ${HOSTPKG_CONFIG})" ]; then
if ${HOSTPKG_CONFIG} --exists $PKG; then
${HOSTPKG_CONFIG} --cflags ${PKG} > ${cflags}
diff --git a/scripts/kconfig/nconf-cfg.sh b/scripts/kconfig/nconf-cfg.sh
index f871a2160e363..a0edc427719f0 100755
--- a/scripts/kconfig/nconf-cfg.sh
+++ b/scripts/kconfig/nconf-cfg.sh
@@ -3,10 +3,13 @@

cflags=$1
libs=$2
+bin=$3

PKG="ncursesw menuw panelw"
PKG2="ncurses menu panel"

+touch ${bin}
+
if [ -n "$(command -v ${HOSTPKG_CONFIG})" ]; then
if ${HOSTPKG_CONFIG} --exists $PKG; then
${HOSTPKG_CONFIG} --cflags ${PKG} > ${cflags}

---
base-commit: e8f60cd7db24f94f2dbed6bec30dd16a68fc0828
change-id: 20230111-kconfig-e59c6154f506

Best regards,
--
Peter Foley <[email protected]>


2023-01-12 05:32:04

by Masahiro Yamada

[permalink] [raw]
Subject: Re: [PATCH] kconfig: Update all declared targets

On Thu, Jan 12, 2023 at 1:39 PM Peter Foley <[email protected]> wrote:
>
> Currently qconf-cfg.sh is the only script that touches the "-bin"
> target, even though all of the conf_cfg rules declare that they do.
> Make the other scripts touch all declared targets to avoid
> incompatibilities with upcoming versions of GNU make:
> https://lists.gnu.org/archive/html/info-gnu/2022-10/msg00008.html
>
> e.g.
> scripts/kconfig/Makefile:215: warning: pattern recipe did not update peer target 'scripts/kconfig/nconf-bin'.
> scripts/kconfig/Makefile:215: warning: pattern recipe did not update peer target 'scripts/kconfig/mconf-bin'.
> scripts/kconfig/Makefile:215: warning: pattern recipe did not update peer target 'scripts/kconfig/gconf-bin'.
>
> Signed-off-by: Peter Foley <[email protected]>



I prefer changing only one line:



diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
index 0b1d15efaeb0..af1c96198f49 100644
--- a/scripts/kconfig/Makefile
+++ b/scripts/kconfig/Makefile
@@ -209,7 +209,7 @@ $(obj)/gconf: | $(obj)/gconf-libs
$(obj)/gconf.o: | $(obj)/gconf-cflags

# check if necessary packages are available, and configure build flags
-cmd_conf_cfg = $< $(addprefix $(obj)/$*conf-, cflags libs bin)
+cmd_conf_cfg = $< $(addprefix $(obj)/$*conf-, cflags libs bin); touch
$(obj)/$*conf-bin

$(obj)/%conf-cflags $(obj)/%conf-libs $(obj)/%conf-bin: $(src)/%conf-cfg.sh
$(call cmd,conf_cfg)







Also, please update .gitignore


diff --git a/scripts/kconfig/.gitignore b/scripts/kconfig/.gitignore
index c8a3f9cd52f0..f8bdf0cf4662 100644
--- a/scripts/kconfig/.gitignore
+++ b/scripts/kconfig/.gitignore
@@ -3,5 +3,5 @@
/[gmnq]conf
/[gmnq]conf-cflags
/[gmnq]conf-libs
-/qconf-bin
+/[gmnq]conf-bin
/qconf-moc.cc





Thanks.







> ---
> scripts/kconfig/gconf-cfg.sh | 2 ++
> scripts/kconfig/mconf-cfg.sh | 3 +++
> scripts/kconfig/nconf-cfg.sh | 3 +++
> 3 files changed, 8 insertions(+)
>
> diff --git a/scripts/kconfig/gconf-cfg.sh b/scripts/kconfig/gconf-cfg.sh
> index 040d8f3388202..d98c2ed09b158 100755
> --- a/scripts/kconfig/gconf-cfg.sh
> +++ b/scripts/kconfig/gconf-cfg.sh
> @@ -3,6 +3,7 @@
>
> cflags=$1
> libs=$2
> +bin=$3
>
> PKG="gtk+-2.0 gmodule-2.0 libglade-2.0"
>
> @@ -31,3 +32,4 @@ fi
>
> ${HOSTPKG_CONFIG} --cflags ${PKG} > ${cflags}
> ${HOSTPKG_CONFIG} --libs ${PKG} > ${libs}
> +touch ${bin}
> diff --git a/scripts/kconfig/mconf-cfg.sh b/scripts/kconfig/mconf-cfg.sh
> index 1e61f50a59050..3719e1607d34a 100755
> --- a/scripts/kconfig/mconf-cfg.sh
> +++ b/scripts/kconfig/mconf-cfg.sh
> @@ -3,10 +3,13 @@
>
> cflags=$1
> libs=$2
> +bin=$3
>
> PKG="ncursesw"
> PKG2="ncurses"
>
> +touch ${bin}
> +
> if [ -n "$(command -v ${HOSTPKG_CONFIG})" ]; then
> if ${HOSTPKG_CONFIG} --exists $PKG; then
> ${HOSTPKG_CONFIG} --cflags ${PKG} > ${cflags}
> diff --git a/scripts/kconfig/nconf-cfg.sh b/scripts/kconfig/nconf-cfg.sh
> index f871a2160e363..a0edc427719f0 100755
> --- a/scripts/kconfig/nconf-cfg.sh
> +++ b/scripts/kconfig/nconf-cfg.sh
> @@ -3,10 +3,13 @@
>
> cflags=$1
> libs=$2
> +bin=$3
>
> PKG="ncursesw menuw panelw"
> PKG2="ncurses menu panel"
>
> +touch ${bin}
> +
> if [ -n "$(command -v ${HOSTPKG_CONFIG})" ]; then
> if ${HOSTPKG_CONFIG} --exists $PKG; then
> ${HOSTPKG_CONFIG} --cflags ${PKG} > ${cflags}
>
> ---
> base-commit: e8f60cd7db24f94f2dbed6bec30dd16a68fc0828
> change-id: 20230111-kconfig-e59c6154f506
>
> Best regards,
> --
> Peter Foley <[email protected]>



--
Best Regards
Masahiro Yamada