Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
[PATCH] add function prototypes for tests in configure.ac
In the latest macOS (11.0, Big Sur), it is now an error to use a
function without prototype definition. So the code like
main() { exit(1); }
fails to compile since there is no prototype for exit().
This causes many tests in configure to fail. In the patch below,
I added "#include <stdlib.h>" and a few other required includes,
but for tgetent() and tgetstr() I manually added prototypes
instead of includeing <term.h> because ZSH_TERM_H is not yet
found at this point of configure.
diff --git a/aczsh.m4 b/aczsh.m4
index b7177de5b..40d3b04f2 100644
--- a/aczsh.m4
+++ b/aczsh.m4
@@ -118,6 +118,7 @@ AC_TRY_COMMAND($DLLD -o conftest1.$DL_EXT $LDFLAGS $DLLDFLAGS conftest1.o $LIBS
AC_TRY_COMMAND($CC -c $CFLAGS $CPPFLAGS $DLCFLAGS conftest2.c 1>&AC_FD_CC) &&
AC_TRY_COMMAND($DLLD -o conftest2.$DL_EXT $LDFLAGS $DLLDFLAGS conftest2.o $LIBS 1>&AC_FD_CC); then
AC_TRY_RUN([
+#include <stdlib.h>
#ifdef HPUX10DYNAMIC
#include <dl.h>
#define RTLD_LAZY BIND_DEFERRED
@@ -199,6 +200,7 @@ AC_TRY_COMMAND($DLLD -o conftest1.$DL_EXT $LDFLAGS $DLLDFLAGS conftest1.o $LIBS
AC_TRY_COMMAND($CC -c $CFLAGS $CPPFLAGS $DLCFLAGS conftest2.c 1>&AC_FD_CC) &&
AC_TRY_COMMAND($DLLD -o conftest2.$DL_EXT $LDFLAGS $DLLDFLAGS conftest2.o $LIBS 1>&AC_FD_CC); then
AC_TRY_RUN([
+#include <stdlib.h>
#ifdef HPUX10DYNAMIC
#include <dl.h>
#define RTLD_LAZY BIND_DEFERRED
@@ -274,6 +276,7 @@ AC_TRY_COMMAND($DLLD -o conftest1.$DL_EXT $LDFLAGS $DLLDFLAGS conftest1.o $LIBS
AC_TRY_COMMAND($CC -c $CFLAGS $CPPFLAGS $DLCFLAGS conftest2.c 1>&AC_FD_CC) &&
AC_TRY_COMMAND($DLLD -o conftest2.$DL_EXT $LDFLAGS $DLLDFLAGS conftest2.o $LIBS 1>&AC_FD_CC); then
AC_TRY_RUN([
+#include <stdlib.h>
#ifdef HPUX10DYNAMIC
#include <dl.h>
#define RTLD_LAZY BIND_DEFERRED
@@ -343,6 +346,7 @@ AC_TRY_COMMAND($DLLD -o conftest1.$DL_EXT $LDFLAGS $DLLDFLAGS conftest1.o $LIBS
save_ldflags=$LDFLAGS
LDFLAGS="$LDFLAGS $EXTRA_LDFLAGS"
AC_TRY_RUN([
+#include <stdlib.h>
#ifdef HPUX10DYNAMIC
#include <dl.h>
#define RTLD_LAZY BIND_DEFERRED
@@ -416,6 +420,7 @@ elif
save_ldflags=$LDFLAGS
LDFLAGS="$LDFLAGS $EXTRA_LDFLAGS -s"
AC_TRY_RUN([
+#include <stdlib.h>
#ifdef HPUX10DYNAMIC
#include <dl.h>
#define RTLD_LAZY BIND_DEFERRED
@@ -483,6 +488,7 @@ echo 'int fred () { return 42; }' > conftest1.c
if AC_TRY_COMMAND($CC -c $CFLAGS $CPPFLAGS $DLCFLAGS conftest1.c 1>&AC_FD_CC) &&
AC_TRY_COMMAND($DLLD -o conftest1.$DL_EXT $LDFLAGS $DLLDFLAGS -s conftest1.o $LIBS 1>&AC_FD_CC); then
AC_TRY_RUN([
+#include <stdlib.h>
#ifdef HPUX10DYNAMIC
#include <dl.h>
#define RTLD_LAZY BIND_DEFERRED
diff --git a/configure.ac b/configure.ac
index 995f010b9..549cae3d6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1395,6 +1395,10 @@ AH_TEMPLATE([TGETENT_ACCEPTS_NULL],
AC_CACHE_CHECK(if tgetent accepts NULL,
zsh_cv_func_tgetent_accepts_null,
[AC_RUN_IFELSE([AC_LANG_SOURCE([[
+#include <fcntl.h>
+#include <stdlib.h>
+int tgetent(char *, char *);
+char *tgetstr(char *, char **);
main()
{
char buf[4096];
@@ -1419,6 +1423,10 @@ fi
AC_CACHE_CHECK(if tgetent returns 0 on success,
zsh_cv_func_tgetent_zero_success,
[AC_RUN_IFELSE([AC_LANG_SOURCE([[
+#include <fcntl.h>
+#include <stdlib.h>
+int tgetent(char *, char*);
+char *tgetstr(char *, char **);
main()
{
char buf[4096];
@@ -1856,6 +1864,7 @@ zsh_cv_rlim_t_is_longer,
#include <sys/time.h>
#endif
#include <sys/resource.h>
+#include <stdlib.h>
main(){struct rlimit r;exit(sizeof(r.rlim_cur) <= sizeof(long));}]])],[zsh_cv_rlim_t_is_longer=yes],[zsh_cv_rlim_t_is_longer=no],[zsh_cv_rlim_t_is_longer=yes])])
if test x$zsh_cv_rlim_t_is_longer = xyes; then
AC_CACHE_CHECK(if rlim_t is a quad,
@@ -1866,6 +1875,7 @@ if test x$zsh_cv_rlim_t_is_longer = xyes; then
#endif
#include <stdio.h>
#include <sys/resource.h>
+#include <stdlib.h>
main() {
struct rlimit r;
char buf[20];
@@ -1888,6 +1898,7 @@ else
#include <sys/time.h>
#endif
#include <sys/resource.h>
+#include <stdlib.h>
main(){struct rlimit r;r.rlim_cur=-1;exit(r.rlim_cur<0);}]])],[zsh_cv_type_rlim_t_is_unsigned=yes],[zsh_cv_type_rlim_t_is_unsigned=no],[zsh_cv_type_rlim_t_is_unsigned=no])])
if test x$zsh_cv_type_rlim_t_is_unsigned = xyes; then
AC_DEFINE(RLIM_T_IS_UNSIGNED)
@@ -2192,6 +2203,9 @@ zsh_cv_sys_fifo,
[AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <fcntl.h>
#include <signal.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <sys/stat.h>
main()
{
char c;
@@ -2233,6 +2247,7 @@ zsh_cv_sys_link,
[AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <unistd.h>
#include <fcntl.h>
+#include <stdlib.h>
main()
{
int ret;
@@ -2265,6 +2280,7 @@ zsh_cv_sys_killesrch,
#include <unistd.h>
#include <signal.h>
#include <errno.h>
+#include <stdlib.h>
main()
{
int pid = (getpid() + 10000) & 0xffffff;
@@ -2290,6 +2306,7 @@ if test x$signals_style = xPOSIX_SIGNALS; then
[AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <signal.h>
#include <unistd.h>
+#include <stdlib.h>
int child=0;
void handler(sig)
int sig;
@@ -2341,6 +2358,7 @@ case "x$zsh_working_tcsetpgrp" in
#include <sys/types.h>
#include <unistd.h>
#include <fcntl.h>
+#include <stdlib.h>
main() {
int fd;
int ret;
@@ -2384,6 +2402,10 @@ if test x$ac_cv_func_getpwnam = xyes; then
zsh_cv_sys_getpwnam_faked,
[AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <pwd.h>
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <unistd.h>
main() {
struct passwd *pw1, *pw2;
char buf[1024], name[1024];
@@ -2712,6 +2734,7 @@ elif test "x$dynamic" = xyes; then
[AC_RUN_IFELSE([AC_LANG_SOURCE([[/* Test for whether ELF binaries are produced */
#include <fcntl.h>
#include <stdlib.h>
+#include <unistd.h>
main(argc, argv)
int argc;
char *argv[];
@@ -2865,6 +2888,7 @@ EOM
AC_TRY_COMMAND($DLLD $LDFLAGS $DLLDFLAGS -o conftest.$DL_EXT conftest.o 1>&AS_MESSAGE_LOG_FD) &&
AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <stdio.h>
+#include <stdlib.h>
#ifdef HPUX10DYNAMIC
#include <dl.h>
#define RTLD_LAZY BIND_DEFERRED
Messages sorted by:
Reverse Date,
Date,
Thread,
Author