--- rxvt-unicode/autoconf/configure.in 2005/12/23 14:46:34 1.56 +++ rxvt-unicode/autoconf/configure.in 2006/01/16 15:36:55 1.75 @@ -2,9 +2,9 @@ dnl# dnl# Process this file with autoconf to produce a configure script. dnl# -orig_CXXFLAGS="$CXXFLAGS" AC_INIT +AC_PREREQ(2.50) AC_CONFIG_SRCDIR([src/feature.h]) AC_CONFIG_AUX_DIR(autoconf) AC_CONFIG_HEADER(config.h:autoconf/config.h.in) @@ -25,6 +25,8 @@ echo "configuring for rxvt $VERSION" echo "" +orig_CXXFLAGS="$CXXFLAGS" + dnl# Checks for programs. dnl AC_MAKE_SET @@ -40,9 +42,10 @@ 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" + else + CXXFLAGS="-O" fi CFLAGS="$CXXFLAGS" fi @@ -77,11 +80,21 @@ AC_ISC_POSIX dnl# FreeBSD needs to link libxpg4 -AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"]) +AC_CHECK_FUNC(setlocale, [], [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"]) +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 @@ -89,14 +102,12 @@ MALLOC_TYPE=S -support_addstrings=no support_frills=yes -support_inheritpixmap=no +support_inheritpixmap=yes support_tinting=yes support_fading=yes support_keepscrolling=yes support_selectionscrolling=yes -support_menubar=no support_mousewheel=yes support_mouseslipwheel=yes support_utmp=yes @@ -109,13 +120,14 @@ support_scroll_xterm=yes support_scroll_plain=yes support_xim=yes -support_xpm=no +support_xpm=yes support_xft=yes support_unicode3=no support_combining=yes support_8bitctrls=no support_iso14755=yes support_styles=yes +support_perl=yes codesets=all dnl# -------------------------------------------------------------------------- @@ -142,7 +154,6 @@ support_keepscrolling=no support_selectionscrolling=no support_lastlog=no - support_menubar=no support_mousewheel=no support_mouseslipwheel=no support_text_blink=no @@ -161,6 +172,7 @@ support_8bitctrls=no support_iso14755=no support_styles=no + support_perl=no codesets= fi if test x$enableval = xyes; then @@ -172,7 +184,6 @@ support_keepscrolling=yes support_selectionscrolling=yes support_lastlog=yes - support_menubar=yes support_mousewheel=yes support_mouseslipwheel=yes support_text_blink=yes @@ -191,6 +202,7 @@ #support_8bitctrls=yes support_iso14755=yes support_styles=yes + support_perl=yes codesets=all fi ]) @@ -261,12 +273,6 @@ support_fading=$enableval fi]) -AC_ARG_ENABLE(menubar, - [ --enable-menubar enable menubar], - [if test x$enableval = xyes -o x$enableval = xno; then - support_menubar=$enableval - fi]) - AC_ARG_ENABLE(rxvt-scroll, [ --enable-rxvt-scroll enable rxvt style scrollbar], [if test x$enableval = xyes -o x$enableval = xno; then @@ -285,17 +291,23 @@ 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]) -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) - 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_WITH(codesets, [ --with-codesets=NAME,.. compile in additional codesets (jp,jp_ext,kr,zh,zh_ext,all)], @@ -331,12 +343,6 @@ 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(8bitctrls, [ --enable-8bitctrls enable 8 bit control sequences (not recommended)], [if test x$enableval = xyes -o x$enableval = xno; then @@ -377,12 +383,6 @@ RXVTNAME=`echo "$RXVTNAME"|sed "$program_transform_name"` AC_SUBST(RXVTNAME) -AC_ARG_ENABLE(strings, - [ --enable-strings enable some replacement system functions], - [if test x$enableval = xyes -o x$enableval = xno; then - support_addstrings=$enableval - fi]) - AC_ARG_ENABLE(swapscreen, [ --disable-swapscreen disable swap screen support], [if test x$enableval = xno; then @@ -545,6 +545,8 @@ utmpx.h \ stdint.h \ pty.h \ + util.h \ + libutil.h \ wchar.h \ cwchar \ clocale \ @@ -726,8 +728,8 @@ setsid \ setpgrp \ setpgid \ - openpty \ _getpty \ + posix_openpt \ grantpt \ unlockpt \ isastream \ @@ -737,7 +739,6 @@ updwtmpx \ ttyslot \ ) -dnl# Note: On NetBSD, openpty() exists in libutil. Don't pull it in dnl# -------------------------------------------------------------------------- dnl# DO ALL UTMP AND WTMP CHECKING @@ -1167,27 +1168,22 @@ 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_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])]) -if test x$rxvt_cv_func_getpt = xyes; then - AC_DEFINE(HAVE_GETPT, 1, Define if you have _GNU_SOURCE getpt() ) +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 @@ -1210,6 +1206,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 @@ -1225,16 +1224,10 @@ 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 @@ -1255,7 +1248,6 @@ dnl# -------------------------------------------------------------------------- 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]) @@ -1289,9 +1281,6 @@ 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 = xyes; then AC_DEFINE(ENABLE_FRILLS, 1, Define if you want handling for rarely used but handy features) fi @@ -1364,6 +1353,56 @@ 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} @@ -1390,10 +1429,6 @@ 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) @@ -1470,7 +1505,8 @@ 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" + ttys/ttytab file: $rxvt_cv_path_ttytab + embedded perl: $support_perl" echo fi if test x$term != x; then