dnl***************************************************************************
-dnl Copyright 2018-2022,2023 Thomas E. Dickey *
+dnl Copyright 2018-2023,2024 Thomas E. Dickey *
dnl Copyright 2010-2017,2018 Free Software Foundation, Inc. *
dnl *
dnl Permission is hereby granted, free of charge, to any person obtaining a *
dnl
dnl Author: Thomas E. Dickey
dnl
-dnl $Id: aclocal.m4,v 1.206 2023/11/23 01:48:30 tom Exp $
+dnl $Id: aclocal.m4,v 1.212 2024/05/18 19:51:00 tom Exp $
dnl Macros used in NCURSES Ada95 auto-configuration script.
dnl
dnl These macros are maintained separately from NCURSES. The copyright on
AC_SUBST(ARFLAGS)
])
dnl ---------------------------------------------------------------------------
-dnl CF_BUILD_CC version: 11 updated: 2022/12/04 15:40:08
+dnl CF_BUILD_CC version: 12 updated: 2024/03/17 09:17:26
dnl -----------
dnl If we're cross-compiling, allow the user to override the tools and their
dnl options. The configure script is oriented toward identifying the host
: ${BUILD_CC:='${CC}'}
: ${BUILD_CPP:='${CPP}'}
: ${BUILD_CFLAGS:='${CFLAGS}'}
- : ${BUILD_CPPFLAGS:='${CPPFLAGS}'}
+ : ${BUILD_CPPFLAGS:='ifelse([$1],,'${CPPFLAGS}',[$1])'}
: ${BUILD_LDFLAGS:='${LDFLAGS}'}
- : ${BUILD_LIBS:='${LIBS}'}
+ : ${BUILD_LIBS:='ifelse([$2],,'${LIBS}',[$2])'}
: ${BUILD_EXEEXT:='$x'}
: ${BUILD_OBJEXT:='o'}
fi
fi
])
dnl ---------------------------------------------------------------------------
-dnl CF_CONST_X_STRING version: 7 updated: 2021/06/07 17:39:17
+dnl CF_CONST_X_STRING version: 8 updated: 2023/12/01 17:22:50
dnl -----------------
dnl The X11R4-X11R6 Xt specification uses an ambiguous String type for most
dnl character-strings.
AC_CACHE_CHECK(for X11/Xt const-feature,cf_cv_const_x_string,[
AC_TRY_COMPILE(
[
+#undef _CONST_X_STRING
#define _CONST_X_STRING /* X11R7.8 (perhaps) */
#undef XTSTRINGDEFINES /* X11R5 and later */
#include <stdlib.h>
])
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_CONST_X_STRING version: 7 updated: 2021/06/07 17:39:17
+dnl CF_CONST_X_STRING version: 8 updated: 2023/12/01 17:22:50
dnl -----------------
dnl The X11R4-X11R6 Xt specification uses an ambiguous String type for most
dnl character-strings.
AC_CACHE_CHECK(for X11/Xt const-feature,cf_cv_const_x_string,[
AC_TRY_COMPILE(
[
+#undef _CONST_X_STRING
#define _CONST_X_STRING /* X11R7.8 (perhaps) */
#undef XTSTRINGDEFINES /* X11R5 and later */
#include <stdlib.h>
AC_SUBST(EXTRA_CFLAGS)
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_FUNC_GETTIME version: 2 updated: 2023/02/25 08:45:56
+dnl CF_FUNC_GETTIME version: 3 updated: 2024/05/11 13:40:02
dnl ---------------
dnl Check for gettimeofday or clock_gettime. In 2023, the former is still more
dnl widely supported, but "deprecated" (2008), so we will use the latter if it
dnl is available, to reduce compiler warnings.
AC_DEFUN([CF_FUNC_GETTIME],[
-AC_CACHE_CHECK(for clock_gettime,cf_cv_func_clock_gettime,[
- AC_TRY_LINK([#include <time.h>],
+cf_save_libs="$LIBS"
+AC_CHECK_FUNC(clock_gettime,
+ cf_cv_test_clock_gettime=yes,
+ AC_CHECK_LIB(rt, clock_gettime,
+ [LIBS="-lrt $LIBS"
+ cf_cv_test_clock_gettime=yes],
+ cf_cv_test_clock_gettime=no))
+
+if test "$cf_cv_test_clock_gettime" = yes ; then
+AC_CACHE_CHECK(if clock_gettime links,cf_cv_func_clock_gettime,[
+ AC_TRY_LINK([
+$ac_includes_default
+#include <time.h>
+ ],
[struct timespec ts;
- int rc = clock_gettime(CLOCK_REALTIME, &ts); (void) rc; (void)ts],
+ int rc = clock_gettime(CLOCK_REALTIME, &ts)
+ + clock_gettime(CLOCK_MONOTONIC, &ts);
+ (void) rc; (void)ts],
[cf_cv_func_clock_gettime=yes],
[cf_cv_func_clock_gettime=no])
])
+else
+ cf_cv_func_clock_gettime=no
+fi
if test "$cf_cv_func_clock_gettime" = yes
then
fi
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_LARGEFILE version: 12 updated: 2020/03/19 20:23:48
+dnl CF_LARGEFILE version: 13 updated: 2023/12/03 19:09:59
dnl ------------
dnl Add checks for large file support.
AC_DEFUN([CF_LARGEFILE],[
#pragma GCC diagnostic error "-Wincompatible-pointer-types"
#include <sys/types.h>
#include <dirent.h>
+
+#ifndef __REDIRECT
+/* if transitional largefile support is setup, this is true */
+extern struct dirent64 * readdir(DIR *);
+#endif
],[
- /* if transitional largefile support is setup, this is true */
- extern struct dirent64 * readdir(DIR *);
- struct dirent64 *x = readdir((DIR *)0);
- struct dirent *y = readdir((DIR *)0);
+ DIR *dp = opendir(".");
+ struct dirent64 *x = readdir(dp);
+ struct dirent *y = readdir(dp);
int z = x - y;
(void)z;
],
test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_LINK_DATAONLY version: 13 updated: 2020/02/08 15:59:30
+dnl CF_LINK_DATAONLY version: 15 updated: 2023/12/03 10:03:10
dnl ----------------
dnl Some systems have a non-ANSI linker that doesn't pull in modules that have
dnl only data (i.e., no functions), for example NeXT. On those systems we'll
rm -f conftest.$ac_ext data.o
cat >conftest.$ac_ext <<EOF
#line __oline__ "configure"
+extern int testfunc(void);
+#if defined(NeXT)
int testfunc(void)
{
-#if defined(NeXT)
${cf_cv_main_return:-return}(1); /* I'm told this linker is broken */
+}
#else
- extern int testdata[[3]];
+extern int testdata[[3]];
+int testfunc(void)
+{
return testdata[[0]] == 123
&& testdata[[1]] == 456
&& testdata[[2]] == 789;
-#endif
}
+#endif
EOF
if AC_TRY_EVAL(ac_compile); then
mv conftest.o func.o && \
cf_saveLIBS="$LIBS"
LIBS="conftest.a $LIBS"
AC_TRY_RUN([
+ extern int testfunc(void);
int main(void)
{
- extern int testfunc();
${cf_cv_main_return:-return} (!testfunc());
}
],
test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES,1,[Define to 1 if filesystem supports mixed-case filenames.])
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_MKSTEMP version: 12 updated: 2023/01/05 17:53:11
+dnl CF_MKSTEMP version: 13 updated: 2023/12/01 17:22:50
dnl ----------
dnl Check for a working mkstemp. This creates two files, checks that they are
dnl successfully created and distinct (AmigaOS apparently fails on the last).
int main(void)
{
- char *tmpl = "conftestXXXXXX";
+ static char tmpl[] = "conftestXXXXXX";
char name[2][80];
int n;
int result = 0;
AC_DEFINE_UNQUOTED($cf_nculib_ROOT)
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_NCURSES_VERSION version: 17 updated: 2023/01/05 18:54:02
+dnl CF_NCURSES_VERSION version: 18 updated: 2024/01/07 06:34:16
dnl ------------------
dnl Check for the version of ncurses, to aid in reporting bugs, etc.
dnl Call CF_CURSES_CPPFLAGS first, or CF_NCURSES_CPPFLAGS. We don't use
# ifdef __NCURSES_H
fprintf(fp, "old\\n");
# else
- make an error
+ #error expected ncurses header to define __NCURSES_H
# endif
#endif
${cf_cv_main_return:-return}(0);
done
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_SHARED_OPTS version: 108 updated: 2023/10/28 11:59:01
+dnl CF_SHARED_OPTS version: 111 updated: 2024/03/29 20:08:49
dnl --------------
dnl --------------
dnl Attempt to determine the appropriate CC/LD options for creating a shared
for CC_SHARED_OPTS in -fPIC -fpic ''
do
CFLAGS="$cf_save_CFLAGS $CC_SHARED_OPTS"
- AC_TRY_COMPILE([#include <stdio.h>],[int x = 1],[break],[])
+ AC_TRY_COMPILE([#include <stdio.h>],[int x = 1; (void)x],[break],[])
done
AC_MSG_RESULT($CC_SHARED_OPTS)
CFLAGS="$cf_save_CFLAGS"
# tested with SunOS 5.5.1 (solaris 2.5.1) and gcc 2.7.2
# tested with SunOS 5.10 (solaris 10) and gcc 3.4.3
if test "$DFT_LWR_MODEL" = "shared" ; then
- LOCAL_LDFLAGS="-R \$(LOCAL_LIBDIR):\${libdir}"
+ LOCAL_LDFLAGS="-R\$(LOCAL_LIBDIR):\${libdir}"
LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
fi
if test "$cf_cv_enable_rpath" = yes ; then
- EXTRA_LDFLAGS="-R \${libdir} $EXTRA_LDFLAGS"
+ EXTRA_LDFLAGS="-R\${libdir} $EXTRA_LDFLAGS"
fi
CF_SHARED_SONAME
if test "$GCC" != yes; then
done
CFLAGS="$cf_save_CFLAGS"
CC_SHARED_OPTS=$cf_shared_opts
- MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -dy -G -h '$cf_cv_shared_soname' -o $[@]'
+ MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -dy -G -Wl,-h,'$cf_cv_shared_soname' -o $[@]'
else
- MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -shared -dy -G -h '$cf_cv_shared_soname' -o $[@]'
+ MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -shared -dy -G -Wl,-h,'$cf_cv_shared_soname' -o $[@]'
fi
;;
(sysv5uw7*|unix_sv*)
])
])dnl
dnl ---------------------------------------------------------------------------
+dnl CF_WITH_ADA version: 1 updated: 2024/05/18 13:55:23
+dnl -----------
+dnl Check for the Ada compiler (unless requested to not do this), which causes
+dnl a further check for a C compiler which can work with the Ada compiler.
+AC_DEFUN([CF_WITH_ADA],[
+AC_ARG_WITH(ada,
+ [ --without-ada suppress check for Ada compiler],
+ [cf_with_ada=$withval],
+ [cf_with_ada=yes])
+
+cf_prog_cc="gcc cc"
+if test "x$cf_with_ada" = xyes
+then
+ CF_PROG_GNAT
+ if test "x$cf_cv_prog_gnat_correct" = xyes; then
+ # gcc's developers chose to deprecate gnatgcc before making gprconfig
+ # work. They replaced gnatgcc in gcc 13 with a script which spits out
+ # a warning offering advice which could never work.
+ #
+ # Here is a workaround.
+ AC_PATH_PROG(cf_cv_path_gnatgcc,gnatgcc,no)
+ if test "$cf_cv_path_gnatgcc" != no
+ then
+ AC_MSG_CHECKING(for improvement)
+ cf_file_gnatgcc=`file -L "$cf_cv_path_gnatgcc" 2>/dev/null`
+ case "x$cf_file_gnatgcc" in
+ (*script*)
+ cf_cv_path_gnatgcc=`sh -x "$cf_cv_path_gnatgcc" --version 2>&1 | grep -w exec | sed -e 's/^[[ ]]*+[[ ]]*//' -e 's/exec[[ ]]//' -e 's/ .*//'`
+ ;;
+ (*)
+ cf_cv_path_gnatgcc=no
+ ;;
+ esac
+ AC_MSG_RESULT($cf_cv_path_gnatgcc)
+ test "$cf_cv_path_gnatgcc" = no && cf_cv_path_gnatgcc=gnatgcc
+ cf_prog_cc="$cf_cv_path_gnatgcc $cf_prog_cc"
+ fi
+ fi
+fi
+case "$cf_prog_cc" in
+(*/*)
+ CC="$cf_prog_cc"
+ AC_SUBST(CC)
+ ;;
+(*)
+ CF_PROG_CC($cf_prog_cc)
+ ;;
+esac
+])dnl
+dnl ---------------------------------------------------------------------------
dnl CF_WITH_ADA_COMPILER version: 3 updated: 2023/10/28 11:59:01
dnl --------------------
dnl Command-line option to specify the Ada95 compiler.