dnl $XTermId: configure.in,v 1.292 2012/06/21 22:07:14 tom Exp $ dnl dnl ----------------------------------------------------------------------------- dnl this file is part of xterm dnl dnl Copyright 1997-2011,2012 by Thomas E. Dickey dnl dnl All Rights Reserved dnl dnl Permission is hereby granted, free of charge, to any person obtaining a dnl copy of this software and associated documentation files (the dnl "Software"), to deal in the Software without restriction, including dnl without limitation the rights to use, copy, modify, merge, publish, dnl distribute, sublicense, and/or sell copies of the Software, and to dnl permit persons to whom the Software is furnished to do so, subject to dnl the following conditions: dnl dnl The above copyright notice and this permission notice shall be included dnl in all copies or substantial portions of the Software. dnl dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. dnl IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY dnl CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, dnl TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE dnl SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. dnl dnl Except as contained in this notice, the name(s) of the above copyright dnl holders shall not be used in advertising or otherwise to promote the dnl sale, use or other dealings in this Software without prior written dnl authorization. dnl --------------------------------------------------------------------------- dnl Process this file with autoconf to produce a configure script. dnl AC_PREREQ(2.13.20030927) AC_INIT(charproc.c) AC_CONFIG_HEADER(xtermcfg.h:xtermcfg.hin) CF_CHECK_CACHE ### checks for alternative programs 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="-O2 -Wc,dll -Wl,EDIT=NO"} : ${CPPFLAGS="-D_ALL_SOURCE"} : ${LIBS="/usr/lib/Xaw.x /usr/lib/SM.x /usr/lib/ICE.x /usr/lib/X11.x"} : ${CC=c89};; darwin*) : ${LDFLAGS}="${LDFLAGS} -Wl,-bind_at_load";; esac AC_PROG_CC AC_PROG_CPP AC_PROG_GCC_TRADITIONAL AC_PROG_AWK AC_PROG_INSTALL AC_PROG_LN_S AC_ARG_PROGRAM AC_CHECK_PROGS(LINT, tdlint lint alint) ### checks for UNIX variants that set C preprocessor variables AC_AIX AC_ISC_POSIX ### checks for compiler characteristics CF_ANSI_CC_CHECK AC_C_CONST CF_PROG_EXT CF_XOPEN_SOURCE CF_SIGWINCH ### checks for header files AC_CHECK_HEADERS( \ ncurses/curses.h \ ncurses/term.h \ stdlib.h \ sys/ptem.h sys/ttydefaults.h \ term.h \ termios.h \ unistd.h \ wchar.h \ ) AC_HEADER_TIME AM_LANGINFO_CODESET ### checks for typedefs CF_SIG_ATOMIC_T CF_SIZE_T AC_CHECK_TYPE(time_t, long) CF_TYPE_CC_T AC_TYPE_MODE_T AC_TYPE_PID_T AC_TYPE_UID_T AC_TYPE_OFF_T ### checks for library functions AC_CHECK_FUNCS( \ bcopy \ gethostname \ getlogin \ memmove \ putenv \ unsetenv \ sched_yield \ setpgid \ strerror \ strftime \ tcgetattr \ waitpid \ wcswidth \ wcwidth ) CF_FUNC_MEMMOVE CF_UTMP CF_STRUCT_LASTLOG CF_POSIX_SAVED_IDS CF_HELP_MESSAGE(Compile/Install Options:) CF_FUNC_TGETENT CF_WITH_APP_CLASS(XTerm) CF_WITH_APP_DEFAULTS CF_WITH_ICON_THEME(icons/xterm-color,,,icons/xterm-color_48x48) CF_DISABLE_DESKTOP(xterm) CF_WITH_DESKTOP_CATEGORY(xterm,[*rxvt*|konsole|*-terminal],[System|TerminalEmulator|Utility|*]) AC_MSG_CHECKING(for install-permissions reference) AC_ARG_WITH(reference, [ --with-reference=XXX program to use as permissions-reference], [with_reference=$withval], [with_reference=xterm]) AC_MSG_RESULT($with_reference) with_full_paths=yes CF_PATH_PROG(XTERM_PATH,$with_reference) # If any of --program-prefix, --program-suffix or --program-transform-name is # given, accept an option tell the makefile to create a symbolic link, e.g., # to "xterm" on install. XTERM_SYMLINK=NONE AC_SUBST(XTERM_SYMLINK) if test "$program_transform_name" != "'s,,,'" ; then cf_name=`echo "$program_transform_name" | sed -e '[s,\\$\\$,$,g]'` cf_name=`echo xterm |sed -e "$cf_name"` AC_MSG_CHECKING(for symbolic link to create to $cf_name) AC_ARG_WITH(xterm-symlink, [ --with-xterm-symlink=XXX make symbolic link to installed xterm], [with_symlink=$withval], [with_symlink=xterm]) AC_MSG_RESULT($with_symlink) test "$with_symlink" = yes && with_symlink=xterm test -n "$with_symlink" && \ test "$with_symlink" != no && \ test "$with_symlink" != $cf_name && \ XTERM_SYMLINK="$with_symlink" fi AC_MSG_CHECKING(if you want to disable setuid) CF_ARG_DISABLE(setuid, [ --disable-setuid disable setuid in xterm, do not install setuid/setgid], [disable_setuid=yes], [disable_setuid=no], no) AC_MSG_RESULT($disable_setuid) AC_MSG_CHECKING(if you want to disable setgid) CF_ARG_DISABLE(setgid, [ --disable-setgid disable setgid in xterm, do not install setuid/setgid], [disable_setgid=yes], [disable_setgid=no], no) AC_MSG_RESULT($disable_setgid) AC_MSG_CHECKING(if you want to run xterm setuid to a given user) AC_ARG_WITH(setuid, [ --with-setuid=XXX use the given setuid user], [use_given_setuid=$withval], [use_given_setuid=no]) AC_MSG_RESULT($use_given_setuid) if test "$use_given_setuid" != no ; then if test "$use_given_setuid" = yes ; then cf_cv_given_setuid=root else cf_cv_given_setuid=$use_given_setuid fi # inherit SINSTALL_OPTS from environment to allow packager to customize it. SINSTALL_OPTS="$SINSTALL_OPTS u+s -u $cf_cv_given_setuid" fi AC_MSG_CHECKING(if you want to run xterm setgid to match utmp/utmpx file) AC_ARG_WITH(utmp-setgid, [ --with-utmp-setgid=XXX use setgid to match utmp/utmpx file], [use_utmp_setgid=$withval], [use_utmp_setgid=no]) AC_MSG_RESULT($use_utmp_setgid) if test "$use_utmp_setgid" != no ; then if test "$use_utmp_setgid" = yes ; then CF_UTMP_GROUP else cf_cv_utmp_group=$use_utmp_setgid fi if test "$cf_cv_posix_saved_ids" != yes ; then AC_MSG_ERROR(Your system does not support POSIX saved-ids) fi AC_DEFINE(USE_UTMP_SETGID) SINSTALL_OPTS="$SINSTALL_OPTS g+s -g $cf_cv_utmp_group" fi AC_SUBST(SINSTALL_OPTS) AC_MSG_CHECKING(if you want to link with utempter) AC_ARG_WITH(utempter, [ --with-utempter use utempter library for access to utmp], [use_utempter=$withval], [use_utempter=no]) AC_MSG_RESULT($use_utempter) if test "$use_utempter" = yes ; then CF_UTEMPTER test "$cf_cv_have_utempter" != yes && use_utempter=no else use_utempter=no fi # Some configurations permit (or require) either setuid or setgid mode. # Let the user decide. if test "$use_utempter" = yes ; then if test "${enable_setuid+set}" != set ; then disable_setuid=yes CF_VERBOSE([No --disable-setuid option given, force to yes]) fi fi ### checks for external data CF_ERRNO CF_TTY_GROUP ### checks for system services and user specified options CF_POSIX_WAIT CF_SYSV CF_SVR4 CF_X_TOOLKIT AC_CHECK_HEADERS( \ X11/DECkeysym.h \ X11/Sunkeysym.h \ X11/XF86keysym.h \ X11/XKBlib.h \ X11/Xpoll.h \ X11/extensions/XKB.h \ ) CF_X_ATHENA CF_TYPE_FD_MASK CF_TERMIO_C_ISPEED LIBS="$LIBS $X_EXTRA_LIBS" CF_FUNC_GRANTPT AC_CHECK_FUNCS(XkbQueryExtension XkbKeycodeToKeysym) CF_XKB_BELL_EXT AC_CHECK_FUNCS(Xutf8LookupString, [],[ EXTRAHDRS="$EXTRAHDRS xutf8.h" EXTRASRCS="$EXTRASRCS xutf8.c" EXTRAOBJS="$EXTRAOBJS xutf8.o" ]) CF_WITH_IMAKE_CFLAGS($(MAIN_DEFINES) $(VENDORMANDEFS)) # If we have already established that there is a full termcap implementation, # suppress the definitions for terminfo that we make have imported from the # imake-file. if test "x$cf_cv_lib_tgetent" != xno || test "x$cf_cv_lib_part_tgetent" != xno ; then case "$IMAKE_CFLAGS" in *-DUSE_TERMINFO\ -DHAVE_TIGETSTR*) CF_UNDO_CFLAGS(IMAKE_CFLAGS,terminfo,[-DUSE_TERMINFO[[ ]]*-DHAVE_TIGETSTR[[ ]]*]) CF_UNDO_CFLAGS(CPPFLAGS,terminfo,[-DUSE_TERMINFO[[ ]]*-DHAVE_TIGETSTR[[ ]]*]) ;; esac fi CF_HELP_MESSAGE(Terminal Configuration:) AC_MSG_CHECKING(for default terminal-id) AC_ARG_WITH(terminal-id, [ --with-terminal-id=V set default decTerminalID (default: vt100)], [default_termid=$withval], [default_termid=vt420]) AC_MSG_RESULT($default_termid) case $default_termid in vt*) default_termid=`echo $default_termid | sed -e 's/^..//'` ;; esac AC_DEFINE_UNQUOTED(DFT_DECID,"$default_termid") AC_SUBST(default_termid) AC_MSG_CHECKING(for default terminal-type) AC_ARG_WITH(terminal-type, [ --with-terminal-type=T set default $TERM (default: xterm)], [default_TERM=$withval], [default_TERM=xterm]) AC_MSG_RESULT($default_TERM) AC_DEFINE_UNQUOTED(DFT_TERMTYPE,"$default_TERM") AC_SUBST(default_TERM) ############################################################################### AC_MSG_CHECKING(if backarrow-key should be DEL) CF_ARG_DISABLE(backarrow-key, [ --enable-backarrow-is-del set default backarrowKey resource (default: true)], [backarrow_is_del=$enableval], [backarrow_is_del=yes]) CF_XBOOL_RESULT(DEF_BACKARO_DEL,backarrow_is_del) AC_MSG_CHECKING(if backarrow-key should be treated as erase) CF_ARG_ENABLE(backarrow-is-erase, [ --enable-backarrow-is-erase set default backarrowKeyIsErase resource (default: false)], [backarrow_is_erase=$enableval], [backarrow_is_erase=no]) CF_XBOOL_RESULT(DEF_BACKARO_ERASE,backarrow_is_erase) AC_MSG_CHECKING(for default backspace/DEL setting) AC_ARG_ENABLE(delete-is-del, [ --enable-delete-is-del set default deleteIsDEL resource (default: maybe)], [delete_is_del=$enableval], [delete_is_del=maybe]) CF_XBOOL_RESULT(DEFDELETE_DEL,delete_is_del) AC_MSG_CHECKING(if alt should send ESC) CF_ARG_ENABLE(alt-sends-esc, [ --enable-alt-sends-esc set default altSendsEscape resource (default: no)], [alt_sends_esc=$enableval], [alt_sends_esc=no]) CF_XBOOL_RESULT(DEF_ALT_SENDS_ESC,alt_sends_esc) AC_MSG_CHECKING(if meta should send ESC) CF_ARG_ENABLE(meta-sends-esc, [ --enable-meta-sends-esc set default metaSendsEscape resource (default: no)], [meta_sends_esc=$enableval], [meta_sends_esc=no]) CF_XBOOL_RESULT(DEF_META_SENDS_ESC,meta_sends_esc) ############################################################################### AC_CHECK_PROG(cf_tic_prog,tic,yes,no) if test "$cf_tic_prog" = yes ; then AC_MSG_CHECKING(for private terminfo-directory) AC_ARG_WITH(own-terminfo, [ --with-own-terminfo=P set default $TERMINFO (default: from environment)], [TERMINFO_DIR=$withval], [TERMINFO_DIR=${TERMINFO-none}]) AC_MSG_RESULT($TERMINFO_DIR) if test "$TERMINFO_DIR" = yes ; then AC_MSG_WARN(no value given) elif test "$TERMINFO_DIR" != none ; then if test -d $TERMINFO_DIR ; then AC_DEFINE_UNQUOTED(OWN_TERMINFO_DIR,"$TERMINFO_DIR") else AC_MSG_WARN(not a directory) fi elif test "$prefix" != NONE ; then TERMINFO_DIR='${prefix}/lib/terminfo' elif test -d /usr/lib/terminfo ; then TERMINFO_DIR=/usr/lib/terminfo else TERMINFO_DIR= fi SET_TERMINFO= if test -n "$TERMINFO_DIR" ; then TERMINFO_DIR='$(DESTDIR)'$TERMINFO_DIR SET_TERMINFO='TERMINFO=$(TERMINFO_DIR)' fi no_ticprog= else no_ticprog="#" TERMINFO_DIR= SET_TERMINFO= fi AC_SUBST(no_ticprog) AC_SUBST(TERMINFO_DIR) AC_SUBST(SET_TERMINFO) ############################################################################### CF_HELP_MESSAGE(Optional Features:) AC_MSG_CHECKING(if you want active-icons) CF_ARG_DISABLE(active-icon, [ --disable-active-icon disable X11R6.3 active-icon feature], [enable_active_icon=no], [enable_active_icon=yes]) AC_MSG_RESULT($enable_active_icon) if test "$enable_active_icon" = no ; then AC_DEFINE(NO_ACTIVE_ICON) fi AC_MSG_CHECKING(if you want ANSI color) CF_ARG_DISABLE(ansi-color, [ --disable-ansi-color disable ANSI color], [enable_ansi_color=no], [enable_ansi_color=yes]) AC_MSG_RESULT($enable_ansi_color) test "$enable_ansi_color" = no && AC_DEFINE(OPT_ISO_COLORS,0) if test "$enable_ansi_color" = yes ; then AC_MSG_CHECKING(if you want 16 colors like aixterm) CF_ARG_DISABLE(16-color, [ --disable-16-color disable 16-color support], [enable_16_color=no], [enable_16_color=yes]) AC_MSG_RESULT($enable_16_color) test "$enable_16_color" = no && AC_DEFINE(OPT_AIX_COLORS,0) AC_MSG_CHECKING(if you want 256 colors) CF_ARG_ENABLE(256-color, [ --enable-256-color enable 256-color support], [enable_256_color=yes], [enable_256_color=no]) AC_MSG_RESULT($enable_256_color) if test "$enable_256_color" = yes ; then CHARPROC_DEPS="$CHARPROC_DEPS 256colres.h" EXTRAHDRS="$EXTRAHDRS 256colres.h" AC_DEFINE(OPT_256_COLORS,1) else AC_MSG_CHECKING(if you want 88 colors) CF_ARG_ENABLE(88-color, [ --enable-88-color enable 88-color support], [enable_88_color=yes], [enable_88_color=no]) AC_MSG_RESULT($enable_88_color) if test "$enable_88_color" = yes ; then CHARPROC_DEPS="$CHARPROC_DEPS 88colres.h" EXTRAHDRS="$EXTRAHDRS 88colres.h" AC_DEFINE(OPT_88_COLORS,1) fi fi fi AC_MSG_CHECKING(if you want blinking cursor) CF_ARG_DISABLE(blink-cursor, [ --disable-blink-cursor disable support for blinking cursor], [enable_blink_curs=no], [enable_blink_curs=yes]) AC_MSG_RESULT($enable_blink_curs) test "$enable_blink_curs" = no && AC_DEFINE(OPT_BLINK_CURS,0) AC_MSG_CHECKING(if you want to ignore Linux's broken palette-strings) case $host_os in #(vi linux*) assume_broken_osc=yes ;; #(vi *) assume_broken_osc=no ;; esac CF_ARG_OPTION(broken-osc, [ --enable-broken-osc allow broken Linux OSC-strings], [enable_broken_osc=$enableval], [enable_broken_osc=$enableval], [$assume_broken_osc]) AC_MSG_RESULT($enable_broken_osc) if test "$enable_broken_osc" = yes ; then AC_DEFINE(OPT_BROKEN_OSC,1) else AC_DEFINE(OPT_BROKEN_OSC,0) fi AC_MSG_CHECKING(if you want to allow broken string-terminators) CF_ARG_ENABLE(broken-st, [ --disable-broken-st disallow broken string-terminators], [enable_broken_st=no], [enable_broken_st=yes]) AC_MSG_RESULT($enable_broken_st) test "$enable_broken_st" = no && AC_DEFINE(OPT_BROKEN_ST,0) AC_MSG_CHECKING(if you want printable 128-159) CF_ARG_DISABLE(c1-print, [ --disable-c1-print disallow -k8 option for printable 128-159], [enable_c1_print=no], [enable_c1_print=yes]) AC_MSG_RESULT($enable_c1_print) test "$enable_c1_print" = no && AC_DEFINE(OPT_C1_PRINT,0) if test "$enable_ansi_color" = yes ; then AC_MSG_CHECKING(if you want bold colors mapped like IBM PC) CF_ARG_DISABLE(bold-color, [ --disable-bold-color disable PC-style mapping of bold colors], [enable_pc_color=no], [enable_pc_color=yes]) AC_MSG_RESULT($enable_pc_color) test "$enable_pc_color" = no && AC_DEFINE(OPT_PC_COLORS,0) AC_MSG_CHECKING(if you want separate color-classes) CF_ARG_DISABLE(color-class, [ --disable-color-class disable separate color class resources], [enable_color_class=no], [enable_color_class=yes]) AC_MSG_RESULT($enable_color_class) test "$enable_color_class" = no && AC_DEFINE(OPT_COLOR_CLASS,FALSE) AC_MSG_CHECKING(if you want color-mode enabled by default) CF_ARG_DISABLE(color-mode, [ --disable-color-mode disable default colorMode resource], [default_colormode=no], [default_colormode=yes]) AC_MSG_RESULT($default_colormode) test "$default_colormode" = no && AC_DEFINE(DFT_COLORMODE,FALSE) fi AC_MSG_CHECKING(if you want support for color highlighting) CF_ARG_DISABLE(highlighting, [ --disable-highlighting disable support for color highlighting], [default_highlight=no], [default_highlight=yes]) AC_MSG_RESULT($default_highlight) test "$default_highlight" = no && AC_DEFINE(OPT_HIGHLIGHT_COLOR,0) AC_MSG_CHECKING(if you want support for doublesize characters) CF_ARG_DISABLE(doublechars, [ --disable-doublechars disable support for double-size chars], [enable_doublechars=no], [enable_doublechars=yes]) AC_MSG_RESULT($enable_doublechars) test "$enable_doublechars" = no && AC_DEFINE(OPT_DEC_CHRSET,0) AC_MSG_CHECKING(if you want fallback-support for box characters) CF_ARG_DISABLE(boxchars, [ --disable-boxchars disable fallback-support for box chars], [enable_boxchars=no], [enable_boxchars=yes]) AC_MSG_RESULT($enable_boxchars) test "$enable_boxchars" = no && AC_DEFINE(OPT_BOX_CHARS,0) AC_MSG_CHECKING(if you want to allow spawning new xterms) CF_ARG_ENABLE(exec-xterm, [ --enable-exec-xterm enable "spawn-new-terminal" action], [enable_exec_xterm=yes], [enable_exec_xterm=no]) AC_MSG_RESULT($enable_exec_xterm) if test "$enable_exec_xterm" = yes ; then CF_PROCFS_CWD if test "$cf_cv_procfs_cwd" = no ; then AC_MSG_WARN(no suitable proc filesystem found) else AC_DEFINE_UNQUOTED(PROCFS_ROOT,"$cf_cv_procfs_cwd") AC_DEFINE(OPT_EXEC_XTERM) fi fi AC_MSG_CHECKING(if you want to use FreeType library) CF_ARG_DISABLE(freetype, [ --disable-freetype disable freetype library-support], [enable_freetype=no], [enable_freetype=yes]) AC_MSG_RESULT($enable_freetype) if test "$enable_freetype" = yes ; then CF_X_FONTCONFIG else CPPFLAGS=`echo "$CPPFLAGS" | sed -e s/-DXRENDERFONT//` fi AC_MSG_CHECKING(if you want support for HP-style function keys) CF_ARG_ENABLE(hp-fkeys, [ --enable-hp-fkeys enable support for HP-style function keys], [enable_hp_fkeys=yes], [enable_hp_fkeys=no]) AC_MSG_RESULT($enable_hp_fkeys) if test "$enable_hp_fkeys" = yes ; then AC_DEFINE(OPT_HP_FUNC_KEYS,1) fi AC_MSG_CHECKING(if you want support for SCO-style function keys) CF_ARG_ENABLE(sco-fkeys, [ --enable-sco-fkeys enable support for SCO-style function keys], [enable_sco_fkeys=yes], [enable_sco_fkeys=no]) AC_MSG_RESULT($enable_sco_fkeys) if test "$enable_sco_fkeys" = yes ; then AC_DEFINE(OPT_SCO_FUNC_KEYS,1) fi AC_MSG_CHECKING(if you want support for Sun-style function keys) CF_ARG_DISABLE(sun-fkeys, [ --disable-sun-fkeys disable support for Sun-style function keys], [enable_sun_fkeys=no], [enable_sun_fkeys=yes]) AC_MSG_RESULT($enable_sun_fkeys) if test "$enable_sun_fkeys" = no ; then AC_DEFINE(OPT_SUN_FUNC_KEYS,0) fi AC_MSG_CHECKING(if you want saved-lines stored as a FIFO) CF_ARG_DISABLE(fifo-lines, [ --disable-fifo-lines disable FIFO-storage for saved-lines], [enable_fifo_lines=no], [enable_fifo_lines=yes]) AC_MSG_RESULT($enable_fifo_lines) if test "$enable_fifo_lines" = yes ; then AC_DEFINE(OPT_FIFO_LINES,1) fi AC_MSG_CHECKING(if you want support for internationalization) CF_ARG_DISABLE(i18n, [ --disable-i18n disable internationalization], [enable_i18n=no], [enable_i18n=yes]) AC_MSG_RESULT($enable_i18n) if test "$enable_i18n" = no ; then AC_DEFINE(OPT_I18N_SUPPORT,0) fi AC_MSG_CHECKING(if you want support for initial-erase setup) CF_ARG_DISABLE(initial-erase, [ --disable-initial-erase disable setup for stty erase], [enable_ie=no], [enable_ie=yes]) AC_MSG_RESULT($enable_ie) if test "$enable_ie" = no ; then AC_DEFINE(OPT_INITIAL_ERASE,0) fi AC_MSG_CHECKING(if you want support for input-method) CF_ARG_DISABLE(input-method, [ --disable-input-method disable input-method], [enable_ximp=no], [enable_ximp=yes]) AC_MSG_RESULT($enable_ximp) CF_INPUT_METHOD test "$cf_cv_input_method" = no && enable_ximp=no if test "$enable_ximp" = no ; then AC_DEFINE(OPT_INPUT_METHOD,0) fi AC_MSG_CHECKING(if you want support for load-vt-fonts) CF_ARG_ENABLE(load-vt-fonts, [ --enable-load-vt-fonts enable load-vt-fonts() action], [enable_load_vt_fonts=yes], [enable_load_vt_fonts=no]) AC_MSG_RESULT($enable_load_vt_fonts) if test "$enable_load_vt_fonts" = yes ; then AC_DEFINE(OPT_LOAD_VTFONTS,1) fi AC_MSG_CHECKING(if you want support for logging) CF_ARG_ENABLE(logging, [ --enable-logging enable logging], [enable_logging=yes], [enable_logging=no]) AC_MSG_RESULT($enable_logging) if test "$enable_logging" = yes ; then AC_DEFINE(ALLOWLOGGING) AC_MSG_CHECKING(if you want to allow logging via a pipe) CF_ARG_ENABLE(logfile-exec, [ --enable-logfile-exec enable exec'd logfile filter], [enable_log_exec=yes], [enable_log_exec=no]) AC_MSG_RESULT($enable_log_exec) if test "$enable_log_exec" = yes ; then AC_DEFINE(ALLOWLOGFILEEXEC) fi fi AC_MSG_CHECKING(if you want support for iconify/maximize translations) CF_ARG_DISABLE(maximize, [ --disable-maximize disable actions for iconify/deiconify/maximize/restore], [enable_maximize=no], [enable_maximize=yes]) AC_MSG_RESULT($enable_maximize) test "$enable_maximize" = no && AC_DEFINE(OPT_MAXIMIZE,0) AC_MSG_CHECKING(if you want NumLock to override keyboard tables) CF_ARG_DISABLE(num-lock, [ --disable-num-lock disable NumLock keypad support], [enable_numlock=no], [enable_numlock=yes]) AC_MSG_RESULT($enable_numlock) test "$enable_numlock" = no && AC_DEFINE(OPT_NUM_LOCK,0) AC_MSG_CHECKING(if you want support for get/set of base64 selection data) CF_ARG_DISABLE(paste64, [ --disable-paste64 disable get/set base64 selection data], [enable_paste64=no], [enable_paste64=yes]) AC_MSG_RESULT($enable_paste64) if test "$enable_paste64" = yes ; then AC_DEFINE(OPT_PASTE64,1) else AC_DEFINE(OPT_PASTE64,0) fi AC_MSG_CHECKING(if you want support for pty-handshaking) CF_ARG_DISABLE(pty-handshake, [ --disable-pty-handshake disable pty-handshake support], [enable_pty_handshake=no], [enable_pty_handshake=yes]) AC_MSG_RESULT($enable_pty_handshake) if test "$enable_pty_handshake" = yes ; then AC_DEFINE(OPT_PTY_HANDSHAKE,1) else AC_DEFINE(OPT_PTY_HANDSHAKE,0) fi AC_MSG_CHECKING(if you want support for mouse in readline applications) CF_ARG_ENABLE(readline-mouse, [ --enable-readline-mouse enable support for mouse in readline applications], [enable_readline_mouse=yes], [enable_readline_mouse=no]) AC_MSG_RESULT($enable_readline_mouse) if test "$enable_readline_mouse" = yes ; then AC_DEFINE(OPT_READLINE,1) fi AC_MSG_CHECKING(if you want support for regular-expression selections) CF_ARG_DISABLE(regex, [ --disable-regex disable regular-expression selections], [enable_regex=no], [enable_regex=yes]) AC_MSG_RESULT($enable_regex) if test "$enable_regex" = yes ; then CF_WITH_PCRE if test "$with_pcre" = no ; then CF_REGEX if test "X$cf_cv_regex_hdrs" != "Xregex.h" ; then AC_MSG_ERROR(Only POSIX or PCRE regular expressions are supported) fi fi AC_DEFINE(OPT_SELECT_REGEX) fi AC_MSG_CHECKING(if you want support for right-scrollbar) CF_ARG_DISABLE(rightbar, [ --disable-rightbar disable right-scrollbar support], [enable_rightbar=no], [enable_rightbar=yes]) AC_MSG_RESULT($enable_rightbar) if test "$enable_rightbar" = yes ; then AC_DEFINE(SCROLLBAR_RIGHT) fi AC_MSG_CHECKING(if you want check for redundant name-change) CF_ARG_DISABLE(samename, [ --disable-samename disable check for redundant name-change], [enable_samename=no], [enable_samename=yes]) AC_MSG_RESULT($enable_samename) test "$enable_samename" = no && AC_DEFINE(OPT_SAME_NAME,0) AC_MSG_CHECKING(if you want support for selection-actions) CF_ARG_DISABLE(selection-ops, [ --disable-selection-ops disable selection-action operations], [enable_selection_ops=no], [enable_selection_ops=yes]) AC_MSG_RESULT($enable_selection_ops) test "$enable_selection_ops" = no && AC_DEFINE(OPT_SELECTION_OPS,0) AC_MSG_CHECKING(if you want support for session management) CF_ARG_DISABLE(session-mgt, [ --disable-session-mgt disable support for session management], [enable_session_mgt=no], [enable_session_mgt=yes]) AC_MSG_RESULT($enable_session_mgt) test "$enable_session_mgt" = no && AC_DEFINE(OPT_SESSION_MGT,0) AC_MSG_CHECKING(if you want to use termcap function-keys) CF_ARG_DISABLE(tcap-fkeys, [ --disable-tcap-fkeys disable termcap function-keys support], [enable_tcap_fkeys=no], [enable_tcap_fkeys=yes]) AC_MSG_RESULT($enable_tcap_fkeys) test "$enable_tcap_fkeys" = yes && AC_DEFINE(OPT_TCAP_FKEYS,1) AC_MSG_CHECKING(if you want to use termcap-query/report) CF_ARG_DISABLE(tcap-query, [ --disable-tcap-query disable compiled-in termcap-query support], [enable_tcap_query=no], [enable_tcap_query=yes]) AC_MSG_RESULT($enable_tcap_query) test "$enable_tcap_query" = yes && AC_DEFINE(OPT_TCAP_QUERY,1) AC_MSG_CHECKING(if you want support for tek4014) CF_ARG_DISABLE(tek4014, [ --disable-tek4014 disable tek4014 emulation], [enable_tek4014=no], [enable_tek4014=yes]) AC_MSG_RESULT($enable_tek4014) if test "$enable_tek4014" = no ; then AC_DEFINE(OPT_TEK4014,0) else EXTRAHDRS="$EXTRAHDRS Tekparse.h" EXTRASRCS="$EXTRASRCS TekPrsTbl.c Tekproc.c" EXTRAOBJS="$EXTRAOBJS TekPrsTbl.o Tekproc.o" fi AC_MSG_CHECKING(if you want pulldown menus with a toolbar) CF_ARG_ENABLE(toolbar, [ --enable-toolbar compile-in toolbar for pulldown menus], [enable_toolbar=yes], [enable_toolbar=no]) AC_MSG_RESULT($enable_toolbar) if test "$enable_toolbar" = yes ; then AC_DEFINE(OPT_TOOLBAR,1) fi AC_MSG_CHECKING(if you want VT52 emulation) CF_ARG_DISABLE(vt52, [ --disable-vt52 disable VT52 emulation], [enable_vt52=no], [enable_vt52=yes]) AC_MSG_RESULT($enable_vt52) test "$enable_vt52" = no && AC_DEFINE(OPT_VT52_MODE,0) AC_MSG_CHECKING(if you want to use mini-luit/Latin9 built-in support) CF_ARG_ENABLE(mini-luit, [ --enable-mini-luit enable mini-luit (built-in Latin9 support)], [enable_mini_luit=yes], [enable_mini_luit=no]) AC_MSG_RESULT($enable_mini_luit) if test "$enable_mini_luit" = yes ; then AC_DEFINE(OPT_MINI_LUIT,1) fi AC_MSG_CHECKING(if you want to use luit) CF_ARG_ENABLE(luit, [ --enable-luit enable luit filter (Unicode translation)], [enable_luit=yes], [enable_luit=$enable_mini_luit]) AC_MSG_RESULT($enable_luit) if test "$enable_luit" = yes ; then AC_DEFINE(OPT_LUIT_PROG,1) CF_PATH_PROG(LUIT,xterm-filter,bluit luit) fi AC_MSG_CHECKING(if you want wide-character support) CF_ARG_OPTION(wide-chars, [ --enable-wide-chars enable wide-character support], [enable_wchar=yes], [enable_wchar=$enable_luit], [$enable_luit]) AC_MSG_RESULT($enable_wchar) AC_MSG_CHECKING(if you want only 16-bit character support) CF_ARG_ENABLE(16bit-chars, [ --enable-16bit-chars enable 16-bit character support], [enable_16bit_chars=yes], [enable_16bit_chars=no]) AC_MSG_RESULT($enable_16bit_chars) if test "$enable_16bit_chars" = yes ; then AC_DEFINE(OPT_WIDER_ICHAR,0) enable_wchar=yes fi if test "$enable_wchar" = yes ; then AC_DEFINE(OPT_WIDE_CHARS,1) EXTRAHDRS="$EXTRAHDRS charclass.h precompose.h wcwidth.h" EXTRASRCS="$EXTRASRCS charclass.c precompose.c wcwidth.c" EXTRAOBJS="$EXTRAOBJS charclass.o precompose.o wcwidth.o" fi AC_MSG_CHECKING(if you want dynamic-abbreviation support) CF_ARG_ENABLE(dabbrev, [ --enable-dabbrev enable dynamic-abbreviation support], [enable_dabbrev=yes], [enable_dabbrev=no]) AC_MSG_RESULT($enable_dabbrev) if test "$enable_dabbrev" = yes ; then AC_DEFINE(OPT_DABBREV,1) fi AC_MSG_CHECKING(if you want DECterm Locator support) CF_ARG_ENABLE(dec-locator, [ --enable-dec-locator enable DECterm Locator support], [enable_dec_locator=yes], [enable_dec_locator=no]) AC_MSG_RESULT($enable_dec_locator) if test "$enable_dec_locator" = yes ; then AC_DEFINE(OPT_DEC_LOCATOR,1) fi AC_MSG_CHECKING(if you want VT420 rectangle support) CF_ARG_DISABLE(rectangles, [ --disable-rectangles disable VT420 rectangle support], [enable_rectangles=no], [enable_rectangles=yes]) AC_MSG_RESULT($enable_rectangles) if test "$enable_rectangles" = yes ; then AC_DEFINE(OPT_DEC_RECTOPS,1) fi AC_MSG_CHECKING(if you want -ziconbeep option) CF_ARG_DISABLE(ziconbeep, [ --disable-ziconbeep disable -ziconbeep option], [enable_ziconbeep=no], [enable_ziconbeep=yes]) AC_MSG_RESULT($enable_ziconbeep) test "$enable_ziconbeep" = no && AC_DEFINE(OPT_ZICONBEEP,0) ############################################################################### CF_HELP_MESSAGE(Testing/development Options:) AC_MSG_CHECKING(if you want debugging traces) CF_ARG_ENABLE(trace, [ --enable-trace test: set to enable debugging traces], [enable_trace=yes], [enable_trace=no]) AC_MSG_RESULT($enable_trace) if test "$enable_trace" = yes ; then AC_DEFINE(OPT_TRACE) EXTRASRCS="$EXTRASRCS trace.c" EXTRAOBJS="$EXTRAOBJS trace.o" fi AC_MSG_CHECKING(if you want to test memory leaks) CF_ARG_DISABLE(leaks, [ --disable-leaks test: set to test memory leaks], [disable_leaks=yes], [disable_leaks=no]) AC_MSG_RESULT($disable_leaks) if test "$disable_leaks" = yes ; then AC_DEFINE(NO_LEAKS) fi CF_DISABLE_ECHO AC_MSG_CHECKING(if you want magic cookie emulation) CF_ARG_ENABLE(xmc-glitch, [ --enable-xmc-glitch test: enable xmc magic-cookie emulation], [enable_xmc=yes], [enable_xmc=no]) AC_MSG_RESULT($enable_xmc) if test "$enable_xmc" = yes ; then AC_DEFINE(OPT_XMC_GLITCH,1) EXTRASRCS="$EXTRASRCS testxmc.c" EXTRAOBJS="$EXTRAOBJS testxmc.o" fi dnl FIXME - extra test needed to make tcap-fkeys work on HPUX AC_CHECK_FUNCS(tigetstr) dnl only check for ncurses' use_extended_names if really not using termcap if test -n "$cf_cv_lib_part_tgetent"; then AC_CHECK_FUNCS(use_extended_names) fi if test -n "$GCC" ; then AC_MSG_CHECKING(if you want to turn on gcc warnings) CF_ARG_ENABLE(warnings, [ --enable-warnings test: turn on 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(Wdeclaration-after-statement Wextra Wno-unknown-pragmas Wswitch-enum) fi fi AC_SUBST(EXTRA_CFLAGS) AC_SUBST(CHARPROC_DEPS) AC_SUBST(EXTRAHDRS) AC_SUBST(EXTRASRCS) AC_SUBST(EXTRAOBJS) test "$disable_setuid" = yes && AC_DEFINE(DISABLE_SETUID) test "$disable_setgid" = yes && AC_DEFINE(DISABLE_SETGID) if test $disable_setuid = yes ; then MAY_SETUID="#" NOT_SETUID= elif test $disable_setgid = yes ; then MAY_SETUID="#" NOT_SETUID= else MAY_SETUID= NOT_SETUID="#" fi AC_SUBST(MAY_SETUID) AC_SUBST(NOT_SETUID) ### remove from CPPFLAGS the optional features we define in xtermcfg.h ### or other conflicting symbols that may be defined via imake: for cf_def in \ __STDC__ \ ALLOWLOGGING \ ALLOWLOGFILEEXEC \ OPT_LUIT_PROG \ OPT_WIDE_CHARS \ SCROLLBAR_RIGHT \ USE_TTY_GROUP \ USE_UTEMPTER \ XRENDERFONT do CPPFLAGS=`echo "$CPPFLAGS" | sed -e s/-D$cf_def//` done CF_MAKE_TAGS CF_DISABLE_RPATH_HACK # Force plink.sh to not trim pcre's libraries, which have the same symbol # names as the system regexp. if test "$with_pcre" != no then LIBS=`echo "$LIBS" | sed -e 's/-lpcre/-kpcre/g'` fi ### output xtermcfg.h, etc AC_OUTPUT(Makefile df-install minstall:minstall.in)