--- rxvt-unicode/autoconf/configure.in 2003/11/24 17:28:08 1.1 +++ rxvt-unicode/autoconf/configure.in 2006/01/16 15:12:48 1.74 @@ -1,19 +1,22 @@ dnl# -*- sh -*- dnl# -dnl# $Id: configure.in,v 1.1 2003/11/24 17:28:08 pcg Exp $ -dnl# dnl# Process this file with autoconf to produce a configure script. dnl# -AC_INIT(src/feature.h) +AC_PREREQ(2.50) +orig_CXXFLAGS="$CXXFLAGS" + +AC_INIT +AC_CONFIG_SRCDIR([src/feature.h]) AC_CONFIG_AUX_DIR(autoconf) AC_CONFIG_HEADER(config.h:autoconf/config.h.in) +AC_CANONICAL_HOST + dnl RXVT version changequote(, )dnl VERSION=`sed -n -e 's/^.*[ \t]VERSION.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h` DATE=`sed -n -e 's/^.*[ \t]DATE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h` -LSMDATE=`sed -n -e 's/^.*[ \t]LSMDATE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h` -LIBVERSION=`sed -n -e 's/^.*[ \t]LIBVERSION.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h` +dnl LIBVERSION=`sed -n -e 's/^.*[ \t]LIBVERSION.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h` changequote([, ])dnl AC_SUBST(VERSION)dnl AC_SUBST(DATE)dnl @@ -32,39 +35,98 @@ AC_PROG_INSTALL AC_PROG_AWK +AC_LANG(C) + +dnl# -------------------------------------------------------------------------- +dnl# Supply default CFLAGS, if not specified by `CFLAGS=flags ./configure' +dnl# +if test -z "$orig_CXXFLAGS"; then + CXXFLAGS='-O' + if test x$GCC = xyes && test "x$GXX" = xyes; then + CXXFLAGS="-g -O3" + fi + CFLAGS="$CXXFLAGS" +fi + +LINKER="$CXX" +if test x$GCC = xyes && test x$GXX = xyes; then + AC_CHECK_LIB(supc++, main, [ + LINKER="$CC" + LIBS="$LIBS -lsupc++" + ]) +fi +AC_SUBST(LINKER,[$LINKER]) + +AC_DEFINE(_GNU_SOURCE, 1, Use all glibc features.) + +case $host in + *-*-solaris* ) + AC_DEFINE(_XOPEN_SOURCE_EXTENDED, 1, Needed to get declarations for msg_control and msg_controllen on Solaris) + AC_DEFINE(_XOPEN_SOURCE, 2, Needed to get declarations for msg_control and msg_controllen on Solaris) + AC_DEFINE(__EXTENSIONS__, 1, Needed to get declarations for msg_control and msg_controllen on Solaris) + ;; +esac + +dnl if test x$GXX = xyes; then +dnl CXXFLAGS="$CXXFLAGS" dnl I once had -fno-exceptions, but I am using them now... +dnl fi + +AC_LANG(C++) + dnl# system hacks AC_AIX AC_ISC_POSIX -AC_ENABLE_SHARED(no)dnl# libtool -AC_ENABLE_STATIC(yes)dnl# libtool -AC_PROG_LIBTOOL()dnl# libtool +dnl# FreeBSD needs to link libxpg4 +AC_CHECK_FUNC(setlocale, [], [AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"])]) + +dnl# solaris needs to link libnsl and socket +AC_CHECK_FUNC(gethostbyname, [], [AC_CHECK_LIB(nsl, gethostbyname, [LIBS="$LIBS -lnsl"])]) +AC_CHECK_FUNC(socket, [], [AC_CHECK_LIB(socket, socket, [LIBS="$LIBS -lsocket"])]) + +dnl# more solaris +AC_CHECK_FUNC(sched_yield, [], [AC_CHECK_LIB(rt, sched_yield, [LIBS="$LIBS -lrt"])]) + +dnl# sched_yield to improve terminal efficiency +AC_MSG_CHECKING(for sched_yield support) +AC_TRY_LINK([#include ],[sched_yield ()], + [AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_SCHED_YIELD, 1, Define if you have sched-h and sched_yield)], + [AC_MSG_RESULT(no)]) + +dnl AC_ENABLE_SHARED(no)dnl# libtool +dnl AC_ENABLE_STATIC(yes)dnl# libtool +dnl AC_PROG_LIBTOOL()dnl# libtool MALLOC_TYPE=S -support_addstrings=no -support_frills=no -support_linespace=no -support_graphics=no -support_inheritpixmap=no -support_keepscrolling=no -support_selectionscrolling=no -support_menubar=no -support_mousewheel=no -support_mouseslipwheel=no -support_oldselection=no -support_utmp=no -support_wtmp=no -support_lastlog=no -support_cursor_blink=no -support_pointer_blank=no -support_scroll_rxvt=no -support_scroll_next=no -support_scroll_xterm=no -support_xim=no -support_xpm=no -support_xft=no + +support_frills=yes +support_inheritpixmap=yes +support_tinting=yes +support_fading=yes +support_keepscrolling=yes +support_selectionscrolling=yes +support_mousewheel=yes +support_mouseslipwheel=yes +support_utmp=yes +support_wtmp=yes +support_lastlog=yes +support_text_blink=yes +support_pointer_blank=yes +support_scroll_rxvt=yes +support_scroll_next=yes +support_scroll_xterm=yes +support_scroll_plain=yes +support_xim=yes +support_xpm=yes +support_xft=yes support_unicode3=no -codesets= +support_combining=yes +support_8bitctrls=no +support_iso14755=yes +support_styles=yes +support_perl=yes +codesets=all dnl# -------------------------------------------------------------------------- dnl# CHECKING COMMAND LINE OPTIONS @@ -77,138 +139,182 @@ AC_SUBST(INSTALL_LIBRXVT) AC_ARG_ENABLE(everything, - [ --enable-everything enable standard non-multichoice features: marked * + [ --enable-everything enable standard non-multichoice features NOTE: this option is order dependent NOTE: automatically enabled with --enable-shared], - [if test x$enableval = xyes; then - support_24bit=yes - support_frills=yes - support_linespace=yes - support_graphics=yes - support_inheritpixmap=yes - support_keepscrolling=yes - support_selectionscrolling=yes - support_lastlog=yes - support_menubar=yes - support_mousewheel=yes - support_mouseslipwheel=yes - support_oldselection=yes - support_cursor_blink=yes - support_pointer_blank=yes - support_scroll_rxvt=yes - support_scroll_next=yes - support_scroll_xterm=yes - support_utmp=yes - support_wtmp=yes - support_xim=yes - support_xpm=yes - support_xft=yes - support_unicode3=yes - codesets=all - fi]) + [ + if test x$enableval = xno; then + support_24bit=no + support_frills=no + support_inheritpixmap=no + support_tinting=no + support_fading=no + support_keepscrolling=no + support_selectionscrolling=no + support_lastlog=no + support_mousewheel=no + support_mouseslipwheel=no + support_text_blink=no + support_pointer_blank=no + support_scroll_rxvt=no + support_scroll_next=no + support_scroll_xterm=no + support_scroll_plain=no + support_utmp=no + support_wtmp=no + support_xim=no + support_xpm=no + support_xft=no + support_unicode3=no + support_combining=no + support_8bitctrls=no + support_iso14755=no + support_styles=no + support_perl=no + codesets= + fi + if test x$enableval = xyes; then + support_24bit=yes + support_frills=yes + support_inheritpixmap=yes + support_tinting=yes + support_fading=yes + support_keepscrolling=yes + support_selectionscrolling=yes + support_lastlog=yes + support_mousewheel=yes + support_mouseslipwheel=yes + support_text_blink=yes + support_pointer_blank=yes + support_scroll_rxvt=yes + support_scroll_next=yes + support_scroll_xterm=yes + support_scroll_plain=yes + support_utmp=yes + support_wtmp=yes + support_xim=yes + support_xpm=yes + support_xft=yes + support_unicode3=yes + support_combining=yes + #support_8bitctrls=yes + support_iso14755=yes + support_styles=yes + support_perl=yes + codesets=all + fi + ]) AC_ARG_ENABLE(unicode3, [ --enable-unicode3 use 21 instead of 16 bits to represent unicode characters], - [if test x$enableval = xyes; then - support_unicode3=yes + [if test x$enableval = xyes -o x$enableval = xno; then + support_unicode3=$enableval fi]) -AC_ARG_ENABLE(xft, - [ --enable-xft enable xft support on systems that have it], - [if test x$enableval = xyes; then - support_xft=yes +AC_ARG_ENABLE(combining, + [ --enable-combining enable composition of base and combining characters], + [if test x$enableval = xyes -o x$enableval = xno; then + support_combining=$enableval fi]) -AC_ARG_WITH(codesets, - [ --with-codesets=NAME,... compile in additional codesets (hp,jp_ext,kr,cn,cn_ext,vn,all)], - [if test x$enableval = xyes; then - codesets="$withval" +AC_ARG_ENABLE(xft, + [ --enable-xft enable xft support on systems that have it], + [if test x$enableval = xyes -o x$enableval = xno; then + support_xft=$enableval fi]) -AC_ARG_WITH(encoding, - [ --with-encoding=NAME set language default encoding to NAME (default: sjis) - (eucj|sjis|big5|gb|kr|noenc)], - [if test x$enableval = xyes; then - withval=`echo $withval | tr '[a-z]' '[A-Z]'` - AC_DEFINE_UNQUOTED(MULTICHAR_ENCODING, $withval, Define default multichar glyph encoding) +AC_ARG_ENABLE(font-styles, + [ --enable-font-styles enable bold and italic support], + [if test x$enableval = xyes -o x$enableval = xno; then + support_styles=$enableval fi]) AC_ARG_ENABLE(utmp, - [ --enable-utmp enable utmp (utmpx) support *], + [ --enable-utmp enable utmp (utmpx) support], [if test x$enableval = xyes -o x$enableval = xno; then support_utmp=$enableval fi]) AC_ARG_ENABLE(wtmp, - [ --enable-wtmp enable wtmp (wtmpx) support (requires --enable-utmp)*], + [ --enable-wtmp enable wtmp (wtmpx) support (requires --enable-utmp)], [if test x$enableval = xyes -o x$enableval = xno; then support_wtmp=$enableval fi]) AC_ARG_ENABLE(lastlog, - [ --enable-lastlog enable lastlog support (requires --enable-utmp) *], + [ --enable-lastlog enable lastlog support (requires --enable-utmp)], [if test x$enableval = xyes -o x$enableval = xno; then support_lastlog=$enableval fi]) AC_ARG_ENABLE(xpm-background, - [ --enable-xpm-background enable XPM background pixmaps *], + [ --enable-xpm-background enable XPM background pixmaps], [if test x$enableval = xyes -o x$enableval = xno; then support_xpm=$enableval fi]) AC_ARG_ENABLE(transparency, - [ --enable-transparency enable transparent backgrounds *], + [ --enable-transparency enable transparent backgrounds], [if test x$enableval = xyes -o x$enableval = xno; then support_inheritpixmap=$enableval fi]) -AC_ARG_ENABLE(menubar, - [ --enable-menubar enable menubar *], +AC_ARG_ENABLE(tinting, + [ --enable-tinting enable tinting of transparent bg], [if test x$enableval = xyes -o x$enableval = xno; then - support_menubar=$enableval + support_tinting=$enableval fi]) -AC_ARG_ENABLE(graphics, - [ --enable-graphics enable rxvt own graphics mode (see src/graphics) *], +AC_ARG_ENABLE(fading, + [ --enable-fading enable colors fading when off focus], [if test x$enableval = xyes -o x$enableval = xno; then - support_graphics=$enableval + support_fading=$enableval fi]) AC_ARG_ENABLE(rxvt-scroll, - [ --enable-rxvt-scroll enable rxvt style scrollbar *], + [ --enable-rxvt-scroll enable rxvt style scrollbar], [if test x$enableval = xyes -o x$enableval = xno; then support_scroll_rxvt=$enableval fi]) AC_ARG_ENABLE(next-scroll, - [ --enable-next-scroll enable NeXT style scrollbar *], + [ --enable-next-scroll enable NeXT style scrollbar], [if test x$enableval = xyes -o x$enableval = xno; then support_scroll_next=$enableval fi]) AC_ARG_ENABLE(xterm-scroll, - [ --enable-xterm-scroll enable Xterm style scrollbar *], + [ --enable-xterm-scroll enable Xterm style scrollbar], [if test x$enableval = xyes -o x$enableval = xno; then support_scroll_xterm=$enableval fi]) -AC_ARG_ENABLE(half-shadow, - [ --enable-half-shadow use half width/height shadow on rxvt scrollbar], - [if test x$enableval = xyes; then - AC_DEFINE(HALFSHADOW, 1, Define if you want the depth of scrollbars and menus to be less) +AC_ARG_ENABLE(perl, + [ --enable-perl enable embedded perl interpreter], + [if test x$enableval = xyes -o x$enableval = xno; then + support_perl=$enableval fi]) -AC_ARG_ENABLE(xim, - [ --enable-xim XIM (X Input Method) protocol support *], +AC_ARG_ENABLE(plain-scroll, + [ --enable-plain-scroll enable plain style scrollbar], [if test x$enableval = xyes -o x$enableval = xno; then - support_xim=$enableval + support_scroll_plain=$enableval fi]) -AC_ARG_ENABLE(greek, - [ --enable-greek enable greek keyboard support], - [if test x$enableval = xyes; then - AC_DEFINE(GREEK_SUPPORT, 1, Define if you want support for Greek Elot-928 & IBM-437 keyboard) +dnl AC_ARG_ENABLE(half-shadow, +dnl [ --enable-half-shadow use half width/height shadow on rxvt scrollbar], +dnl [if test x$enableval = xyes; then +dnl AC_DEFINE(HALFSHADOW, 1, Define if you want the depth of scrollbars and menus to be less) +dnl fi]) + +AC_ARG_WITH(codesets, + [ --with-codesets=NAME,.. compile in additional codesets (jp,jp_ext,kr,zh,zh_ext,all)], + [codesets="$withval"]) + +AC_ARG_ENABLE(xim, + [ --enable-xim XIM (X Input Method) protocol support], + [if test x$enableval = xyes -o x$enableval = xno; then + support_xim=$enableval fi]) AC_ARG_ENABLE(ttygid, @@ -235,78 +341,94 @@ AC_DEFINE(NO_RESOURCES, 1, Define if you don't want any resources read) fi]) -AC_ARG_ENABLE(xgetdefault, - [ --enable-xgetdefault enable resources via X instead of our small version], - [if test x$enableval = xyes; then - AC_DEFINE(USE_XGETDEFAULT, 1, Define if you want to use XGetDefault instead of our internal version) - fi]) - -AC_ARG_ENABLE(strings, - [ --enable-strings enable some replacement system functions], +AC_ARG_ENABLE(8bitctrls, + [ --enable-8bitctrls enable 8 bit control sequences (not recommended)], [if test x$enableval = xyes -o x$enableval = xno; then - support_addstrings=$enableval + support_8bitctrls=$enableval fi]) +RESFALLBACK=Rxvt +AC_ARG_ENABLE(fallback, + [ --enable-fallback(=CLASS) fall back on CLASS resources in addition to URxvt ones (default: Rxvt)], + [ + test x$enableval = xyes && enableval=Rxvt + test x$enableval = xno && enableval= + RESFALLBACK="$enableval" + ]) + +if test x$RESFALLBACK != x; then + AC_DEFINE_UNQUOTED(RESFALLBACK, "$RESFALLBACK", [Fallback resource class]) +fi + +RESNAME=urxvt +AC_ARG_WITH(res-name, + [ --with-res-name=NAME use this as default resource name (default: urxvt)], + [RESNAME="$withval"]) +AC_DEFINE_UNQUOTED(RESNAME,"$RESNAME", [Default resource name]) + +RESCLASS=URxvt +AC_ARG_WITH(res-class, + [ --with-res-class=CLASS use this as the resource class (default: URxvt)], + [RESCLASS="$withval"]) +AC_DEFINE_UNQUOTED(RESCLASS,"$RESCLASS", [Resource class]) + +RXVTNAME=urxvt +AC_ARG_WITH(name, + [ --with-name=NAME set the basename for the installed binaries (default: urxvt)], + [RXVTNAME="$withval"]) +AC_DEFINE_UNQUOTED(RXVTNAME,"$RXVTNAME", [Binary base name]) + +RXVTNAME=`echo "$RXVTNAME"|sed "$program_transform_name"` +AC_SUBST(RXVTNAME) + AC_ARG_ENABLE(swapscreen, [ --disable-swapscreen disable swap screen support], [if test x$enableval = xno; then AC_DEFINE(NO_SECONDARY_SCREEN, 1, Disable the secondary screen. Many programs use the secondary screen as their workplace) fi]) -AC_ARG_ENABLE(frills, - [ --enable-frills enable support for rarely used features *], +AC_ARG_ENABLE(iso14755, + [ --enable-iso14755 enable support for extended ISO 14755 modes], [if test x$enableval = xyes -o x$enableval = xno; then - support_frills=$enableval + support_iso14755=$enableval fi]) -AC_ARG_ENABLE(linespace, - [ --enable-linespace enable support for linespace *], +AC_ARG_ENABLE(frills, + [ --enable-frills enable support for rarely used features], [if test x$enableval = xyes -o x$enableval = xno; then - support_linespace=$enableval + support_frills=$enableval fi]) AC_ARG_ENABLE(24bit, - [ --enable-24bit enable support for using 24bit visuals if available *], + [ --enable-24bit enable support for using 24bit visuals if available], [if test x$enableval = xyes -o x$enableval = xno; then support_24bit=$enableval fi]) AC_ARG_ENABLE(keepscrolling, - [ --enable-keepscrolling enable continual scrolling on scrollbar arrow press *], + [ --enable-keepscrolling enable continual scrolling on scrollbar arrow press], [if test x$enableval = xyes -o x$enableval = xno; then support_keepscrolling=$enableval fi]) AC_ARG_ENABLE(selectionscrolling, - [ --enable-selectionscrolling enable scrolling during selections *], + [ --enable-selectionscrolling enable scrolling during selections], [if test x$enableval = xyes -o x$enableval = xno; then support_selectionscrolling=$enableval fi]) AC_ARG_ENABLE(mousewheel, - [ --enable-mousewheel enable scrolling via mouse wheel or buttons 4 & 5 *], + [ --enable-mousewheel enable scrolling via mouse wheel or buttons 4 & 5], [if test x$enableval = xyes -o x$enableval = xno; then support_mousewheel=$enableval fi]) AC_ARG_ENABLE(slipwheeling, - [ --enable-slipwheeling enable slip wheel scrolling (requires previous) *], + [ --enable-slipwheeling enable slip wheel scrolling (requires previous)], [if test x$enableval = xyes -o x$enableval = xno; then support_mouseslipwheel=$enableval fi]) -AC_ARG_ENABLE(old-selection, - [ --enable-old-selection enable v2.20 (& prior) mouse selection style support*], - [if test x$enableval = xyes -o x$enableval = xno; then - support_oldselection=$enableval - fi]) - -AC_ARG_ENABLE(new-selection, - [ --disable-new-selection disable new mouse (xterm) selection style support], - [if test x$enableval = xno; then - AC_DEFINE(NO_NEW_SELECTION, 1, Define to remove xterm style mouse selection) - fi]) - AC_ARG_ENABLE(dmalloc, [ --enable-dmalloc enable Gray Watson's malloc - for debugging use], [if test x$enableval = xyes; then @@ -332,26 +454,20 @@ AC_DEFINE(SMART_RESIZE, 1, Define to use "smart" resize behavior) fi]) -AC_ARG_ENABLE(256-color, - [ --enable-256-color enable 256-color support], - [if test x$enableval = xyes; then - AC_DEFINE(TTY_256COLOR, 1, Define if you want 256 colour support) - fi]) - -AC_ARG_ENABLE(cursor-blink, - [ --enable-cursor-blink enable blinking cursor *], +AC_ARG_ENABLE(text-blink, + [ --enable-text-blink enable blinking text], [if test x$enableval = xyes -o x$enableval = xno; then - support_cursor_blink=$enableval + support_text_blink=$enableval fi]) AC_ARG_ENABLE(pointer-blank, - [ --enable-pointer-blank enable pointer blank when typing or inactive pointer*], + [ --enable-pointer-blank enable pointer blank when typing or inactive pointer], [if test x$enableval = xyes -o x$enableval = xno; then support_pointer_blank=$enableval fi]) AC_ARG_WITH(term, - [ --with-term=NAME set the terminal to NAME (default \"xterm\")], + [ --with-term=NAME set the terminal to NAME (default: rxvt)], [if test x$withval != x; then AC_DEFINE_UNQUOTED(TERMENV, "$withval",Set TERM to the value given by configure) term="$withval" fi]) @@ -366,21 +482,6 @@ AC_DEFINE(PROTOTYPES, 1, Define if you need function prototypes) -dnl# -------------------------------------------------------------------------- -dnl# Supply default CFLAGS, if not specified by `CFLAGS=flags ./configure' -dnl# -if test -z "$CFLAGS"; then - if test -z "$CCOPTS"; then - CCOPTS='-O' -dnl> if test "x$GCC" = xyes; then -dnl> if test x$system = xLinux; then -dnl> CCOPTS="$CCOPTS "'-O2 -fno-strength-reduce' -dnl> fi -dnl> fi - fi - CFLAGS="$CCOPTS" -fi - AC_PATH_PROG(MV, mv, mv) AC_PATH_PROG(RM, rm, rm) AC_PATH_PROG(CP, cp, cp) @@ -389,6 +490,7 @@ AC_PATH_PROG(ECHO, echo, echo) AC_PATH_PROG(CMP, cmp, cmp) AC_PATH_PROG(TBL, tbl) +AC_PATH_PROG(TIC, tic) dnl# need a neat way to detect SVR4 or its features dnl# in src/command.c we use these functions: @@ -435,21 +537,28 @@ sys/select.h \ sys/sockio.h \ sys/strredir.h \ + sys/stropts.h \ sys/time.h \ utmp.h \ utmpx.h \ stdint.h \ + pty.h \ + util.h \ + libutil.h \ + wchar.h \ + cwchar \ + clocale \ ) AC_HEADER_TIME dnl# check to allow both and AC_CACHE_CHECK(whether termios.h and sys/ioctl.h may both be included, rxvt_cv_header_sysioctl, -[AC_TRY_COMPILE([#include +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include #include #ifdef HAVE_TERMIOS_H #include -#endif], [int a = ECHO;], rxvt_cv_header_sysioctl=yes, rxvt_cv_header_sysioctl=no)]) +#endif]], [[int a = ECHO;]])],[rxvt_cv_header_sysioctl=yes],[rxvt_cv_header_sysioctl=no])]) dnl# ELF systems may want to store paths for dynamic libraries. dnl# Lets see if the compiler can accept "-Rpath" or "-Wl,-Rpath" @@ -468,33 +577,32 @@ CFLAGS="$CFLAGS $X_CFLAGS" LIBS=`echo "$LIBS $X_LIBS $X_EXTRA_LIBS -lX11" | sed "$R_TRANSLATE"` AC_CACHE_CHECK([for -rpath dynamic library path recording], rxvt_cv_rpath, -[AC_TRY_RUN([ +[AC_RUN_IFELSE([AC_LANG_SOURCE([[ main() { exit(0); (void) XOpenDisplay("foobar"); -}], rxvt_cv_rpath=yes, rxvt_cv_rpath=no, dnl - AC_MSG_WARN([You may need to check the LIBS line]))]) +}]])],[rxvt_cv_rpath=yes],[rxvt_cv_rpath=no],[dnl + AC_MSG_WARN(You may need to check the LIBS line)])]) if test x$rxvt_cv_rpath != xyes; then changequote(, )dnl R_TRANSLATE='s/-L\([^ ]*\)/-L\1 '$LDARG'-R\1/g' changequote([, ])dnl LIBS=`echo "$ac_save_LIBS $X_LIBS $X_EXTRA_LIBS -lX11" | sed "$R_TRANSLATE"` AC_CACHE_CHECK([for -R dynamic library path recording], rxvt_cv_R, -[AC_TRY_RUN([ +[AC_RUN_IFELSE([AC_LANG_SOURCE([[ main() { exit(0); (void) XOpenDisplay("foobar"); -}], rxvt_cv_R=yes, rxvt_cv_R=no, rxvt_cv_R=no)]) +}]])],[rxvt_cv_R=yes],[rxvt_cv_R=no],[rxvt_cv_R=no])]) if test x$rxvt_cv_R != xyes; then LIBS="$ac_save_LIBS $X_LIBS $X_EXTRA_LIBS -lX11" fi fi AC_CACHE_CHECK([for XPointer], rxvt_cv_xpointer, -[AC_TRY_COMPILE([#include ], [XPointer dummy;], -rxvt_cv_xpointer=yes, rxvt_cv_xpointer=no)]) +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[XPointer dummy;]])],[rxvt_cv_xpointer=yes],[rxvt_cv_xpointer=no])]) if test x$rxvt_cv_xpointer = xyes; then AC_DEFINE(HAVE_XPOINTER, 1, Define if you have XPointer typedef) fi @@ -517,33 +625,29 @@ AC_TYPE_PID_T AC_TYPE_UID_T - -AC_CHECK_SIZEOF(char, 1) AC_CHECK_SIZEOF(short, 2) AC_CHECK_SIZEOF(int, 4) -AC_CHECK_SIZEOF(long, 4) +dnl AC_CHECK_SIZEOF(long, 4) AC_CHECK_SIZEOF(long long, 8) AC_CHECK_SIZEOF(int *, 4) dnl# see usage below AC_DEFUN(RXVT_CHECK_SIZE, [AC_CACHE_CHECK([for $2], $1, - [AC_TRY_COMPILE([#include ], $2 dummy;, - [$1=yes], - [dnl -if test $ac_cv_sizeof_char -ge $3; then + [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[$2 dummy;]])],[$1=yes],[dnl +if test "$ac_cv_sizeof_char" -ge $3; then $1="$4 char" else - if test $ac_cv_sizeof_short -ge $3; then + if test "$ac_cv_sizeof_short" -ge $3; then $1="$4 short" else - if test $ac_cv_sizeof_int -ge $3; then + if test "$ac_cv_sizeof_int" -ge $3; then $1="$4 int" else - if test $ac_cv_sizeof_long -ge $3; then + if test "$ac_cv_sizeof_long" -ge $3; then $1="$4 long" else - if test $ac_cv_sizeof_long_long -ge $3; then + if test "$ac_cv_sizeof_long_long" -ge $3; then $1="$4 long long" else $1="$4 $5" # we _must_ have a (possibly wrong) default @@ -580,15 +684,15 @@ dnl# dnl# Now look for another we use dnl# -if test $ac_cv_sizeof_int_p -eq 8; then +if test "$ac_cv_sizeof_int_p" -eq 8; then rxvt_intp_define="#define intp_t int64_t" rxvt_u_intp_define="#define u_intp_t u_int64_t" else - if test $ac_cv_sizeof_int_p -eq 4; then + if test "$ac_cv_sizeof_int_p" -eq 4; then rxvt_intp_define="#define intp_t int32_t" rxvt_u_intp_define="#define u_intp_t u_int32_t" else - if test $ac_cv_sizeof_int_p -eq 2; then + if test "$ac_cv_sizeof_int_p" -eq 2; then rxvt_intp_define="#define intp_t int16_t" rxvt_u_intp_define="#define u_intp_t u_int16_t" else @@ -622,17 +726,17 @@ setsid \ setpgrp \ setpgid \ - openpty \ _getpty \ + posix_openpt \ grantpt \ unlockpt \ isastream \ on_exit \ nanosleep \ updwtmp \ + updwtmpx \ ttyslot \ ) -dnl# Note: On NetBSD, openpty() exists in libutil. Don't pull it in dnl# -------------------------------------------------------------------------- dnl# DO ALL UTMP AND WTMP CHECKING @@ -642,30 +746,24 @@ dnl# -------------------------------------------- AC_CHECK_HEADER(utmp.h, [AC_CACHE_CHECK([for struct utmp], rxvt_cv_struct_utmp, -[AC_TRY_COMPILE([#include +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include #include -#include ], -[struct utmp ut;], -rxvt_cv_struct_utmp=yes, rxvt_cv_struct_utmp=no)]) +#include ]], [[struct utmp ut;]])],[rxvt_cv_struct_utmp=yes],[rxvt_cv_struct_utmp=no])]) if test x$rxvt_cv_struct_utmp = xyes; then AC_DEFINE(HAVE_STRUCT_UTMP, 1, Define if utmp.h has struct utmp) fi ] AC_CACHE_CHECK(for ut_host in utmp struct, rxvt_cv_struct_utmp_host, -[AC_TRY_COMPILE([#include -#include ], -[struct utmp ut; ut.ut_host;], -rxvt_cv_struct_utmp_host=yes, rxvt_cv_struct_utmp_host=no)]) +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include +#include ]], [[struct utmp ut; ut.ut_host;]])],[rxvt_cv_struct_utmp_host=yes],[rxvt_cv_struct_utmp_host=no])]) if test x$rxvt_cv_struct_utmp_host = xyes; then AC_DEFINE(HAVE_UTMP_HOST, 1, Define if struct utmp contains ut_host) fi AC_CACHE_CHECK(for ut_pid in utmp struct, rxvt_cv_struct_utmp_pid, -[AC_TRY_COMPILE([#include -#include ], -[struct utmp ut; ut.ut_pid;], -rxvt_cv_struct_utmp_pid=yes, rxvt_cv_struct_utmp_pid=no)]) +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include +#include ]], [[struct utmp ut; ut.ut_pid;]])],[rxvt_cv_struct_utmp_pid=yes],[rxvt_cv_struct_utmp_pid=no])]) if test x$rxvt_cv_struct_utmp_pid = xyes; then AC_DEFINE(HAVE_UTMP_PID, 1, Define if struct utmp contains ut_pid) fi @@ -675,51 +773,51 @@ AC_CHECK_HEADER(utmpx.h, [AC_CACHE_CHECK([for struct utmpx], rxvt_cv_struct_utmpx, -[AC_TRY_COMPILE([#include -#include ], -[struct utmpx ut;], -rxvt_cv_struct_utmpx=yes, rxvt_cv_struct_utmpx=no)]) +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include +#include ]], [[struct utmpx ut;]])],[rxvt_cv_struct_utmpx=yes],[rxvt_cv_struct_utmpx=no])]) if test x$rxvt_cv_struct_utmpx = xyes; then AC_DEFINE(HAVE_STRUCT_UTMPX, 1, Define if utmpx.h has struct utmpx) fi ] AC_CACHE_CHECK(for host in utmpx struct, rxvt_cv_struct_utmpx_host, -[AC_TRY_COMPILE([#include -#include ], -[struct utmpx utx; utx.ut_host;], -rxvt_cv_struct_utmpx_host=yes, rxvt_cv_struct_utmpx_host=no)]) +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include +#include ]], [[struct utmpx utx; utx.ut_host;]])],[rxvt_cv_struct_utmpx_host=yes],[rxvt_cv_struct_utmpx_host=no])]) if test x$rxvt_cv_struct_utmpx_host = xyes; then AC_DEFINE(HAVE_UTMPX_HOST, 1, Define if struct utmpx contains ut_host) fi -) dnl# AC_CHECK_HEADER(utmpx.h +AC_CACHE_CHECK(for session in utmpx struct, rxvt_cv_struct_utmpx_session, +[AC_TRY_COMPILE([#include +#include ], +[struct utmpx utx; utx.ut_session;], +rxvt_cv_struct_utmpx_session=yes, rxvt_cv_struct_utmpx_session=no)]) +if test x$rxvt_cv_struct_utmpx_session = xyes; then + AC_DEFINE(HAVE_UTMPX_SESSION, 1, Define if struct utmpx contains ut_session) +fi +) dnl# AC_CHECK_HEADER(utmpx.h dnl# -------------------------------------------------------------------------- dnl# check for struct lastlog AC_CACHE_CHECK(for struct lastlog, rxvt_cv_struct_lastlog, -[AC_TRY_COMPILE([#include +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include #include #ifdef HAVE_LASTLOG_H #include #endif -], -[struct lastlog ll;], -rxvt_cv_struct_lastlog=yes, rxvt_cv_struct_lastlog=no)]) +]], [[struct lastlog ll;]])],[rxvt_cv_struct_lastlog=yes],[rxvt_cv_struct_lastlog=no])]) if test x$rxvt_cv_struct_lastlog = xyes; then AC_DEFINE(HAVE_STRUCT_LASTLOG, 1, Define if utmp.h or lastlog.h has struct lastlog) fi dnl# check for struct lastlogx AC_CACHE_CHECK(for struct lastlogx, rxvt_cv_struct_lastlogx, -[AC_TRY_COMPILE([#include +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include #include #ifdef HAVE_LASTLOG_H #include #endif -], -[struct lastlogx ll;], -rxvt_cv_struct_lastlogx=yes, rxvt_cv_struct_lastlogx=no)]) +]], [[struct lastlogx ll;]])],[rxvt_cv_struct_lastlogx=yes],[rxvt_cv_struct_lastlogx=no])]) if test x$rxvt_cv_struct_lastlogx = xyes; then AC_DEFINE(HAVE_STRUCT_LASTLOGX, 1, Define if utmpx.h or lastlog.h has struct lastlogx) fi @@ -730,7 +828,7 @@ dnl# find utmp AC_CACHE_CHECK(where utmp is located, rxvt_cv_path_utmp, -[AC_TRY_RUN([#include +[AC_RUN_IFELSE([AC_LANG_SOURCE([[#include #include #include #include @@ -755,8 +853,8 @@ } } exit(0); -}], rxvt_cv_path_utmp=`cat conftestval`, rxvt_cv_path_utmp=, dnl - AC_MSG_WARN([Define RXVT_UTMP_FILE in config.h manually]))]) +}]])],[rxvt_cv_path_utmp=`cat conftestval`],[rxvt_cv_path_utmp=],[dnl + AC_MSG_WARN(Define RXVT_UTMP_FILE in config.h manually)])]) if test x$rxvt_cv_path_utmp != x; then AC_DEFINE_UNQUOTED(RXVT_UTMP_FILE, "$rxvt_cv_path_utmp", Define location of utmp) fi @@ -766,7 +864,7 @@ dnl# find utmpx - if a utmp file exists at the same location and is more than dnl# a day newer, then dump the utmpx. People leave lots of junk around. AC_CACHE_CHECK(where utmpx is located, rxvt_cv_path_utmpx, -[AC_TRY_RUN([#include +[AC_RUN_IFELSE([AC_LANG_SOURCE([[#include #include #include #include @@ -801,8 +899,8 @@ } } exit(0); -}], rxvt_cv_path_utmpx=`cat conftestval`, rxvt_cv_path_utmpx=, dnl - AC_MSG_WARN([Define RXVT_UTMPX_FILE in config.h manually]))]) +}]])],[rxvt_cv_path_utmpx=`cat conftestval`],[rxvt_cv_path_utmpx=],[dnl + AC_MSG_WARN(Define RXVT_UTMPX_FILE in config.h manually)])]) if test x$rxvt_cv_path_utmpx != x; then AC_DEFINE_UNQUOTED(RXVT_UTMPX_FILE, "$rxvt_cv_path_utmpx", Define location of utmpx) fi @@ -811,7 +909,7 @@ dnl# find wtmp AC_CACHE_CHECK(where wtmp is located, rxvt_cv_path_wtmp, -[AC_TRY_RUN([#include +[AC_RUN_IFELSE([AC_LANG_SOURCE([[#include #include #ifdef HAVE_UTMP_H #include @@ -838,8 +936,8 @@ } } exit(0); -}], rxvt_cv_path_wtmp=`cat conftestval`, rxvt_cv_path_wtmp=, dnl - AC_MSG_WARN([Define RXVT_WTMP_FILE in config.h manually]))]) +}]])],[rxvt_cv_path_wtmp=`cat conftestval`],[rxvt_cv_path_wtmp=],[dnl + AC_MSG_WARN(Define RXVT_WTMP_FILE in config.h manually)])]) if test x$rxvt_cv_path_wtmp != x; then AC_DEFINE_UNQUOTED(RXVT_WTMP_FILE, "$rxvt_cv_path_wtmp", Define location of wtmp) fi @@ -847,7 +945,7 @@ dnl# find wtmpx AC_CACHE_CHECK(where wtmpx is located, rxvt_cv_path_wtmpx, -[AC_TRY_RUN([#include +[AC_RUN_IFELSE([AC_LANG_SOURCE([[#include #ifdef HAVE_UTMPX_H #include #endif @@ -873,8 +971,8 @@ } } exit(0); -}], rxvt_cv_path_wtmpx=`cat conftestval`, rxvt_cv_path_wtmpx=, dnl - AC_MSG_WARN([Define RXVT_WTMPX_FILE in config.h manually]))]) +}]])],[rxvt_cv_path_wtmpx=`cat conftestval`],[rxvt_cv_path_wtmpx=],[dnl + AC_MSG_WARN(Define RXVT_WTMPX_FILE in config.h manually)])]) if test x$rxvt_cv_path_wtmpx != x; then AC_DEFINE_UNQUOTED(RXVT_WTMPX_FILE, "$rxvt_cv_path_wtmpx", Define location of wtmpx) fi @@ -882,7 +980,7 @@ dnl# find lastlog AC_CACHE_CHECK(where lastlog is located, rxvt_cv_path_lastlog, -[AC_TRY_RUN([#include +[AC_RUN_IFELSE([AC_LANG_SOURCE([[#include #include #ifdef HAVE_UTMPX_H #include @@ -913,8 +1011,8 @@ } } exit(0); -}], rxvt_cv_path_lastlog=`cat conftestval`, rxvt_cv_path_lastlog=, dnl - AC_MSG_WARN([Define RXVT_LASTLOG_FILE in config.h manually]))]) +}]])],[rxvt_cv_path_lastlog=`cat conftestval`],[rxvt_cv_path_lastlog=],[dnl + AC_MSG_WARN(Define RXVT_LASTLOG_FILE in config.h manually)])]) if test x$rxvt_cv_path_lastlog != x; then AC_DEFINE_UNQUOTED(RXVT_LASTLOG_FILE, "$rxvt_cv_path_lastlog", Define location of lastlog) if test -d "$rxvt_cv_path_lastlog"; then @@ -925,7 +1023,7 @@ dnl# find lastlogx AC_CACHE_CHECK(where lastlogx is located, rxvt_cv_path_lastlogx, -[AC_TRY_RUN([#include +[AC_RUN_IFELSE([AC_LANG_SOURCE([[#include #ifdef HAVE_UTMPX_H #include #endif @@ -950,8 +1048,8 @@ } } exit(0); -}], rxvt_cv_path_lastlogx=`cat conftestval`, rxvt_cv_path_lastlogx=, dnl - AC_MSG_WARN([Define RXVT_LASTLOGX_FILE in config.h manually]))]) +}]])],[rxvt_cv_path_lastlogx=`cat conftestval`],[rxvt_cv_path_lastlogx=],[dnl + AC_MSG_WARN(Define RXVT_LASTLOGX_FILE in config.h manually)])]) if test x$rxvt_cv_path_lastlogx != x; then AC_DEFINE_UNQUOTED(RXVT_LASTLOGX_FILE, "$rxvt_cv_path_lastlogx", Define location of lastlogx) fi @@ -985,24 +1083,22 @@ LIBS=`echo $LIBS | sed "$R_TRANSLATE"` fi AC_CACHE_CHECK(for working Xlocale, rxvt_cv_func_xlocale, -[AC_TRY_RUN([#include +[AC_RUN_IFELSE([AC_LANG_SOURCE([[#include main() { char *p; if ((p = XSetLocaleModifiers("@im=none")) != NULL && *p) exit (XSupportsLocale() ? 0 : 1); else -exit (1);}], dnl - rxvt_cv_func_xlocale=yes, rxvt_cv_func_xlocale=no, dnl - AC_MSG_WARN([Define NO_XLOCALE in config.h manually]))]) +exit (1);}]])],[dnl + rxvt_cv_func_xlocale=yes],[rxvt_cv_func_xlocale=no],[dnl + AC_MSG_WARN(Define NO_XLOCALE in config.h manually)])]) if test x$rxvt_cv_func_xlocale = xyes; then AC_DEFINE(HAVE_XLOCALE, 1, Define if Xlocale support works) fi AC_CACHE_CHECK(for working X setlocale, rxvt_cv_func_xsetlocale, -[AC_TRY_LINK([#define X_LOCALE 1 -#include ], - [setlocale(LC_CTYPE, "");], - rxvt_cv_func_xsetlocale=yes, rxvt_cv_func_xsetlocale=no)]) +[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define X_LOCALE 1 +#include ]], [[setlocale(LC_CTYPE, "");]])],[rxvt_cv_func_xsetlocale=yes],[rxvt_cv_func_xsetlocale=no])]) if test x$rxvt_cv_func_xsetlocale = xyes; then AC_DEFINE(HAVE_XSETLOCALE, 1, Define if setlocale (defined to Xsetlocale) works) fi @@ -1010,44 +1106,82 @@ CFLAGS=$ac_save_CFLAGS AC_CACHE_CHECK(for working plain setlocale, rxvt_cv_func_setlocale, -[AC_TRY_LINK([#include ], - [setlocale(LC_CTYPE, "");], - rxvt_cv_func_setlocale=yes, rxvt_cv_func_setlocale=no)]) +[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[setlocale(LC_CTYPE, "");]])],[rxvt_cv_func_setlocale=yes],[rxvt_cv_func_setlocale=no])]) if test x$rxvt_cv_func_setlocale = xyes; then AC_DEFINE(HAVE_SETLOCALE, 1, Define if plain old setlocale works) fi AC_CACHE_CHECK(for working nl_langinfo, rxvt_cv_func_nl_langinfo, -[AC_TRY_LINK([#include ], - [nl_langinfo(CODESET);], - rxvt_cv_func_nl_langinfo=yes, rxvt_cv_func_nl_langinfo=no)]) +[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[nl_langinfo(CODESET);]])],[rxvt_cv_func_nl_langinfo=yes],[rxvt_cv_func_nl_langinfo=no])]) if test x$rxvt_cv_func_nl_langinfo = xyes; then AC_DEFINE(HAVE_NL_LANGINFO, 1, Define if nl_langinfo(CODESET) works) fi -AC_CACHE_CHECK(for getpt, rxvt_cv_func_getpt, -[AC_TRY_LINK([#define _GNU_SOURCE -#ifdef HAVE_STDLIB_H -# include -#endif], - [(void)getpt();], - rxvt_cv_func_getpt=yes, rxvt_cv_func_getpt=no)]) -if test x$rxvt_cv_func_getpt = xyes; then - AC_DEFINE(HAVE_GETPT, 1, Define if you have _GNU_SOURCE getpt() ) +AC_CACHE_CHECK(for unix-compliant filehandle passing ability, rxvt_can_pass_fds, +[AC_TRY_LINK([ +#include +#include +],[ +{ + msghdr msg; + iovec iov; + char buf [100]; + char data = 0; + + iov.iov_base = &data; + iov.iov_len = 1; + + msg.msg_iov = &iov; + msg.msg_iovlen = 1; + msg.msg_control = buf; + msg.msg_controllen = sizeof buf; + + cmsghdr *cmsg = CMSG_FIRSTHDR (&msg); + cmsg->cmsg_level = SOL_SOCKET; + cmsg->cmsg_type = SCM_RIGHTS; + cmsg->cmsg_len = 100; + + *(int *)CMSG_DATA (cmsg) = 5; + + return sendmsg (3, &msg, 0); +} +],[rxvt_can_pass_fds=yes],[rxvt_can_pass_fds=no])]) +if test x$rxvt_can_pass_fds = xyes; then + AC_DEFINE(HAVE_UNIX_FDPASS, 1, Define if sys/socket.h defines the necessary macros/functions for file handle passing) +fi + +AC_CACHE_CHECK(for broken XIM callback, rxvt_broken_ximcb, +[AC_COMPILE_IFELSE([ +#include + +void im_destroy_cb (XIC unused1, XPointer client_data, XPointer unused3); + +void f() { + XIMCallback cb; + cb.callback = im_destroy_cb; +} +],rxvt_broken_ximcb=yes,rxvt_broken_ximcb=no)]) + +if test x$rxvt_broken_ximcb = xyes; then + AC_DEFINE(XIMCB_PROTO_BROKEN, 1, Define if your XIMCallback specifies XIC as first type.) +fi + +if test x$ac_cv_func_posix_openpt = xno; then + AC_CHECK_FUNC(openpty, [], [AC_CHECK_LIB(util, openpty, [LIBS="$LIBS -lutil"])]) fi dnl# if we don't guess right then it's up to the user AC_CACHE_CHECK(for pty/tty type, rxvt_cv_ptys, -[if test x$ac_cv_func_openpty = xyes; then +[if test x$ac_cv_func_openpty = xyes -o x$ac_cv_lib_util_openpty = xyes; then rxvt_cv_ptys=OPENPTY + else if test x$ac_cv_func_posix_openpt = xyes; then + rxvt_cv_ptys=POSIX else if test x$ac_cv_func__getpty = xyes; then rxvt_cv_ptys=SGI4 else if test -c /dev/ttyp20; then rxvt_cv_ptys=SCO else if test -c /dev/ptym/clone; then rxvt_cv_ptys=HPUX - else if test x$rxvt_cv_func_getpt = xyes; then - rxvt_cv_ptys=GLIBC else if test -c /dev/ptc -a -c /dev/pts; then rxvt_cv_ptys=PTC else if test -c /dev/ptc -a -d /dev/pts; then @@ -1070,6 +1204,9 @@ fi ]) +if test x$rxvt_cv_ptys = xPOSIX; then + AC_DEFINE(PTYS_ARE_POSIX, 1, Define for this pty type) +fi if test x$rxvt_cv_ptys = xOPENPTY; then AC_DEFINE(PTYS_ARE_OPENPTY, 1, Define for this pty type) fi @@ -1085,21 +1222,15 @@ if test x$rxvt_cv_ptys = xSGI4; then AC_DEFINE(PTYS_ARE__GETPTY, 1, Define for this pty type) fi -if test x$rxvt_cv_ptys = xCONVEX; then - AC_DEFINE(PTYS_ARE_GETPTY, 1, Define for this pty type) -fi -if test x$rxvt_cv_ptys = xGLIBC; then - AC_DEFINE(PTYS_ARE_GETPT, 1, Define for this pty type) -fi if test x$rxvt_cv_ptys = xHPUX; then AC_DEFINE(PTYS_ARE_CLONE, 1, Define for this pty type) fi -if test x$rxvt_cv_ptys = xBSD -o x$rxvt_cv_ptys = xHPUX -o x$rxvt_cv_ptys = xGLIBC; then +if test x$rxvt_cv_ptys = xBSD -o x$rxvt_cv_ptys = xHPUX -o x$rxvt_cv_ptys = xPOSIX; then AC_DEFINE(PTYS_ARE_SEARCHED, 1, Define for this pty type) fi -AC_CHECKING(for pty ranges) +AS_MESSAGE(checking for pty ranges...) ptys=`echo /dev/pty??` pch1=`echo $ptys | tr ' ' '\012' | sed -e 's/^.*\(.\).$/\1/g' | sort -u | tr -d '\012'` pch2=`echo $ptys | tr ' ' '\012' | sed -e 's/^.*\(.\)$/\1/g' | sort -u | tr -d '\012'` @@ -1110,14 +1241,34 @@ AC_DEFINE_UNQUOTED(PTYCHAR2, "$pch2", Define for second char in devptyXX) fi -dnl# FreeBSD needs to link libxpg4 -AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"]) - dnl# -------------------------------------------------------------------------- dnl# now add and remove other stuff dnl# -------------------------------------------------------------------------- -if test x$support_graphics = xyes; then - AC_DEFINE(RXVT_GRAPHICS, 1, Define if you want Rob Nation's own graphic mode) +if test x$support_xft = xyes; then + LIBS="$LIBS `pkg-config xft --libs`" + CPPFLAGS="$CPPFLAGS `pkg-config xft --cflags`" + + AC_CHECK_HEADERS(X11/Xft/Xft.h,,[support_xft=no]) + AC_CHECK_LIB(Xft,XftDrawString32,,[support_xft=no]) + + if test x$support_xft = xyes; then + AC_DEFINE(XFT, 1, Define to enable xft support) + fi +fi +if test x$support_styles = xyes; then + AC_DEFINE(ENABLE_STYLES, 1, Define if you want bold and italic support) +fi +if test x$support_iso14755 = xyes; then + AC_DEFINE(ISO_14755, 1, Define if you want ISO 14755 extended support) +fi +if test x$support_8bitctrls = xyes; then + AC_DEFINE(EIGHT_BIT_CONTROLS, 1, Define if you want 8 bit control sequences) +fi +if test x$support_fading = xyes; then + AC_DEFINE(OFF_FOCUS_FADING, 1, Define if you want faded colors when focus is lost) +fi +if test x$support_tinting = xyes; then + AC_DEFINE(TINTING, 1, Define if you want your background to be tinted) fi if test x$support_inheritpixmap = xyes; then AC_DEFINE(TRANSPARENT, 1, Define if you want your background to use the parent window background) @@ -1128,14 +1279,8 @@ if test x$support_selectionscrolling = xyes; then AC_DEFINE(SELECTION_SCROLLING, 1, Define to allow scrolling when the selection moves to the top or bottom of the screen) fi -if test x$support_menubar = xyes; then - AC_DEFINE(MENUBAR, 1, Define if you want Menubar support) -fi -if test x$support_frills = xno; then - AC_DEFINE(NO_FRILLS, 1, Define if you don't want handling for rarely used features) -fi -if test x$support_linespace = xno; then - AC_DEFINE(NO_LINESPACE, 1, Define if you don't want support linespace) +if test x$support_frills = xyes; then + AC_DEFINE(ENABLE_FRILLS, 1, Define if you want handling for rarely used but handy features) fi if test x$support_24bit = xyes; then AC_DEFINE(PREFER_24BIT, 1, Define to use a 24 bit visual if the screen has 24 bit mode, even if the default is 8 bit) @@ -1146,9 +1291,6 @@ if test x$support_mouseslipwheel = xyes; then AC_DEFINE(MOUSE_SLIP_WHEELING, 1, Define to have CTRL cause wheel events to accelerate scrolling. Release CTRL to halt scrolling) fi -if test x$support_oldselection = xno; then - AC_DEFINE(NO_OLD_SELECTION, 1, Define to remove old rxvt (ver 2.20 and before) style selection) -fi if test x$support_utmp = xyes; then AC_DEFINE(UTMP_SUPPORT, 1, Define if you want to have utmp/utmpx support) fi @@ -1178,30 +1320,87 @@ AC_DEFINE(XTERM_SCROLLBAR, 1, Support Xterm style scrollbars) scrolltypes="$scrolltypes xterm" fi +if test x$support_scroll_plain = xyes; then + AC_DEFINE(PLAIN_SCROLLBAR, 1, Support plain style scrollbars) + scrolltypes="$scrolltypes plain" +fi if test x$support_pointer_blank = xyes; then AC_DEFINE(POINTER_BLANK, 1, Define if you want hide the pointer while typing) fi -if test x$support_cursor_blink = xyes; then - AC_DEFINE(CURSOR_BLINK, 1, Define if you want blinking cursor support) +if test x$support_text_blink = xyes; then + AC_DEFINE(TEXT_BLINK, 1, Define if you want blinking text support) fi if test x$support_unicode3 = xyes; then AC_DEFINE(UNICODE_3, 1, Define if you want to represent unicode characters outside plane 0) fi +if test x$support_combining = xyes; then + AC_DEFINE(ENABLE_COMBINING, 1, Define if you want to automatically compose combining characters) +fi if test x$codesets = xall; then - codesets=jp,jp-ext,kr,cn,cn-ext,vn + codesets=jp,jp-ext,kr,zh,zh-ext fi +AC_DEFINE(ENCODING_EU, 1, Define if you want european extended codesets) +AC_DEFINE(ENCODING_VN, 1, Define if you want vietnamese codesets) for codeset in `echo $codesets | tr "[a-z,\\-]" "[A-Z _]"`; do - AC_DEFINE(ENCODING_EU, 1, Define if you want europeean extended codesets) case "$codeset" in - VN ) AC_DEFINE(ENCODING_VN, 1, Define if you want vietnamese codesets) ;; JP ) AC_DEFINE(ENCODING_JP, 1, Define if you want japanese codesets) ;; JP_EXT ) AC_DEFINE(ENCODING_JP_EXT, 1, Define if you want extended japanese codesets) ;; KR ) AC_DEFINE(ENCODING_KR, 1, Define if you want korean codesets) ;; - CN ) AC_DEFINE(ENCODING_CN, 1, Define if you want chinese codesets) ;; - CN_EXT ) AC_DEFINE(ENCODING_CN_EXT, 1, Define if you want extended chinese codesets) ;; + ZH ) AC_DEFINE(ENCODING_ZH, 1, Define if you want chinese codesets) ;; + ZH_EXT ) AC_DEFINE(ENCODING_ZH_EXT, 1, Define if you want extended chinese codesets) ;; esac done +IF_PERL=\# +if test x$support_perl = xyes; then + AC_PATH_PROG(PERL, perl5) + AC_PATH_PROG(PERL, perl) + + AC_MSG_CHECKING(for $PERL suitability) + if $PERL -MExtUtils::Embed -e "use v5.8" >/dev/null 2>/dev/null; then + + save_CXXFLAGS="$CXXFLAGS" + save_LIBS="$LIBS" + CXXFLAGS="$CXXFLAGS `$PERL -MExtUtils::Embed -e ccopts`" + LIBS="$LIBS `$PERL -MExtUtils::Embed -e ldopts`" + AC_TRY_LINK([ +#include +#include +#include +],[ + PerlInterpreter *perl = perl_alloc (); +],[rxvt_perl_link=yes],[rxvt_perl_link=no]) + CXXFLAGS="$save_CXXFLAGS" + LIBS="$save_LIBS" + + if test x$rxvt_perl_link = xyes; then + AC_MSG_RESULT(ok) + AC_DEFINE(ENABLE_PERL, 1, Define if you can embed a perl interpreter) + IF_PERL= + PERL_O=rxvtperl.o + PERLFLAGS="`$PERL -MExtUtils::Embed -e ccopts`" + PERLLIB="`$PERL -MExtUtils::Embed -e ldopts`" + PERLPRIVLIBEXP="`$PERL -MConfig -e 'print $Config{privlibexp}'`" + else + support_perl=no + AC_MSG_RESULT([no, unable to link]) + fi + else + AC_MSG_ERROR(no working perl found, or perl not version >= 5.8) + support_perl=no + fi +fi +AC_SUBST(PERLLIB) +AC_SUBST(PERLFLAGS) +AC_SUBST(PERLPRIVLIBEXP) +AC_SUBST(PERL) +AC_SUBST(IF_PERL) +AC_SUBST(PERL_O) + +if test x$support_perl = xyes; then + support_frills=yes +fi + dnl> AC_CHECK_FUNCS(gettimeofday putenv select socket) CFLAGS=${CFLAGS--O} @@ -1228,19 +1427,12 @@ AC_SUBST(X_LIBS) AC_SUBST(X_EXTRA_LIBS) -if test x$support_addstrings = xno; then - AC_DEFINE(NO_STRINGS, 1, Define if you don't need to use our replacement string functions) -fi - dnl# common parts of the Makefile MCOMMON=./autoconf/Make.common AC_SUBST_FILE(MCOMMON) AC_ARG_PROGRAM -RXVTNAME=`echo rxvt|sed "$program_transform_name"` -AC_SUBST(RXVTNAME) - dnl# test for "sun" or "__sun__" before include sys_ioctl dnl# revert HAVE_BLAH_H into a "#include " @@ -1253,10 +1445,10 @@ AC_SUBST($1)]) RXVT_DEFINE_TO_INCLUDE(include_stdint_h, stdint.h, ac_cv_header_stdint_h, yes, notset, dontmatch) -RXVT_DEFINE_TO_INCLUDE(include_stdarg_h, stdarg.h, ac_cv_header_stdarg_h, yes, notset, dontmatch) -RXVT_DEFINE_TO_INCLUDE(include_stdlib_h, stdlib.h, ac_cv_header_stdlib_h, yes, notset, dontmatch) +RXVT_DEFINE_TO_INCLUDE(include_stdarg_h, cstdarg, ac_cv_header_stdarg_h, yes, notset, dontmatch) +RXVT_DEFINE_TO_INCLUDE(include_stdlib_h, cstdlib, ac_cv_header_stdlib_h, yes, notset, dontmatch) RXVT_DEFINE_TO_INCLUDE(include_unistd_h, unistd.h, ac_cv_header_unistd_h, yes, notset, dontmatch) -RXVT_DEFINE_TO_INCLUDE(include_string_h, string.h, ac_cv_header_string_h, yes, notset, dontmatch) +RXVT_DEFINE_TO_INCLUDE(include_string_h, cstring, ac_cv_header_string_h, yes, notset, dontmatch) RXVT_DEFINE_TO_INCLUDE(include_fcntl_h, fcntl.h, ac_cv_header_fcntl_h, yes, notset, dontmatch) RXVT_DEFINE_TO_INCLUDE(include_util_h, util.h, ac_cv_header_util_h, yes, notset, dontmatch) RXVT_DEFINE_TO_INCLUDE(include_assert_h, assert.h, ac_cv_header_assert_h, yes, notset, dontmatch) @@ -1266,33 +1458,22 @@ RXVT_DEFINE_TO_INCLUDE(include_sys_time_h, sys/time.h, ac_cv_header_sys_time_h, yes, notset, dontmatch) RXVT_DEFINE_TO_INCLUDE(include_time_h, time.h, ac_cv_header_sys_time_h, no, ac_cv_header_time, yes) -if test x$support_xft = xyes; then - LIBS="$LIBS `pkg-config xft --libs`" - CFLAGS="$CFLAGS `pkg-config xft --cflags`" - CPPFLAGS="$CPPFLAGS `pkg-config xft --cflags`" - - AC_CHECK_HEADERS(X11/Xft/Xft.h,,[support_xft=no]) - AC_CHECK_LIB(Xft,XftDrawString32,,[support_xft=no]) - AC_DEFINE(XFT, 1, Define to enable xft support) -fi - -AC_OUTPUT(autoconf/Make.common \ +AC_CONFIG_FILES([autoconf/Make.common \ Makefile \ doc/Makefile \ src/Makefile \ -src/graphics/Makefile \ -src/test/Makefile \ src/rxvtlib.h \ -W11/Makefile \ -) +]) +AC_OUTPUT echo "Configuration: Rxvt version: $VERSION : $DATE Source code location: $srcdir Install path: ${prefix}/bin - Compiler: $CC - Compiler flags: $CFLAGS" + Compiler: $CXX + Compiler flags: $CFLAGS + Linker: $LINKER" if test "$MALLOC_TYPE" = S; then echo " malloc support: system default" @@ -1313,8 +1494,8 @@ " echo " pty/tty type: "$rxvt_cv_ptys if test x$support_utmp != xyes; then - echo " utmp support: disabled -" + echo " utmp support: disabled" + echo else echo " utmp support: enabled utmp file: $rxvt_cv_path_utmp @@ -1323,16 +1504,21 @@ wtmpx file: $rxvt_cv_path_wtmpx lastlog file: $rxvt_cv_path_lastlog ttys/ttytab file: $rxvt_cv_path_ttytab -" + embedded perl: $support_perl" + echo fi if test x$term != x; then - echo " set TERM to: $term -" + echo " set TERM to: $term" fi if test x$terminfo != x; then - echo " set TERMINFO to: $terminfo -" + echo " set TERMINFO to: $terminfo" +fi +echo " default resource name: $RESNAME" +echo " resource class: $RESCLASS" +if test x$RESFALLBACK != x; then + echo " resource class fallback: $RESFALLBACK" fi +echo if test x$rxvt_cv_ptys = xUNKNOWN; then echo ".----------------------------------------------------------------." echo ". WARNING: could not determine pty/tty type. Do not build until ." @@ -1356,5 +1542,18 @@ echo ". XIM is now being DISABLED! ." echo ".----------------------------------------------------------------." fi -echo " *** Please check src/feature.h for further options *** -" + +echo " *** Optionally check src/feature.h for further options ***" +echo + +echo ".----------------------------------------------------------------." +echo ". NOTE: some features are disabled by default, try ." +echo ". configure --help to get an idea of the optional features, ." +echo ". or read ./README.configure ." +echo ". ." +echo ". The script ./reconf gives a reasonable baseline, try it if ." +echo ". you do not want to read documentation and still want some ." +echo ". useful features. ." +echo ".----------------------------------------------------------------." +echo +