dnl Process this file with autoconf to produce a configure script. dnl written jan/1997 dnl by T.E.Dickey dnl and Jim Spath dnl --------------------------------------------------------------------------- dnl Copyright 1997-2005,2006 by Thomas E. Dickey dnl dnl Permission to use, copy, modify, and distribute this software and its dnl documentation for any purpose and without fee is hereby granted, dnl provided that the above copyright notice appear in all copies and that dnl both that copyright notice and this permission notice appear in dnl supporting documentation, and that the name of the above listed dnl copyright holder(s) not be used in advertising or publicity pertaining dnl to distribution of the software without specific, written prior dnl permission. dnl dnl THE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM ALL WARRANTIES WITH REGARD dnl TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY dnl AND FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE dnl LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES dnl WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN dnl ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF dnl OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. dnl --------------------------------------------------------------------------- dnl dnl ask PRCS to plug-in the project-version for the configure-script. dnl $Format: "AC_REVISION($ProjectVersion$)"$ AC_REVISION(2.8.6rel.4) # Save the original $CFLAGS so we can distinguish whether the user set those # in the environment, or whether autoconf added -O and -g options: ORIGINAL_CFLAGS="$CFLAGS" # For autoconf 2.13, make sure we have no cache file at the beginning of this # script. That fixes problems with tests whose cached values change from one # run to the next, as well as with tests that are order-dependent. rm -f config.cache AC_PREREQ(2.13.20020210) AC_INIT(userdefs.h) # autoconf 2.5x defaults to no cache file; we need the cache file's information # for building the config page. But start with it empty to avoid confusion by # people who don't do a "make distclean" after applying patches. cache_file=config.cache rm -f config.cache; touch config.cache CONFIG_H=lynx_cfg.h AC_CONFIG_HEADER($CONFIG_H:config.hin) CF_CHECK_CACHE([AC_CANONICAL_SYSTEM]) AC_ARG_WITH(system-type, [ --with-system-type=XXX test: override derived host system-type], [AC_MSG_WARN(overriding system type $host_os to $withval) host_os=$withval]) PACKAGE=lynx dnl ask PRCS to plug-in the project-version for the packages. # $Format: "VERSION=$ProjectVersion$"$ VERSION=2.8.6rel.4 AC_SUBST(PACKAGE) AC_SUBST(VERSION) AC_SUBST(DESTDIR) AC_SUBST(CONFIG_H) dnl Set of available languages (based on source distribution) test -z "$ALL_LINGUAS" && ALL_LINGUAS=`test -d $srcdir/po && cd $srcdir/po && echo *.po|sed -e 's/\.po//g' -e 's/*//'` AC_PREFIX_DEFAULT(/usr/local) dnl -------------------------------------------------------------------------- dnl Checks for location of programs dnl -------------------------------------------------------------------------- dnl Only add to this case statement when a system has a compiler that is not dnl detected by AC_PROG_CC. case $host_os in openedition) : ${CFLAGS="-D_ALL_SOURCE -Wl,EDIT=NO"} : ${CC=c89} ;; esac AC_PROG_CC AC_PROG_CPP AC_PROG_LN_S AC_PROG_MAKE_SET AC_PROG_INSTALL AC_CHECK_PROGS(LINT, lint alint lclint tdlint, []) AC_AIX AC_ISC_POSIX CF_BUILD_CC([#],[]) AC_CHECK_TOOL(RANLIB, ranlib, ':') AC_CHECK_TOOL(AR, ar, ar) CF_SUBST(archiver options,AR_OPTS,rv) dnl -------------------------------------------------------------------------- dnl Debug/development/test dnl -------------------------------------------------------------------------- CF_HELP_MESSAGE( Development Options:) CF_DISABLE_ECHO # special case for WWW/* if test -n "$ECHO_CC" ; then DONT_ECHO_CC="$SHOW_CC ;" else DONT_ECHO_CC='' fi AC_SUBST(DONT_ECHO_CC) AC_MSG_CHECKING(if you want to check memory-leaks) CF_ARG_ENABLE(find-leaks, [ --enable-find-leaks logic for testing memory leaks], [with_leak_checks=yes], [with_leak_checks=no]) AC_MSG_RESULT($with_leak_checks) test "$with_leak_checks" = "yes" && AC_DEFINE(LY_FIND_LEAKS) # The comment about adding -g to $CFLAGS is unclear. Autoconf tries to add # a -g flag; we remove it if the user's $CFLAGS was not set and debugging is # disabled. AC_MSG_CHECKING(if you want to enable debug-code) CF_ARG_ENABLE(debug, [ --enable-debug compile w/ debugging (if \$CFLAGS is set, add -g there, too)], [with_debug=yes], [with_debug=no]) AC_MSG_RESULT($with_debug) if test "$with_debug" = "yes" ; then case $host_os in ultrix*|osf*) test -z "$ORIGINAL_CFLAGS" && CF_STRIP_O_OPT(CFLAGS) if test -z "$GCC" ; then CFLAGS="$CFLAGS -g3" fi ;; esac else case $host_os in osf*) #(vi test -z "$GCC" && CFLAGS="$CFLAGS -std1" test -z "$ORIGINAL_CFLAGS" && CF_STRIP_G_OPT(CFLAGS) ;; *) test -z "$ORIGINAL_CFLAGS" && CF_STRIP_G_OPT(CFLAGS) ;; esac fi AC_MSG_CHECKING(if you want to enable lynx trace code *recommended* ) CF_ARG_DISABLE(trace, [ --disable-trace disable logic for trace code], [with_trace=$enableval], [with_trace=yes]) AC_MSG_RESULT($with_trace) test $with_trace = no && AC_DEFINE(NO_LYNX_TRACE) AC_MSG_CHECKING(if you want verbose trace code) CF_ARG_ENABLE(vertrace, [ --enable-vertrace verbose trace code], [with_vertrace=yes], [with_vertrace=no]) AC_MSG_RESULT($with_vertrace) test $with_vertrace = yes && AC_DEFINE(LY_TRACELINE,__LINE__) if test -n "$GCC" then AC_MSG_CHECKING(if you want to turn on gcc warnings) CF_ARG_ENABLE(warnings, [ --enable-warnings GCC compiler warnings], [with_warnings=yes], [with_warnings=no]) AC_MSG_RESULT($with_warnings) if test "$with_warnings" = "yes" then CF_GCC_ATTRIBUTES CF_GCC_WARNINGS fi fi AC_MSG_CHECKING(if you want to link with dbmalloc for testing) AC_ARG_WITH(dbmalloc, [ --with-dbmalloc test: use Conor Cahill's dbmalloc library], [with_dbmalloc=$withval], [with_dbmalloc=no]) AC_MSG_RESULT($with_dbmalloc) if test $with_dbmalloc = yes ; then AC_CHECK_LIB(dbmalloc,debug_malloc) fi AC_MSG_CHECKING(if you want to link with dmalloc for testing) AC_ARG_WITH(dmalloc, [ --with-dmalloc test: use Gray Watson's dmalloc library], [with_dmalloc=$withval], [with_dmalloc=no]) AC_MSG_RESULT($with_dmalloc) if test $with_dmalloc = yes ; then AC_CHECK_LIB(dmalloc,dmalloc_debug) fi dnl -------------------------------------------------------------------------- dnl Checks for compiler & standard-library characteristics dnl -------------------------------------------------------------------------- dnl If we're able to run this script, this is true! AC_DEFINE(UNIX) AC_C_CONST dnl Only add to this case statement things that we cannot design tests for. CF_PROG_EXT TRY_CFLAGS= case $host_os in aix4*) TRY_CFLAGS="$TRY_CFLAGS -DAIX4 -D_BSD=44 -D_AIX" LIBS="$LIBS -lbsd" ;; aix*) TRY_CFLAGS="$TRY_CFLAGS -D_ACS_COMPAT_CODE" LIBS="$LIBS -lbsd" ;; apollo*) TRY_CFLAGS="$TRY_CFLAGS -D_BUILTINS -W0,-opt,4" ;; bsdi*) TRY_CFLAGS="$TRY_CFLAGS -DBSDI" ;; clix*) # Tested on CLIX 3.1 (T.Dickey). The original makefile entry # contributed by Alex Matulich (matuli_a@marlin.navsea.navy.mil) also # references -lmalloc and -lbsd. AC_CHECK_LIB(c_s,strcmp) ;; convex*) TRY_CFLAGS="$TRY_CFLAGS -D__STDC__ -Dunix" ;; cygwin*) TRY_CFLAGS="$TRY_CFLAGS -DWIN_EX -D_WINDOWS_NSL" LIBS="$LIBS -luser32" ;; dgux*) TRY_CFLAGS="$TRY_CFLAGS -DDGUX" ;; hpux*) TRY_CFLAGS="$TRY_CFLAGS -DSNAKE -D_XOPEN_SOURCE_EXTENDED" test -z "$GCC" && TRY_CFLAGS="$TRY_CFLAGS -Wp,-H600000 -DSYS_HPUX" ;; isc*) # -DPOSIX_JC is necessary, else LYBookmark.c never finds out what a mode_t is. TRY_CFLAGS="$TRY_CFLAGS -DISC -DPOSIX_JC" LIBS="$LIBS -linet -lnsl_s -lcposix" ;; irix6.*) #(vi TRY_CFLAGS="$TRY_CFLAGS -DSYS_IRIX64" ;; irix*) # The original makefile used the $CFLAGS option -cckr for some form # of K&R compatibility. However, this causes compilation warnings for # varargs on IRIX 5.2, and does not appear to be needed. ;; linux*) TRY_CFLAGS="$TRY_CFLAGS -DLINUX" ;; msdosdjgpp*) LIBS="$LIBS -lwatt" TRY_CFLAGS="$TRY_CFLAGS -DDOSPATH -DNOUSERS" ;; next*) TRY_CFLAGS="$TRY_CFLAGS -DNEXT" ;; openbsd* | ekkobsd* | mirbsd*) LIBS="$LIBS -lcompat" ;; osf4*) # The -Olimit flag (see below) is no longer available with # Digital C 5.2, which is bundled with Digital UNIX 4.0. TRY_CFLAGS="$TRY_CFLAGS -DDSYS5 -DSYS_TRU64" ;; osf*) # Increase the maximum size of functions that will be optimized. test -z "$GCC" && TRY_CFLAGS="$TRY_CFLAGS -O -Olimit 4000" TRY_CFLAGS="$TRY_CFLAGS -DDSYS5 -DSYS_TRU64" ;; sco3.2v5*) test $ac_cv_prog_gcc != yes && TRY_CFLAGS="$TRY_CFLAGS -belf" ;; sco*) LIBS="$LIBS -lmalloc" # It's a little late to do much, but try to warn user if he's using # SCO's cc (which is reported to have broken const/volatile). case "$CC" in #(vi cc|*/cc) AC_MSG_WARN(You should consider using gcc or rcc if available) unset ac_cv_prog_CC AC_CHECK_PROGS(CC,gcc rcc,$CC) ;; esac ;; sequent-ptx) TRY_CFLAGS="$TRY_CFLAGS -DSVR4_BSDSELECT -DNO_IOCTL -DUSE_FCNTL" ;; sequent-ptx2) TRY_CFLAGS="$TRY_CFLAGS -DSVR4_BSDSELECT" ;; sony-newsos*) TRY_CFLAGS="$TRY_CFLAGS -I/usr/sony/include" AC_CHECK_HEADERS(jcurses.h) ;; svr4) TRY_CFLAGS="$TRY_CFLAGS -DSVR4_BSDSELECT -DSVR4" ;; sunos3*) TRY_CFLAGS="$TRY_CFLAGS -DSUN" ;; sunos4*) TRY_CFLAGS="$TRY_CFLAGS -DSUN -DSUN4" ;; ultrix*) # Increase the maximum size of functions that will be optimized. test -z "$GCC" && TRY_CFLAGS="$TRY_CFLAGS -O -Olimit 600 -G 7" TRY_CFLAGS="$TRY_CFLAGS -DULTRIX" AC_CHECK_HEADERS(cursesX.h, [AC_DEFINE(HAVE_CURSESX_H) cf_cv_ncurses_header=cursesX.h]) ;; esac CF_ANSI_CC_REQD dnl -------------------------------------------------------------------------- dnl -------------------------------------------------------------------------- CF_HELP_MESSAGE( Basic Configuration Options:) CF_LARGEFILE dnl internationalization macros CF_BUNDLED_INTL(makefile,disable) INTLDIR_CPPFLAGS="#" if test -z "$INTLDIR_MAKE" ; then INTLDIR_CPPFLAGS= fi AC_SUBST(INTLDIR_CPPFLAGS) CF_WITH_PATH(nls-datadir, [ --with-nls-datadir=DIR NLS data, parent of locale], NLS_DATADIR, [PREFIX/DATADIR], [$prefix/$DATADIRNAME]) AC_MSG_CHECKING(if you want full utility pathnames) CF_ARG_DISABLE(full-paths, [ --disable-full-paths control whether full utility pathnames are used], [with_full_paths=no], [with_full_paths=yes]) AC_MSG_RESULT($with_full_paths) test $with_full_paths = no && AC_DEFINE(USE_EXECVP) CF_DEFINE_PROG(system mailer, SYSTEM_MAIL, /usr/mmdf/bin/submit \ /usr/sbin/sendmail \ /usr/lib/sendmail \ ) CF_SYSTEM_MAIL_FLAGS if test -n "$SYSTEM_MAIL" ; then if test $with_full_paths = no ; then SYSTEM_MAIL=`basename $SYSTEM_MAIL` fi fi CF_XOPEN_SOURCE(600,199506L) CF_SIGWINCH dnl Collect tests for compiler options into one place if test -n "$TRY_CFLAGS" ; then CF_CHECK_CFLAGS($TRY_CFLAGS) fi dnl -------------------------------------------------------------------------- dnl Checks for library configuration (added right-to-left) dnl -------------------------------------------------------------------------- ### Look for network libraries first, since some functions (such as gethostname) ### are used in a lot of places. AC_CACHE_CHECK(if you want ssl library,cf_cv_use_libssl,[ AC_ARG_WITH(ssl, [ --with-ssl{=path} link with ssl library if available], [cf_cv_use_libssl=$withval], [cf_cv_use_libssl=no]) ]) if test "x$cf_cv_use_libssl" = "xno" ; then AC_CACHE_CHECK(if you want experimental gnutls support,cf_cv_use_libgnutls,[ AC_ARG_WITH(gnutls, [ --with-gnutls{=path} link with experimental gnutls support], [cf_cv_use_libgnutls=$withval], [cf_cv_use_libgnutls=no]) ]) fi AC_CACHE_CHECK(if you want socks library,cf_cv_use_libsocks,[ AC_ARG_WITH(socks, [ --with-socks{=path} link with socks library if available], [cf_cv_use_libsocks=$withval], [cf_cv_use_libsocks=no]) ]) AC_CACHE_CHECK(if you want socks5 library,cf_cv_use_libsocks5,[ AC_ARG_WITH(socks5, [ --with-socks5{=path} link with socks5 library if available], [cf_cv_use_libsocks5=$withval], [cf_cv_use_libsocks5=no]) ]) if test "x$cf_cv_use_libsocks" != xno ; then CF_SOCKS($cf_cv_use_libsocks) elif test "x$cf_cv_use_libsocks5" != xno ; then CF_SOCKS5($cf_cv_use_libsocks5) else CF_NETLIBS fi CF_INET_ADDR if test "x$cf_cv_use_libssl" != xno ; then CF_SSL($cf_cv_use_libssl) elif test "x$cf_cv_use_libgnutls" != xno ; then CF_GNUTLS($cf_cv_use_libgnutls) fi dnl This has to be cached, since there's a lot of interdependent tests. AC_CACHE_CHECK(for screen type, cf_cv_screen,[ AC_ARG_WITH(screen, [ --with-screen=XXX select screen type (XXX is curses (default), ncurses, ncursesw, pdcurses or slang)], [ case $withval in curses|ncurses|ncursesw|pdcurses|slang) cf_cv_screen=$withval ;; *) AC_ERROR(Unexpected value) ;; esac], [cf_cv_screen=curses])]) case $cf_cv_screen in curses|ncurses*) CF_WITH_CURSES_DIR ;; esac cf_wide_curses=no dft_color_style=yes case $cf_cv_screen in curses) CF_CURSES_CPPFLAGS CF_NCURSES_VERSION CF_CURSES_LIBS CF_CURS_PERFORMANCE CF_CURS_TOUCHLINE ;; ncurses) CF_NCURSES_CPPFLAGS CF_NCURSES_LIBS CF_NCURSES_VERSION ;; ncursesw) CF_UTF8_LIB CF_NCURSES_CPPFLAGS(ncursesw) CF_NCURSES_LIBS(ncursesw) CF_NCURSES_VERSION cf_wide_curses=yes ;; pdcurses) cf_cv_ncurses_header=xcurses.h # do this last, since it changes definition of main: CF_PDCURSES_X11 ;; slang) CF_SLANG_UNIX_DEFS dft_color_style=no ;; esac AC_MSG_CHECKING(if you want the wide-curses features) CF_ARG_ENABLE(widec, [ --enable-widec enable wide-curses features], [use_wide_curses=$enableval], [use_wide_curses=$cf_wide_curses]) AC_MSG_RESULT($use_wide_curses) AC_MSG_CHECKING(for the default configuration-file) CF_WITH_PATH(cfg-file, [ --with-cfg-file{=path} specify the default configuration file ], LYNX_CFG_FILE, SYSCONFDIR/lynx.cfg, $sysconfdir/lynx.cfg) AC_MSG_RESULT($LYNX_CFG_FILE) test "$LYNX_CFG_FILE" = no && LYNX_CFG_FILE= AC_DEFINE_UNQUOTED(LYNX_CFG_FILE,"$LYNX_CFG_FILE") dnl -------------------------------------------------------------------------- dnl Check for subsets of compiled-in tables. dnl -------------------------------------------------------------------------- CHARSET_DEFS= AC_SUBST(CHARSET_DEFS) AC_MSG_CHECKING(if you want only a few charsets) AC_ARG_WITH(charsets, [ --with-charsets=list limit charsets to given list of MIME names], [cf_charsets=$withval], [cf_charsets=]) if test -n "$cf_charsets" ; then AC_MSG_RESULT(yes) AC_DEFINE(ALL_CHARSETS,0) cf_min_charsets=us-ascii,iso-8859-1,utf-8 if test "$cf_charsets" = "no" ; then cf_charsets=minimal fi if test "$cf_charsets" = "minimal" ; then CF_VERBOSE(using minimal list of charsets: $cf_min_charsets) fi cf_charsets=`echo $cf_charsets | sed -e "s/minimal/$cf_min_charsets/g" -e 's/,/ /g'` for cf_charset in $cf_charsets do cf_def_charset=`echo $cf_charset | sed -e 's/+/_/g' -e 's/-/_/g'` cf_use_charset=no # check charsets that are defined via .tbl files if ( egrep '^M'$cf_charset'$' $srcdir/src/chrtrans/*.tbl 2>/dev/null >/dev/null ) then cf_use_charset=yes # check charsets that are "built-in" else for cf_tst_charset in big5 euc_cn euc_jp euc_kr shift_jis x_transparent do if test "$cf_tst_charset" = "$cf_def_charset" then cf_use_charset=yes break fi done fi if test $cf_use_charset=yes then CF_VERBOSE(found $cf_charset) CHARSET_DEFS="-DNO_CHARSET_${cf_def_charset}=0 $CHARSET_DEFS" else CF_VERBOSE(not found $cf_charset) fi done else AC_MSG_RESULT(no) fi dnl -------------------------------------------------------------------------- dnl Checks for standard headers dnl -------------------------------------------------------------------------- AC_HEADER_STDC AC_HEADER_TIME AC_HEADER_DIRENT dnl Don't check for sys/wait.h here since it is covered by another test. AC_CHECK_HEADERS( \ arpa/inet.h \ fcntl.h \ limits.h \ stdlib.h \ string.h \ sys/fcntl.h \ sys/filio.h \ sys/ioctl.h \ sys/param.h \ sys/timeb.h \ sys/time.h \ syslog.h \ termio.h \ termios.h \ unistd.h \ vfork.h \ ) CF_TERMIO_AND_TERMIOS CF_FUNC_SIGACTION CF_FUNC_WAIT CF_VARARGS AC_TYPE_GETGROUPS AC_TYPE_PID_T AC_TYPE_UID_T AC_TYPE_MODE_T CF_CHECK_TYPE(socklen_t, int, [#include ]) dnl -------------------------------------------------------------------------- dnl Checks for library units dnl -------------------------------------------------------------------------- AC_FUNC_ALLOCA AC_FUNC_VFORK CF_FIONBIO CF_REMOVE_BROKEN CF_FUNC_LSTAT AC_CHECK_FUNCS( \ ctermid \ cuserid \ ftime \ getcwd \ getgroups \ gettimeofday \ getuid \ mktemp \ mkdtemp \ popen \ putenv \ readdir \ setuid \ strerror \ truncate \ ttyname \ unsetenv \ usleep \ vasprintf \ waitpid \ zError \ ) AC_REPLACE_FUNCS( \ mktime \ strstr \ ) CF_SRAND(lynx_) CF_CHECK_FUNCDECLS([#include ], strstr) CF_CHECK_FUNCDECLS([ #include #include ], getgrgid getgrnam) dnl -------------------------------------------------------------------------- dnl Checks for external-data dnl -------------------------------------------------------------------------- CF_BOOL_DEFS CF_ERRNO CF_SET_ERRNO CF_LOCALE CF_NGROUPS CF_SYS_ERRLIST CF_UTMP CF_CHECK_EXTERN_DATA(h_errno,int) dnl -------------------------------------------------------------------------- dnl Experimental options that don't need to test system features dnl -------------------------------------------------------------------------- CF_HELP_MESSAGE( Experimental Options:) AC_MSG_CHECKING(if bibp: URLs should be supported) CF_ARG_DISABLE(bibp-urls, [ --disable-bibp-urls disable support for bibp: URLs], [use_bibp_urls=$enableval], [use_bibp_urls=yes]) AC_MSG_RESULT($use_bibp_urls) test $use_bibp_urls = no && AC_DEFINE(DISABLE_BIBP) AC_MSG_CHECKING(if configuration info should be browsable) CF_ARG_DISABLE(config-info, [ --disable-config-info disable browsable configuration-info], [use_config_info=$enableval], [use_config_info=yes]) AC_MSG_RESULT($use_config_info) test $use_config_info = no && AC_DEFINE(NO_CONFIG_INFO) AC_MSG_CHECKING(if new-style forms-based options screen should be used) CF_ARG_DISABLE(forms-options, [ --disable-forms-options disable forms-based options], [use_forms_options=$enableval], [use_forms_options=yes]) AC_MSG_RESULT($use_forms_options) test $use_forms_options = no && AC_DEFINE(NO_OPTION_FORMS) AC_MSG_CHECKING(if old-style options menu should be used) CF_ARG_DISABLE(menu-options, [ --disable-menu-options disable old-style option menu], [use_menu_options=$enableval], [use_menu_options=yes]) AC_MSG_RESULT($use_menu_options) test $use_menu_options = no && AC_DEFINE(NO_OPTION_MENU) AC_MSG_CHECKING(if experimental address-list page should be used) CF_ARG_ENABLE(addrlist-page, [ --enable-addrlist-page use experimental address-list page], [use_addrlist_page=$enableval], [use_addrlist_page=no]) AC_MSG_RESULT($use_addrlist_page) test $use_addrlist_page != no && AC_DEFINE(EXP_ADDRLIST_PAGE) AC_MSG_CHECKING(if experimental charset-selection logic should be used) CF_ARG_ENABLE(charset-choice, [ --enable-charset-choice use experimental charset-selection logic], [use_charset_choice=$enableval], [use_charset_choice=no]) AC_MSG_RESULT($use_charset_choice) test $use_charset_choice != no && AC_DEFINE(EXP_CHARSET_CHOICE) AC_MSG_CHECKING(if experimental CJK logic should be used) CF_ARG_ENABLE(cjk, [ --enable-cjk use experimental CJK logic], [use_cjk=$enableval], [use_cjk=no]) AC_MSG_RESULT($use_cjk) test $use_cjk != no && AC_DEFINE(CJK_EX) AC_MSG_CHECKING(if experimental Japanese UTF-8 logic should be used) CF_ARG_ENABLE(japanese-utf8, [ --enable-japanese-utf8 use experimental Japanese UTF-8 logic], [use_ja_utf8=$enableval], [use_ja_utf8=no]) AC_MSG_RESULT($use_ja_utf8) if test $use_ja_utf8 != no ; then AC_DEFINE(EXP_JAPANESEUTF8_SUPPORT) AC_CHECK_LIB(iconv,libiconv_open) fi AC_MSG_CHECKING(if color-style code should be used) CF_ARG_DISABLE(color-style, [ --disable-color-style use color style (ncurses/curses)], [use_color_style=$enableval], [use_color_style=$dft_color_style]) case $use_color_style in no) AC_MSG_RESULT(no) INSTALL_LSS= ;; *) AC_DEFINE(USE_COLOR_STYLE) AC_MSG_RESULT(yes) AC_MSG_CHECKING(for location of style-sheet file) CF_WITH_PATH(lss-file, [ --with-lss-file{=path} specify the default style-sheet file ], LYNX_LSS_FILE, SYSCONFDIR/lynx.lss, $sysconfdir/lynx.lss) AC_MSG_RESULT($LYNX_LSS_FILE) test "$LYNX_LSS_FILE" = no && LYNX_LSS_FILE= AC_DEFINE_UNQUOTED(LYNX_LSS_FILE,"$LYNX_LSS_FILE") INSTALL_LSS=install-lss ;; esac AC_SUBST(INSTALL_LSS) use_dft_colors=no case $cf_cv_screen in curses|slang|ncurses*) use_dft_colors=maybe ;; esac if test "$use_dft_colors" != no ; then AC_MSG_CHECKING(if you want to use default-colors) CF_ARG_ENABLE(default-colors, [ --enable-default-colors enable use of default-colors (ncurses/slang)], [use_dft_colors=yes], [use_dft_colors=no]) AC_MSG_RESULT($use_dft_colors) test $use_dft_colors = "yes" && AC_DEFINE(USE_DEFAULT_COLORS) fi AC_MSG_CHECKING(if experimental htmlized lynx.cfg should be built) CF_ARG_ENABLE(htmlized-cfg, [ --enable-htmlized-cfg build experimental htmlized lynx.cfg], [use_exp_htmlized_cfg=$enableval], [use_exp_htmlized_cfg=no]) AC_MSG_RESULT($use_exp_htmlized_cfg) LYNXCFG_MAKE='' LYNXCFG_URL='' if test $use_exp_htmlized_cfg = no ; then LYNXCFG_MAKE='#' LYNXCFG_URL='http://www.hippo.ru/%7Ehvv/' fi AC_SUBST(LYNXCFG_MAKE) AC_SUBST(LYNXCFG_URL) ### check for ipv6 support AC_MSG_CHECKING([whether to enable ipv6]) CF_ARG_ENABLE(ipv6, [ --enable-ipv6 use experimental ipv6 (with ipv4) support], [AC_DEFINE(ENABLE_IPV6)]) AC_MSG_RESULT($enableval) if test "$enableval" = "yes"; then CF_CHECK_IPV6 fi dnl AC_REPLACE_FUNCS(getaddrinfo getnameinfo) AC_MSG_CHECKING(if experimental keyboard-layout logic should be used) CF_ARG_ENABLE(kbd-layout, [ --enable-kbd-layout use experimental keyboard-layout support], [use_kbd_layout=$enableval], [use_kbd_layout=no]) AC_MSG_RESULT($use_kbd_layout) test $use_kbd_layout != no && AC_DEFINE(EXP_KEYBOARD_LAYOUT) dnl AC_MSG_CHECKING(if experimental JavaScript support should be used) dnl CF_ARG_ENABLE(libjs, dnl [ --enable-libjs use experimental JavaScript support (Mozilla libjs)], dnl [use_libjs=$enableval], dnl [use_libjs=no]) dnl AC_MSG_RESULT($use_libjs) dnl test $use_libjs != no && AC_DEFINE(EXP_LIBJS) AC_MSG_CHECKING(if experimental locale-charset selection logic should be used) CF_ARG_ENABLE(locale-charset, [ --enable-locale-charset use experimental locale-charset selection logic], [use_locale_charset=$enableval], [use_locale_charset=yes]) AC_MSG_RESULT($use_locale_charset) test $use_locale_charset != no && AC_DEFINE(EXP_LOCALE_CHARSET) AC_MSG_CHECKING(if experimental nested-table logic should be used) CF_ARG_ENABLE(nested-tables, [ --enable-nested-tables use experimental nested-table support], [use_nested_tables=$enableval], [use_nested_tables=no]) AC_MSG_RESULT($use_nested_tables) test $use_nested_tables != no && AC_DEFINE(EXP_NESTED_TABLES) AC_MSG_CHECKING(if scrollbar code should be used) CF_ARG_ENABLE(scrollbar, [ --enable-scrollbar use experimental scrollbar, with mouse], [use_scrollbar=$enableval], [use_scrollbar=no]) AC_MSG_RESULT($use_scrollbar) dnl -------------------------------------------------------------------------- dnl Miscellaneous options that don't need to test system features dnl -------------------------------------------------------------------------- CF_HELP_MESSAGE( Miscellaneous Options:) AC_MSG_CHECKING(if alternative line-edit bindings should be used) CF_ARG_ENABLE(alt-bindings, [ --disable-alt-bindings disable alternative line-edit bindings], [use_alt_bindings=$enableval], [use_alt_bindings=yes]) AC_MSG_RESULT($use_alt_bindings) test $use_alt_bindings != no && AC_DEFINE(EXP_ALT_BINDINGS) AC_MSG_CHECKING(if you want to use extended HTML DTD logic) CF_ARG_DISABLE(extended-dtd, [ --disable-extended-dtd disable extended HTML DTD logic], [use_ext_htmldtd=no], [use_ext_htmldtd=yes]) AC_MSG_RESULT($use_ext_htmldtd) test $use_ext_htmldtd = "no" && AC_DEFINE(NO_EXTENDED_HTMLDTD) AC_MSG_CHECKING(if file-upload logic should be used) CF_ARG_DISABLE(file-upload, [ --disable-file-upload use file-upload support], [use_file_upload=$enableval], [use_file_upload=yes]) AC_MSG_RESULT($use_file_upload) test $use_file_upload != no && AC_DEFINE(USE_FILE_UPLOAD) AC_MSG_CHECKING(if element-justification logic should be used) CF_ARG_DISABLE(justify-elts, [ --enable-justify-elts use element-justification logic], [use_justify_elts=$enableval], [use_justify_elts=yes]) AC_MSG_RESULT($use_justify_elts) test $use_justify_elts != no && AC_DEFINE(EXP_JUSTIFY_ELTS) AC_MSG_CHECKING(if partial-display should be used) CF_ARG_DISABLE(partial, [ --disable-partial use partial-display logic], [use_partial_display=$enableval], [use_partial_display=yes]) AC_MSG_RESULT($use_partial_display) test $use_partial_display != no && AC_DEFINE(DISP_PARTIAL) AC_MSG_CHECKING(if persistent-cookie logic should be used) CF_ARG_DISABLE(persistent-cookies, [ --disable-persistent-cookies disable persistent-cookie support], [use_filed_cookies=$enableval], [use_filed_cookies=yes]) AC_MSG_RESULT($use_filed_cookies) test $use_filed_cookies != no && AC_DEFINE(USE_PERSISTENT_COOKIES) AC_MSG_CHECKING(if html source should be colorized) CF_ARG_DISABLE(prettysrc, [ --disable-prettysrc colorize HTML source], [use_prettysrc=$enableval], [use_prettysrc=yes]) AC_MSG_RESULT($use_prettysrc) test $use_prettysrc != no && AC_DEFINE(USE_PRETTYSRC) AC_MSG_CHECKING(if read-progress message should show ETA) CF_ARG_DISABLE(read-eta, [ --disable-read-eta read-progress message shows ETA], [use_read_eta=$enableval], [use_read_eta=yes]) AC_MSG_RESULT($use_read_eta) test $use_read_eta != no && AC_DEFINE(USE_READPROGRESS) AC_MSG_CHECKING(if source caching should be used) CF_ARG_DISABLE(source-cache, [ --disable-source-cache cache HTML source for parse mode changes], [use_source_cache=$enableval], [use_source_cache=yes]) AC_MSG_RESULT($use_source_cache) test $use_source_cache != no && AC_DEFINE(USE_SOURCE_CACHE) AC_SUBST(EXTRA_OBJS) AC_MSG_CHECKING(if you want to use external commands) CF_ARG_ENABLE(externs, [ --enable-externs use external commands], [use_externs=yes], [use_externs=no]) AC_MSG_RESULT($use_externs) if test $use_externs != "no" ; then AC_DEFINE(USE_EXTERNALS) EXTRA_OBJS="$EXTRA_OBJS LYExtern\$o" fi AC_MSG_CHECKING(if you want to use setfont support) CF_ARG_ENABLE(font-switch, [ --enable-font-switch use Linux setfont for character-translation], [use_setfont=yes], [use_setfont=no]) AC_MSG_RESULT($use_setfont) if test $use_setfont = yes ; then case $host_os in linux*) CF_PATH_PROG(SETFONT, consolechars, setfont) ;; *) SETFONT=unknown CF_VERBOSE(Assume $host_os has font-switching) ;; esac if test -n "$SETFONT" ; then AC_DEFINE(EXP_CHARTRANS_AUTOSWITCH) else AC_MSG_WARN(Cannot find a font-setting program) fi fi AC_MSG_CHECKING(if you want cgi-link support) CF_ARG_ENABLE(cgi-links, [ --enable-cgi-links support cgi links w/o a http daemon], [AC_DEFINE(LYNXCGI_LINKS)]) AC_MSG_RESULT($enableval) AC_MSG_CHECKING(if you want change-exec support) CF_ARG_ENABLE(change-exec, [ --enable-change-exec allow users to change exec options], [use_change_exec=yes], [use_change_exec=no]) AC_MSG_RESULT($use_change_exec) test $use_change_exec = yes && AC_DEFINE(ENABLE_OPTS_CHANGE_EXEC) AC_MSG_CHECKING(if you want exec-links support) CF_ARG_OPTION(exec-links, [ --enable-exec-links allow lynx to execute programs accessed via a link], [use_exec_links=$enableval], [use_exec_links=$enableval], [$use_change_exec]) AC_MSG_RESULT($use_exec_links) test $use_exec_links = yes && AC_DEFINE(EXEC_LINKS) AC_MSG_CHECKING(if you want exec-scripts support) CF_ARG_OPTION(exec-scripts, [ --enable-exec-scripts allow lynx to execute programs inferred from a link], [use_exec_scripts=$enableval], [use_exec_scripts=$enableval], [$use_change_exec]) AC_MSG_RESULT($use_exec_scripts) test $use_exec_scripts = yes && AC_DEFINE(EXEC_SCRIPTS) AC_MSG_CHECKING(if you want internal-links feature) CF_ARG_ENABLE(internal-links, [ --enable-internal-links handle following links to same doc differently], [use_internal_links=yes], [use_internal_links=no]) AC_MSG_RESULT($use_internal_links) test $use_internal_links = no && AC_DEFINE(DONT_TRACK_INTERNAL_LINKS) AC_MSG_CHECKING(if you want to fork NSL requests) CF_ARG_ENABLE(nsl-fork, [ --enable-nsl-fork fork NSL requests, allowing them to be aborted], [use_nsl_fork=yes], [use_nsl_fork=no]) AC_MSG_RESULT($use_nsl_fork) test $use_nsl_fork = yes && AC_DEFINE(NSL_FORK) AC_MSG_CHECKING(if you want to log URL requests via syslog) CF_ARG_ENABLE(syslog, [ --enable-syslog log URL requests via syslog], [use_syslog=yes], [use_syslog=no]) AC_MSG_RESULT($use_syslog) test $use_syslog = yes && AC_DEFINE(SYSLOG_REQUESTED_URLS) AC_MSG_CHECKING(if you want to underline links) CF_ARG_ENABLE(underlines, [ --enable-underlines underline links rather than using boldface], [use_underline=yes], [use_underline=no]) AC_MSG_RESULT($use_underline) test $use_underline = yes && AC_DEFINE(UNDERLINE_LINKS,1) test $use_underline = no && AC_DEFINE(UNDERLINE_LINKS,0) AC_MSG_CHECKING(if help files should be gzip'ed) CF_ARG_ENABLE(gzip-help, [ --enable-gzip-help install gzip'ed help files], [use_gzip_help=$enableval], [use_gzip_help=no]) AC_MSG_RESULT($use_gzip_help) AC_MSG_CHECKING(if you want to use libbz2 for decompression of some bzip2 files) AC_ARG_WITH(bzlib, [ --with-bzlib use libbz2 for decompression of some bzip2 files], [use_bzlib=$withval], [use_bzlib=no]) AC_MSG_RESULT($use_bzlib) if test ".$use_bzlib" != ".no" ; then CF_WITH_BZLIB AC_DEFINE(USE_BZLIB) fi AC_MSG_CHECKING(if you want to use zlib for decompression of some gzip files) AC_ARG_WITH(zlib, [ --with-zlib use zlib for decompression of some gzip files], [use_zlib=$withval], [use_zlib=no]) AC_MSG_RESULT($use_zlib) if test ".$use_zlib" != ".no" ; then CF_WITH_ZLIB AC_DEFINE(USE_ZLIB) fi CF_HELP_MESSAGE( Other Network Services:) AC_MSG_CHECKING(if you want to exclude FINGER code) CF_ARG_DISABLE(finger, [ --disable-finger disable FINGER logic], [use_finger=yes], [use_finger=no]) AC_MSG_RESULT($use_finger) test $use_finger != "no" && AC_DEFINE(DISABLE_FINGER) AC_MSG_CHECKING(if you want to exclude GOPHER code) CF_ARG_DISABLE(gopher, [ --disable-gopher disable GOPHER logic], [use_gopher=yes], [use_gopher=no]) AC_MSG_RESULT($use_gopher) test $use_gopher != "no" && AC_DEFINE(DISABLE_GOPHER) AC_MSG_CHECKING(if you want to exclude NEWS code) CF_ARG_DISABLE(news, [ --disable-news disable NEWS logic], [use_news=yes], [use_news=no]) AC_MSG_RESULT($use_news) test $use_news != "no" && AC_DEFINE(DISABLE_NEWS) AC_MSG_CHECKING(if you want to exclude FTP code) CF_ARG_DISABLE(ftp, [ --disable-ftp disable FTP logic], [use_ftp=yes], [use_ftp=no]) AC_MSG_RESULT($use_ftp) test $use_ftp != "no" && AC_DEFINE(DISABLE_FTP) dnl -------------------------------------------------------------------------- dnl DirEd (directory-editor) options dnl -------------------------------------------------------------------------- CF_HELP_MESSAGE( Directory Editor Options:) # All DirEd functions that were enabled on compilation can be disabled # or modified at run time via DIRED_MENU symbols in lynx.cfg. AC_MSG_CHECKING(if directory-editor code should be used) CF_ARG_DISABLE(dired, [ --disable-dired disable optional directory-editor, DirEd], [use_dired=$enableval], [use_dired=yes]) AC_MSG_RESULT($use_dired) if test ".$use_dired" != ".no" ; then EXTRA_OBJS="$EXTRA_OBJS LYLocal\$o" AC_DEFINE(DIRED_SUPPORT) AC_MSG_CHECKING(if you wish to allow extracting from archives via DirEd) CF_ARG_DISABLE(dired-dearchive, [ --disable-dired-dearchive disable dearchiving commands],[AC_DEFINE(ARCHIVE_ONLY)]) AC_MSG_RESULT($enableval) AC_MSG_CHECKING(if DirEd mode should override keys) CF_ARG_DISABLE(dired-override, [ --disable-dired-override disable DirEd override keymap],,[AC_DEFINE(OK_OVERRIDE)]) AC_MSG_RESULT($enableval) AC_MSG_CHECKING(if you wish to allow permissions commands via DirEd) CF_ARG_DISABLE(dired-permit, [ --disable-dired-permit disable chmod/attrib commands],,[AC_DEFINE(OK_PERMIT)]) AC_MSG_RESULT($enableval) AC_MSG_CHECKING(if you wish to allow executable-permission commands via DirEd) CF_ARG_DISABLE(dired-xpermit, [ --disable-dired-xpermit disable chmod/attrib commands],[AC_DEFINE(NO_CHANGE_EXECUTE_PERMS)]) AC_MSG_RESULT($enableval) AC_MSG_CHECKING(if you wish to allow "tar" commands from DirEd) CF_ARG_DISABLE(dired-tar, [ --disable-dired-tar disable "tar" command],,[AC_DEFINE(OK_TAR)]) AC_MSG_RESULT($enableval) AC_MSG_CHECKING(if you wish to allow "uudecode" commands from DirEd) CF_ARG_DISABLE(dired-uudecode, [ --disable-dired-uudecode disable "uudecode" command],,[AC_DEFINE(OK_UUDECODE)]) AC_MSG_RESULT($enableval) AC_MSG_CHECKING(if you wish to allow "zip" and "unzip" commands from DirEd) CF_ARG_DISABLE(dired-zip, [ --disable-dired-zip disable "zip", "unzip" commands],,[AC_DEFINE(OK_ZIP)]) AC_MSG_RESULT($enableval) AC_MSG_CHECKING(if you wish to allow "gzip" and "gunzip" commands from DirEd) CF_ARG_DISABLE(dired-gzip, [ --disable-dired-gzip disable "gzip", "gunzip" commands],,[AC_DEFINE(OK_GZIP)]) AC_MSG_RESULT($enableval) fi AC_MSG_CHECKING(if you want long-directory listings) CF_ARG_DISABLE(long-list, [ --disable-long-list disable long "ls -l" directory listings],, [AC_DEFINE(LONG_LIST)]) AC_MSG_RESULT($enableval) AC_MSG_CHECKING(if parent-directory references are permitted) CF_ARG_DISABLE(parent-dir-refs, [ --disable-parent-dir-refs disable "Up-to" links in directory listings], [AC_DEFINE(NO_PARENT_DIR_REFERENCE)]) AC_MSG_RESULT($enableval) CF_PATH_PROG(TELNET, telnet) CF_PATH_PROG(TN3270, tn3270) CF_PATH_PROG(RLOGIN, rlogin) CF_PATH_PROG(MV, mv) CF_PATH_PROG(GZIP, gzip) CF_PATH_PROG(UNCOMPRESS,gunzip) CF_PATH_PROG(UNZIP, unzip) CF_PATH_PROG(BZIP2, bzip2) CF_PATH_PROG(TAR, tar, pax gtar gnutar bsdtar star) CF_TAR_OPTIONS($TAR) AC_DEFINE_UNQUOTED(TAR_UP_OPTIONS, "$TAR_UP_OPTIONS") AC_DEFINE_UNQUOTED(TAR_DOWN_OPTIONS, "$TAR_DOWN_OPTIONS") AC_DEFINE_UNQUOTED(TAR_FILE_OPTIONS, "$TAR_FILE_OPTIONS") AC_DEFINE_UNQUOTED(TAR_PIPE_OPTIONS, "$TAR_PIPE_OPTIONS") dnl -------------------------------------------------------------------------- dnl Test features that rely on configure-definitions dnl -------------------------------------------------------------------------- if test ".$use_dired" != ".no" ; then CF_PATH_PROG(COMPRESS, compress) CF_PATH_PROG(RM, rm) CF_PATH_PROG(UUDECODE, uudecode) CF_PATH_PROG(ZCAT, zcat) CF_PATH_PROG(ZIP, zip) dnl 'INSTALL' is a special case, since the configure script has to find a dnl BSD-compatible one so the build/install works properly. case "$INSTALL" in $srcdir*) # (vi AC_DEFINE_UNQUOTED(INSTALL_PATH,"install") ;; *) # (vi cf_save_INSTALL="$INSTALL" CF_PATH_PROG(INSTALL, install) INSTALL="$cf_save_INSTALL" ;; esac fi COMPRESS_PROG= COMPRESS_EXT= if test $use_gzip_help = yes ; then COMPRESS_PROG="$ac_cv_path_GZIP -9" COMPRESS_EXT=.gz fi AC_SUBST(COMPRESS_PROG) AC_SUBST(COMPRESS_EXT) if test $cf_cv_screen = pdcurses ; then CF_HELP_MESSAGE(Special Libraries for PDCurses X11:) CF_PDCURSES_X11 else CF_TERMIO_AND_CURSES(LYCurses.h) fi ### These tests must be run after establishing the curses library. if test $cf_cv_screen != slang ; then AC_CHECK_HEADERS($cf_cv_screen/term.h term.h) CF_ALT_CHAR_SET CF_FANCY_CURSES CF_FUNC_CURSES_VERSION CF_NCURSES_BROKEN CF_COLOR_CURSES CF_SIZECHANGE CF_TTYTYPE if test "$use_wide_curses" = yes ; then CF_WIDEC_CURSES fi CF_CURSES_FUNCS( \ assume_default_colors \ cbreak \ define_key \ delscreen \ getattrs \ getbegx \ getbegy \ keypad \ napms \ newpad \ newterm \ pnoutrefresh \ resizeterm \ touchline \ touchwin \ use_default_colors \ use_legacy_coding \ wattr_get \ wborder \ wredrawln \ wresize \ ) fi if test $use_color_style != no ; then if test .$cf_cv_color_curses != .yes ; then AC_ERROR(Configuration does not support color-styles) fi if test $cf_cv_screen = slang ; then AC_ERROR(Configuration does not support color-styles) fi fi if test $use_scrollbar != no ; then if test .$cf_cv_fancy_curses != .yes ; then AC_MSG_WARN(Configuration does not support ACS_xxx definitions) else AC_DEFINE(USE_SCROLLBAR) fi fi ### Finally, build config.h and the makefiles test -z "$CONFIG_SHELL" && CONFIG_SHELL=/bin/sh AC_SUBST(CONFIG_SHELL) CFLAGS="$CFLAGS $EXTRA_CFLAGS" srcdir="$srcdir" SRCDIR_CLEAN="#" if test -n "$srcdir" ; then echo srcdir is $srcdir $CONFIG_SHELL $MKINSTALLDIRS WWW/Library/Implementation $CONFIG_SHELL $MKINSTALLDIRS src/chrtrans test "$USE_INCLUDED_LIBINTL" = yes && $CONFIG_SHELL $MKINSTALLDIRS intl test "$srcdir" != "." && SRCDIR_CLEAN="" fi AC_SUBST(SRCDIR_CLEAN) AC_OUTPUT( [makefile \ WWW/Library/Implementation/makefile \ src/makefile \ src/chrtrans/makefile \ $SUB_MAKEFILE ],[ if test "$USE_NLS" = yes ; then if test "$use_our_messages" = yes ; then echo creating po/makefile rm -f po/temp$$ sed -e 's%^.*LYMessages.c% ../LYMessages.c%' \ -e '$s/\\//' po/POTFILES >po/temp$$ sed -e "/POTFILES =/r po/temp$$" \ po/makefile.in > po/makefile rm -f po/temp$$ fi fi ],[ USE_NLS=$USE_NLS use_our_messages=$use_our_messages ] )