X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=configure.in;h=81b66235691d40746fdca8db491edde49f20c206;hp=7d8e69539bbda1ff09a3b7e675825392f5491ab2;hb=4c9f63c460cb7134f142aa65f6866c175ed77605;hpb=a5fe3726f7d4374e9b1551b535c8617b423996f2 diff --git a/configure.in b/configure.in index 7d8e6953..81b66235 100644 --- a/configure.in +++ b/configure.in @@ -1,5 +1,5 @@ dnl*************************************************************************** -dnl Copyright 2018-2020,2021 Thomas E. Dickey * +dnl Copyright 2018-2021,2022 Thomas E. Dickey * dnl Copyright 1998-2017,2018 Free Software Foundation, Inc. * dnl * dnl Permission is hereby granted, free of charge, to any person obtaining a * @@ -29,7 +29,7 @@ dnl*************************************************************************** dnl dnl Author: Thomas E. Dickey 1995-on dnl -dnl $Id: configure.in,v 1.730 2021/04/17 22:22:17 tom Exp $ +dnl $Id: configure.in,v 1.744 2022/04/17 00:26:25 tom Exp $ dnl Process this file with autoconf to produce a configure script. dnl dnl For additional information, see @@ -38,7 +38,7 @@ dnl https://invisible-island.net/autoconf/my-autoconf.html dnl dnl --------------------------------------------------------------------------- AC_PREREQ(2.52.20210101) -AC_REVISION($Revision: 1.730 $) +AC_REVISION($Revision: 1.744 $) AC_INIT(ncurses/base/lib_initscr.c) AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin) @@ -280,6 +280,7 @@ fi # do this after mixed-case option (tags/TAGS is not as important as tic). AC_PROG_MAKE_SET +CF_MAKE_PHONY CF_MAKE_TAGS CF_MAKEFLAGS @@ -692,6 +693,15 @@ AC_MSG_RESULT($with_xterm_new) WHICH_XTERM=$with_xterm_new AC_SUBST(WHICH_XTERM) +case $host_os in +(*linux-gnu|*cygwin|*mingw32|*msys) + want_xterm_kbs=DEL + ;; +(*) + want_xterm_kbs=BS + ;; +esac + AC_MSG_CHECKING(if xterm backspace sends BS or DEL) AC_ARG_WITH(xterm-kbs, [ --with-xterm-kbs=XXX specify if xterm backspace sends BS or DEL], @@ -712,6 +722,11 @@ AC_MSG_RESULT($with_xterm_kbs) XTERM_KBS=$with_xterm_kbs AC_SUBST(XTERM_KBS) +if test "x$with_xterm_kbs" != "x$want_xterm_kbs" +then + AC_MSG_WARN(expected --with-xterm-kbs=$want_xterm_kbs for $host_os) +fi + MAKE_TERMINFO= if test "$use_database" = no ; then TERMINFO="${datadir}/terminfo" @@ -844,13 +859,21 @@ AC_ARG_ENABLE(home-terminfo, AC_MSG_RESULT($with_home_terminfo) test "x$with_home_terminfo" = "xyes" && AC_DEFINE(USE_HOME_TERMINFO,1,[Define to 1 if $HOME/.terminfo feature is wanted]) -AC_MSG_CHECKING(if you want to use restricted environment when running as root) +AC_MSG_CHECKING(if you want to permit root to use ncurses environment variables) AC_ARG_ENABLE(root-environ, - [ --disable-root-environ restrict environment when running as root], + [ --disable-root-environ restrict root use of ncurses environment variables], [with_root_environ=$enableval], [with_root_environ=yes]) AC_MSG_RESULT($with_root_environ) -test "x$with_root_environ" = xyes && AC_DEFINE(USE_ROOT_ENVIRON,1,[Define to 1 if environment should be restricted for root user]) +test "x$with_root_environ" = xyes && AC_DEFINE(USE_ROOT_ENVIRON,1,[Define to 1 if root is allowed to use ncurses environment]) + +AC_MSG_CHECKING(if you want to permit setuid programs to access all files) +AC_ARG_ENABLE(root-environ, + [ --disable-root-access restrict file-access when running setuid], + [with_root_access=$enableval], + [with_root_access=yes]) +AC_MSG_RESULT($with_root_access) +test "x$with_root_access" = xyes && AC_DEFINE(USE_ROOT_ACCESS,1,[Define to 1 if setuid is allowed all file-access]) ### Use option --enable-symlinks to make tic use symlinks, not hard links ### to reduce storage requirements for the terminfo database. @@ -1010,18 +1033,18 @@ else with_tic_depends=no fi -### use option --disable-wattr-macros to suppress wattr* macros from curses.h -AC_MSG_CHECKING(if you want to suppress wattr* macros to help with ncurses5/ncurses6 transition) +### use option --enable-wattr-macros to enable wattr* macros in curses.h +AC_MSG_CHECKING(if you want to enable wattr* macros) AC_ARG_ENABLE(wattr-macros, - [ --disable-wattr-macros suppress wattr* macros to help with ncurses5/ncurses6 transition], + [ --enable-wattr-macros enable wattr* macros], [with_wattr_macros=$enableval], - [with_wattr_macros=yes]) + [with_wattr_macros=no]) if [[ "x$with_wattr_macros" != xyes ]]; then NCURSES_WATTR_MACROS=0 - AC_MSG_RESULT(yes) + AC_MSG_RESULT(no) else NCURSES_WATTR_MACROS=1 - AC_MSG_RESULT(no) + AC_MSG_RESULT(yes) fi AC_SUBST(NCURSES_WATTR_MACROS) @@ -1041,7 +1064,11 @@ AC_ARG_WITH(caps, [ --with-caps=alt compile with alternate Caps file], [TERMINFO_CAPS=Caps.$withval], [TERMINFO_CAPS=Caps]) -test -f "${srcdir}/include/${TERMINFO_CAPS}" || TERMINFO_CAPS=Caps +if test ! -f "${srcdir}/include/${TERMINFO_CAPS}" +then + AC_MSG_WARN(file not found: "${srcdir}/include/${TERMINFO_CAPS}") + TERMINFO_CAPS=Caps +fi AC_MSG_RESULT($TERMINFO_CAPS) AC_SUBST(TERMINFO_CAPS) @@ -1075,7 +1102,7 @@ AC_MSG_CHECKING(for size CCHARW_MAX) AC_ARG_WITH(ccharw-max, [ --with-ccharw-max=XXX override size CCHARW_MAX], [NCURSES_CCHARW_MAX="$withval"], - [NCURSES_CCHARW_MAX=5]) + [NCURSES_CCHARW_MAX=$cf_dft_ccharw_max]) AC_MSG_RESULT($NCURSES_CCHARW_MAX) AC_SUBST(NCURSES_CCHARW_MAX) @@ -1089,7 +1116,7 @@ AC_MSG_CHECKING(if you want to use signed Boolean array in term.h) AC_ARG_ENABLE(signed-char, [ --enable-signed-char compile using signed Boolean's in term.h], [with_signed_char=$enableval], - [with_signed_char=no]) + [with_signed_char=$cf_dft_signed_char]) AC_MSG_RESULT($with_signed_char) test "x$with_signed_char" != xyes && NCURSES_SBOOL="char" AC_SUBST(NCURSES_SBOOL) @@ -1225,11 +1252,22 @@ AC_ARG_ENABLE(ext-mouse, [with_ext_mouse=$enableval], [with_ext_mouse=$cf_dft_ext_mouse]) AC_MSG_RESULT($with_ext_mouse) -NCURSES_MOUSE_VERSION=1 if test "x$with_ext_mouse" = xyes ; then - NCURSES_MOUSE_VERSION=2 CF_NCURSES_ABI_6 fi + +case $cf_cv_abi_version in +(5) + NCURSES_MOUSE_VERSION=1 + ;; +(6) + NCURSES_MOUSE_VERSION=2 + ;; +([789]) + NCURSES_MOUSE_VERSION=3 + ;; +esac + AC_SUBST(NCURSES_MOUSE_VERSION) ### use option --enable-ext-putwin to turn on extended screendumps @@ -1358,7 +1396,7 @@ if test "x$with_reentrant" = xyes ; then else cf_cv_enable_reentrant=0 cf_cv_enable_opaque="NCURSES_OPAQUE" - NCURSES_SIZE_T=short + NCURSES_SIZE_T=$cf_dft_ordinate_type fi AC_SUBST(cf_cv_enable_reentrant) AC_SUBST(cf_cv_enable_opaque) @@ -1370,7 +1408,7 @@ CF_ARG_ENABLE(opaque-curses, [ --enable-opaque-curses make curses WINDOW, etc., "opaque"], [enable_opaque_curses=yes],[ test "$cf_cv_enable_reentrant" = 1 && enable_opaque_curses=yes - test "$cf_cv_enable_reentrant" = 1 || enable_opaque_curses=no + test "$cf_cv_enable_reentrant" = 1 || enable_opaque_curses=$cf_dft_opaque_curses ]) AC_MSG_RESULT($enable_opaque_curses) @@ -1616,7 +1654,7 @@ AC_SUBST(INSTALL_OPT_P) CF_ENABLE_WARNINGS(Wno-unknown-pragmas Wswitch-enum,yes) if test "x$enable_warnings" = "xyes"; then - CF_ADD_ADAFLAGS(-gnatg) + CF_ADD_ADAFLAGS(-gnatwa -gnatyg) if test "x$cf_with_cxx" = xyes ; then CF_GXX_WARNINGS(Wno-unused) fi @@ -1687,12 +1725,13 @@ CF_DISABLE_GNAT_PROJECTS ### Checks for libraries. case "$cf_cv_system_name" in (*mingw32*|*mingw64*) + # Note: WINVER may be a problem with Windows 10 if test "x$with_exp_win32" = xyes ; then - CPPFLAGS="$CPPFLAGS -DWINVER=0x0600 -DWIN32_LEAN_AND_MEAN" + CPPFLAGS="$CPPFLAGS -DWINVER=0x0600 -DWIN32_LEAN_AND_MEAN" else - CPPFLAGS="$CPPFLAGS -DWINVER=0x0501 -DWIN32_LEAN_AND_MEAN" + CPPFLAGS="$CPPFLAGS -DWINVER=0x0501 -DWIN32_LEAN_AND_MEAN" fi - # Note: WINVER may be a problem with Windows 10 + CF_CHECK_LIBSSP ;; (*) AC_CHECK_FUNC(gettimeofday, @@ -1727,7 +1766,6 @@ sys/poll.h \ sys/select.h \ sys/time.h \ sys/times.h \ -ttyent.h \ unistd.h \ wctype.h \ ) @@ -1782,7 +1820,6 @@ getcwd \ getegid \ geteuid \ getopt \ -getttynam \ issetugid \ localeconv \ poll \ @@ -1792,6 +1829,7 @@ select \ setbuf \ setbuffer \ setenv \ +setfsuid \ setvbuf \ sigaction \ sigvec \ @@ -1805,6 +1843,8 @@ tsearch \ vsnprintf \ ) +CF_FUNC_GETTTYNAM + if test "x$ac_cv_func_getopt" = xno && \ test "x$cf_with_progs$cf_with_tests" != xnono; then AC_MSG_ERROR(getopt is required for building programs) @@ -2564,6 +2604,7 @@ cf_cv_do_reranlib="$cf_cv_do_reranlib" cf_cv_do_symlinks="$cf_cv_do_symlinks" cf_cv_enable_lp64="$cf_cv_enable_lp64" cf_cv_enable_opaque="$cf_cv_enable_opaque" +cf_cv_make_PHONY="$cf_cv_make_PHONY" cf_cv_prog_CC_c_o=$cf_cv_prog_CC_c_o cf_cv_prog_CXX_c_o=$cf_cv_prog_CXX_c_o cf_cv_prog_gnat_correct=$cf_cv_prog_gnat_correct