"Fossies" - the Fresh Open Source Software Archive

Member "tin-2.6.2/configure.in" (24 Dec 2022, 46953 Bytes) of package /linux/misc/tin-2.6.2.tar.xz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "configure.in": 2.6.1_vs_2.6.2.

    1 dnl Project   : tin - a Usenet reader
    2 dnl Module    : configure.in
    3 dnl Author    : Thomas E. Dickey <dickey@invisible-island.net>
    4 dnl Created   : 1995-08-24
    5 dnl Updated   : 2022-09-19
    6 dnl Notes     :
    7 dnl
    8 dnl Copyright (c) 1995-2021 Thomas E. Dickey <dickey@invisible-island.net>
    9 dnl All rights reserved.
   10 dnl
   11 dnl Redistribution and use in source and binary forms, with or without
   12 dnl modification, are permitted provided that the following conditions
   13 dnl are met:
   14 dnl 1. Redistributions of source code must retain the above copyright
   15 dnl    notice, this list of conditions and the following disclaimer.
   16 dnl 2. Redistributions in binary form must reproduce the above copyright
   17 dnl    notice, this list of conditions and the following disclaimer in the
   18 dnl    documentation and/or other materials provided with the distribution.
   19 dnl 3. The name of the author may not be used to endorse or promote
   20 dnl    products derived from this software without specific prior written
   21 dnl    permission.
   22 dnl
   23 dnl THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
   24 dnl OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   25 dnl WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   26 dnl ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
   27 dnl DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   28 dnl DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
   29 dnl GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
   30 dnl INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
   31 dnl WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
   32 dnl NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   33 dnl SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   34 dnl
   35 dnl Process this file with autoconf to produce a configure script.
   36 
   37 AC_PREREQ(2.52.20210105)
   38 AC_INIT(include/tin.h)
   39 AC_CONFIG_HEADER(include/autoconf.h:include/autoconf.hin)
   40 AC_PREFIX_DEFAULT(/usr/local)
   41 
   42 dnl PACKAGE is required for GNU gettext
   43 PACKAGE=tin
   44 VERSION=2.6.2
   45 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Define this to the package name])
   46 AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Define this to the package version])
   47 AC_SUBST(PACKAGE)
   48 AC_SUBST(VERSION)
   49 
   50 EXTRAO_DEP='#'
   51 
   52 CF_CHECK_CACHE
   53 
   54 CF_PATHSEP
   55 CF_WITH_PATH(install-prefix,
   56     [  --with-install-prefix   prefixes actual install location],
   57     DESTDIR,/)
   58 case ".$DESTDIR" in # (vi
   59 ./) DESTDIR=
   60     ;; # (vi
   61 ./*/)   ;; # (vi
   62 ./*)    DESTDIR="$DESTDIR/"
   63     ;;
   64 esac
   65 
   66 AC_ARG_PROGRAM
   67 
   68 ### Compiler/options that autoconf doesn't get right
   69 case "$host_os" in
   70     aix*)   #(vi
   71         if test "$CC" = ""; then
   72             AC_PATH_PROG(XLC, xlc)
   73             if test "$ac_cv_path_XLC" != ""; then
   74                 CC="$ac_cv_path_XLC"
   75             fi
   76         fi
   77         ;;
   78     hpux*)  #(vi
   79         test "$CC" != "cc" && test -z "$CFLAGS" && CFLAGS="-O"
   80         ;;
   81 esac
   82 
   83 ### Native Language Support
   84 ALL_LINGUAS="da de en_GB es et fr ru sv tr zh_CN zh_TW"
   85 
   86 ### Checks for programs
   87 save_CFLAGS="$CFLAGS"
   88 CF_PROG_CC
   89 AC_PROG_GCC_TRADITIONAL
   90 AC_PROG_MAKE_SET
   91 AC_PROG_INSTALL
   92 CF_PROG_YACC
   93 AC_CHECK_PROGS(LINT, lint alint lclint tdlint splint, :)
   94 CF_XOPEN_SOURCE
   95 CF_SIGWINCH
   96 CF_PROG_EXT
   97 CF_LIB_PREFIX(LIB_PREFIX)
   98 AC_PROG_LN_S
   99 
  100 CF_BUILD_CC([-I$(INCDIR)],[])
  101 
  102 dnl These are standard among *NIX systems, but not when cross-compiling
  103 AC_CHECK_TOOL(RANLIB, ranlib, ':')
  104 AC_CHECK_TOOL(LD, ld, ld)
  105 CF_PROG_AR
  106 CF_AR_FLAGS
  107 
  108 case "$host_cpu:$host_vendor:$host_os" in
  109     # check for cygwin environment
  110     # -DSTATIC is needed for pcre
  111     *:*:*cygwin*)   #(vi
  112         PCRE_DEFINES="$PCRE_DEFINES -DSTATIC"
  113         ;;
  114     # SEIUX doesn't have any useful preprocessor symbol
  115     mips:sei:seiux*)    #(vi
  116         AC_DEFINE(SEIUX,1,[Define this to 1 for the MIPS/SEIUX system])
  117         ;;
  118     # ISC Interactive Unix likewise
  119     i386:pc:isc*)   #(vi
  120         AC_DEFINE(ISC_UNIX,1,[Define this to 1 for the i386/ISC system])
  121 esac
  122 
  123 dnl TODO: also check for heapsort(3) in libbsd?
  124 AC_MSG_CHECKING(if you would like to use heapsort)
  125 CF_ARG_DISABLE(heapsort,
  126     [  --disable-heapsort      disable heapsort() as alternative to qsort],
  127     [cf_use_heapsort=no],
  128     [cf_use_heapsort=yes])
  129 AC_MSG_RESULT($cf_use_heapsort)
  130 if test "x$cf_use_heapsort" = xyes; then
  131     AC_CHECK_FUNCS(heapsort)
  132     if test x"$ac_cv_func_heapsort" = xyes; then
  133         AC_MSG_CHECKING(if its prototype is compatible with qsort)
  134         AC_TRY_COMPILE([
  135 #include <stdlib.h>
  136 #include <sys/types.h>
  137 extern int my_compare(const void *, const void *);
  138 ],[
  139     char *base = 0;
  140     heapsort((void *)0, 1, 2, my_compare);
  141 ],,[cf_use_heapsort=no]);
  142         AC_MSG_RESULT($cf_use_heapsort)
  143     else
  144         CF_VERBOSE(will use our own heapsort function)
  145         EXTRAO_DEP=''
  146         EXTRAOBJS="$EXTRAOBJS \$(OBJDIR)/heapsort.o"
  147     fi
  148 fi
  149 if test "x$cf_use_heapsort" = xyes; then
  150     AC_DEFINE(USE_HEAPSORT,1,[Define this to 1 to use the heapsort function])
  151 fi
  152 
  153 CF_WITH_PROGRAM(ispell,
  154 [  --with-ispell           (default: from system path)])
  155 
  156 CF_WITH_PROGRAM(metamail,
  157 [  --with-metamail         (default: from system path)])
  158 
  159 CF_WITH_PROGRAM(sum,
  160 [  --with-sum              (default: from system path)])
  161 CF_PROG_SUM_R
  162 
  163 CF_PATH_EDITOR
  164 CF_PATH_MAILER
  165 CF_PATH_MAILBOX
  166 CF_PKG_CONFIG
  167 
  168 ## PGP Support
  169 AC_MSG_CHECKING(if you want PGP/GPG-Support)
  170 CF_ARG_DISABLE(pgp-gpg,
  171     [  --disable-pgp-gpg       disable PGP/GPG Support],
  172     [USE_PGP_GPG=no],
  173     [USE_PGP_GPG=yes])
  174 AC_MSG_RESULT($enableval)
  175 if test "$USE_PGP_GPG" = "yes" ; then
  176     CF_WITH_PROGRAM(pgp,
  177     [  --with-pgp              (default: from system path)])
  178     # FIXME: check if pgp is pgp2 or pgp6
  179 
  180     CF_WITH_PROGRAM(pgpk,
  181     [  --with-pgpk             (default: from system path)])
  182     # FIXME: remove tailing k
  183 
  184     CF_WITH_PROGRAM(gpg,
  185     [  --with-gpg              (default: from system path)])
  186 fi
  187 
  188 ## slrnface
  189 CF_WITH_PROGRAM(slrnface,
  190 [  --with-slrnface         (default: from system path)])
  191 if test -n "$ac_cv_path_PATH_SLRNFACE"; then
  192     EXTRAO_DEP=""
  193     EXTRAOBJS="$EXTRAOBJS \$(OBJDIR)/xface.o"
  194 fi
  195 
  196 ## Default shell
  197 AC_ARG_WITH(shell,
  198     [  --with-shell=PROG       default $SHELL program (default: sh)],
  199     [cf_cv_default_shell=$withval],
  200     [cf_cv_default_shell=])
  201 CF_DEFAULT_SHELL($cf_cv_default_shell)
  202 
  203 ### check for this early, since it'll override several options
  204 AC_MSG_CHECKING(if NNTP-support will be used)
  205 CF_ARG_DISABLE(nntp,
  206     [  --disable-nntp          disable reading via NNTP],
  207     [USE_NNTP=no],
  208     [USE_NNTP=yes])
  209 AC_MSG_RESULT($enableval)
  210 
  211 USE_SPOOLDIR=yes
  212 if test "$USE_NNTP" = "yes" ; then
  213 AC_MSG_CHECKING(whether to be NNTP_ONLY)
  214 CF_ARG_ENABLE(nntp-only,
  215     [  --enable-nntp-only      enable reading via NNTP only],
  216     [AC_DEFINE(NNTP_ONLY,1,[Define this to 1 to be NNTP-only])
  217      USE_SPOOLDIR=no],
  218     [AC_DEFINE(NNTP_ABLE,1,[Define this to 1 to be NNTP-capable])])
  219 AC_MSG_RESULT($enableval)
  220 fi
  221 
  222 ### use option --enable-debug to compile-in test/development code
  223 AC_MSG_CHECKING(if you want to compile-in debug support)
  224 CF_ARG_ENABLE(debug,
  225     [  --enable-debug          turn on debug support],
  226     [ENABLE_DEBUG=''
  227     CFLAGS="-g $CFLAGS"
  228     LDFLAGS="-g $LDFLAGS"],
  229     [ENABLE_DEBUG='#'
  230     test -z "$save_CFLAGS" && CFLAGS="`echo $CFLAGS|sed -e 's/-g //' -e 's/-g$//'`"])
  231 AC_MSG_RESULT($enableval)
  232 AC_SUBST(ENABLE_DEBUG)
  233 
  234 ### use option --disable-echo to suppress full display compiling commands
  235 CF_DISABLE_ECHO
  236 
  237 ### use option --enable-prototypes to turn on optional prototypes
  238 AC_MSG_CHECKING(if you want to compile with fallback prototypes)
  239 CF_ARG_ENABLE(prototypes,
  240     [  --enable-prototypes     check for optional prototypes],
  241     [with_decl_check=yes],
  242     [with_decl_check=no])
  243 AC_MSG_RESULT($enableval)
  244 
  245 ### use option --enable-warnings to turn on all gcc warnings
  246 EXTRA_CFLAGS=""
  247 if test -n "$GCC"
  248 then
  249 AC_MSG_CHECKING(if you want to turn on gcc warnings)
  250 CF_ARG_ENABLE(warnings,
  251     [  --enable-warnings       turn on GCC compiler warnings],
  252     [with_warnings=yes],
  253     [with_warnings=no])
  254 AC_MSG_RESULT($with_warnings)
  255 if test "$with_warnings" = "yes"
  256 then
  257     with_ext_const=yes
  258     CF_GCC_WARNINGS
  259 fi
  260 fi
  261 
  262 ## !NNTP_ONLY
  263 if test "$USE_SPOOLDIR" = "yes"; then
  264     ## options for directories
  265     AC_MSG_CHECKING(for news-library path)
  266     CF_WITH_PATH(libdir,
  267         [  --with-libdir=PATH      news-library],
  268         NEWSLIBDIR,/usr/lib/news)
  269     AC_MSG_RESULT($NEWSLIBDIR)
  270 
  271     AC_MSG_CHECKING(for news spool-directory path)
  272     CF_WITH_PATH(spooldir,
  273         [  --with-spooldir=PATH    news spool-directory],
  274         SPOOLDIR,/var/spool/news)
  275     AC_MSG_RESULT($SPOOLDIR)
  276 
  277     AC_MSG_CHECKING(for news overview-directory path)
  278     CF_WITH_PATH(nov-dir,
  279         [  --with-nov-dir=PATH     news overview-directory],
  280         NOVROOTDIR,$SPOOLDIR)
  281     AC_MSG_RESULT($NOVROOTDIR)
  282 
  283     AC_MSG_CHECKING(for overview filename)
  284     CF_WITH_VALUE(nov-fname,
  285         [  --with-nov-fname        specify names of overview files],
  286         OVERVIEW_FILE,.overview)
  287     AC_MSG_RESULT($OVERVIEW_FILE)
  288 
  289     INEWSPATH="$NEWSLIBDIR"
  290 else
  291     NEWSLIBDIR=""
  292     SPOOLDIR=""
  293     NOVROOTDIR=""
  294     INEWSPATH="/usr/lib/news"
  295 fi
  296 
  297 ## TODO: kick the --with-inews-dir= stuff, the check below should be enough
  298 ## (requires some code rework in tin)
  299 AC_MSG_CHECKING(for directory containing \"inews\")
  300 CF_WITH_PATH(inews-dir,
  301     [  --with-inews-dir=PATH   directory containing "inews"],
  302     INEWSDIR,$INEWSPATH)
  303 INEWSDIR="`echo $INEWSDIR |sed -e 's,/$,,'`"
  304 AC_MSG_RESULT($INEWSDIR)
  305 
  306 AC_PATH_PROG(INEWS,
  307     inews, --internal,
  308     $INEWSDIR:/news/bin:/usr/lib/news/bin:$INEWSPATH)
  309 if test "$ac_cv_path_INEWS" != ""; then
  310     if test "$ac_cv_path_INEWS" = "--internal"; then
  311         CF_DEFINE_STRING(PATH_INEWS, "$INEWS")
  312     else
  313         CF_DEFINE_STRING(PATH_INEWS, "$INEWS -h")
  314     fi
  315 fi
  316 
  317 ### Look for network libraries first, since some functions (such as gethostname)
  318 ### are used in a lot of places.
  319 AC_CACHE_CHECK(if you want socks library,cf_cv_use_libsocks,[
  320 AC_ARG_WITH(socks,
  321     [  --with-socks[=path]       link with socks library if available],
  322     [cf_cv_use_libsocks=$withval],
  323     [cf_cv_use_libsocks=no])
  324 ])
  325 
  326 AC_CACHE_CHECK(if you want socks5 library,cf_cv_use_libsocks5,[
  327 AC_ARG_WITH(socks5,
  328     [  --with-socks5[=path]      link with socks5 library if available],
  329     [cf_cv_use_libsocks5=$withval],
  330     [cf_cv_use_libsocks5=no])
  331 ])
  332 
  333 if test "x$cf_cv_use_libsocks" != xno ; then
  334     CF_SOCKS($cf_cv_use_libsocks)
  335 else
  336     CF_NETLIBS
  337     if test "x$cf_cv_use_libsocks5" != xno ; then
  338     CF_SOCKS5($cf_cv_use_libsocks5)
  339     fi
  340 fi
  341 
  342 ### which locking method should be used for mailbox locking
  343 ### first look for all available locking methods
  344 CF_LOCKFILE
  345 
  346 AC_MSG_CHECKING(which locking method will be used)
  347 ### fcntl() is preferred, if the user just disables fcntl()
  348 ### without specifying an alternative lockf() is preferred
  349 CF_ARG_DISABLE(fcntl,
  350     [  --disable-fcntl         disable fcntl() locking],
  351         requested_lock="lockf",
  352         requested_lock="fcntl")
  353 CF_ARG_ENABLE(lockf,
  354     [  --enable-lockf          enable lockf() locking],
  355         requested_lock="lockf")
  356 CF_ARG_ENABLE(flock,
  357     [  --enable-flock          enable flock() locking],
  358         requested_lock="flock")
  359 ### now check the users wishes against available locking methods
  360 if test -n "$cf_cv_lockfile"; then
  361     for lock in $cf_cv_lockfile; do
  362         if test "$lock" = "$requested_lock"; then
  363             used_locking=$lock
  364             break
  365         fi
  366     done
  367 ### if none of them matched use the one with the highest priority
  368     if test "x$used_locking" = "x"; then
  369         used_locking="`echo $cf_cv_lockfile|sed -e 's/^\([[^ ]]\+\).*/\1/g'`"
  370     fi
  371     AC_MSG_RESULT($used_locking)
  372     CF_UPPER(used_locking,$used_locking)
  373     AC_DEFINE_UNQUOTED(USE_$used_locking)
  374 else
  375     AC_MSG_RESULT(none);
  376     AC_MSG_WARN([[None of fcntl(), lockf(), flock() available]])
  377 fi
  378 
  379 AC_MSG_CHECKING(for screen type)
  380 AC_ARG_WITH(screen,
  381 [  --with-screen=xxx       specify screen type, which must be one of:
  382                           termcap, terminfo, curses, ncurses, ncursesw, or
  383                           pdcurses (replaces options --enable-curses and
  384                           --with-ncurses)],
  385     [cf_with_screen=$withval],
  386     [cf_with_screen=none])
  387 AC_MSG_RESULT($cf_with_screen)
  388 
  389 use_curses=no
  390 use_ncurses=no
  391 
  392 CF_WITH_CURSES_DIR($cf_with_screen)
  393 
  394 case $cf_with_screen in #(vi
  395 termcap|terminfo) #(we will determine which it really is
  396     ;;
  397 curses) #(vi
  398     use_curses=yes
  399     ;;
  400 ncurses) #(vi
  401     use_curses=yes
  402     use_ncurses=yes
  403     ;;
  404 ncursesw) #(vi
  405     use_curses=yes
  406     use_ncurses=yes
  407     ;;
  408 pdcurses) #(vi
  409     use_curses=yes
  410     ;;
  411 none)
  412     AC_MSG_CHECKING(if you want to use ncurses library)
  413     AC_ARG_WITH(ncurses,
  414         [  --with-ncurses          link with ncurses if available (deprecated)],
  415         [use_ncurses=$withval],
  416         [use_ncurses=no])
  417     AC_MSG_RESULT($use_ncurses)
  418 
  419     AC_MSG_CHECKING(if you want curses rather than termcap interface)
  420     CF_ARG_ENABLE(curses,
  421         [  --enable-curses         use curses interface (deprecated)],
  422         [cf_with_screen=curses;  use_curses=$withval],
  423         [cf_with_screen=termcap; use_curses=no])
  424     AC_MSG_RESULT($enableval)
  425     ;;
  426 esac
  427 
  428 if test $use_curses != no ; then
  429     AC_DEFINE(USE_CURSES,1,[Define this to 1 if we will use the curses library])
  430     case $cf_with_screen in #(vi
  431     ncurses) #(vi
  432         CF_NCURSES_CONFIG
  433         ;;
  434     ncursesw) #(vi
  435         CF_CHECK_HEADERS(stdlib.h wchar.h wctype.h)
  436         AM_MULTIBYTE_ABLE
  437         CF_NCURSES_CONFIG(ncursesw)
  438         CF_XOPEN_CURSES
  439         test "$cf_cv_need_xopen_extension" = unknown && AC_ERROR(X/Open curses not found)
  440         ;;
  441     curses) #(vi
  442         CF_CURSES_CONFIG
  443         CF_XOPEN_CURSES
  444         ;;
  445     esac
  446 fi
  447 
  448 ## substitute externally-installed PCRE library for our bundled version
  449 AC_MSG_CHECKING(if you want to use installed version of pcre)
  450 AC_ARG_WITH(pcre,
  451     [  --with-pcre=PATH        use installed pcre versus bundled],
  452     [PCRE_HOME=$withval],
  453     [PCRE_HOME=no])
  454 AC_MSG_RESULT($PCRE_HOME)
  455 
  456 ## Preliminary check for PCRE2
  457 AC_MSG_CHECKING(if you want to use pcre2 in favour of pcre)
  458 AC_ARG_WITH(pcre2-config,
  459     [  --with-pcre2-config=PATH use pcre2 in favour of pcre],
  460     [pcre2_config=$withval],
  461     [pcre2_config=no])
  462 AC_MSG_RESULT($pcre2_config)
  463 
  464 if test "$PCRE_HOME" != no && test "$pcre2_config" != no ; then
  465     AC_MSG_ERROR([cannot use PCRE and PCRE2 at the same time])
  466 fi
  467 
  468 if test "$pcre2_config" != no ; then
  469     if test "$pcre2_config" != yes ; then
  470         PCRE2_CONFIG=$withval
  471     else
  472         CF_ACVERSION_CHECK(2.52,
  473             [AC_PATH_TOOL(PCRE2_CONFIG,pcre2-config,none)],
  474             [AC_PATH_PROG(PCRE2_CONFIG,pcre2-config,none)])
  475     fi
  476 
  477     if test "$PCRE2_CONFIG" != none && "$PCRE2_CONFIG" --version >/dev/null ; then
  478         PCRE2_LIBS=`$PCRE2_CONFIG --libs8`
  479         PCRE2_CFLAGS=`$PCRE2_CONFIG --cflags`
  480         if test -n "$PCRE2_LIBS" ; then
  481             LIBS="$LIBS $PCRE2_LIBS"
  482         fi
  483         if test -n "$PCRE2_CFLAGS" ; then
  484             CFLAGS="$CFLAGS $PCRE2_CFLAGS"
  485         fi
  486         AC_DEFINE(HAVE_LIB_PCRE2,1,[Define to 1 if we can/should compile with the PCRE2 library])
  487         # TODO: header / link checks?
  488     else
  489         AC_MSG_WARN([pcre2-config not found or not working, trying fallback to pcre])
  490         pcre2_config=no
  491     fi
  492 fi
  493 
  494 PCRE_MAKEFILE=
  495 if test "$pcre2_config" = no ; then
  496 
  497     CF_BUNDLED_PCRE($PCRE_HOME)
  498 
  499     if test "$cf_pcre_home" = "no" ; then
  500         LINK_SIZE="-DLINK_SIZE=2"
  501         AC_SUBST(LINK_SIZE)
  502         UTF8="-DSUPPORT_UTF8"
  503         UCP="-DSUPPORT_UCP"
  504         AC_SUBST(UTF8)
  505         AC_SUBST(UCP)
  506         PCRE_MAKEFILE="$PCRE_MAKEFILE pcre/Makefile pcre/RunTest"
  507     fi
  508 else
  509     PCREDIR_MAKE='#'
  510 fi
  511 
  512 ## debugging libraries (do this after other libraries)
  513 debug_malloc=none
  514 CF_WITH_DBMALLOC(debug_malloc=DBMALLOC)
  515 CF_WITH_DMALLOC(debug_malloc=DMALLOC)
  516 
  517 AC_ARG_WITH(trace,
  518     [  --with-trace            use debugging/traces for screen output],
  519     [
  520     AC_CHECK_FUNC(_tracef,[AC_DEFINE(HAVE__TRACEF,1,[Define this to 1 if we have function _tracef])],[
  521     AC_CHECK_LIB(${cf_with_screen}_g,_tracef,
  522         [AC_DEFINE(HAVE__TRACEF)
  523          LIBS="`echo "$LIBS" | sed -e s/-l${cf_with_screen}// -e s/-lcurses//`"
  524          LIBS="-l${cf_with_screen}_g $LIBS"
  525          use_trace=yes
  526          AC_DEFINE(USE_TRACE,1,[Define this to 1 if we will use ncurses' trace-functions])
  527          EXTRAO_DEP=''
  528          EXTRAOBJS="$EXTRAOBJS \$(OBJDIR)/trace.o"],
  529          use_trace=no)])],
  530     [use_trace=no])
  531 #AC_MSG_CHECKING(if you want debugging-trace)
  532 #AC_MSG_RESULT($use_trace)
  533 AC_SUBST(EXTRAOBJS)
  534 AC_SUBST(EXTRAO_DEP)
  535 
  536 ## options for miscellaneous definitions
  537 AC_MSG_CHECKING(for domain-name)
  538 CF_ARG_WITH(domain-name,
  539     [  --with-domain-name      sets $DOMAIN_NAME],
  540     DOMAIN_NAME)
  541 if test "$DOMAIN_NAME" != ""; then
  542     AC_DEFINE_UNQUOTED(DOMAIN_NAME, "$DOMAIN_NAME",[Define this to the news server's domain-name])
  543 fi
  544 AC_MSG_RESULT($DOMAIN_NAME)
  545 
  546 if test "$USE_NNTP" = "yes" ; then
  547 AC_MSG_CHECKING(for NNTP default-server)
  548 CF_ARG_WITH(nntp-default-server,
  549     [  --with-nntp-default-server
  550                           (sets NNTP_DEFAULT_SERVER)
  551                          ],
  552     [NNTP_DEFAULT_SERVER], news.$DOMAIN_NAME)
  553 
  554     if test "$NNTP_DEFAULT_SERVER" = "" ; then
  555     if test "$DOMAIN_NAME" != "" ; then
  556         test -z "$NNTP_DEFAULT_SERVER" && \
  557         case "$DOMAIN_NAME" in #(((
  558         /*)
  559             if test -r "$DOMAIN_NAME" ; then
  560                 NNTP_DEFAULT_SERVER="news.`cat $DOMAIN_NAME`"
  561             else
  562                 NNTP_DEFAULT_SERVER="news"
  563             fi
  564             ;;
  565         *)
  566             NNTP_DEFAULT_SERVER="news.$DOMAIN_NAME"
  567             ;;
  568         esac
  569     else
  570         NNTP_DEFAULT_SERVER="news"
  571     fi
  572     fi
  573 AC_MSG_RESULT($NNTP_DEFAULT_SERVER)
  574 fi
  575 
  576 ## These options are interdependent, so we delay defining them til now:
  577 test -n "$NNTP_DEFAULT_SERVER" \
  578     && AC_DEFINE_UNQUOTED(NNTP_DEFAULT_SERVER,"$NNTP_DEFAULT_SERVER",[Define this to the default NNTP server])
  579 test ".$INEWSDIR" != ".$NEWSLIBDIR" && AC_DEFINE_UNQUOTED(INEWSDIR,"$INEWSDIR",[Define this to the inews directory path])
  580 AC_DEFINE_UNQUOTED(NEWSLIBDIR,"$NEWSLIBDIR",[Define this to the news library directory path])
  581 AC_DEFINE_UNQUOTED(NOVROOTDIR,"$NOVROOTDIR",[Define this to the news overview directory path])
  582 AC_DEFINE_UNQUOTED(SPOOLDIR,"$SPOOLDIR",[Define this to the spool directory path])
  583 
  584 ## optional features
  585 AC_MSG_CHECKING(whether to use MH style mail handling for mailgroups)
  586 CF_ARG_ENABLE(mh-mail-handling,
  587     [  --enable-mh-mail-handling
  588                           use MH style mail handling for mailgroups],
  589     [AC_DEFINE(HAVE_MH_MAIL_HANDLING,1,[Define this to 1 to use MH style mail handling for mailgroups])])
  590 AC_MSG_RESULT($enableval)
  591 
  592 AC_MSG_CHECKING(whether to use Cancel-Locks)
  593 CF_ARG_ENABLE(cancel-locks,
  594     [  --enable-cancel-locks   enable creation of Cancel-Locks])
  595 AC_MSG_RESULT($enableval)
  596 USE_CANLOCK=$enableval
  597 
  598 if test "$USE_CANLOCK" = yes ; then
  599     AC_MSG_CHECKING(whether to use installed canlock rather than bundled)
  600     AC_ARG_WITH(canlock,
  601         [  --with-cancel-locks=PATH use installed canlock versus bundled],
  602         [CANLOCK_HOME=$withval],
  603         [CANLOCK_HOME=$USE_CANLOCK])
  604     AC_MSG_RESULT($CANLOCK_HOME)
  605     CF_BUNDLED_CANLOCK($CANLOCK_HOME)
  606 else
  607     CANDIR_MAKE='#'
  608 fi
  609 AC_SUBST(CANDIR_MAKE)
  610 
  611 ## gsasl - used for AUTH SASL PLAIN
  612 gsasl=no
  613 AC_CHECK_HEADER(gsasl.h,
  614     [AC_CHECK_LIB(gsasl, gsasl_check_version, gsasl=yes)]
  615 )
  616 if test "$gsasl" = "yes"; then
  617     CF_ARG_DISABLE(gsasl,
  618         [  --disable-gsasl         don't use GNU SASL],
  619         USE_SASL=no,
  620         [USE_SASL=yes
  621         AC_DEFINE(USE_SASL, 1, [Define to 1 if you want GNU SASL.])
  622         LIBS="$LIBS -lgsasl"])
  623 fi
  624 
  625 AC_MSG_CHECKING(whether to enable 8-bit keycodes)
  626 CF_ARG_DISABLE(8bit-keys,
  627     [  --disable-8bit-keys     disable 8-bit keycode support],,
  628     [AC_DEFINE(HAVE_KEY_PREFIX,1,[Define this to 1 to enable 8-bit keycodes])])
  629 AC_MSG_RESULT($enableval)
  630 
  631 AC_MSG_CHECKING(whether to enable ANSI-color)
  632 CF_ARG_DISABLE(color,
  633     [  --disable-color         disable ANSI-color support])
  634 use_color=$enableval
  635 AC_MSG_RESULT($use_color)
  636 
  637 AC_MSG_CHECKING(whether to enable posting-etiquette)
  638 CF_ARG_DISABLE(etiquette,
  639     [  --disable-etiquette     disable printing of posting-etiquette],
  640     [AC_DEFINE(NO_ETIQUETTE,1,[Define this to 1 to enable posting-etiquette])])
  641 AC_MSG_RESULT($enableval)
  642 
  643 AC_MSG_CHECKING(whether to strictly observe RFC2047 and break long lines)
  644 CF_ARG_DISABLE(break-long-lines,
  645     [  --disable-break-long-lines
  646                           don't break long mime-encoded lines],,
  647     [AC_DEFINE(MIME_BREAK_LONG_LINES,1,[Define this to 1 to strictly observe RFC2047 and break long lines])])
  648 AC_MSG_RESULT($enableval)
  649 
  650 AC_MSG_CHECKING(whether to force MM_CHARSET obeyance when decoding mime)
  651 CF_ARG_DISABLE(mime-strict-charset,
  652     [  --disable-mime-strict-charset
  653                           force MM_CHARSET obeyance],,
  654     [AC_DEFINE(MIME_STRICT_CHARSET,1,[Define this to 1 to force MM_CHARSET obeyance when decoding mime])])
  655 AC_MSG_RESULT($enableval)
  656 
  657 AC_MSG_CHECKING(for MIME character-set)
  658 CF_WITH_DFTENV(mime-default-charset,
  659     [  --with-mime-default-charset=CHARSET
  660                           fallback for $MM_CHARSET],
  661     MM_CHARSET,US-ASCII)
  662 AC_MSG_RESULT($MM_CHARSET)
  663 
  664 AC_MSG_CHECKING(for default ISO/ASCII table)
  665 CF_WITH_DFTENV(iso-to-ascii,
  666     [  --with-iso-to-ascii     ISO -> ASCII conversion],
  667     DEFAULT_ISO2ASC,-1)
  668 AC_MSG_RESULT($DEFAULT_ISO2ASC)
  669 
  670 AC_MSG_CHECKING(whether to enable locale support)
  671 CF_ARG_DISABLE(locale,
  672     [  --disable-locale        disable locale support],
  673     [AC_DEFINE(NO_LOCALE,1,[Define this to 1 to disable locale support])])
  674 AC_MSG_RESULT($enableval)
  675 
  676 AC_MSG_CHECKING(whether to enable posting)
  677 CF_ARG_DISABLE(posting,
  678     [  --disable-posting       disable posting],
  679     [AC_DEFINE(NO_POSTING,1,[Define this to 1 to disable posting])])
  680 AC_MSG_RESULT($enableval)
  681 
  682 AC_MSG_CHECKING(whether to enable shell escape)
  683 CF_ARG_DISABLE(shell-escape,
  684     [  --disable-shell-escape  disable shell escape],
  685     [AC_DEFINE(NO_SHELL_ESCAPE,1,[Define this to 1 to disable shell escape])])
  686 AC_MSG_RESULT($enableval)
  687 
  688 AC_MSG_CHECKING(whether to have fascist newsadmin)
  689 CF_ARG_ENABLE(fascist-newsadmin,
  690     [  --enable-fascist-newsadmin
  691                           have fascist newsadmin],
  692     [AC_DEFINE(HAVE_FASCIST_NEWSADMIN,1,[Define this to 1 to have fascist newsadmin])])
  693 AC_MSG_RESULT($enableval)
  694 
  695 AC_MSG_CHECKING(whether to enable inverse video and highlighting)
  696 CF_ARG_DISABLE(inverse-video,
  697     [  --disable-inverse-video disable inverse video and highlighting],
  698     [AC_DEFINE(USE_INVERSE_HACK,1,[Define this to 1 to enable inverse video and highlighting])])
  699 AC_MSG_RESULT($enableval)
  700 
  701 AC_MSG_CHECKING(whether to enable piping support)
  702 CF_ARG_DISABLE(piping,
  703     [  --disable-piping        disable piping support],
  704     [AC_DEFINE(DONT_HAVE_PIPING,1,[Define this to 1 to enable piping support])])
  705 AC_MSG_RESULT($enableval)
  706 
  707 AC_MSG_CHECKING(whether to enable printer support)
  708 CF_ARG_DISABLE(printing,
  709     [  --disable-printing      disable printer support],
  710     [AC_DEFINE(DISABLE_PRINTING,1,[Define this to 1 to enable printer support])])
  711 AC_MSG_RESULT($enableval)
  712 
  713 AC_MSG_CHECKING(whether to unique tmp-files by appending .pid)
  714 CF_ARG_DISABLE(append-pid,
  715     [  --disable-append-pid    disable appending .pid to tmp-files],,
  716     [AC_DEFINE(APPEND_PID,1,[Define this to 1 to unique tmp-files by appending .pid])])
  717 AC_MSG_RESULT($enableval)
  718 
  719 AC_MSG_CHECKING(whether to fallback to XHDR XREF if XOVER isn't supported)
  720 CF_ARG_DISABLE(xhdr-xref,
  721     [  --disable-xhdr-xref     disable XHDR XREF fallback],,
  722     [AC_DEFINE(XHDR_XREF,1,[Define this to 1 to fallback to XHDR XREF if XOVER isn't supported])])
  723 AC_MSG_RESULT($enableval)
  724 
  725 ### bypass a bug in old versions of leafnode & NNTPcache
  726 AC_MSG_CHECKING(whether to send a GROUP command before a LISTGROUP)
  727 CF_ARG_ENABLE(broken-listgroup-fix,
  728     [  --enable-broken-listgroup-fix
  729                           send extra GROUP command before LISTGROUP],
  730     [AC_DEFINE(BROKEN_LISTGROUP,1,[Define this to 1 to send a GROUP command before a LISTGROUP])])
  731 AC_MSG_RESULT($enableval)
  732 
  733 ### on some old systems the WIFEXITED()/WEXITSTATUS() macros do not work
  734 AC_MSG_CHECKING(whether to ignore system()s return value)
  735 CF_ARG_ENABLE(broken-system-fix,
  736     [  --enable-broken-system-fix
  737                           ignore system()s return value],
  738     [AC_DEFINE(IGNORE_SYSTEM_STATUS,1,[Define this to 1 to ignore system()s return value])])
  739 AC_MSG_RESULT($enableval)
  740 
  741 ### checks for the location of the system-wide default setting file
  742 AC_MSG_CHECKING(for directory containing tin.defaults file)
  743 CF_WITH_PATH(defaults-dir,
  744     [  --with-defaults-dir=PATH
  745                           directory containing tin.defaults file
  746                          ],
  747     TIN_DEFAULTS_DIR,/etc/tin)
  748 AC_MSG_RESULT($TIN_DEFAULTS_DIR)
  749 AC_DEFINE_UNQUOTED(TIN_DEFAULTS_DIR,"$TIN_DEFAULTS_DIR",[Define this to the directory containing tin.defaults file])
  750 
  751 ### check for ipv6 support
  752 AC_MSG_CHECKING([whether to enable IPv6])
  753 CF_ARG_DISABLE(ipv6,
  754     [  --disable-ipv6          disable IPv6 support (default: enabled)],
  755     ,
  756     [AC_DEFINE(ENABLE_IPV6,1,[Define this to 1 to enable IPv6])])
  757 AC_MSG_RESULT($enableval)
  758 if test "$enableval" = "yes"; then
  759     CF_CHECK_IPV6
  760 fi
  761 AC_REPLACE_FUNCS(getaddrinfo getnameinfo)
  762 
  763 ### should we use 64 bit article numbers if possible?
  764 AC_MSG_CHECKING([whether to enable long article numbers])
  765 CF_ARG_ENABLE(long-article-numbers,
  766         [  --enable-long-article-numbers
  767                           enable long article numbers (default: disabled)],
  768 [AC_DEFINE(ENABLE_LONG_ARTICLE_NUMBERS,1,[Define this to 1 to enable long article numbers])])
  769 AC_MSG_RESULT($enableval)
  770 
  771 ### TLS support
  772 if test "$USE_NNTP" = "yes" ; then
  773 AC_MSG_CHECKING([whether to enable NNTPS support])
  774 AC_ARG_WITH(
  775     nntps,
  776     [  --with-nntps=ssl        enable NNTPS, needs LibreSSL, OpenSSL or GnuTLS
  777                       possible values: libtls, openssl, gnutls],
  778     [enable_nntps=$withval],
  779     [enable_nntps="no"])
  780 AC_MSG_RESULT($enable_nntps)
  781 
  782 # Todo: check versions
  783 AS_IF([test "$enable_nntps" != "no"],
  784       [AS_IF([test "$enable_nntps" = "yes" || test "$enable_nntps" = "libtls"],
  785              [CF_TRY_PKG_CONFIG([libtls],[have_libtls=yes],[have_libtls=no])])
  786        AS_IF([test "$enable_nntps" = "yes" && test "$have_libtls" = "no" || test "$enable_nntps" = "openssl"],
  787              [CF_TRY_PKG_CONFIG([openssl],[have_openssl=yes],[have_openssl=no])])
  788        AS_IF([test "$enable_nntps" = "yes" && test "$have_libtls" = "no" && test "$have_openssl" = "no" || test "$enable_nntps" = "gnutls"],
  789              [CF_TRY_PKG_CONFIG([gnutls],[have_gnutls=yes],[have_gnutls=no])])
  790 
  791        AS_IF([test "$have_libtls" != "yes" && test "$have_openssl" != "yes" && test "$have_gnutls" != "yes"],
  792              [AC_MSG_ERROR([You requested NNTPS support but no usable TLS implementation was found])],
  793              [AC_DEFINE(NNTPS_ABLE,1,[Define to 1 to enable NNTPS support])
  794              AS_IF([test "$have_libtls" = "yes"],
  795                    [AC_DEFINE(HAVE_LIB_LIBTLS,1,[Define to 1 if we can/should compile with the LibreSSL libtls library])],
  796                     [AS_IF([test "$have_openssl" = "yes"],
  797                            [AC_DEFINE(HAVE_LIB_OPENSSL,1,[Define to 1 if we can/should compile with the OpenSSL libraries])],
  798                            [AC_DEFINE(HAVE_LIB_GNUTLS,1,[Define to 1 if we can/should compile with the GNUTLS library])])])])])
  799 fi
  800 
  801 ### checks for operator characteristics (should be the last option)
  802 AC_MSG_CHECKING(whether to make a coffee while compiling)
  803 AC_ARG_WITH(coffee,
  804     [  --with-coffee           coffee support],
  805     [ case "$withval" in
  806     yes)
  807     AC_MSG_RESULT(yes - with milk - please!)
  808     AC_DEFINE(HAVE_COFFEE,1,[Define this to 1 to make a coffee while compiling])
  809     ;;
  810     *)
  811     AC_MSG_RESULT(no)
  812     ;;
  813     esac],
  814     AC_MSG_RESULT(no))
  815 
  816 ### checks for compiler characteristics
  817 CF_MAKEFLAGS
  818 AC_LANG_C
  819 AC_C_CONST
  820 AC_C_INLINE
  821 CF_CPP_EXPANDS
  822 CF_CPP_CONCATS
  823 CF_CHECK_NESTED_PARAMS
  824 
  825 ### Checks for header files.
  826 AC_HEADER_STDC
  827 AC_HEADER_DIRENT
  828 AC_HEADER_TIME
  829 AC_HEADER_SYS_WAIT
  830 CF_CHECK_HEADERS(\
  831     argz.h \
  832     arpa/inet.h \
  833     curses.h \
  834     errno.h \
  835     fcntl.h \
  836     getopt.h \
  837     ioctl.h \
  838     inttypes.h \
  839     langinfo.h \
  840     libc.h \
  841     locale.h \
  842     malloc.h \
  843     netdb.h \
  844     netinet/in.h \
  845     netlib.h \
  846     nl_types.h \
  847     nomacros.h \
  848     paths.h \
  849     poll.h \
  850     prototypes.h \
  851     pwd.h \
  852     sgtty.h \
  853     socket.h \
  854     stdarg.h \
  855     stdbool.h \
  856     stddef.h \
  857     stdint.h \
  858     stdlib.h \
  859     string.h \
  860     strings.h \
  861     stropts.h \
  862     sys/bsdtypes.h \
  863     sys/errno.h \
  864     sys/file.h \
  865     sys/ioctl.h \
  866     sys/param.h \
  867     sys/poll.h \
  868     sys/ptem.h \
  869     sys/pty.h \
  870     sys/select.h \
  871     sys/stat.h \
  872     sys/stream.h \
  873     sys/socket.h \
  874     sys/time.h \
  875     sys/timeb.h \
  876     sys/times.h \
  877     sys/types.h \
  878     sys/utsname.h \
  879     term.h \
  880     termio.h \
  881     time.h \
  882     unistd.h \
  883     varargs.h \
  884     wchar.h \
  885     wctype.h \
  886 )
  887 
  888 ### Checks that depend on existence-checks for headers
  889 CF_SIZECHANGE
  890 CF_SYS_SELECT_TIMEVAL
  891 CF_VA_COPY
  892 
  893 ### Checks for Datatypes.
  894 AC_CHECK_TYPE(gid_t, int)
  895 AC_TYPE_MODE_T
  896 AC_TYPE_OFF_T
  897 AC_TYPE_PID_T
  898 AC_TYPE_SIZE_T
  899 AC_CHECK_TYPE(ssize_t, int)
  900 AC_CHECK_TYPE(time_t, long)
  901 AC_EGREP_HEADER(in_addr_t, netinet/in.h, ,[
  902     AC_EGREP_HEADER(in_addr_t, sys/endian.h, ,[
  903         AC_CHECK_TYPE(in_addr_t, unsigned long)]
  904     )]
  905 )
  906 AC_TYPE_UID_T
  907 
  908 dnl test to see if quad_t is defined
  909 AC_MSG_CHECKING(for quad_t)
  910 AC_TRY_COMPILE([
  911 #include <sys/types.h>
  912 #if 0
  913 #include <stdlib.h>
  914 #include <stddef.h>
  915 #endif /* 0 */
  916 ],[quad_t x; x = 0],
  917 ac_cv_quad_t=yes, ac_cv_quad_t=no)
  918 AC_MSG_RESULT($ac_cv_quad_t)
  919 if test $ac_cv_quad_t = yes; then
  920     AC_DEFINE(HAVE_QUAD_T,1,[Define this to 1 if we have type quad_t])
  921 fi
  922 
  923 dnl test to see if long long is defined
  924 AC_MSG_CHECKING(for long long)
  925 AC_TRY_COMPILE([
  926 #include <sys/types.h>
  927 ],[long long x; x = 0],
  928 ac_cv_long_long=yes, ac_cv_long_long=no)
  929 AC_MSG_RESULT($ac_cv_long_long)
  930 if test $ac_cv_long_long = yes; then
  931     AC_DEFINE(HAVE_LONG_LONG,1,[Define this to 1 if we have long-long type])
  932 fi
  933 
  934 dnl test to see if int_least64_t is defined
  935 AC_MSG_CHECKING(for int_least64_t)
  936 AC_TRY_COMPILE([
  937 #ifdef HAVE_STDINT_H
  938 #include <stdint.h>
  939 #endif
  940 #ifdef HAVE_HAVE_INTTYPES_H
  941 #include <inttypes.h>
  942 #endif
  943 ],[int_least64_t x; x = 0],
  944 ac_cv_int_least64_t=yes, ac_cv_int_least64_t=no)
  945 AC_MSG_RESULT($ac_cv_int_least64_t)
  946 if test $ac_cv_int_least64_t = yes; then
  947     AC_DEFINE(HAVE_INT_LEAST64_T,1,[Define this to 1 if we have type least64_t])
  948 
  949     AC_MSG_CHECKING(for INT64_C)
  950     AC_TRY_COMPILE([
  951 #ifdef HAVE_STDINT_H
  952 #include <stdint.h>
  953 #endif
  954 #ifdef HAVE_HAVE_INTTYPES_H
  955 #include <inttypes.h>
  956 #endif
  957 ],[int_least64_t x; x = INT64_C(0)],
  958     ac_cv_int64_c=yes, ac_cv_int64_c=no)
  959     AC_MSG_RESULT($ac_cv_int64_c)
  960     if test $ac_cv_int64_c = yes; then
  961         AC_DEFINE(HAVE_INT64_C,1,[Define this to 1 if we have function INT64_C])
  962     fi
  963 fi
  964 
  965 
  966 dnl test to see if nl_item is defined
  967 AC_MSG_CHECKING(for nl_item)
  968 AC_TRY_COMPILE([
  969 #ifdef HAVE_LANGINFO_H
  970 #include <langinfo.h>
  971 #else
  972 #ifdef HAVE_NL_TYPES_H
  973 #include <nl_types.h>
  974 #endif
  975 #endif
  976 ],[nl_item x; x = 0],
  977 ac_cv_nl_item=yes, ac_cv_nl_item=no)
  978 AC_MSG_RESULT($ac_cv_nl_item)
  979 if test $ac_cv_nl_item = yes; then
  980         AC_DEFINE(HAVE_NL_ITEM,1,[Define this to 1 if we have header nl_types.h])
  981 fi
  982 
  983 ### Checks for libraries.
  984 # libuu/uudeview
  985 # only define HAVE_LIBUU and HAVE_UUDEVIEW_H if both are found
  986 AC_CHECK_LIB(uu, UUInitialize,
  987     [AC_CHECK_HEADER(uudeview.h,
  988         [AC_DEFINE(HAVE_LIBUU,1,[Define this to 1 if we have library uu])
  989         AC_DEFINE(HAVE_UUDEVIEW_H,1,[Define this to 1 if we have header uudeview.h])
  990         LIBS="$LIBS -luu"]
  991     )]
  992 )
  993 
  994 
  995 # ICU - International Components for Unicode
  996 # TODO: do separate checks for
  997 #  - unorm_normalize() # deprecated since ICU 56
  998 #  - uidna_IDNToUnicode() # deprecated since ICU 56
  999 #  - ubidi_open()
 1000 # and for IDNA2008
 1001 #  - uidna_openUTS46()
 1002 #  - uidna_nameToUnicode()
 1003 #  - unorm2_normalize()
 1004 # get $CFLAGS/$LDFLAGS from pkg-config icu-uc if possible
 1005 cf_try_icuuc="no"
 1006 cf_try_icuuc46="no"
 1007 AC_CHECK_HEADER(unicode/unorm.h,[
 1008     AC_CHECK_HEADER(unicode/ustring.h, [
 1009         AC_DEFINE(HAVE_UNICODE_UNORM_H,1,[Define this to 1 if we have header unicode/unorm.h])
 1010         AC_DEFINE(HAVE_UNICODE_USTRING_H,1,[Define this to 1 if we have header unicode/ustring.h])
 1011         AC_MSG_CHECKING(for unorm_normalize in libicuuc)
 1012         cf_save_LIBS="$LIBS"
 1013         cf_try_icuuc="no"
 1014         LIBS="$LIBS -licuuc"
 1015         AC_TRY_LINK([#include <unicode/unorm.h>], [
 1016             int32_t needed, ustr = NULL;
 1017             UErrorCode status;
 1018             needed = unorm_normalize(ustr, -1, UNORM_DEFAULT, 0, NULL, 0, &status);], [
 1019             AC_DEFINE(HAVE_LIBICUUC,1,[Define this to 1 if we have libicuuc])
 1020             cf_try_icuuc="yes"],
 1021             LIBS=$cf_save_LIBS
 1022         )
 1023         AC_MSG_RESULT($cf_try_icuuc)
 1024         cf_save_LIBS="$LIBS"
 1025         AC_CHECK_HEADER(unicode/uidna.h, [
 1026             AC_DEFINE(HAVE_UNICODE_UIDNA_H,1,[Define this to 1 if we have header unicode/uidna.h])
 1027         ])
 1028         AC_MSG_CHECKING(for uidna_nameToUnicode in libicuuc)
 1029         AC_TRY_LINK([#include <unicode/uidna.h>
 1030             #include <unicode/unorm.h>], [
 1031             UErrorCode status = U_ZERO_ERROR;
 1032             UIDNAInfo info = UIDNA_INFO_INITIALIZER;
 1033             UIDNA *uts46;
 1034             uidna_openUTS46(UNORM_DEFAULT, &status);
 1035             uidna_nameToUnicode(uts46, NULL, 0, NULL, 0, &info, &status);
 1036             uidna_close(uts46);], [
 1037             AC_DEFINE(HAVE_LIBICUUC_46_API,1,[Define this to 1 if we have libicuus 46-API])
 1038             cf_try_icuuc46="yes"],
 1039             LIBS=$cf_save_LIBS
 1040         )
 1041         AC_MSG_RESULT($cf_try_icuuc46)
 1042         AC_CHECK_HEADER(unicode/ubidi.h, [
 1043             AC_DEFINE(HAVE_UNICODE_UBIDI_H,1,[Define this to 1 if we have header unicode/ubidi.h])
 1044         ])
 1045     ])
 1046 ])
 1047 # IDNA2008
 1048 AC_CHECK_HEADER(unicode/unorm2.h, [
 1049     AC_DEFINE(HAVE_UNICODE_UNORM2_H,1,[Define this to 1 if we have header unicode/unorm2.h])
 1050 ])
 1051 
 1052 # without icuuc try GNU libunistring for normalization
 1053 if test $cf_try_icuuc = no ; then
 1054     AC_CHECK_HEADER(unitypes.h,[
 1055         AC_CHECK_HEADER(uninorm.h,[
 1056             AC_DEFINE(HAVE_UNITYPES_H,1,[Define this to 1 if we have header unitypes.h])
 1057             AC_DEFINE(HAVE_UNINORM_H,1,[Define this to 1 if we have header uninorm.h])
 1058             AC_MSG_CHECKING(for u8_normalize in libunistring)
 1059             cf_save_LIBS="$LIBS"
 1060             cf_try_unistring="no"
 1061             LIBS="$LIBS -lunistring"
 1062             AC_TRY_LINK([#include <unitypes.h>
 1063                 #include <uninorm.h>], [
 1064                 size_t ol = 0;
 1065                 u8_normalize(UNINORM_NFC, (uint8_t *) "x", 2, NULL, &ol);], [
 1066                 AC_DEFINE(HAVE_LIBUNISTRING,1,[Define this to 1 if we have library unistring])
 1067                 cf_try_unistring="yes"],
 1068                 LIBS=$cf_save_LIBS
 1069             )
 1070             AC_MSG_RESULT($cf_try_unistring)
 1071         ])
 1072     ])
 1073 fi
 1074 
 1075 # without icuuc try libidn for Internationalized Domain Names / IDN 2003
 1076 # TODO: check for libidn2
 1077 #       get $CFLAGS/$LDFLAGS from pkg-config libidn[2] if possible
 1078 if test $cf_try_icuuc = no ; then
 1079     AC_CHECK_LIB(idn, stringprep_check_version,
 1080         [AC_CHECK_HEADER(stringprep.h,[
 1081             AC_DEFINE(HAVE_STRINGPREP_H,1,[Define this to 1 if we have header stringprep.h])
 1082             AC_CHECK_HEADER(idna.h, [
 1083                 AC_DEFINE(HAVE_IDNA_H,1,[Define this to 1 if we have header idna.h])
 1084                 AC_CHECK_LIB(idn, idna_to_unicode_lzlz, [
 1085                     AC_DEFINE(HAVE_IDNA_TO_UNICODE_LZLZ,1,[Define this to 1 if we have function idna_to_unicode_lzlz])
 1086                     AC_MSG_CHECKING(for IDNA_USE_STD3_ASCII_RULES)
 1087                     AC_EGREP_HEADER(IDNA_USE_STD3_ASCII_RULES, idna.h, [
 1088                         AC_DEFINE(HAVE_IDNA_USE_STD3_ASCII_RULES,1,[Define this to 1 if we have symbol IDNA_USE_STD3_ASCII_RULES in idna.h])
 1089                         AC_MSG_RESULT(yes)],
 1090                         AC_MSG_RESULT(no)
 1091                     )
 1092                 ])
 1093                 AC_CHECK_LIB(idn, idna_strerror, [
 1094                     AC_DEFINE(HAVE_IDNA_STRERROR,1,[Define this to 1 if we have function idna_strerror])
 1095                 ])
 1096             ])
 1097             AC_DEFINE(HAVE_LIBIDN,1,[Define this to 1 if we have library idn])
 1098             LIBS="$LIBS -lidn"]
 1099         )]
 1100     )
 1101 fi
 1102 
 1103 # libidnkit - Internationalized Domain Names / IDN 2008
 1104 AC_CHECK_LIB(idnkit, idn_decodename, [
 1105     AC_CHECK_HEADER(idn/api.h, [
 1106         AC_MSG_CHECKING(for IDN_DECODE_LOOKUP)
 1107         cf_save_LIBS="$LIBS"
 1108         LIBS="$LIBS -lidnkit"
 1109         AC_TRY_LINK([#include <idn/api.h>
 1110             #include <string.h>], [
 1111             idn_result_t rs;
 1112             char in[255], out[255];
 1113             const char *i = in;
 1114             char *o = out;
 1115             strcpy(in, "xn--brenfe-fta9a2q.de");
 1116             rs = idn_decodename(IDN_DECODE_LOOKUP, i, o, 254);
 1117             idn_result_tostring(rs);], [
 1118             AC_DEFINE(HAVE_LIBIDNKIT,1,[Define this to 1 if we can link with idnkit library])
 1119             AC_DEFINE(HAVE_IDN_API_H,1,[Define this to 1 if we have header idn/api.h])
 1120             AC_DEFINE(HAVE_IDN_DECODENAME,1,[Define this to 1 if we have function idn_decodename])
 1121             AC_MSG_RESULT(yes)], [
 1122             LIBS=$cf_save_LIBS
 1123             AC_MSG_RESULT(no)
 1124         ])
 1125     ])
 1126 ])
 1127 
 1128 
 1129 if test $use_curses != no ; then
 1130     cf_cv_termlib=$cf_with_screen
 1131 else
 1132     CF_TERMCAP_LIBS
 1133     # terminfo-based termcap interfaces may be prototyped in <curses.h>,
 1134     # which may/may not be compatible with <termcap.h>
 1135     AC_MSG_CHECKING(if we should include termcap.h)
 1136     cf_save_CFLAGS="$CFLAGS"
 1137     CFLAGS="$CFLAGS -I$srcdir/include"
 1138     AC_TRY_COMPILE([
 1139 #define HAVE_TERMCAP_H 1
 1140 #include <tcurses.h>],[
 1141 #ifdef NCURSES_VERSION
 1142 make an error
 1143 #endif
 1144 ],
 1145         [cf_result=yes],
 1146         [cf_result=no])
 1147     AC_MSG_RESULT($cf_result)
 1148     CFLAGS="$cf_save_CFLAGS"
 1149     test $cf_result = yes && AC_DEFINE(HAVE_TERMCAP_H,1,[Define this to 1 if we have non-ncurses header termcap.h])
 1150     CF_TYPE_OUTCHAR
 1151 fi
 1152 
 1153 cf_tc_funcs=
 1154 cf_tc_externs=
 1155 if test ".$cf_cv_termlib" = .terminfo ; then
 1156     AC_DEFINE(USE_TERMINFO,1,[Define this to 1 if we use terminfo functions for screen management])
 1157     cf_tc_funcs="tigetint tigetnum tparam tparm"
 1158     cf_tc_externs="$cf_tc_funcs tgoto tigetstr tputs tigetflag"
 1159 elif test ".$cf_cv_termlib" = .termcap ; then
 1160     # BSD 'tputs()' may need 'PC' to be set.
 1161     AC_TRY_LINK([],[extern char PC; PC = 0],
 1162         [AC_DEFINE(HAVE_EXTERN_TCAP_PC,1,[Define this if termcap's extern PC exists])])
 1163     cf_tc_funcs="tgetint tgetnum tparam tparm"
 1164     cf_tc_externs="$cf_tc_funcs tgoto tgetstr tputs tgetent tgetflag"
 1165 fi
 1166 
 1167 ### Checks for external-data
 1168 CF_ERRNO
 1169 CF_STRERROR
 1170 
 1171 ### Checks for library functions.
 1172 AC_CHECK_FUNCS(\
 1173     alarm \
 1174     atoi \
 1175     atol \
 1176     atoll \
 1177     atoq \
 1178     bcopy \
 1179     chmod \
 1180     execlp \
 1181     explicit_bzero \
 1182     explicit_memset \
 1183     fchmod \
 1184     fcntl \
 1185     fdopen \
 1186     fork \
 1187     ftime \
 1188     ftruncate \
 1189     fsync \
 1190     getcwd \
 1191     gettimeofday \
 1192     getwd \
 1193     inet_aton \
 1194     is_xterm \
 1195     isascii \
 1196     lockf \
 1197     memcmp \
 1198     memcpy \
 1199     memmove \
 1200     memset \
 1201     mkdir \
 1202     mkfifo \
 1203     mktemp \
 1204     mkstemp \
 1205     nl_langinfo \
 1206     poll \
 1207     putenv \
 1208     rewinddir \
 1209     resizeterm \
 1210     select \
 1211     setenv \
 1212     setlocale \
 1213     settz \
 1214     setvbuf \
 1215     sigaction \
 1216     snprintf \
 1217     stpcpy \
 1218     strchr \
 1219     strcasecmp \
 1220     strcasestr \
 1221     strdup \
 1222     strftime \
 1223     strpbrk \
 1224     strrchr \
 1225     strrstr \
 1226     strsep \
 1227     strstr \
 1228     strtol \
 1229     strtoll \
 1230     tmpfile \
 1231     tzset \
 1232     uname \
 1233     unlink \
 1234     use_default_colors \
 1235     usleep \
 1236     vsnprintf \
 1237     waitpid \
 1238 $cf_tc_funcs )
 1239 
 1240 AC_CHECK_FUNC(flock,
 1241     AC_DEFINE(HAVE_FLOCK,1,[Define this to 1 if flock function exists]),[
 1242     AC_CHECK_LIB(bsd, flock,
 1243         AC_DEFINE(HAVE_FLOCK)
 1244         LIBS="$LIBS -lbsd")])
 1245 
 1246 # clock_gettime() / librt
 1247 AC_CHECK_FUNC(clock_gettime,
 1248     AC_DEFINE(HAVE_CLOCK_GETTIME,1,[Define this to 1 if clock_gettime function exists]),[
 1249         AC_CHECK_LIB(rt, clock_gettime,
 1250             AC_DEFINE(HAVE_CLOCK_GETTIME)
 1251             LIBS="$LIBS -lrt"
 1252         )
 1253     ]
 1254 )
 1255 
 1256 AC_MSG_CHECKING([for memset_s])
 1257 AC_TRY_RUN([
 1258 /* Request C11 Annex K */
 1259 #define __STDC_WANT_LIB_EXT1__ 1
 1260 #include <string.h>
 1261 #include <stddef.h>
 1262 int main()
 1263 {
 1264     char buf[10] = { 1 };
 1265     if (memset_s((void*) buf, (size_t) 100, 0, (size_t) 1))
 1266         return(-1);
 1267 }],
 1268     [
 1269         AC_MSG_RESULT([yes])
 1270         AC_DEFINE(HAVE_MEMSET_S,1,[Define this to 1 if we have function memset_s])
 1271     ],
 1272     [AC_MSG_RESULT([no])],
 1273     [AC_MSG_RESULT([unknown])]
 1274 )
 1275 
 1276 AM_MULTIBYTE_ABLE
 1277 
 1278 AC_MSG_CHECKING(if gettimeofday takes two arguments)
 1279 AC_TRY_COMPILE([
 1280 #if HAVE_SYS_TIME_H
 1281 #include <sys/time.h>
 1282 #endif],
 1283 [struct timeval *tv;
 1284 struct timezone *tz;
 1285 gettimeofday(&tv, &tz);],
 1286 ac_cv_func_gettimeofday_2args=yes, ac_cv_func_gettimeofday_2args=no)
 1287 AC_MSG_RESULT($ac_cv_func_gettimeofday_2args)
 1288 if test $ac_cv_func_gettimeofday_2args = yes; then
 1289     AC_DEFINE(GETTIMEOFDAY_2ARGS,1,[Define this to 1 if gettimeofday takes two arguments])
 1290 fi
 1291 
 1292 CF_POSIX_JC
 1293 CF_FUNC_FORK
 1294 CF_FUNC_MEMMOVE
 1295 
 1296 AC_MSG_CHECKING(if select expects int * arguments)
 1297 AC_EGREP_HEADER([select\(.*, *int *\*,],time.h,
 1298     AC_DEFINE(HAVE_SELECT_INTP,1,[Define this to 1 if select expects int * arguments]) AC_MSG_RESULT(yes),
 1299     AC_MSG_RESULT(no)
 1300 )
 1301 
 1302 AC_FUNC_CLOSEDIR_VOID
 1303 
 1304 # autoconf 2.5x assumes setvbuf is not reversed when cross-compiling
 1305 if test "$cross_compiling" != yes ; then
 1306     AC_FUNC_SETVBUF_REVERSED
 1307 fi
 1308 
 1309 ### Checks for network library functions.
 1310 AC_CHECK_FUNCS(\
 1311     gai_strerror \
 1312     getaddrinfo \
 1313     gethostname \
 1314     gethostbyname \
 1315     getservbyname \
 1316     inet_addr \
 1317     inet_ntoa \
 1318     strncasecmp \
 1319 )
 1320 
 1321 CF_TYPE_SIGACTION
 1322 CF_TERMIOS
 1323 CF_PW_GECOS
 1324 CF_TM_GMTOFF
 1325 
 1326 AC_SYS_LONG_FILE_NAMES
 1327 CF_FUNC_SYSTEM
 1328 
 1329 # Check if we are trying to use curses+color, but cannot
 1330 if test $use_color = yes ; then
 1331     if test $use_curses = no ; then
 1332         AC_DEFINE(HAVE_COLOR,1,[Define this to 1 if curses supports color])
 1333     elif test $cf_with_screen = pdcurses ; then
 1334         AC_DEFINE(HAVE_COLOR)
 1335     else
 1336         CF_NCURSES_BROKEN
 1337         CF_COLOR_CURSES
 1338         if test $cf_cv_color_curses = yes ; then
 1339             AC_DEFINE(HAVE_COLOR)
 1340         else
 1341             AC_MSG_WARN(This curses library does not support color)
 1342         fi
 1343     fi
 1344 fi
 1345 
 1346 # GCC and Apollo compilers are quite noisy about signal constants (quiet them).
 1347 if test -n "$GCC"; then
 1348     check_sig_const=yes
 1349 elif test -f /sys/dm/dm ; then
 1350     check_sig_const=yes
 1351 elif test -f /sys/dm/spm ; then
 1352     check_sig_const=yes
 1353 else
 1354     check_sig_const=no
 1355 fi
 1356 
 1357 if test $check_sig_const = yes ; then
 1358     CF_SIG_CONST
 1359 fi
 1360 
 1361 CF_COMPTYPE
 1362 CF_COREFILE
 1363 
 1364 ### test this last, since it uses a partly-built autoconf.h
 1365 # Setup includes for test-program to verify declarations
 1366 CHECK_DECL_FLAG="-I$srcdir/include -I$srcdir/pcre"
 1367 CHECK_DECL_HDRS='
 1368 #define __CPROTO__
 1369 #define HAVE_CONFDEFS_H
 1370 #include <tin.h>'
 1371 TIN_DECL_HDRS="$CHECK_DECL_HDRS"
 1372 
 1373 dnl These return non-int values, and can be troublesome if not declared
 1374 CF_CHECK_DECL(\
 1375     errno \
 1376     getenv \
 1377     getlogin \
 1378     getpwnam \
 1379     popen \
 1380     strchr \
 1381     strcasestr \
 1382     strsep \
 1383     tmpfile \
 1384 )
 1385 
 1386 dnl Check network stuff separately, to limit the effect of inconsistent headers
 1387 CHECK_DECL_HDRS="$TIN_DECL_HDRS
 1388 #include <tnntp.h>"
 1389 CF_CHECK_DECL(\
 1390     gethostbyname \
 1391     getservbyname \
 1392     inet_aton \
 1393     inet_ntoa \
 1394     socket \
 1395 )
 1396 
 1397 if test $use_curses = no ; then
 1398 CHECK_DECL_HDRS="$TIN_DECL_HDRS
 1399 #include <tcurses.h>"
 1400 CF_CHECK_DECL(\
 1401     tgetstr \
 1402     tgoto \
 1403 )
 1404 fi
 1405 
 1406 if test $with_decl_check = yes; then
 1407 CHECK_DECL_HDRS="$TIN_DECL_HDRS"
 1408 CF_CHECK_DECL(\
 1409     _flsbuf \
 1410     alarm \
 1411     atoi \
 1412     atol \
 1413     atoll \
 1414     atoq \
 1415     bcopy \
 1416     bzero \
 1417     calloc \
 1418     fchmod \
 1419     fclose \
 1420     fdopen \
 1421     fflush \
 1422     fgetc \
 1423     fileno \
 1424     fprintf \
 1425     fputc \
 1426     fputs \
 1427     fread \
 1428     free \
 1429     fseek \
 1430     fwrite \
 1431     getcwd \
 1432     getopt \
 1433     getwd \
 1434     heapsort \
 1435     ioctl \
 1436     isascii \
 1437     kill \
 1438     malloc \
 1439     memset \
 1440     mkstemp \
 1441     mktemp \
 1442     pclose \
 1443     perror \
 1444     printf \
 1445     putenv \
 1446     qsort \
 1447     realloc \
 1448     rename \
 1449     rewind \
 1450     select \
 1451     setenv \
 1452     snprintf \
 1453     sscanf \
 1454     strcasecmp \
 1455     strftime \
 1456     strncasecmp \
 1457     strtol \
 1458     strtoll \
 1459     system \
 1460     time \
 1461     tolower \
 1462     toupper \
 1463     ungetc \
 1464     usleep \
 1465     vsprintf \
 1466     vsnprintf \
 1467 )
 1468 
 1469 if test $use_curses = no ; then
 1470 CHECK_DECL_HDRS="$TIN_DECL_HDRS
 1471 #include <tcurses.h>"
 1472 CF_CHECK_DECL($cf_tc_externs)
 1473 fi
 1474 
 1475 CHECK_DECL_HDRS="$TIN_DECL_HDRS
 1476 #include <tnntp.h>"
 1477 CF_CHECK_DECL(\
 1478     connect \
 1479     gethostname \
 1480 )
 1481 
 1482 fi
 1483 
 1484 CF_TIOCGWINSZ
 1485 
 1486 ### append special libraries that get in the way of testing
 1487 case $debug_malloc in
 1488 DBMALLOC)
 1489     AC_DEFINE(USE_DBMALLOC)
 1490     LIBS="$LIBS -ldbmalloc"
 1491     ;;
 1492 DMALLOC)
 1493     AC_DEFINE(USE_DMALLOC)
 1494     LIBS="$LIBS -ldmalloc"
 1495     ;;
 1496 esac
 1497 
 1498 ### Use gettext
 1499 ### this also calls AM_LANGINFO_CODESET and AM_ICONV
 1500 ### so we don't need to do the tests ourselves.
 1501 CF_BUNDLED_INTL
 1502 LIBS="$LIBS $LIBICONV"
 1503 
 1504 ### check for alloca (required for bison and/or intl/*)
 1505 case "$YACC" in
 1506 bison*)
 1507     use_alloca=yes
 1508     ;;
 1509 *)
 1510     use_alloca=$USE_INCLUDED_LIBINTL
 1511     ;;
 1512 esac
 1513 
 1514 if test ".$use_alloca" = .yes ; then
 1515     CF_FUNC_ALLOCA
 1516 else
 1517     ALLOCA=""
 1518     AC_SUBST(ALLOCA)
 1519 fi
 1520 
 1521 # if struct hostent contains h_addr_list or not (SunOS-3.5)
 1522 AC_MSG_CHECKING(for h_addr_list in struct hostent)
 1523 AC_TRY_COMPILE([
 1524 #ifdef HAVE_NETDB_H
 1525 #include <netdb.h>
 1526 #endif
 1527 ],[
 1528 struct hostent h;
 1529 h.h_addr_list[0]=0;
 1530 ],ac_cv_hostent_h_addr_list=yes,ac_cv_hostent_h_addr_list=no)
 1531 AC_MSG_RESULT($ac_cv_hostent_h_addr_list)
 1532 if test $ac_cv_hostent_h_addr_list = yes; then
 1533     AC_DEFINE(HAVE_HOSTENT_H_ADDR_LIST,1,[Define this to 1 if we have h_addr_list in struct hostent])
 1534 fi
 1535 
 1536 CF_CHECK_FD_SET
 1537 
 1538 # tolower() is known to be broken on 4.2BSD by
 1539 # not checking if input is an uppercase letter
 1540 # /* #define tolower(c) ((c)-'A'+'a') */
 1541 AC_MSG_CHECKING(for working tolower())
 1542 AC_TRY_RUN([
 1543 #include <ctype.h>
 1544 int main() {
 1545     unsigned char str;
 1546 
 1547     for (str = 1; str < 127; str++) {
 1548             if ((char) tolower(str) != ((str >= 'A' && str <= 'Z') ? ((unsigned char) (str - 'A' + 'a')) : str))
 1549             return 1;
 1550     }
 1551     return 0;
 1552 }],
 1553         [
 1554                 AC_MSG_RESULT(yes)
 1555         ],
 1556         [
 1557         AC_DEFINE(TOLOWER_BROKEN,1,[Define this to 1 if function tolower if broken])
 1558                 AC_MSG_RESULT(no)
 1559         ],
 1560         [
 1561                 AC_MSG_RESULT(unknown)
 1562         ]
 1563 )
 1564 
 1565 # toupper is known to be broken on 4.2BSD by
 1566 # not checking if input is a lowercase letter
 1567 # /* #define toupper(c) ((c)-'a'+'A') */
 1568 AC_MSG_CHECKING(for working toupper())
 1569 AC_TRY_RUN([
 1570 #include <ctype.h>
 1571 int main() {
 1572     unsigned char str;
 1573 
 1574     for (str = 1; str < 127; str++) {
 1575         if ((char) toupper(str) != ((str >= 'a' && str <= 'z') ? ((unsigned char) (str - 'a' + 'A')) : str))
 1576             return 1;
 1577     }
 1578     return 0;
 1579 }],
 1580     [
 1581         AC_MSG_RESULT(yes)
 1582     ],
 1583     [
 1584         AC_DEFINE(TOUPPER_BROKEN,1,[Define this to 1 if function toupper if broken])
 1585         AC_MSG_RESULT(no)
 1586     ],
 1587     [
 1588         AC_MSG_RESULT(unknown)
 1589     ]
 1590 )
 1591 
 1592 
 1593 AC_CHECK_HEADER(stdnoreturn.h,[
 1594     AC_MSG_CHECKING(for C11 _Noreturn feature)
 1595     AC_TRY_COMPILE([
 1596 #include <stdio.h>
 1597 #include <stdlib.h>
 1598 #include <stdnoreturn.h>
 1599 static _Noreturn void giveup(void);],
 1600     [if (feof(stdin)) giveup()],
 1601     [cf_cv_c11_noreturn=yes
 1602     AC_MSG_RESULT($cf_cv_c11_noreturn)],
 1603     [cf_cv_c11_noreturn=no
 1604     AC_MSG_RESULT($cf_cv_c11_noreturn)])
 1605 ],
 1606 [cf_cv_c11_noreturn=no]
 1607 )
 1608 if test "$cf_cv_c11_noreturn" = yes; then
 1609     AC_DEFINE(HAVE_STDNORETURN_H, 1,[Define if <stdnoreturn.h> header is available and working])
 1610     AC_DEFINE_UNQUOTED(STDC_NORETURN,_Noreturn,[Define if C11 _Noreturn keyword is supported])
 1611     HAVE_STDNORETURN_H=1
 1612 else
 1613     HAVE_STDNORETURN_H=0
 1614 fi
 1615 AC_SUBST(HAVE_STDNORETURN_H)
 1616 AC_SUBST(STDC_NORETURN)
 1617 
 1618 
 1619 CF_CHECK_HEADERS(iconv.h)
 1620 AC_MSG_CHECKING(for iconv_open() //TRANSLIT extension)
 1621 AC_TRY_RUN([
 1622 #ifdef HAVE_ICONV_H
 1623 #   include <iconv.h>
 1624 #endif /* HAVE_ICONV_H */
 1625 #ifdef HAVE_STDLIB_H
 1626 #   include <stdlib.h>
 1627 #endif /* HAVE_STDLIB_H */
 1628 int main() {
 1629     iconv_t cd;
 1630 
 1631     if ((cd = iconv_open("US-ASCII//TRANSLIT", "ISO-8859-1")) == (iconv_t) (-1))
 1632         exit(1);
 1633     exit(0);
 1634 }],
 1635     [
 1636         AC_DEFINE(HAVE_ICONV_OPEN_TRANSLIT,1,[Define this to 1 if iconv_open() //TRANSLIT extension works])
 1637         AC_MSG_RESULT(yes)
 1638     ],
 1639     [
 1640         AC_MSG_RESULT(no)
 1641     ],
 1642     [
 1643         AC_MSG_RESULT(unknown)
 1644     ]
 1645 )
 1646 
 1647 # FIXME / TESTME
 1648 # locale is broken on cygwin < 1.7.0
 1649 # group/other bits don't work on cygwin < 1.7.0
 1650 # locking doesn't work on cygwin < 2.0 as link(2) is detected but doesn't work
 1651 case "$host_os" in
 1652     *cygwin*)
 1653         case `uname -r | sed 's,(.*,,'` in
 1654             B*|1.0-6].*)
 1655                 # multiple defects
 1656                 AC_DEFINE(NO_LOCALE,1,[Define this to 1 if locale does not work])
 1657                 AC_DEFINE(NO_LOCKING,1,[Define this to 1 if locking does not work])
 1658                 AC_DEFINE(FILE_MODE_BROKEN,1,[Define this to 1 if file-permissions are broken])
 1659                 ;;
 1660             1.7.*)
 1661                 # link does not work
 1662                 AC_DEFINE(NO_LOCKING)
 1663                 ;;
 1664             *)
 1665                 AC_CHECK_FUNC(link, AC_DEFINE(HAVE_LINK,1,[Define this to 1 if we have function link]))
 1666                 ;;
 1667             esac
 1668         ;;
 1669     *haiku*)
 1670         # link does not work
 1671         AC_DEFINE(NO_LOCKING)
 1672         ;;
 1673     *)
 1674         AC_CHECK_FUNC(link, AC_DEFINE(HAVE_LINK))
 1675 esac
 1676 
 1677 if test "$cf_cv_termlib" = pdcurses ; then
 1678     CF_PDCURSES_X11
 1679 fi
 1680 CF_CURSES_FUNCS(vw_printw get_wch wget_wch)
 1681 
 1682 ### sum up warnings
 1683 if test "$cf_cv_termlib" = none ; then
 1684     AC_MSG_WARN([no term-lib found, you might run into trouble later.])
 1685 fi
 1686 if test "$YACC" = "" ; then
 1687     AC_MSG_WARN([no yacc-parser found, you might run into trouble later.])
 1688 fi
 1689 if test "$RANLIB" = "" ; then
 1690     AC_MSG_WARN([no library archive builder found, you might run into trouble later.])
 1691 fi
 1692 
 1693 ### Finally, build autoconf.h and the makefiles
 1694 CFLAGS="$CFLAGS $EXTRA_CFLAGS"
 1695 
 1696 LINTFLAGS=$LINTFLAGS
 1697 AC_SUBST(LINTFLAGS)
 1698 
 1699 CF_DEFINE_STRING(TIN_CC,       "$CC")
 1700 CF_DEFINE_STRING(TIN_CFLAGS,   "$CFLAGS")
 1701 CF_DEFINE_STRING(TIN_CPP,      "$CPP")
 1702 CF_DEFINE_STRING(TIN_CPPFLAGS, "$CPPFLAGS")
 1703 CF_DEFINE_STRING(TIN_LD,       "$CC")
 1704 CF_DEFINE_STRING(TIN_LDFLAGS,  "$LDFLAGS")
 1705 CF_DEFINE_STRING(TIN_LIBS,     "$PCREDIR_LIBS $CANLIBS $LIBS")
 1706 
 1707 AC_OUTPUT($PCRE_MAKEFILE
 1708     $SUB_MAKEFILE
 1709     $CAN_MAKEFILE
 1710     src/Makefile)