aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2024-05-09 17:21:26 -0700
committerKhem Raj <raj.khem@gmail.com>2024-05-12 08:43:19 -0700
commit587edc5e8dc22d283a4d725deef210ce7911a966 (patch)
tree0cf3f1eac550390cf3100da056aaaed386f994b9
parent88cc44c35983e3bde8f2c3461dfdd7f5ded1ec50 (diff)
downloadmeta-openembedded-contrib-587edc5e8dc22d283a4d725deef210ce7911a966.tar.gz
fvwm: Fix build with gcc-14
Fixes for C99 compatibility Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--meta-oe/recipes-graphics/fvwm/fvwm/0001-configure-Do-not-require-support-for-implicit-ints.patch45
-rw-r--r--meta-oe/recipes-graphics/fvwm/fvwm/0002-acinclude.m4-Add-missing-unistd.h-to-AM_SAFETY_CHECK.patch32
-rw-r--r--meta-oe/recipes-graphics/fvwm/fvwm/0003-configure-Further-defang-the-Werror-check.patch35
-rw-r--r--meta-oe/recipes-graphics/fvwm/fvwm_2.7.0.bb3
4 files changed, 115 insertions, 0 deletions
diff --git a/meta-oe/recipes-graphics/fvwm/fvwm/0001-configure-Do-not-require-support-for-implicit-ints.patch b/meta-oe/recipes-graphics/fvwm/fvwm/0001-configure-Do-not-require-support-for-implicit-ints.patch
new file mode 100644
index 0000000000..356bd73f88
--- /dev/null
+++ b/meta-oe/recipes-graphics/fvwm/fvwm/0001-configure-Do-not-require-support-for-implicit-ints.patch
@@ -0,0 +1,45 @@
+From cbba378a23410241176d62f3bb43965c044615e3 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Thu, 24 Nov 2022 13:06:50 +0100
+Subject: [PATCH 1/3] configure: Do not require support for implicit ints
+
+Implicit ints have not been part of C since 1999, and future
+compilers will disable support for them by default. Fortunatenly,
+only one configure check needs adjusting.
+
+Upstream-Status: Submitted [https://github.com/fvwmorg/fvwm/pull/100]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ acinclude.m4 | 2 +-
+ configure.ac | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index 8b74ff1e..b66042f9 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -30,7 +30,7 @@ if test "$ac_cv_func_select" = yes; then
+ #ifdef HAVE_SYS_SOCKET_H
+ #include <sys/socket.h>
+ #endif],
+-[extern select ($ac_cv_type_fd_set_size_t,
++[extern int select ($ac_cv_type_fd_set_size_t,
+ $ac_cv_type_fd_set *, $ac_cv_type_fd_set *, $ac_cv_type_fd_set *,
+ $ac_type_timeval *);],
+ [ac_found=yes ; break 3],ac_found=no)
+diff --git a/configure.ac b/configure.ac
+index 97ab9e7a..c9fcede6 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -220,7 +220,7 @@ AC_MINIX
+
+ # catch -Werror and similar options when running configure
+ AC_TRY_COMPILE([#include <stdio.h>],
+-[int i; static j; int *p; char *c;
++[int i; int *p; char *c;
+ switch (*p = p = *c) { case 0: printf("%Q", c, p); }
+ *c = &i; c = p;
+ while (1 || (unsigned int)3 >= 0 || ((int)-1) == ((unsigned int)1));
+--
+2.45.0
+
diff --git a/meta-oe/recipes-graphics/fvwm/fvwm/0002-acinclude.m4-Add-missing-unistd.h-to-AM_SAFETY_CHECK.patch b/meta-oe/recipes-graphics/fvwm/fvwm/0002-acinclude.m4-Add-missing-unistd.h-to-AM_SAFETY_CHECK.patch
new file mode 100644
index 0000000000..50ecb20c72
--- /dev/null
+++ b/meta-oe/recipes-graphics/fvwm/fvwm/0002-acinclude.m4-Add-missing-unistd.h-to-AM_SAFETY_CHECK.patch
@@ -0,0 +1,32 @@
+From 51287fb60263530f61b14df5519e10dabe67d2ad Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Thu, 24 Nov 2022 13:07:56 +0100
+Subject: [PATCH 2/3] acinclude.m4: Add missing <unistd.h> to
+ AM_SAFETY_CHECK_MKSTEMP
+
+Otherwise, the check fails on a compiler which does not support
+implicit function declarations (a language feature removed in 1999).
+
+Upstream-Status: Submitted [https://github.com/fvwmorg/fvwm/pull/100]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ acinclude.m4 | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index b66042f9..4dee2abe 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -1154,6 +1154,9 @@ AC_DEFUN([AM_SAFETY_CHECK_MKSTEMP],[
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#ifdef HAVE_UNISTD_H
++#include <unistd.h>
++#endif
+ int main(void)
+ {
+ char template[128];
+--
+2.45.0
+
diff --git a/meta-oe/recipes-graphics/fvwm/fvwm/0003-configure-Further-defang-the-Werror-check.patch b/meta-oe/recipes-graphics/fvwm/fvwm/0003-configure-Further-defang-the-Werror-check.patch
new file mode 100644
index 0000000000..e9d780ddc6
--- /dev/null
+++ b/meta-oe/recipes-graphics/fvwm/fvwm/0003-configure-Further-defang-the-Werror-check.patch
@@ -0,0 +1,35 @@
+From 542c6f25327587d5a6bffb8a45b457ec85dcf8e1 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Tue, 19 Dec 2023 13:24:50 +0100
+Subject: [PATCH 3/3] configure: Further defang the -Werror check
+
+Incompatible pointer types are actually errors (in the sense
+that they are invalid C). Compilers have merely tolerated them as
+warnings for backwards compatibility. This is changing with Clang 16
+and GCC 14, so relax the check a little.
+
+Upstream-Status: Submitted [https://github.com/fvwmorg/fvwm/pull/100]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index c9fcede6..2e9615b2 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -220,9 +220,8 @@ AC_MINIX
+
+ # catch -Werror and similar options when running configure
+ AC_TRY_COMPILE([#include <stdio.h>],
+-[int i; int *p; char *c;
+- switch (*p = p = *c) { case 0: printf("%Q", c, p); }
+- *c = &i; c = p;
++[int unused; int *p; char *c;
++ printf("%Q", c, p);
+ while (1 || (unsigned int)3 >= 0 || ((int)-1) == ((unsigned int)1));
+ ], , AC_MSG_ERROR("
+ configure is not able to compile programs with warnings. Please
+--
+2.45.0
+
diff --git a/meta-oe/recipes-graphics/fvwm/fvwm_2.7.0.bb b/meta-oe/recipes-graphics/fvwm/fvwm_2.7.0.bb
index 8daf38a0ba..df349494aa 100644
--- a/meta-oe/recipes-graphics/fvwm/fvwm_2.7.0.bb
+++ b/meta-oe/recipes-graphics/fvwm/fvwm_2.7.0.bb
@@ -34,6 +34,9 @@ DEPENDS = " \
SRC_URI = " \
git://github.com/fvwmorg/fvwm.git;protocol=https;branch=master \
file://0001-Fix-compilation-for-disabled-gnome.patch \
+ file://0001-configure-Do-not-require-support-for-implicit-ints.patch \
+ file://0002-acinclude.m4-Add-missing-unistd.h-to-AM_SAFETY_CHECK.patch \
+ file://0003-configure-Further-defang-the-Werror-check.patch \
"
SRCREV = "7baf540e56fb1a3e91752acba872a88543529d46"