--- rxvt-unicode/autoconf/configure.in 2004/03/17 03:07:36 1.24 +++ rxvt-unicode/autoconf/configure.in 2004/08/10 22:36:30 1.31 @@ -2,7 +2,8 @@ dnl# dnl# Process this file with autoconf to produce a configure script. dnl# -AC_INIT(src/feature.h) +AC_INIT +AC_CONFIG_SRCDIR([src/feature.h]) AC_CONFIG_AUX_DIR(autoconf) AC_CONFIG_HEADER(config.h:autoconf/config.h.in) @@ -53,6 +54,13 @@ AC_AIX AC_ISC_POSIX +dnl# FreeBSD needs to link libxpg4 +AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"]) + +dnl solaris needs to link libnsl and socket +AC_CHECK_LIB(nsl, gethostbyname, [LIBS="$LIBS -lnsl"]) +AC_CHECK_LIB(socket, socket, [LIBS="$LIBS -lsocket"]) + AC_ENABLE_SHARED(no)dnl# libtool AC_ENABLE_STATIC(yes)dnl# libtool AC_PROG_LIBTOOL()dnl# libtool @@ -62,6 +70,8 @@ support_frills=no support_linespace=no support_inheritpixmap=no +support_tinting=no +support_fading=no support_keepscrolling=no support_selectionscrolling=no support_menubar=no @@ -82,6 +92,7 @@ support_xft=no support_unicode3=no support_combining=no +support_8bitctrls=no codesets= dnl# -------------------------------------------------------------------------- @@ -103,6 +114,8 @@ support_frills=yes support_linespace=yes support_inheritpixmap=yes + support_tinting=yes + support_fading=yes support_keepscrolling=yes support_selectionscrolling=yes support_lastlog=yes @@ -123,6 +136,7 @@ support_xft=yes support_unicode3=yes support_combining=yes + #support_8bitctrls=yes codesets=all fi]) @@ -174,6 +188,18 @@ 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 + support_fading=$enableval + fi]) + AC_ARG_ENABLE(menubar, [ --enable-menubar enable menubar], [if test x$enableval = xyes -o x$enableval = xno; then @@ -250,6 +276,12 @@ AC_DEFINE(USE_XGETDEFAULT, 1, Define if you want to use XGetDefault instead of our internal version) fi]) +AC_ARG_ENABLE(8bitctrls, + [ --enable-8bitctrls enable 8 bit control sequences (not recommended)], + [if test x$enableval = xyes -o x$enableval = xno; then + support_8bitctrls=yes + fi]) + RESFALLBACK=Rxvt AC_ARG_ENABLE(fallback, [ --enable-fallback(=CLASS) fall back on CLASS resources in addition to URxvt ones (default: Rxvt)], @@ -481,11 +513,11 @@ 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" @@ -504,33 +536,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 @@ -564,9 +595,7 @@ dnl# see usage below AC_DEFUN(RXVT_CHECK_SIZE, [AC_CACHE_CHECK([for $2], $1, - [AC_TRY_COMPILE([#include ], $2 dummy;, - [$1=yes], - [dnl + [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 @@ -678,30 +707,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 @@ -711,20 +734,16 @@ 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 @@ -734,28 +753,24 @@ 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 @@ -766,7 +781,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 @@ -791,8 +806,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 @@ -802,7 +817,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 @@ -837,8 +852,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 @@ -847,7 +862,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 @@ -874,8 +889,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 @@ -883,7 +898,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 @@ -909,8 +924,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 @@ -918,7 +933,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 @@ -949,8 +964,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 @@ -961,7 +976,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 @@ -986,8 +1001,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 @@ -1021,24 +1036,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 @@ -1046,28 +1059,38 @@ 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 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 + AC_CACHE_CHECK(for getpt, rxvt_cv_func_getpt, -[AC_TRY_LINK([#define _GNU_SOURCE +[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define _GNU_SOURCE #ifdef HAVE_STDLIB_H # include -#endif], - [(void)getpt();], - rxvt_cv_func_getpt=yes, rxvt_cv_func_getpt=no)]) +#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() ) fi @@ -1135,7 +1158,7 @@ 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'` @@ -1146,12 +1169,18 @@ 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_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) fi @@ -1316,14 +1345,15 @@ fi fi -AC_OUTPUT(autoconf/Make.common \ +AC_CONFIG_FILES([autoconf/Make.common \ Makefile \ doc/Makefile \ src/Makefile \ src/test/Makefile \ src/rxvtlib.h \ W11/Makefile \ -) +]) +AC_OUTPUT echo "Configuration: