dnl
dnl Author: Thomas E. Dickey 1995-on
dnl
-dnl $Id: aclocal.m4,v 1.839 2018/06/21 00:23:13 tom Exp $
+dnl $Id: aclocal.m4,v 1.847 2018/08/18 20:21:21 tom Exp $
dnl Macros used in NCURSES auto-configuration script.
dnl
dnl These macros are maintained separately from NCURSES. The copyright on
AC_SUBST(BUILD_OBJEXT)
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_CC_ENV_FLAGS version: 8 updated: 2017/09/23 08:50:24
+dnl CF_CC_ENV_FLAGS version: 9 updated: 2018/07/29 18:03:26
dnl ---------------
dnl Check for user's environment-breakage by stuffing CFLAGS/CPPFLAGS content
dnl into CC. This will not help with broken scripts that wrap the compiler
# This should have been defined by AC_PROG_CC
: ${CC:=cc}
+AC_MSG_CHECKING(\$CFLAGS variable)
+case "x$CFLAGS" in
+(*-[[IUD]]*)
+ AC_MSG_RESULT(broken)
+ AC_MSG_WARN(your environment uses the CFLAGS variable to hold CPPFLAGS options)
+ cf_flags="$CFLAGS"
+ CFLAGS=
+ for cf_arg in $cf_flags
+ do
+ CF_ADD_CFLAGS($cf_arg)
+ done
+ ;;
+(*)
+ AC_MSG_RESULT(ok)
+ ;;
+esac
+
AC_MSG_CHECKING(\$CC variable)
case "$CC" in
(*[[\ \ ]]-*)
AC_MSG_RESULT(broken)
- AC_MSG_WARN(your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options)
+ AC_MSG_WARN(your environment uses the CC variable to hold CFLAGS/CPPFLAGS options)
# humor him...
cf_prog=`echo "$CC" | sed -e 's/ / /g' -e 's/[[ ]]* / /g' -e 's/[[ ]]*[[ ]]-[[^ ]].*//'`
cf_flags=`echo "$CC" | ${AWK:-awk} -v prog="$cf_prog" '{ printf("%s", [substr]([$]0,1+length(prog))); }'`
AC_SUBST($1)
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_DIRNAME version: 4 updated: 2002/12/21 19:25:52
-dnl ----------
-dnl "dirname" is not portable, so we fake it with a shell script.
-AC_DEFUN([CF_DIRNAME],[$1=`echo $2 | sed -e 's%/[[^/]]*$%%'`])dnl
-dnl ---------------------------------------------------------------------------
dnl CF_DIRS_TO_MAKE version: 3 updated: 2002/02/23 20:38:31
dnl ---------------
AC_DEFUN([CF_DIRS_TO_MAKE],
AC_SUBST(CPPFLAGS)
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_INSTALL_OPTS version: 1 updated: 2014/07/21 18:19:51
+dnl CF_INSTALL_OPTS version: 2 updated: 2018/08/18 12:19:21
dnl ---------------
dnl prompt for/fill-in useful install-program options
AC_DEFUN([CF_INSTALL_OPTS],
[
CF_INSTALL_OPT_S
+CF_INSTALL_OPT_P
CF_INSTALL_OPT_O
])dnl
dnl ---------------------------------------------------------------------------
AC_SUBST(INSTALL_OPT_O)
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_INSTALL_OPT_S version: 1 updated: 2014/07/21 18:19:51
+dnl CF_INSTALL_OPT_P version: 1 updated: 2018/08/18 12:19:21
+dnl ----------------
+dnl Some install-programs accept a "-p" option to preserve file modification
+dnl timestamps. That can be useful as an install option, as well as a way to
+dnl avoid the need for ranlib after copying a static archive.
+AC_DEFUN([CF_INSTALL_OPT_P],
+[
+: ${INSTALL:=install}
+AC_CACHE_CHECK(if install accepts -p option, cf_cv_install_p,[
+ rm -rf conftest*
+ date >conftest.in
+ mkdir conftest.out
+ sleep 3
+ if $INSTALL -p conftest.in conftest.out 2>/dev/null
+ then
+ if test -f conftest.out/conftest.in
+ then
+ test conftest.in -nt conftest.out/conftest.in 2>conftest.err && \
+ test conftest.out/conftest.in -nt conftest.in 2>conftest.err
+ if test -s conftest.err
+ then
+ cf_cv_install_p=no
+ else
+ cf_cv_install_p=yes
+ fi
+ else
+ cf_cv_install_p=no
+ fi
+ else
+ cf_cv_install_p=no
+ fi
+ rm -rf conftest*
+])
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_INSTALL_OPT_S version: 2 updated: 2018/08/18 12:19:21
dnl ----------------
dnl By default, we should strip executables which are installed, but leave the
dnl ability to suppress that for unit-testing.
[
AC_MSG_CHECKING(if you want to install stripped executables)
CF_ARG_DISABLE(stripping,
- [ --disable-stripping do not strip installed executables],
+ [ --disable-stripping do not strip (debug info) installed executables],
[with_stripping=no],
[with_stripping=yes])
AC_MSG_RESULT($with_stripping)
AC_REQUIRE([CF_CHECK_CACHE])
LD_RPATH_OPT=
-AC_MSG_CHECKING(for an rpath option)
-case $cf_cv_system_name in
-(irix*)
- if test "$GCC" = yes; then
+if test "x$cf_cv_enable_rpath" != xno
+then
+ AC_MSG_CHECKING(for an rpath option)
+ case $cf_cv_system_name in
+ (irix*)
+ if test "$GCC" = yes; then
+ LD_RPATH_OPT="-Wl,-rpath,"
+ else
+ LD_RPATH_OPT="-rpath "
+ fi
+ ;;
+ (linux*|gnu*|k*bsd*-gnu|freebsd*)
LD_RPATH_OPT="-Wl,-rpath,"
- else
+ ;;
+ (openbsd[[2-9]].*|mirbsd*)
+ LD_RPATH_OPT="-Wl,-rpath,"
+ ;;
+ (dragonfly*)
LD_RPATH_OPT="-rpath "
- fi
- ;;
-(linux*|gnu*|k*bsd*-gnu|freebsd*)
- LD_RPATH_OPT="-Wl,-rpath,"
- ;;
-(openbsd[[2-9]].*|mirbsd*)
- LD_RPATH_OPT="-Wl,-rpath,"
- ;;
-(dragonfly*)
- LD_RPATH_OPT="-rpath "
- ;;
-(netbsd*)
- LD_RPATH_OPT="-Wl,-rpath,"
- ;;
-(osf*|mls+*)
- LD_RPATH_OPT="-rpath "
- ;;
-(solaris2*)
- LD_RPATH_OPT="-R"
- ;;
-(*)
- ;;
-esac
-AC_MSG_RESULT($LD_RPATH_OPT)
+ ;;
+ (netbsd*)
+ LD_RPATH_OPT="-Wl,-rpath,"
+ ;;
+ (osf*|mls+*)
+ LD_RPATH_OPT="-rpath "
+ ;;
+ (solaris2*)
+ LD_RPATH_OPT="-R"
+ ;;
+ (*)
+ ;;
+ esac
+ AC_MSG_RESULT($LD_RPATH_OPT)
-case "x$LD_RPATH_OPT" in
-(x-R*)
- AC_MSG_CHECKING(if we need a space after rpath option)
- cf_save_LIBS="$LIBS"
- CF_ADD_LIBS(${LD_RPATH_OPT}$libdir)
- AC_TRY_LINK(, , cf_rpath_space=no, cf_rpath_space=yes)
- LIBS="$cf_save_LIBS"
- AC_MSG_RESULT($cf_rpath_space)
- test "$cf_rpath_space" = yes && LD_RPATH_OPT="$LD_RPATH_OPT "
- ;;
-esac
+ case "x$LD_RPATH_OPT" in
+ (x-R*)
+ AC_MSG_CHECKING(if we need a space after rpath option)
+ cf_save_LIBS="$LIBS"
+ CF_ADD_LIBS(${LD_RPATH_OPT}$libdir)
+ AC_TRY_LINK(, , cf_rpath_space=no, cf_rpath_space=yes)
+ LIBS="$cf_save_LIBS"
+ AC_MSG_RESULT($cf_rpath_space)
+ test "$cf_rpath_space" = yes && LD_RPATH_OPT="$LD_RPATH_OPT "
+ ;;
+ esac
+fi
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_LIBRARY_PATH version: 10 updated: 2015/04/15 19:08:48
AC_SUBST(LIB_PREFIX)
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_LIB_RULES version: 87 updated: 2017/07/26 17:08:35
+dnl CF_LIB_RULES version: 88 updated: 2018/08/18 12:19:21
dnl ------------
dnl Append definitions and rules for the given models to the subdirectory
dnl Makefiles, and the recursion rule for the top-level Makefile. If the
ShlibVer=$cf_cv_shlib_version \
ShlibVerInfix=$cf_cv_shlib_version_infix \
ReLink=${cf_cv_do_relink:-no} \
+ ReRanlib=${cf_cv_do_reranlib:-yes} \
DoLinks=$cf_cv_do_symlinks \
rmSoLocs=$cf_cv_rm_so_locs \
ldconfig="$LDCONFIG" \
AC_SUBST(cf_ada_config_C)
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_PROG_INSTALL version: 7 updated: 2015/04/18 08:56:57
-dnl ---------------
-dnl Force $INSTALL to be an absolute-path. Otherwise, edit_man.sh and the
-dnl misc/tabset install won't work properly. Usually this happens only when
-dnl using the fallback mkinstalldirs script
-AC_DEFUN([CF_PROG_INSTALL],
-[AC_PROG_INSTALL
-case $INSTALL in
-(/*)
- ;;
-(*)
- CF_DIRNAME(cf_dir,$INSTALL)
- test -z "$cf_dir" && cf_dir=.
- INSTALL=`cd $cf_dir && pwd`/`echo $INSTALL | sed -e 's%^.*/%%'`
- ;;
-esac
-])dnl
-dnl ---------------------------------------------------------------------------
dnl CF_PROG_LDCONFIG version: 5 updated: 2015/04/18 08:56:57
dnl ----------------
dnl Check for ldconfig, needed to fixup shared libraries that would be built
AC_DEFUN([CF_SHARED_OPTS],
[
AC_REQUIRE([CF_LD_RPATH_OPT])
+
RM_SHARED_OPTS=
LOCAL_LDFLAGS=
LOCAL_LDFLAGS2=
cf_cv_rm_so_locs=yes
;;
(linux*|gnu*|k*bsd*-gnu)
- if test "$DFT_LWR_MODEL" = "shared" ; then
+ if test "$DFT_LWR_MODEL" = "shared" && test -n "$LD_RPATH_OPT" ; then
LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
fi
chmod +x mk_shared_lib.sh
;;
(openbsd[[2-9]].*|mirbsd*)
- if test "$DFT_LWR_MODEL" = "shared" ; then
+ if test "$DFT_LWR_MODEL" = "shared" && test -n "$LD_RPATH_OPT" ; then
LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
fi
;;
esac
MK_SHARED_LIB="${MK_SHARED_LIB}"' -o $[@]'
- if test "$DFT_LWR_MODEL" = "shared" ; then
+ if test "$DFT_LWR_MODEL" = "shared" && test -n "$LD_RPATH_OPT" ; then
LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
fi
AC_SUBST(top_builddir)
])dnl
dnl ---------------------------------------------------------------------------
+dnl CF_TRY_PKG_CONFIG version: 5 updated: 2013/07/06 21:27:06
+dnl -----------------
+dnl This is a simple wrapper to use for pkg-config, for libraries which may be
+dnl available in that form.
+dnl
+dnl $1 = package name
+dnl $2 = extra logic to use, if any, after updating CFLAGS and LIBS
+dnl $3 = logic to use if pkg-config does not have the package
+AC_DEFUN([CF_TRY_PKG_CONFIG],[
+AC_REQUIRE([CF_PKG_CONFIG])
+
+if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists $1; then
+ CF_VERBOSE(found package $1)
+ cf_pkgconfig_incs="`$PKG_CONFIG --cflags $1 2>/dev/null`"
+ cf_pkgconfig_libs="`$PKG_CONFIG --libs $1 2>/dev/null`"
+ CF_VERBOSE(package $1 CFLAGS: $cf_pkgconfig_incs)
+ CF_VERBOSE(package $1 LIBS: $cf_pkgconfig_libs)
+ CF_ADD_CFLAGS($cf_pkgconfig_incs)
+ CF_ADD_LIBS($cf_pkgconfig_libs)
+ ifelse([$2],,:,[$2])
+else
+ cf_pkgconfig_incs=
+ cf_pkgconfig_libs=
+ ifelse([$3],,:,[$3])
+fi
+])
+dnl ---------------------------------------------------------------------------
dnl CF_TRY_XOPEN_SOURCE version: 2 updated: 2018/06/20 20:23:13
dnl -------------------
dnl If _XOPEN_SOURCE is not defined in the compile environment, check if we
AC_MSG_RESULT($ADA_OBJECTS)
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_WITH_ADA_SHAREDLIB version: 4 updated: 2014/05/31 21:08:37
+dnl CF_WITH_ADA_SHAREDLIB version: 5 updated: 2018/07/21 19:10:35
dnl ---------------------
dnl Command-line option to specify if an Ada95 shared-library should be built,
dnl and optionally what its soname should be.
AC_DEFUN([CF_WITH_ADA_SHAREDLIB],[
+AC_REQUIRE([CF_GNAT_PROJECTS])
AC_MSG_CHECKING(if an Ada95 shared-library should be built)
AC_ARG_WITH(ada-sharedlib,
[ --with-ada-sharedlib=soname build shared-library (requires GNAT projects)],
[with_ada_sharedlib=no])
AC_MSG_RESULT($with_ada_sharedlib)
+if test "x$with_ada_sharedlib" != xno
+then
+ if test "x$cf_gnat_projects" != xyes
+ then
+ AC_MSG_WARN(disabling shared-library since GNAT projects are not supported)
+ with_ada_sharedlib=no
+ fi
+fi
+
ADA_SHAREDLIB='lib$(LIB_NAME).so.1'
MAKE_ADA_SHAREDLIB="#"
esac
AC_SUBST($3)dnl
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_WITH_PCRE2 version: 2 updated: 2018/07/14 16:47:56
+dnl -------------
+dnl Add PCRE2 (Perl-compatible regular expressions v2) to the build if it is
+dnl available and the user requests it. Assume the application will otherwise
+dnl use the POSIX interface.
+dnl
+dnl TODO allow $withval to specify package location
+AC_DEFUN([CF_WITH_PCRE2],
+[
+AC_REQUIRE([CF_PKG_CONFIG])
+
+AC_MSG_CHECKING(if you want to use PCRE2 for regular-expressions)
+AC_ARG_WITH(pcre2,
+ [ --with-pcre2 use PCRE2 for regular-expressions])
+test -z "$with_pcre2" && with_pcre2=no
+AC_MSG_RESULT($with_pcre2)
+
+if test "x$with_pcre2" != xno ; then
+ CF_TRY_PKG_CONFIG(libpcre2,,[
+ CF_TRY_PKG_CONFIG(libpcre,,[
+ AC_MSG_ERROR(Cannot find PCRE2 library)])])
+
+ AC_DEFINE(HAVE_LIB_PCRE2,1,[Define to 1 if we can/should compile with the PCRE2 library])
+
+ # if pkgconfig gave no results, look for the libraries directly
+ case $LIBS in
+ (*pcre2-posix*|*pcreposix*)
+ ;;
+ (*)
+ AC_CHECK_LIB(pcre2-posix,regcomp,[
+ CF_ADD_LIB(pcre2-posix)],
+ [AC_CHECK_LIB(pcreposix,regcomp,[
+ CF_ADD_LIB(pcreposix)
+ ],[AC_MSG_ERROR(Cannot find PCRE2 POSIX library)])])
+ ;;
+ esac
+
+ # either way, check for the library header files
+ AC_CHECK_HEADERS(pcre2-posix.h pcreposix.h)
+fi
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_WITH_PKG_CONFIG_LIBDIR version: 10 updated: 2015/08/22 17:10:56