fvwm: Fix `configure` for strict C99

%ci:no-build
This commit is contained in:
Tee KOBAYASHI 2023-04-09 11:46:42 +09:00 committed by xtkoba
parent 06c35cb59f
commit d8984d91b2
3 changed files with 84 additions and 1 deletions

View File

@ -10,7 +10,6 @@ TERMUX_PKG_SRCURL=https://github.com/fvwmorg/fvwm/archive/refs/tags/${TERMUX_PKG
TERMUX_PKG_SHA256=a0662354ce5762e894665a27e59b437cb422bfe738a8cf901665c6ee0d0b9ab8
TERMUX_PKG_DEPENDS="fontconfig, fribidi, glib, libandroid-shmem, libcairo, libice, libiconv, libpng, librsvg, libsm, libx11, libxcursor, libxext, libxft, libxinerama, libxpm, libxrender, readline"
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="ac_cv_func_setpgrp_void=yes ac_cv_func_mkstemp=no ac_cv_func_getpwuid=no"
TERMUX_PKG_ENABLE_CLANG16_PORTING=false
termux_step_pre_configure() {
autoreconf -fi

View File

@ -0,0 +1,69 @@
https://github.com/termux/termux-packages/issues/15852
https://github.com/fvwmorg/fvwm/pull/100
From 0b4daddf6b88b696daf54714448b8d89a615abf2 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/2] 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.
---
acinclude.m4 | 2 +-
configure.ac | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/acinclude.m4 b/acinclude.m4
index 8b74ff1e5..b66042f9f 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 97ab9e7a1..c9fcede6a 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));
From 6b9d100ae4e784821b5189474dc58e646417bcf6 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/2] 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).
---
acinclude.m4 | 3 +++
1 file changed, 3 insertions(+)
diff --git a/acinclude.m4 b/acinclude.m4
index b66042f9f..4dee2abeb 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];

View File

@ -0,0 +1,15 @@
https://github.com/termux/termux-packages/issues/15852
--- a/configure.ac
+++ b/configure.ac
@@ -221,8 +221,8 @@
# 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;
+ switch (*p = (int)(p = (int *)*c)) { case 0: printf("%Q", c, p); }
+ *c = (char)&i; 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