--- rxvt-unicode/configure.ac 2006/01/17 12:53:29 1.2 +++ rxvt-unicode/configure.ac 2007/12/17 01:34:36 1.99 @@ -1,4 +1,3 @@ -dnl# -*- sh -*- dnl# dnl# Process this file with autoconf to produce a configure script. dnl# @@ -16,10 +15,10 @@ DATE=`sed -n -e 's/^.*[ \t]DATE.*"\(.*\)"$/\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 -AC_SUBST(LSMDATE)dnl -AC_SUBST(LIBVERSION)dnl +AC_SUBST(VERSION)dnl +AC_SUBST(DATE)dnl +dnl AC_SUBST(LIBVERSION)dnl + echo "" echo "configuring for rxvt $VERSION" echo "" @@ -27,57 +26,57 @@ orig_CXXFLAGS="$CXXFLAGS" dnl# Checks for programs. -dnl AC_MAKE_SET - AC_PROG_CC AC_PROG_CXX AC_PROG_CPP AC_PROG_INSTALL -AC_PROG_AWK -AC_LANG(C) +AC_AIX +AC_GNU_SOURCE +AC_ISC_POSIX +AC_LANG(C++) + +dnl check wether we can link with gcc -lsupc++ +if test x$GCC = xyes && test x$GXX = xyes; then + dnl FreeBSD (at least up to 5.3) has a broken GCC, workaround it + AC_MSG_CHECKING([for working libsupc++]) + save_CXX="$CXX" + save_LIBS="$LIBS" + CXX="$CC" + LIBS="$LIBS -lsupc++" + LINKER="$CC" + AC_LINK_IFELSE( + [AC_LANG_PROGRAM([struct test { }; void f() try { throw new test; } catch (...) { throw; }],[])], + [AC_MSG_RESULT(ok)], + [ + AC_MSG_RESULT([no, making everything bigger and slower]) + LIBS="$save_LIBS" + LINKER="$save_CXX" + ] + ) + CXX="$save_CXX" +fi +AC_SUBST(LINKER,[$LINKER]) dnl# -------------------------------------------------------------------------- -dnl# Supply default CFLAGS, if not specified by `CFLAGS=flags ./configure' +dnl# Supply default CXXFLAGS, if not specified by `CXXFLAGS=flags ./configure' dnl# if test -z "$orig_CXXFLAGS"; then if test x$GCC = xyes && test "x$GXX" = xyes; then - CXXFLAGS="-g -O3" + CXXFLAGS="-g -O3 -fno-rtti -fvisibility-inlines-hidden -fno-threadsafe-statics -fno-enforce-eh-specs" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])], [], [CXXFLAGS="-g -O3"]) else CXXFLAGS="-O" 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) + AC_DEFINE(_XOPEN_SOURCE, 500, 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 - dnl# FreeBSD needs to link libxpg4 AC_CHECK_FUNC(setlocale, [], [AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"])]) @@ -85,33 +84,17 @@ 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_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 @@ -119,7 +102,8 @@ support_scroll_xterm=yes support_scroll_plain=yes support_xim=yes -support_xpm=yes +support_afterimage=yes +support_afterstep=yes support_xft=yes support_unicode3=no support_combining=yes @@ -133,22 +117,19 @@ dnl# CHECKING COMMAND LINE OPTIONS dnl# -------------------------------------------------------------------------- -if test "x$enable_shared" = xyes; then - AC_DEFINE(LIBRXVT, 1, Build shared library version - specify via configure only) - INSTALL_LIBRXVT=yes -fi -AC_SUBST(INSTALL_LIBRXVT) +dnl if test "x$enable_shared" = xyes; then +dnl AC_DEFINE(LIBRXVT, 1, Build shared library version - specify via configure only) +dnl INSTALL_LIBRXVT=yes +dnl fi +dnl AC_SUBST(INSTALL_LIBRXVT) AC_ARG_ENABLE(everything, [ --enable-everything enable standard non-multichoice features - NOTE: this option is order dependent - NOTE: automatically enabled with --enable-shared], + NOTE: this option is order dependent], [ 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 @@ -164,7 +145,8 @@ support_utmp=no support_wtmp=no support_xim=no - support_xpm=no + support_afterimage=no + support_afterstep=no support_xft=no support_unicode3=no support_combining=no @@ -175,10 +157,8 @@ 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 @@ -194,7 +174,8 @@ support_utmp=yes support_wtmp=yes support_xim=yes - support_xpm=yes + support_afterimage=yes + support_afterstep=yes support_xft=yes support_unicode3=yes support_combining=yes @@ -206,6 +187,22 @@ fi ]) +WARNINGS=no +AC_ARG_ENABLE(warnings, + [ --enable-warnings turn on g++ warnings], + [if test x$enableval = xyes; then + WARNINGS=yes + fi]) +if test x$GXX = xyes; then + if test $WARNINGS = yes; then + save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -Wall -Wno-sign-compare -Wno-reorder -Wno-non-virtual-dtor" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])], [], [CXXFLAGS="$save_CXXFLAGS"]) + else + CXXFLAGS="$CXXFLAGS -w" + fi +fi + AC_ARG_ENABLE(unicode3, [ --enable-unicode3 use 21 instead of 16 bits to represent unicode characters], [if test x$enableval = xyes -o x$enableval = xno; then @@ -230,29 +227,23 @@ support_styles=$enableval fi]) -AC_ARG_ENABLE(utmp, - [ --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)], +AC_ARG_ENABLE(afterimage, + [ --enable-afterimage enable integration with libAfterImage for background images], [if test x$enableval = xyes -o x$enableval = xno; then - support_wtmp=$enableval + support_afterimage=$enableval fi]) -AC_ARG_ENABLE(lastlog, - [ --enable-lastlog enable lastlog support (requires --enable-utmp)], - [if test x$enableval = xyes -o x$enableval = xno; then - support_lastlog=$enableval +AC_ARG_WITH(afterimage_config, + [ --with-afterimage-config=DIR use libAfterImage config script in DIR], + [if test "x$withval" != x; then + afterimage_config=$withval/afterimage-config fi]) -AC_ARG_ENABLE(xpm-background, - [ --enable-xpm-background enable XPM background pixmaps], - [if test x$enableval = xyes -o x$enableval = xno; then - support_xpm=$enableval - fi]) +dnl AC_ARG_ENABLE(afterstep, +dnl [ --enable-afterstep enable integration with AfterStep window manager], +dnl [if test x$enableval = xyes -o x$enableval = xno; then +dnl support_afterstep=$enableval +dnl fi]) AC_ARG_ENABLE(transparency, [ --enable-transparency enable transparent backgrounds], @@ -260,12 +251,6 @@ support_inheritpixmap=$enableval fi]) -AC_ARG_ENABLE(tinting, - [ --enable-tinting enable tinting of transparent bg], - [if test x$enableval = xyes -o x$enableval = xno; then - support_tinting=$enableval - fi]) - AC_ARG_ENABLE(fading, [ --enable-fading enable colors fading when off focus], [if test x$enableval = xyes -o x$enableval = xno; then @@ -290,26 +275,20 @@ support_scroll_xterm=$enableval fi]) -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(plain-scroll, [ --enable-plain-scroll enable plain style scrollbar], [if test x$enableval = xyes -o x$enableval = xno; then support_scroll_plain=$enableval fi]) -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_ENABLE(perl, + [ --enable-perl enable embedded perl interpreter], + [if test x$enableval = xyes -o x$enableval = xno; then + support_perl=$enableval + fi]) AC_ARG_WITH(codesets, - [ --with-codesets=NAME,.. compile in additional codesets (jp,jp_ext,kr,zh,zh_ext,all)], + [ --with-codesets=CS,... compile in additional codesets (jp,jp_ext,kr,zh,zh_ext,all)], [codesets="$withval"]) AC_ARG_ENABLE(xim, @@ -318,12 +297,6 @@ support_xim=$enableval fi]) -AC_ARG_ENABLE(ttygid, - [ --enable-ttygid enable tty setting to group named "tty"], - [if test x$enableval = xyes; then - AC_DEFINE(TTY_GID_SUPPORT, 1, Define to change gid of ttys to group tty) - fi]) - AC_ARG_ENABLE(backspace-key, [ --disable-backspace-key disable handling of the backspace key], [if test x$enableval = xno; then @@ -350,7 +323,7 @@ RESFALLBACK=Rxvt AC_ARG_ENABLE(fallback, - [ --enable-fallback(=CLASS) fall back on CLASS resources in addition to URxvt ones (default: Rxvt)], + [ --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= @@ -400,12 +373,6 @@ support_frills=$enableval fi]) -AC_ARG_ENABLE(24bit, - [ --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], [if test x$enableval = xyes -o x$enableval = xno; then @@ -425,30 +392,11 @@ fi]) AC_ARG_ENABLE(slipwheeling, - [ --enable-slipwheeling enable slip wheel scrolling (requires previous)], + [ --enable-slipwheeling enable slip wheel scrolling (requires --enable-mousewheel)], [if test x$enableval = xyes -o x$enableval = xno; then support_mouseslipwheel=$enableval fi]) -AC_ARG_ENABLE(dmalloc, - [ --enable-dmalloc enable Gray Watson's malloc - for debugging use], - [if test x$enableval = xyes; then - MALLOC_TYPE=G - DEBUG=-DDEBUG_MALLOC - DLIB="-L/usr/local/lib -ldmalloc" - DINCLUDE=-I/usr/local/include - fi]) - -AC_ARG_ENABLE(dlmalloc, - [ --enable-dlmalloc enable Doug Lea's malloc - for production use - NOTE: enable only one malloc package], - [if test x$enableval = xyes; then - MALLOC_TYPE=D - DEBUG= - DLIB="-L/usr/local/lib -ldlmalloc" - DINCLUDE= - fi]) - AC_ARG_ENABLE(smart-resize, [ --enable-smart-resize enable smart growth/shrink behaviour], [if test x$enableval = xyes; then @@ -481,611 +429,150 @@ dnl# -------------------------------------------------------------------------- -AC_DEFINE(PROTOTYPES, 1, Define if you need function prototypes) +LIBEV_M4_AVOID_LIBRT=1 +m4_include([libev/libev.m4]) -AC_PATH_PROG(MV, mv, mv) -AC_PATH_PROG(RM, rm, rm) -AC_PATH_PROG(CP, cp, cp) -AC_PATH_PROG(LN, ln, ln) -AC_PATH_PROG(SED, sed, sed) -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: -dnl# grantpt(), unlockpt(), ptsname(), which are defined in -dnl# - but are these also defined for other systems? - -dnl# hack to find if this is SVR4 -- who knows? -dnl## AC_MSG_CHECKING(for SVR4) -dnl## AC_EGREP_CPP(yes, -dnl## [#if defined (SVR4) || defined (_SVR4) || defined (__svr4__) -dnl## yes; -dnl## #endif -dnl## ], [AC_MSG_RESULT(yes); AC_DEFINE(PERHAPS_SVR4)], AC_MSG_RESULT(perhaps not?)) +dnl# -------------------------------------------------------------------------- -AC_PATH_XTRA +AC_PATH_PROG(TIC, tic, :) -dnl# the only reasonable way to find libXpm is do-it-yourself -dnl# only check if we want xpm-background +AC_PATH_XTRA -if test x$support_xpm = xyes; then - VT_FIND_LIBXPM - if test x$no_xpm = xyes; then - support_xpm=needsmanualspecification +AFTERIMAGE_CFLAGS= +AFTERIMAGE_LIBS= +AFTERIMAGE_VERSION= + +if test x$support_afterimage = xyes; then + support_afterimage=no + + if test "x$afterimage_config" = "x" ; then + AC_PATH_PROG(afterimage_config, afterimage-config, no) + fi + if test "x$afterimage_config" != "xno" ; then + AC_MSG_CHECKING(for libAfterImage version >= 1.15) + xAFTERIMAGE_VERSION=`$afterimage_config --version` + if test -n "$xAFTERIMAGE_VERSION" ; then + xAFTERIMAGE_CFLAGS=`$afterimage_config --cflags` + xAFTERIMAGE_LIBS=`$afterimage_config --libs` + if test "x$xAFTERIMAGE_LIBS" != "x"; then + libai_ver_major=`echo $xAFTERIMAGE_VERSION | cut -f 1 -d .` + libai_ver_minor=`echo $xAFTERIMAGE_VERSION | cut -f 2 -d .` + if test $libai_ver_major -gt 1 -o \( $libai_ver_major -eq 1 -a $libai_ver_minor -ge 15 \); then + support_afterimage=yes + AFTERIMAGE_CFLAGS="$xAFTERIMAGE_CFLAGS" + AFTERIMAGE_LIBS="$xAFTERIMAGE_LIBS" + AFTERIMAGE_VERSION="$xAFTERIMAGE_VERSION" + fi + fi + fi + if test "x$support_afterimage" = "xyes"; then + AC_MSG_RESULT($AFTERIMAGE_LIBS) + else + AC_MSG_RESULT(no) + fi fi fi dnl# -------------------------------------------------------------------------- dnl# CHECKING FOR HEADER FILES dnl# -------------------------------------------------------------------------- -AC_HEADER_SYS_WAIT AC_CHECK_HEADERS( \ - assert.h \ - fcntl.h \ - grp.h \ - libc.h \ - lastlog.h \ - stdarg.h \ - stdlib.h \ - string.h \ - termios.h \ - unistd.h \ sys/byteorder.h \ sys/ioctl.h \ - 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 \ + stdint.h \ + wchar.h \ + cwchar \ ) -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_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])]) - -dnl# ELF systems may want to store paths for dynamic libraries. -dnl# Lets see if the compiler can accept "-Rpath" or "-Wl,-Rpath" -dnl# At least one version of SunOS wants "-R path" but it's not checked yet. -if test -n "$GCC"; then - LDARG="-Wl," -else - LDARG="" -fi -changequote(, )dnl -R_TRANSLATE='s/-L\([^ ]*\)/-L\1 '$LDARG'-rpath '$LDARG'\1/g' -changequote([, ])dnl - -ac_save_CFLAGS=$CFLAGS -ac_save_LIBS=$LIBS -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_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)])]) -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_RUN_IFELSE([AC_LANG_SOURCE([[ -main() -{ - exit(0); - (void) XOpenDisplay("foobar"); -}]])],[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 +]], [[int a = ECHO;]])],[rxvt_cv_header_sysioctl=yes],[rxvt_cv_header_sysioctl=no])]) AC_CACHE_CHECK([for XPointer], rxvt_cv_xpointer, [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 -LIBS=$ac_save_LIBS -CFLAGS=$ac_save_CFLAGS - -AC_C_CONST -AC_C_INLINE - -dnl> AC_HEADER_STDC dnl# skip this test, Sun always fails anyhow. +AC_CACHE_CHECK([for XLIB_ILLEGAL_ACCESS], rxvt_xlib_illegal_access, +[AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([ +#define XLIB_ILLEGAL_ACCESS +#include + ],[ + Display *dpy; + dpy->xdefaults = (char *)0; + ])], + [rxvt_xlib_illegal_access=yes],[rxvt_xlib_illegal_access=no] +)]) +if test x$rxvt_xlib_illegal_access = xyes; then + AC_DEFINE(XLIB_ILLEGAL_ACCESS, 1, Define ONLY iff Xlib.h supports it) +fi dnl# -------------------------------------------------------------------------- dnl# CHECKING FOR MISSING TYPEDEFS dnl# -------------------------------------------------------------------------- dnl# Missing typedefs and replacements AC_TYPE_MODE_T -dnl> AC_CHECK_TYPE(umode_t, int) -dnl> AC_CHECK_TYPE(off_t, long) AC_TYPE_PID_T AC_TYPE_UID_T - -AC_CHECK_SIZEOF(short, 2) -AC_CHECK_SIZEOF(int, 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_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 - $1="$4 short" - else - if test "$ac_cv_sizeof_int" -ge $3; then - $1="$4 int" - else - if test "$ac_cv_sizeof_long" -ge $3; then - $1="$4 long" - else - 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 - fi - fi - fi - fi -fi])])] -if test x"$$1" != xyes; then - $6="typedef $$1 $2;" -else - if test x"$4" = x; then - $6="/* typedef $5 $2; */" - else - $6="/* typedef $4 $5 $2; */" - fi -fi dnl -) -dnl# -dnl# Look for types the system may know about anyway. -dnl# -RXVT_CHECK_SIZE(rxvt_cv_int16_t, int16_t, 2, , short, rxvt_int16_typedef) -AC_SUBST(rxvt_int16_typedef) -RXVT_CHECK_SIZE(rxvt_cv_uint16_t, uint16_t, 2, unsigned, short, rxvt_uint16_typedef) -AC_SUBST(rxvt_uint16_typedef) -RXVT_CHECK_SIZE(rxvt_cv_int32_t, int32_t, 4, , int, rxvt_int32_typedef) -AC_SUBST(rxvt_int32_typedef) -RXVT_CHECK_SIZE(rxvt_cv_uint32_t, uint32_t, 4, unsigned, int, rxvt_uint32_typedef) -AC_SUBST(rxvt_uint32_typedef) -dnl RXVT_CHECK_SIZE(rxvt_cv_int64_t, int64_t, 8, , long long, rxvt_int64_typedef) -dnl AC_SUBST(rxvt_int64_typedef) -dnl RXVT_CHECK_SIZE(rxvt_cv_uint64_t, uint64_t, 8, unsigned, long long, rxvt_uint64_typedef) -dnl AC_SUBST(rxvt_uint64_typedef) -dnl# -dnl# Now look for another we use -dnl# -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 - 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 - rxvt_intp_define="#define intp_t int16_t" - rxvt_u_intp_define="#define u_intp_t u_int16_t" - else - rxvt_intp_define="#error set intp_t" - rxvt_u_intp_define="#error set u_intp_t" - fi - fi -fi -AC_SUBST(rxvt_intp_define) -AC_SUBST(rxvt_u_intp_define) +AC_TYPE_INT16_T +AC_TYPE_UINT16_T +AC_TYPE_INT32_T +AC_TYPE_UINT32_T dnl# -------------------------------------------------------------------------- dnl# CHECKING FOR LIBRARY FUNCTIONS dnl# -------------------------------------------------------------------------- -AC_TYPE_SIGNAL -dnl> AC_FUNC_VPRINTF +AC_CHECK_FUNCS(unsetenv) -AC_CHECK_FUNCS( \ - revoke \ - unsetenv \ - setutent \ - seteuid \ - setreuid \ - _getpty \ - getpt \ - posix_openpt \ - grantpt \ - unlockpt \ - isastream \ - on_exit \ - nanosleep \ - updwtmp \ - updwtmpx \ - ttyslot \ -) +UTMP_CHECK dnl# -------------------------------------------------------------------------- -dnl# DO ALL UTMP AND WTMP CHECKING -dnl# -------------------------------------------------------------------------- -dnl# check for host field in utmp structure - -dnl# -------------------------------------------- -AC_CHECK_HEADER(utmp.h, -[AC_CACHE_CHECK([for struct utmp], rxvt_cv_struct_utmp, -[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include -#include -#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_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_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 -) dnl# AC_CHECK_HEADER(utmp.h - -dnl# -------------------------------------------- - -AC_CHECK_HEADER(utmpx.h, -[AC_CACHE_CHECK([for struct utmpx], rxvt_cv_struct_utmpx, -[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_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 - -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_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])]) -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_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])]) -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 - -dnl# -------------------------------------------------------------------------- -dnl# FIND FILES -dnl# -------------------------------------------------------------------------- - -dnl# find utmp -AC_CACHE_CHECK(where utmp is located, rxvt_cv_path_utmp, -[AC_RUN_IFELSE([AC_LANG_SOURCE([[#include -#include -#include -#include -main() -{ - char **u, *utmplist[] = { - "/var/run/utmp", "/var/adm/utmp", "/etc/utmp", "/usr/etc/utmp", "/usr/adm/utmp", NULL }; - FILE *a, *f=fopen("conftestval", "w"); - if (!f) exit(1); -#ifdef UTMP_FILE - fprintf(f, "%s\n", UTMP_FILE); - exit(0); -#endif -#ifdef _PATH_UTMP - fprintf(f, "%s\n", _PATH_UTMP); - exit(0); -#endif - for (u = utmplist; *u; u++) { - if ((a = fopen(*u, "r")) != NULL || errno == EACCES) { - fprintf(f, "%s\n", *u); - exit(0); - } - } - exit(0); -}]])],[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 - -dnl# -------------------------------------------------------------------------- - -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_RUN_IFELSE([AC_LANG_SOURCE([[#include -#include -#include -#include -#include -#ifdef HAVE_STRING_H -#include -#endif -main() -{ - char **u, *p, *utmplist[] = { -#ifdef UTMPX_FILE - UTMPX_FILE, -#endif -#ifdef _PATH_UTMPX - _PATH_UTMPX, -#endif - "/var/adm/utmpx", "/etc/utmpx", NULL }; - FILE *a, *f=fopen("conftestval", "w"); - struct stat statu, statux; - if (!f) exit(1); - for (u = utmplist; *u; u++) { - if ((a = fopen(*u, "r")) != NULL || errno == EACCES) { - if (stat(*u, &statux) < 0) - continue; - p = strdup(*u); - p[strlen(p) - 1] = '\0'; - if (stat(p, &statu) >= 0 - && (statu.st_mtime - statux.st_mtime > 86400)) - continue; - fprintf(f, "%s\n", *u); - exit(0); - } - } - exit(0); -}]])],[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 - -dnl# -------------------------------------------------------------------------- - -dnl# find wtmp -AC_CACHE_CHECK(where wtmp is located, rxvt_cv_path_wtmp, -[AC_RUN_IFELSE([AC_LANG_SOURCE([[#include -#include -#ifdef HAVE_UTMP_H -#include -#endif -#include -main() -{ - char **w, *wtmplist[] = { - "/var/log/wtmp", "/var/adm/wtmp", "/etc/wtmp", "/usr/etc/wtmp", "/usr/adm/wtmp", NULL }; - FILE *a, *f=fopen("conftestval", "w"); - if (!f) exit(1); -#ifdef WTMP_FILE - fprintf(f, "%s\n", WTMP_FILE); - exit(0); -#endif -#ifdef _PATH_WTMP - fprintf(f, "%s\n", _PATH_WTMP); - exit(0); -#endif - for (w = wtmplist; *w; w++) { - if ((a = fopen(*w, "r")) != NULL || errno == EACCES) { - fprintf(f, "%s\n", *w); - exit(0); - } - } - exit(0); -}]])],[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 -dnl# -------------------------------------------------------------------------- - -dnl# find wtmpx -AC_CACHE_CHECK(where wtmpx is located, rxvt_cv_path_wtmpx, -[AC_RUN_IFELSE([AC_LANG_SOURCE([[#include -#ifdef HAVE_UTMPX_H -#include -#endif -#include -main() -{ - char **w, *wtmplist[] = { - "/var/log/wtmpx", "/var/adm/wtmpx", NULL }; - FILE *a, *f=fopen("conftestval", "w"); - if (!f) exit(1); -#ifdef WTMPX_FILE - fprintf(f, "%s\n", WTMPX_FILE); - exit(0); -#endif -#ifdef _PATH_WTMPX - fprintf(f, "%s\n", _PATH_WTMPX); - exit(0); -#endif - for (w = wtmplist; *w; w++) { - if ((a = fopen(*w, "r")) != NULL || errno == EACCES) { - fprintf(f, "%s\n", *w); - exit(0); - } - } - exit(0); -}]])],[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 -dnl# -------------------------------------------------------------------------- - -dnl# find lastlog -AC_CACHE_CHECK(where lastlog is located, rxvt_cv_path_lastlog, -[AC_RUN_IFELSE([AC_LANG_SOURCE([[#include -#include -#ifdef HAVE_UTMPX_H -#include -#elif defined(HAVE_UTMP_H) -#include -#endif -#ifdef HAVE_LASTLOG_H -#include -#endif -#include -main() -{ - char **w, *lastloglist[] = { "/var/log/lastlog", NULL }; - FILE *a, *f=fopen("conftestval", "w"); - if (!f) exit(1); -#ifdef LASTLOG_FILE - fprintf(f, "%s\n", LASTLOG_FILE); - exit(0); -#endif -#ifdef _PATH_LASTLOG - fprintf(f, "%s\n", _PATH_LASTLOG); - exit(0); -#endif - for (w = lastloglist; *w; w++) { - if ((a = fopen(*w, "r")) != NULL || errno == EACCES) { - fprintf(f, "%s\n", *w); - exit(0); - } - } - exit(0); -}]])],[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 - AC_DEFINE(LASTLOG_IS_DIR, 1, Define if lastlog is provided via a directory) - fi -fi -dnl# -------------------------------------------------------------------------- - -dnl# find lastlogx -AC_CACHE_CHECK(where lastlogx is located, rxvt_cv_path_lastlogx, -[AC_RUN_IFELSE([AC_LANG_SOURCE([[#include -#ifdef HAVE_UTMPX_H -#include -#endif -#include -main() -{ - char **w, *wtmplist[] = { "/var/log/lastlogx", "/var/adm/lastlogx", NULL }; - FILE *a, *f=fopen("conftestval", "w"); - if (!f) exit(1); -#ifdef LASTLOGX_FILE - fprintf(f, "%s\n", LASTLOGX_FILE); - exit(0); -#endif -#ifdef _PATH_LASTLOGX - fprintf(f, "%s\n", _PATH_LASTLOGX); - exit(0); -#endif - for (w = wtmplist; *w; w++) { - if ((a = fopen(*w, "r")) != NULL || errno == EACCES) { - fprintf(f, "%s\n", *w); - exit(0); - } - } - exit(0); -}]])],[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 - -dnl# -------------------------------------------------------------------------- - -dnl# find ttys/ttytab -AC_CACHE_CHECK(where ttys/ttytab is located, rxvt_cv_path_ttytab, -[for ttys_file in dnl - /etc/ttys /etc/ttytab; -do - if test -f "$ttys_file" ; then - rxvt_cv_path_ttytab=$ttys_file - break - fi -done -]) -if test x$rxvt_cv_path_ttytab != x; then - AC_DEFINE_UNQUOTED(TTYTAB_FILENAME, "$rxvt_cv_path_ttytab", Define location of ttys/ttytab) -fi dnl# -------------------------------------------------------------------------- dnl# -------------------------------------------------------------------------- dnl# this is a really hack test for some basic Xlocale stuff -ac_save_LIBS=$LIBS -ac_save_CFLAGS=$CFLAGS +save_LIBS=$LIBS +save_CFLAGS=$CFLAGS CFLAGS="$CFLAGS $X_CFLAGS" LIBS="$LIBS $X_LIBS $X_EXTRA_LIBS -lX11" -if test x$rxvt_cv_rpath = xyes -o x$rxvt_cv_R = xyes; then - LIBS=`echo $LIBS | sed "$R_TRANSLATE"` -fi -AC_CACHE_CHECK(for working Xlocale, rxvt_cv_func_xlocale, -[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)])]) -if test x$rxvt_cv_func_xlocale = xyes; then - AC_DEFINE(HAVE_XLOCALE, 1, Define if Xlocale support works) +if test x$support_xim = xyes; then + AC_CACHE_CHECK(for working Xlocale, rxvt_cv_func_xlocale, + [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include + #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 + :])]) + if test x$rxvt_cv_func_xlocale = xyes; then + AC_DEFINE(USE_XIM, 1, Define if you want to have XIM (X Input Method) protocol support - required for multibyte characters input) + 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 + fi fi AC_CACHE_CHECK(for working X setlocale, rxvt_cv_func_xsetlocale, @@ -1094,8 +581,8 @@ if test x$rxvt_cv_func_xsetlocale = xyes; then AC_DEFINE(HAVE_XSETLOCALE, 1, Define if setlocale (defined to Xsetlocale) works) fi -LIBS=$ac_save_LIBS -CFLAGS=$ac_save_CFLAGS +LIBS=$save_LIBS +CFLAGS=$save_CFLAGS AC_CACHE_CHECK(for working plain setlocale, rxvt_cv_func_setlocale, [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[setlocale(LC_CTYPE, "");]])],[rxvt_cv_func_setlocale=yes],[rxvt_cv_func_setlocale=no])]) @@ -1109,145 +596,33 @@ AC_DEFINE(HAVE_NL_LANGINFO, 1, Define if nl_langinfo(CODESET) works) fi -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 +SCM_RIGHTS_CHECK -AC_CACHE_CHECK(for broken XIM callback, rxvt_broken_ximcb, -[AC_COMPILE_IFELSE([ -#include +PTY_CHECK -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_getpt = xno -a 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 -o x$ac_cv_lib_util_openpty = xyes; then - rxvt_cv_ptys=OPENPTY - else if test x$ac_cv_func_getpt = xyes; then - rxvt_cv_ptys=GLIBC - 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 -c /dev/ptc -a -c /dev/pts; then - rxvt_cv_ptys=PTC - else if test -c /dev/ptc -a -d /dev/pts; then - rxvt_cv_ptys=PTC - else if test -c /dev/ptmx -a -c /dev/pts/0; then - rxvt_cv_ptys=STREAMS - else if test x$ac_cv_func_grantpt = xyes && test x$ac_cv_func_unlockpt = xyes; then -dnl# catch CYGWIN - rxvt_cv_ptys=STREAMS - else - rxvt_cv_ptys=BSD -fi -fi -fi -fi -fi -fi -fi -fi -fi -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 = 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 -if test x$rxvt_cv_ptys = xSCO; then - AC_DEFINE(PTYS_ARE_NUMERIC, 1, Define for this pty type) -fi -if test x$rxvt_cv_ptys = xSTREAMS; then - AC_DEFINE(PTYS_ARE_PTMX, 1, Define for this pty type) -fi -if test x$rxvt_cv_ptys = xPTC; then - AC_DEFINE(PTYS_ARE_PTC, 1, Define for this pty type) -fi -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 = 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 = xPOSIX; then - AC_DEFINE(PTYS_ARE_SEARCHED, 1, Define for this pty type) -fi - - -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'` -if test x$pch1 != x; then - AC_DEFINE_UNQUOTED(PTYCHAR1, "$pch1", Define for first char in devptyXX) -fi -if test x$pch2 != x; then - AC_DEFINE_UNQUOTED(PTYCHAR2, "$pch2", Define for second char in devptyXX) -fi +TTY_GROUP_CHECK dnl# -------------------------------------------------------------------------- dnl# now add and remove other stuff dnl# -------------------------------------------------------------------------- if test x$support_xft = xyes; then - LIBS="$LIBS `pkg-config xft --libs`" - CPPFLAGS="$CPPFLAGS `pkg-config xft --cflags`" + AC_PATH_PROG(PKG_CONFIG, pkg-config, no) + if test $PKG_CONFIG != no && $PKG_CONFIG --exists xft; then + X_LIBS="`$PKG_CONFIG xft --libs` $X_LIBS" + CPPFLAGS="$CPPFLAGS `$PKG_CONFIG xft --cflags`" + else + AC_PATH_PROG(XFT_CONFIG, xft-config, no) + if test $XFT_CONFIG != no; then + X_LIBS="`$XFT_CONFIG --libs` $X_LIBS" + CPPFLAGS="$CPPFLAGS `$XFT_CONFIG --cflags`" + fi + fi + save_LIBS="$LIBS" + LIBS="$LIBS $X_LIBS" AC_CHECK_HEADERS(X11/Xft/Xft.h,,[support_xft=no]) - AC_CHECK_LIB(Xft,XftDrawString32,,[support_xft=no]) + AC_CHECK_LIB(Xft,XftDrawString32,:,[support_xft=no]) + LIBS="$save_LIBS" if test x$support_xft = xyes; then AC_DEFINE(XFT, 1, Define to enable xft support) @@ -1265,11 +640,8 @@ 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) + AC_DEFINE(ENABLE_TRANSPARENCY, 1, Define if you want your background to use the parent window background) fi if test x$support_keepscrolling = xno; then AC_DEFINE(NO_SCROLLBAR_BUTTON_CONTINUAL_SCROLLING, 1, Define for continual scrolling when you keep the scrollbar button pressed) @@ -1280,32 +652,21 @@ 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) -fi if test x$support_mousewheel = xyes; then AC_DEFINE(MOUSE_WHEEL, 1, Define to use wheel events (button4 and button5) to scroll) fi 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_utmp = xyes; then - AC_DEFINE(UTMP_SUPPORT, 1, Define if you want to have utmp/utmpx support) -fi -if test x$support_wtmp = xyes; then - AC_DEFINE(WTMP_SUPPORT, 1, Define if you want to have wtmp support when utmp/utmpx is enabled) -fi -if test x$support_lastlog = xyes; then - AC_DEFINE(LASTLOG_SUPPORT, 1, Define if you want to have lastlog support when utmp/utmpx is enabled) -fi -if test x$support_xim = xyes -o x$multichar_set = xyes; then - if test x$rxvt_cv_func_xlocale = xyes; then - AC_DEFINE(USE_XIM, 1, Define if you want to have XIM (X Input Method) protocol support - required for multibyte characters input) - fi -fi -if test x$support_xpm = xyes; then - AC_DEFINE(XPM_BACKGROUND, 1, Define if you want to have sexy-looking background pixmaps. Needs libXpm) +if test x$support_afterimage = xyes; then + AC_DEFINE(HAVE_AFTERIMAGE, 1, Define if you want to use libAfterImage for image processing) + AC_DEFINE(BG_IMAGE_FROM_FILE, 1, Define if you want to have sexy-looking background pixmaps. Needs libAfterImage) fi + +dnl if test x$support_afterstep = xyes; then +dnl AC_DEFINE(AFTERSTEP_INTEGRATION, 1, Define if you want to integrate with AfterStep window manager) +dnl fi + if test x$support_scroll_rxvt = xyes; then AC_DEFINE(RXVT_SCROLLBAR, 1, Support Rxvt original style scrollbars) scrolltypes="rxvt" @@ -1380,12 +741,10 @@ PERLLIB="`$PERL -MExtUtils::Embed -e ldopts`" PERLPRIVLIBEXP="`$PERL -MConfig -e 'print $Config{privlibexp}'`" else - support_perl=no - AC_MSG_RESULT([no, unable to link]) + AC_MSG_ERROR([no, unable to link]) fi else - AC_MSG_ERROR(no working perl found, or perl not version >= 5.8) - support_perl=no + AC_MSG_ERROR([no working perl found, or perl not version >= 5.8]) fi fi AC_SUBST(PERLLIB) @@ -1395,42 +754,25 @@ 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} -LDFLAGS=${LDFLAGS--O} - -CPPFLAGS="$CPPFLAGS" -AC_SUBST(DEBUG) -AC_SUBST(DINCLUDE) AC_SUBST(CFLAGS) AC_SUBST(CPPFLAGS) AC_SUBST(LDFLAGS) AC_SUBST(X_CFLAGS) dnl# Attack the libs -if test x$rxvt_cv_rpath = xyes -o x$rxvt_cv_R = xyes; then - DLIB=`echo $DLIB | sed "$R_TRANSLATE"` - LIBS=`echo $LIBS | sed "$R_TRANSLATE"` - X_LIBS=`echo $X_LIBS | sed "$R_TRANSLATE"` - X_EXTRA_LIBS=`echo $X_EXTRA_LIBS | sed "$R_TRANSLATE"` - XPM_LIBS=`echo $XPM_LIBS | sed "$R_TRANSLATE"` -fi -AC_SUBST(DLIB) AC_SUBST(LIBS) AC_SUBST(X_LIBS) AC_SUBST(X_EXTRA_LIBS) +AC_SUBST(AFTERIMAGE_CFLAGS) +AC_SUBST(AFTERIMAGE_LIBS) + AC_ARG_PROGRAM dnl# test for "sun" or "__sun__" before include sys_ioctl dnl# revert HAVE_BLAH_H into a "#include " -AC_DEFUN(RXVT_DEFINE_TO_INCLUDE, dnl +AC_DEFUN([RXVT_DEFINE_TO_INCLUDE], dnl [if test "$$3" = "$4" -o "$$5" = "$6"; then $1="#include <$2>" else @@ -1439,18 +781,8 @@ 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, 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, 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) RXVT_DEFINE_TO_INCLUDE(include_sys_ioctl_h, sys/ioctl.h, rxvt_cv_header_sysioctl, yes, notset, dontmatch) -RXVT_DEFINE_TO_INCLUDE(include_sys_select_h, sys/select.h, ac_cv_header_sys_select_h, yes, notset, dontmatch) RXVT_DEFINE_TO_INCLUDE(include_sys_strredir_h, sys/strredir.h, ac_cv_header_sys_strredir_h, yes, notset, dontmatch) -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) AC_CONFIG_FILES([Makefile \ doc/Makefile \ @@ -1465,41 +797,9 @@ Source code location: $srcdir Install path: ${prefix}/bin Compiler: $CXX - Compiler flags: $CFLAGS + Compiler flags: $CXXFLAGS Linker: $LINKER" -if test "$MALLOC_TYPE" = S; then - echo " malloc support: system default" -fi -if test "$MALLOC_TYPE" = G; then - echo " malloc support: Gray Watson's dmalloc" -fi -if test "$MALLOC_TYPE" = D; then - echo " malloc support: Doug Lea's malloc" -fi - -if test x$support_xpm = xyes; then - echo " Xpm library: $XPM_LIBS" -fi - -echo " -The following are set in config.h -" -echo " pty/tty type: "$rxvt_cv_ptys -if test x$support_utmp != xyes; then - echo " utmp support: disabled" - echo -else - echo " utmp support: enabled - utmp file: $rxvt_cv_path_utmp - utmpx file: $rxvt_cv_path_utmpx - wtmp file: $rxvt_cv_path_wtmp - 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" fi @@ -1512,22 +812,10 @@ 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 ." - echo ". the appropriate PTYS_ARE_* is defined in config.h ." - echo ".----------------------------------------------------------------." -fi -if test x$support_xpm = xneedsmanualspecification; then - echo ".----------------------------------------------------------------." - echo ". WARNING: --enable-xpm-background was specified however the ." - echo ". XPM includes files and libraries could not be found. ." - echo ". XPM backgrounds are now being DISABLED! If you want ." - echo ". to use them you should rerun configure with the ." - echo ". appropriate --with-xpm-includes=/path/to/xpm/includes ." - echo ". and --with-xpm-library=/path/to/xpm/library lines. ." - echo ".----------------------------------------------------------------." -fi +echo " embedded perl: $support_perl" +echo " libafterimage: $support_afterimage" +dnl echo " AfterStep integration: $support_afterstep" +echo if test x$support_xim = xyes -a x$rxvt_cv_func_xlocale = xno; then echo ".----------------------------------------------------------------." echo ". WARNING: --enable-xim was specified however the locale support ." @@ -1536,17 +824,6 @@ echo ".----------------------------------------------------------------." fi -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 "*** Optionally check src/feature.h for further, rarely used options ***" echo