From 4e102de2e6204c1d8e8be00bb5ffd4587e70350c Mon Sep 17 00:00:00 2001 From: Khem Raj 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 --- 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 #include +#include ], [ #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 +],[ +return setresuid(0, 0, 0); ], AC_DEFINE(HAVE_SETRESUID)) AC_CHECKING(setreuid) -AC_TRY_LINK(,[ -setreuid(0, 0); +AC_TRY_LINK([ +#include +],[ +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 +],[ 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 +],[ + 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 +],[ + 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 + #include +],[ + tgetent((char *)0, (char *)0); +],, olibs="$LIBS" LIBS="-lcurses $olibs" AC_CHECKING(libcurses) -AC_TRY_LINK(,[ +AC_TRY_LINK([ + #include + #include +],[ #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 ],[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 ],[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 ], [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 ], [getspnam("x");],AC_DEFINE(SHADOWPW)) AC_CHECKING(getttyent) -AC_TRY_LINK(,[getttyent();], AC_DEFINE(GETTTYENT)) +AC_TRY_LINK([#include ],[getttyent();], AC_DEFINE(GETTTYENT)) AC_CHECKING(fdwalk) AC_TRY_LINK([#include ], [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 ],[va_list valist; vsprintf(0,0,valist);], AC_MSG_RESULT(yes);AC_DEFINE(USEVARARGS), AC_MSG_RESULT(no)) +AC_TRY_LINK([ + #include + #include +],[ + va_list valist; + vsprintf(0,0,valist); +], AC_MSG_RESULT(yes);AC_DEFINE(USEVARARGS), AC_MSG_RESULT(no)) AC_HEADER_DIRENT