| From 4e102de2e6204c1d8e8be00bb5ffd4587e70350c Mon Sep 17 00:00:00 2001 |
| From: Khem Raj <raj.khem@gmail.com> |
| Date: Mon, 15 Aug 2022 10:35:53 -0700 |
| Subject: [PATCH] configure: Add needed system headers in checks |
| |
| Newer compilers throw warnings when a funciton is used with implicit |
| declaration and enabling -Werror can silently fail these tests and |
| result in wrong configure results. Therefore add the needed headers in |
| the AC_TRY_LINK macros |
| |
| * configure.ac: Add missing system headers in AC_TRY_LINK. |
| |
| Upstream-Status: Submitted [https://lists.gnu.org/archive/html/screen-devel/2022-08/msg00000.html] |
| Signed-off-by: Khem Raj <raj.khem@gmail.com> |
| --- |
| configure.ac | 57 +++++++++++++++++++++++++++++++++++++++------------- |
| 1 file changed, 43 insertions(+), 14 deletions(-) |
| |
| diff --git a/configure.ac b/configure.ac |
| index c0f02df..d308079 100644 |
| --- a/configure.ac |
| +++ b/configure.ac |
| @@ -233,6 +233,7 @@ AC_CHECKING(BSD job jontrol) |
| AC_TRY_LINK( |
| [#include <sys/types.h> |
| #include <sys/ioctl.h> |
| +#include <unistd.h> |
| ], [ |
| #ifdef POSIX |
| tcsetpgrp(0, 0); |
| @@ -250,12 +251,16 @@ dnl |
| dnl **** setresuid(), setreuid(), seteuid() **** |
| dnl |
| AC_CHECKING(setresuid) |
| -AC_TRY_LINK(,[ |
| -setresuid(0, 0, 0); |
| +AC_TRY_LINK([ |
| +#include <unistd.h> |
| +],[ |
| +return setresuid(0, 0, 0); |
| ], AC_DEFINE(HAVE_SETRESUID)) |
| AC_CHECKING(setreuid) |
| -AC_TRY_LINK(,[ |
| -setreuid(0, 0); |
| +AC_TRY_LINK([ |
| +#include <unistd.h> |
| +],[ |
| +return setreuid(0, 0); |
| ], AC_DEFINE(HAVE_SETREUID)) |
| dnl |
| dnl seteuid() check: |
| @@ -274,7 +279,9 @@ seteuid(0); |
| |
| dnl execvpe |
| AC_CHECKING(execvpe) |
| -AC_TRY_LINK(,[ |
| +AC_TRY_LINK([ |
| + #include <unistd.h> |
| +],[ |
| execvpe(0, 0, 0); |
| ], AC_DEFINE(HAVE_EXECVPE) |
| CFLAGS="$CFLAGS -D_GNU_SOURCE") |
| @@ -284,10 +291,18 @@ dnl **** select() **** |
| dnl |
| |
| AC_CHECKING(select) |
| -AC_TRY_LINK(,[select(0, 0, 0, 0, 0);],, |
| +AC_TRY_LINK([ |
| + #include <sys/select.h> |
| +],[ |
| + select(0, 0, 0, 0, 0); |
| +],, |
| LIBS="$LIBS -lnet -lnsl" |
| AC_CHECKING(select with $LIBS) |
| -AC_TRY_LINK(,[select(0, 0, 0, 0, 0);],, |
| +AC_TRY_LINK([ |
| + #include <sys/select.h> |
| +],[ |
| + select(0, 0, 0, 0, 0); |
| +],, |
| AC_MSG_ERROR(!!! no select - no screen)) |
| ) |
| dnl |
| @@ -624,11 +639,19 @@ dnl |
| dnl **** termcap or terminfo **** |
| dnl |
| AC_CHECKING(for tgetent) |
| -AC_TRY_LINK(,tgetent((char *)0, (char *)0);,, |
| +AC_TRY_LINK([ |
| + #include <curses.h> |
| + #include <term.h> |
| +],[ |
| + tgetent((char *)0, (char *)0); |
| +],, |
| olibs="$LIBS" |
| LIBS="-lcurses $olibs" |
| AC_CHECKING(libcurses) |
| -AC_TRY_LINK(,[ |
| +AC_TRY_LINK([ |
| + #include <curses.h> |
| + #include <term.h> |
| +],[ |
| #ifdef __hpux |
| __sorry_hpux_libcurses_is_totally_broken_in_10_10(); |
| #else |
| @@ -871,7 +894,7 @@ test -f /usr/lib/libutil.a && LIBS="$LIBS -lutil" |
| fi |
| |
| AC_CHECKING(getloadavg) |
| -AC_TRY_LINK(,[getloadavg((double *)0, 0);], |
| +AC_TRY_LINK([#include <stdlib.h>],[getloadavg((double *)0, 0);], |
| AC_DEFINE(LOADAV_GETLOADAVG) load=1, |
| if test "$cross_compiling" = no && test -f /usr/lib/libkvm.a ; then |
| olibs="$LIBS" |
| @@ -1109,10 +1132,10 @@ AC_CHECKING(IRIX sun library) |
| AC_TRY_LINK(,,,LIBS="$oldlibs") |
| |
| AC_CHECKING(syslog) |
| -AC_TRY_LINK(,[closelog();], , [oldlibs="$LIBS" |
| +AC_TRY_LINK([#include <syslog.h>],[closelog();], , [oldlibs="$LIBS" |
| LIBS="$LIBS -lbsd" |
| AC_CHECKING(syslog in libbsd.a) |
| -AC_TRY_LINK(, [closelog();], AC_NOTE(- found.), [LIBS="$oldlibs" |
| +AC_TRY_LINK([#include <syslog.h>], [closelog();], AC_NOTE(- found.), [LIBS="$oldlibs" |
| AC_NOTE(- bad news: syslog missing.) AC_DEFINE(NOSYSLOG)])]) |
| |
| AC_EGREP_CPP(YES_IS_DEFINED, |
| @@ -1149,7 +1172,7 @@ AC_CHECKING(getspnam) |
| AC_TRY_LINK([#include <shadow.h>], [getspnam("x");],AC_DEFINE(SHADOWPW)) |
| |
| AC_CHECKING(getttyent) |
| -AC_TRY_LINK(,[getttyent();], AC_DEFINE(GETTTYENT)) |
| +AC_TRY_LINK([#include <ttyent.h>],[getttyent();], AC_DEFINE(GETTTYENT)) |
| |
| AC_CHECKING(fdwalk) |
| AC_TRY_LINK([#include <stdlib.h>], [fdwalk(NULL, NULL);],AC_DEFINE(HAVE_FDWALK)) |
| @@ -1204,7 +1227,13 @@ main() { |
| AC_SYS_LONG_FILE_NAMES |
| |
| AC_MSG_CHECKING(for vsprintf) |
| -AC_TRY_LINK([#include <stdarg.h>],[va_list valist; vsprintf(0,0,valist);], AC_MSG_RESULT(yes);AC_DEFINE(USEVARARGS), AC_MSG_RESULT(no)) |
| +AC_TRY_LINK([ |
| + #include <stdarg.h> |
| + #include <stdio.h> |
| +],[ |
| + va_list valist; |
| + vsprintf(0,0,valist); |
| +], AC_MSG_RESULT(yes);AC_DEFINE(USEVARARGS), AC_MSG_RESULT(no)) |
| |
| AC_HEADER_DIRENT |
| |