X-Git-Url: http://cgit.sxemacs.org/?p=sxemacs;a=blobdiff_plain;f=configure.ac;h=cdf5e68b8a32ffe4b8c4719a44be94fbd4eb9bb4;hp=4f9e58f106eb18d12e9c553dc575d18afe04118c;hb=d7ffc361167a55f4f608f69f4597072c361daf75;hpb=1491f827270ed0047a12382cd8957589f3110fe3 diff --git a/configure.ac b/configure.ac index 4f9e58f..cdf5e68 100644 --- a/configure.ac +++ b/configure.ac @@ -178,7 +178,7 @@ OG_ARG_WITH([package-prefix], AS_HELP_STRING([--with-package-prefix=PATH], [What to use as a prefix to the system-wide package directories. It doesn't affect the package directories - under ~/.sxemacs, and is totally ignored if + under the user's home directory, and is totally ignored if --with-package-path is set. Normally, you would not need to set this.]), [none], [None], [og_any], @@ -333,8 +333,8 @@ OG_MULTIARG_WITH([modules], [dnl [all], [all], [dnl OG_MULTIARG_ITEM([ase], [ase], [algebraic structures]) OG_MULTIARG_ITEM([cl], [cl], [fast Common Lisp implementation]) - OG_MULTIARG_ITEM([dbus], [dbus], [D-BUS bindings]) ]) + dnl OG_MULTIARG_ITEM([dbus], [dbus], [D-BUS bindings]) OG_MULTIARG_WITH([static-modules], [dnl AS_HELP_STRING([--with-static-modules], [ @@ -345,8 +345,8 @@ OG_MULTIARG_WITH([static-modules], [dnl [none], [NONE], [dnl OG_MULTIARG_ITEM([ase], [ase], [algebraic structures]) OG_MULTIARG_ITEM([cl], [cl], [fast Common Lisp implementation]) - OG_MULTIARG_ITEM([dbus], [dbus], [D-BUS bindings]) ]) + dnl OG_MULTIARG_ITEM([dbus], [dbus], [D-BUS bindings]) OG_MULTIARG_WITH([ent], [dnl AS_HELP_STRING([--with-ent], [ @@ -560,6 +560,11 @@ OG_ARG_WITH([terminfo], [Use the terminfo library for tty support.]), [auto], [Autodetect]) +OG_ARG_WITH([tinfo], + AS_HELP_STRING([--with-tinfo], + [Use the ncurses tinfo library for tty support.]), + [auto], [Autodetect]) + OG_ARG_WITH([termlib], AS_HELP_STRING([--with-termlib], [Use the termlib library for tty support.]), @@ -570,6 +575,13 @@ OG_ARG_WITH([termcap], [Use the termcap library for tty support.]), [auto], [Autodetect]) +OG_ARG_WITH([builtin-tty], + AS_HELP_STRING([--with-builtin-tty], + [Use builtin termcap like code. LEGACY CODE. Please consider + installing ncurses. Requires /etc/termcap or TERMCAP + environment variable to work.]), + [no], [No]) + OG_ARG_WITH([gpm], AS_HELP_STRING([--with-gpm], @@ -620,23 +632,16 @@ OG_MULTIARG_WITH([image], [dnl OG_MULTIARG_WITH([sound], [dnl AS_HELP_STRING([--with-sound=TYPE], [Compile with sound support.])], - [auto], [Autodetect all sound support (except Pulse)], [dnl + [auto], [Autodetect all sound support], [dnl OG_MULTIARG_ITEM([alsa], [ALSA], [kernel-based linux sound standard]) OG_MULTIARG_ITEM([ao], [ao], [generic audio output layer]) OG_MULTIARG_ITEM([esd], [ESD], [Enlightenment Sound Daemon]) OG_MULTIARG_ITEM([jack], [Jack], [a low-latency audio server]) OG_MULTIARG_ITEM([nas], [NAS], [Network Audio System]) OG_MULTIARG_ITEM([oss], [OSS], [Open Sound System]) + OG_MULTIARG_ITEM([pulse], [PulseAudio], [PulseAudio Sound Server]) ]) -OG_ARG_WITH([pulseaudio], - AS_HELP_STRING([--with-pulseaudio], - [Compile with support for the PulseAudio audio server. - This has been turned off by default because of too many - bugs in recent versions of PA. Use at your own risk, - YMMV, and all that.]), - [no], [NO]) - OG_MULTIARG_WITH([media], [dnl AS_HELP_STRING([--with-media=TYPE], [Compile with media stream support.])], @@ -766,12 +771,17 @@ AS_IF([test -f "$0.ac" -a "$0.ac" -nt "$0"], # # Turn off core generation. We are already verifying the program fails, no need # poluting the workspace. Of course if you are a SXEmacs developer you may want -# to comemnt this on occasion :-) +# to comment this on occasion :-) ulimit -c 0 ## initialise our nestable msg funs SXE_INIT_MSG_LEVEL +AC_PROG_SED +AC_PROG_AWK + +ECHO=echo + dnl Small snippet to make echo -n work on solaris ECHO_N= ECHO_C= case `echo -n x` in @@ -805,7 +815,19 @@ dnl Check for bogus options dnl ------------------------------------------------------------------------- SXE_CHECK_COMMAND_LINE -AM_INIT_AUTOMAKE([foreign -Wall]) +test -z "$AUTOMAKE" || AUTOMAKE=automake + +AM_INIT_AUTOMAKE(m4_esyscmd([ + automake_ver=`$AUTOMAKE --version 2>/dev/null | head -n1` + automake_major=`echo "$automake_ver" | sed -e 's/^.* \([0-9]*\).*/\1/'` + automake_minor=`echo "$automake_ver" | sed -e 's/^.* [0-9]*\.\([0-9]*\).*/\1/'` + if test "$automake_major" = "1" -a "$automake_minor" -lt "14" + then + echo "foreign -Wall" + else + echo "info-in-builddir foreign -Wall" + fi])) + m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES]) SXE_CHECK_BUILDCHAIN AC_SUBST(EGREP) @@ -837,7 +859,7 @@ AC_MSG_CHECKING([for SXEmacs patchlevel]) CURDIR=$(pwd) cd "$sxe_srcdir" AS_IF([test "$have_git" = "yes"], - [sxemacs_git_version=`git describe | head -1`]) + [sxemacs_git_version=`git describe 2> /dev/null | head -1`]) AS_IF([test -z "$sxemacs_git_version"], sxemacs_git_version="[]SXEM4CS_GIT_VERSION[]") AC_MSG_RESULT([$sxemacs_git_version]) @@ -1718,10 +1740,30 @@ fi after_morecore_hook_exists=yes AC_CHECK_FUNC(malloc_set_state, ,doug_lea_malloc=no) AC_MSG_CHECKING(whether __after_morecore_hook exists) -AC_LINK_IFELSE([AC_LANG_SOURCE([[extern void (* __after_morecore_hook)();],[__after_morecore_hook = 0]])], +AC_LINK_IFELSE([AC_LANG_SOURCE([ + [extern void (* __after_morecore_hook)();] + [main() {__after_morecore_hook = 0;}] + ])], [AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no) after_morecore_hook_exists=no]) +if test "$after_morecore_hook_exists" = "yes" ; then + AC_DEFINE([HAVE_MORECORE_HOOK], [1], [Define if __after_morecore_hook is available]) +fi +AC_SUBST(HAVE_MORECORE_HOOK) +free_hook_exists=yes +AC_MSG_CHECKING(whether __free_hook exists) +AC_LINK_IFELSE([AC_LANG_SOURCE([ + [extern void (* __free_hook)();] + [main() {__free_hook = 0;}] + ])], + [AC_MSG_RESULT(yes)], + [AC_MSG_RESULT(no) + free_hook_exists=no]) +if test "$free_hook_exists" = "yes" ; then + AC_DEFINE([HAVE_FREE_HOOK], [1], [Define if __free_hook is available]) +fi +AC_SUBST(HAVE_FREE_HOOK) if test "$system_malloc" = "yes" ; then GNU_MALLOC=no GNU_MALLOC_reason=" @@ -1820,18 +1862,19 @@ fi SXE_EMOD_STATMOD([cl]) dnl D-Bus -SXE_CHECK_DBUS -if test "$have_dbus" = "yes"; then - if test "$with_modules_dbus" = "yes"; then - have_modules_dbus=yes - fi - if test "$with_static_modules_dbus" = "yes"; then - have_static_modules_dbus=yes - fi - SXE_EMOD_STATMOD([dbus]) -else - AC_MSG_WARN([I cannot believe you do not have d-bus.]) -fi +dnl SXE_CHECK_DBUS +dnl if test "$have_dbus" = "yes"; then +dnl if test "$with_modules_dbus" = "yes"; then +dnl have_modules_dbus=yes +dnl fi +dnl if test "$with_static_modules_dbus" = "yes"; then +dnl have_static_modules_dbus=yes +dnl fi +dnl else +dnl AC_MSG_WARN([I cannot believe you do not have d-bus.]) +dnl fi + +dnl SXE_EMOD_STATMOD([dbus]) AM_CONDITIONAL([AUTARKIC], [test "0" = "1"]) MODARCHDIR= @@ -2481,7 +2524,7 @@ dnl fi dnl make sure we can find Intrinsic.h AC_CHECK_HEADER([X11/Intrinsic.h], [], - [AC_MSG_ERROR([Unable to find X11 header files. Try using --x-includes= if you know the path, or --with-x=no to disable X11 support.])]) + [AC_MSG_ERROR([Unable to find X11 and/or Xt header files. Try using --x-includes= if you know the path, or --with-x=no to disable X11 support.])]) dnl Check some more headers AC_CHECK_HEADERS([X11/Intrinsic.h X11/StringDefs.h X11/Shell.h X11/ShellP.h], @@ -2723,144 +2766,343 @@ AC_CHECK_HEADERS([libintl.h nlist.h sgtty.h termio.h termios.h]) AS_IF([test "$with_tty" != "no"],[ AS_MESSAGE(checking for TTY-related features) dnl Check if needed calls are available at all... - tty_libs="ncurses curses terminfo termlib termcap" - tty_funcs="tgetent tgetstr tgetflag tparm tgoto tputs" - for func in $tty_funcs; do - AC_SEARCH_LIBS($func,$tty_libs) + + with_tty_libs="" + detect_tty_libs="" + for lib in ncurses curses tinfo terminfo termlib termcap + do + eval "with=\$with_${lib}" + if test "$with" = no + then + AC_MSG_WARN(["Ignoring available ${lib} due to --with-${lib}=no"]) + elif test "$with" = "yes" + then + with_tty_libs="$with_tty_libs $lib" + else + detect_tty_libs="$detect_tty_libs $lib" + fi done - AS_IF([test "$ac_cv_search_tgetent" = "no" -a \ - "$ac_cv_search_tgetflag" = "no" -a \ - "$ac_cv_search_tgetstr" = "no" -a \ - "$ac_cv_search_tgoto" = "no" -a \ - "$ac_cv_search_tparm" = "no" -a \ - "$ac_cv_search_tputs" = "no" ], - have_tty=no) - AS_IF([test "$with_tty" = "yes" -a "$have_tty" = "no" ],[ - AC_MSG_ERROR([Your system lacks necessary functions for requested TTY support])]) -],[ - for feature in ncurses curses termcap terminfo termlib gpm; do - if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then - AC_MSG_WARN([--with-${feature} ignored: Not valid without TTY support]) - fi - eval "with_${feature}=no" - done -]) -AS_IF([test "$with_tty" != "no" -a "$have_tty" != "no" ],[ - for lib in $tty_libs; do - SXE_CHECK_LINK_LIB($lib, , eval have_${lib}=no) - with_lib_eval=`eval echo \\$with_$lib` - have_lib_eval=`eval echo \\$have_$lib` - AS_IF([test "$have_lib_eval" = "yes" ], [ - for func in $tty_funcs; do - AC_CHECK_LIB($lib, tgetent) - AC_CHECK_LIB($lib, tgetstr) - AC_CHECK_LIB($lib, tgetflags) - AC_CHECK_LIB($lib, tparm) - AC_CHECK_LIB($lib, tgoto) - AC_CHECK_LIB($lib, tputs) - done - ]) - have_lib_eval=`eval echo \\$have_$lib` - AS_IF([test "$with_lib_eval" = "yes" -a \ - "$have_lib_eval" = "no" ], - AC_MSG_WARN([Errors detected trying to use requested $lib. Continuing with autodetection.])) + # All terminal info functions needed + tty_funcs="tgetent tgetstr tgetflag tgetnum tparm tgoto tputs" + tty_libs="" + # Filter by existing libs, printf is sure to be available with libc, so failure + # would come from lib not find + for lib in $with_tty_libs $detect_tty_libs + do + SXE_CHECK_LINK_LIB($lib) + if eval "test \"\$sxe_cv_c_lib_${lib}\" != yes" + then + if eval "test \"\$with_${lib}\" = yes" + then + AC_MSG_WARN(["Ignoring --with-${lib}=yes due to library not linkable"]) + eval "with_${lib}=no" + fi + continue + fi + + AC_CHECK_LIB([$lib], [$tty_funcs]) + + # Lets verify we have all functions + for func in $tty_func + do + if eval "test \"\$ac_cv_lib_${lib}_${func}\" = no" + then + AS_MESSAGE(["Skipping ${lib}, does not support to all TTY functions"]) + lib="" + break + fi + done + + tty_libs="$tty_libs $lib" done - AS_IF([test "$sxe_cv_c_lib_ncurses" = "no" -a \ - "$sxe_cv_c_lib_curses" = "no" -a \ - "$sxe_cv_c_lib_termcap" = "no" -a \ - "$sxe_cv_c_lib_terminfo" = "no" -a \ - "$sxe_cv_c_lib_termlib" = "no"], - have_tty=no) - AS_IF([test "$with_tty" = "yes" -a "$have_tty" = "no"], - AC_MSG_ERROR([Your system lacks necessary libraries for requested TTY support.])) -]) - -AS_IF([test "$with_tty" != "no" -a "$have_tty" != "no" ],[ - AC_DEFINE([HAVE_NCURSES], [1], [Description here!]) - with_ncurses=yes - AC_CHECK_HEADER(ncurses/ncurses.h, curses_h_file=ncurses/ncurses.h) - if test -z "$curses_h_file"; then - AC_CHECK_HEADER(ncurses/curses.h, curses_h_file=ncurses/curses.h) - fi - if test -n "$curses_h_file"; then - AC_CHECK_HEADER(ncurses/termcap.h, termcap_h_file=ncurses/termcap.h) - AC_CHECK_HEADER(ncurses/term.h, term_h_file=ncurses/term.h) - else - AC_CHECK_HEADER(ncurses.h, curses_h_file=ncurses.h) - AC_CHECK_HEADER(termcap.h, termcap_h_file=termcap.h) - AC_CHECK_HEADER(term.h, term_h_file=term.h) - fi - SXE_ADD_SXEUITTY_OBJS(terminfo.o) - SXE_PREPEND(-lncurses, LIBS) - - if test -z "$curses_h_file" ; then - dnl Try again, and check for the bogus ncurses/ include bug. - dnl (i.e. ncurses/curses.h bogusly includes instead of - dnl ) - save_c_switch_site="$c_switch_site" - c_switch_site="$c_switch_site -I/usr/include/ncurses" + if test -n "$tty_libs" + then + AS_MESSAGE(["Considering libraries: $tty_libs"]) + + # Check which preferred lib can be used + for func in $tty_funcs + do + # Make sure no flags are harmed during the search + sxe_save_LIBS=$LIBS + AC_SEARCH_LIBS($func, $tty_libs) + LIBS=$sxe_save_LIBS + done + + # Minimize the set of libraries + tty_feature="" + tty_fun="" + for func in $tty_funcs + do + eval lib=\$ac_cv_search_${func} + if test "$lib" != no -a "$lib" != "none required" + then + for feature in $tty_feature + do + if test "$feature" = "$lib" + then + lib="" + func="" + break; + fi + done + tty_feature="$tty_feature $lib" + tty_fun="$tty_fun $func" + fi + done + fi + + if test -n "$tty_feature" + then + # Check all the expected functions still compile with all the added + # libraries + sxe_save_LIBS=$LIBS + LIBS="$LIBS $tty_feature" + AC_CHECK_FUNCS($tty_funcs) + for func in $tty_fun + do + if eval "test \"\$ac_cv_func_${func}\" = no" + then + tty_feature="" + break + fi + done + LIBS=$sxe_save_LIBS + fi + + if test -n "$tty_feature" + then + SXE_PREPEND($tty_feature, LIBS) + for lib in $tty_feature + do + l=`echo $lib | sed -e 's/^-l//g'` + eval "with_${l}=yes" + done + with_builtin_tty=no + have_tty=yes + else + AC_MSG_WARN([Could not link all needed tty functions.] + [Please consider installing ncurses.]) + if test "$with_builtin_tty" = yes + then + AC_MSG_WARN([Using builtin tty support.]) + have_tty=yes + else + AC_MSG_WARN([Use --with-builtin-tty=yes if you cannot use ncurses.]) + have_tty=no + fi + fi + + if test "$with_builtin_tty" = yes + then + # Add our own wrappers using termcap + SXE_ADD_SXEUITTY_OBJS(termcap.o) + SXE_ADD_SXEUITTY_OBJS(tparam.o) + have_tty=yes + elif test "$have_tty" = yes + then + # Terminfo interface, since tgetent etc are available + SXE_ADD_SXEUITTY_OBJS(terminfo.o) + fi + + # Check headers, first generally + AC_CHECK_HEADER(termcap.h, termcap_h_file=termcap.h) + AC_CHECK_HEADER(term.h, term_h_file=term.h) + + if test "$have_ncurses" = yes; then + # Verify how ncurses overrides them AC_CHECK_HEADER(ncurses/ncurses.h, curses_h_file=ncurses/ncurses.h) if test -z "$curses_h_file"; then AC_CHECK_HEADER(ncurses/curses.h, curses_h_file=ncurses/curses.h) fi if test -n "$curses_h_file"; then AC_CHECK_HEADER(ncurses/termcap.h, termcap_h_file=ncurses/termcap.h) - AC_CHECK_HEADER(ncurses/term.h, term_h_file=ncurses/term.h) + AC_CHECK_HEADER(ncurses/term.h, term_h_file=ncurses/term.h) else - AC_CHECK_HEADER(ncurses.h, curses_h_file=ncurses.h) - AC_CHECK_HEADER(termcap.h, curses_h_file=termcap.h) - AC_CHECK_HEADER(term.h, curses_h_file=term.h) + AC_CHECK_HEADER(ncurses.h, curses_h_file=ncurses.h) fi - if test -n "$curses_h_file" - then AC_MSG_WARN([Your system has the bogus ncurses include bug.]) - else c_switch_site="$save_c_switch_site" + + if test -z "$curses_h_file" ; then + dnl Try again, and check for the bogus ncurses/ include bug. + dnl (i.e. ncurses/curses.h bogusly includes instead of + dnl ) + save_c_switch_site="$c_switch_site" + c_switch_site="$c_switch_site -I/usr/include/ncurses" + AC_CHECK_HEADER(ncurses/ncurses.h, curses_h_file=ncurses/ncurses.h) + if test -z "$curses_h_file"; then + AC_CHECK_HEADER(ncurses/curses.h, curses_h_file=ncurses/curses.h) + fi + if test -n "$curses_h_file"; then + AC_CHECK_HEADER(ncurses/termcap.h, termcap_h_file=ncurses/termcap.h) + AC_CHECK_HEADER(ncurses/term.h, term_h_file=ncurses/term.h) + else + AC_CHECK_HEADER(ncurses.h, curses_h_file=ncurses.h) + fi + if test -n "$curses_h_file" + then + AC_MSG_WARN([Your system has the bogus ncurses include bug.]) + AC_CHECK_HEADER(termcap.h, curses_h_file=termcap.h) + AC_CHECK_HEADER(term.h, curses_h_file=term.h) + else c_switch_site="$save_c_switch_site" + fi fi + fi + + if test -n "$curses_h_file"; then + AC_DEFINE_UNQUOTED([HAVE_CURSES_H], [1], + [There is a curses.h header file available]) + AC_DEFINE_UNQUOTED([CURSES_H_FILE], ["${curses_h_file}"], + [The curses.h header file]) + fi + + if test -n "$termcap_h_file"; then + AC_DEFINE_UNQUOTED([HAVE_TERMCAP_H], [1], + [There is a termcap.h header available]) + AC_DEFINE_UNQUOTED([TERMCAP_H_FILE], ["${termcap_h_file}"], + [The termcap.h header file]) + fi + + if test -n "$term_h_file"; then + AC_DEFINE_UNQUOTED([HAVE_TERM_H], [1], + [There is a term.h header available]) + AC_DEFINE_UNQUOTED([TERM_H_FILE], ["${term_h_file}"], + [The term.h header file]) + fi + + # Finally let's see if we have prototype for the elusive tparm + AC_MSG_CHECKING(for tparm prototype) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +#ifdef TERM_H_FILE +#include TERM_H_FILE +#endif +#ifdef TERMCAP_H_FILE +#include TERMCAP_H_FILE +#endif +#ifdef CURSES_H_FILE +#include CURSES_H_FILE +#endif +/* Completely incompatible prototype with all tparm ones + if files above define it, compilation should fail +*/ +extern void tparm(void); + ]], [[ tparm(); ]])], + [AC_MSG_RESULT(no)], + [AC_MSG_RESULT(yes) + AC_DEFINE_UNQUOTED([HAVE_TPARM_PROTOTYPE], [1], + [tparm has a prototype defined])]) + + # Finally let's see if we have prototype for tgetent + AC_MSG_CHECKING(for tgetent prototype) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +#ifdef TERM_H_FILE +#include TERM_H_FILE +#endif +#ifdef TERMCAP_H_FILE +#include TERMCAP_H_FILE +#endif +#ifdef CURSES_H_FILE +#include CURSES_H_FILE +#endif +extern void tgetent(void); + ]], [[ tgetent(); ]])], + [AC_MSG_RESULT(no)], + [AC_MSG_RESULT(yes) + AC_DEFINE_UNQUOTED([HAVE_TGETENT_PROTOTYPE], [1], + [tgetent has a prototype defined])]) + + + # Finally let's see if we have prototype for tgetflag + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +#ifdef TERM_H_FILE +#include TERM_H_FILE +#endif +#ifdef TERMCAP_H_FILE +#include TERMCAP_H_FILE +#endif +#ifdef CURSES_H_FILE +#include CURSES_H_FILE +#endif +extern void tgetflag(void); + ]], [[ tgetflag(); ]])], + [AC_MSG_RESULT(no)], + [AC_MSG_RESULT(yes) + AC_DEFINE_UNQUOTED([HAVE_TGETFLAG_PROTOTYPE], [1], + [tgetflag has a prototype defined])]) + + # Finally let's see if we have prototype for tgetnum + AC_MSG_CHECKING(for tgetnum prototype) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +#ifdef TERM_H_FILE +#include TERM_H_FILE +#endif +#ifdef TERMCAP_H_FILE +#include TERMCAP_H_FILE +#endif +#ifdef CURSES_H_FILE +#include CURSES_H_FILE +#endif +extern void tgetnum(void); + ]], [[ tgetnum(); ]])], + [AC_MSG_RESULT(no)], + [AC_MSG_RESULT(yes) + AC_DEFINE_UNQUOTED([HAVE_TGETNUM_PROTOTYPE], [1], + [tgetnum has a prototype defined])]) + + # Finally let's see if we have prototype for tgetnum + AC_MSG_CHECKING(for tgetstr prototype) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +#ifdef TERM_H_FILE +#include TERM_H_FILE +#endif +#ifdef TERMCAP_H_FILE +#include TERMCAP_H_FILE +#endif +#ifdef CURSES_H_FILE +#include CURSES_H_FILE +#endif +extern void tgetstr(void); + ]], [[ tgetstr(); ]])], + [AC_MSG_RESULT(no)], + [AC_MSG_RESULT(yes) + AC_DEFINE_UNQUOTED([HAVE_TGETSTR_PROTOTYPE], [1], + [tgetstr has a prototype defined])]) + + # Finally let's see if we have prototype for tgetnum + AC_MSG_CHECKING(for tputs prototype) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +#ifdef TERM_H_FILE +#include TERM_H_FILE +#endif +#ifdef TERMCAP_H_FILE +#include TERMCAP_H_FILE +#endif +#ifdef CURSES_H_FILE +#include CURSES_H_FILE +#endif +extern void tputs(void); + ]], [[ tputs(); ]])], + [AC_MSG_RESULT(no)], + [AC_MSG_RESULT(yes) + AC_DEFINE_UNQUOTED([HAVE_TPUTS_PROTOTYPE], [1], + [tputs has a prototype defined])]) +],[ + for feature in ncurses curses termcap terminfo termlib gpm; do + if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then + AC_MSG_WARN([--with-${feature} ignored: Not valid without TTY support]) fi -]) - -AS_IF([test "$with_tty" != "no" -a "$have_ncurses" != "no" ],[ - if test "$with_ncurses" = "no" -o -z "$curses_h_file" ; then - - # Check alternate library includes - for lib in curses term terminfo termcap; do - AC_CHECK_HEADER(${lib}.h, [ - eval ${lib}_h_file=${lib}.h - AC_CHECK_LIB($lib, tgetent, eval have_${lib}=yes, eval have_${lib}=no) - AC_CHECK_LIB($lib, tgetstr, , eval have_${lib}=no)]) - done - - for lib in curses terminfo termlib termcap; do - have_lib_eval=`eval echo \\$have_$lib` - if test "$have_lib_eval" = "yes"; then - AC_CHECK_LIB($lib, tparm, - SXE_ADD_SXEUITTY_OBJS(terminfo.o), - SXE_ADD_SXEUITTY_OBJS(tparam.o)) - SXE_PREPEND(-l${lib}, LIBS) - break - fi - done - fi - if test -n "$curses_h_file"; then - AC_DEFINE_UNQUOTED([HAVE_CURSES_H], [1], [There is a curses.h header file available]) - fi - if test -n "$termcap_h_file"; then - AC_DEFINE_UNQUOTED([HAVE_TERMCAP_H], [1], [There is a termcap.h header available]) - fi - if test -n "$term_h_file"; then - AC_DEFINE_UNQUOTED([HAVE_TERM_H], [1], [There is a term.h header available]) - fi - AC_DEFINE_UNQUOTED([CURSES_H_FILE], ["${curses_h_file-curses.h}"], [The curses.h header file]) - AC_DEFINE_UNQUOTED([TERMCAP_H_FILE], ["${termcap_h_file-termcap.h}"], [The termcap.h header file]) - AC_DEFINE_UNQUOTED([TERM_H_FILE], ["${term_h_file-term.h}"], [The term.h header file]) + eval "with_${feature}=\"\"" + done ]) AS_IF([test "$with_tty" != "no" -a "$have_tty" != no], [ - AC_DEFINE([HAVE_TTY], [1], [Include TTY support for SXEmacs]) - AC_DEFINE([HAVE_UNIXOID_EVENT_LOOP], [1], [Include Unixoid event loop - TTY provided]) + AC_DEFINE([HAVE_TTY], [1], + [Include TTY support for SXEmacs]) + AC_DEFINE([HAVE_UNIXOID_EVENT_LOOP], [1], + [Include Unixoid event loop - TTY provided]) SXE_ADD_SXEUITTY_OBJS([console-tty.o device-tty.o event-tty.o frame-tty.o objects-tty.o redisplay-tty.o cm.o]) ]) + AS_IF([test "$with_tty" != "no" -a "$have_tty" != no], [ dnl General Purpose Mouse (libgpm) support AS_IF([test "$with_gpm" != "no"], [ @@ -3027,6 +3269,17 @@ fi ## Since almost any of the below tests uses pkgconfig we make a ## once-for-all-times check now SXE_SEARCH_CONFIG_PROG([pkg-config]) +if test "$have_pkg_config" = "yes" -a -n "$with_site_prefixes"; then + for dir in $with_site_prefixes; do + pkgcfg_dir="${dir}/lib/pkgconfig" + if test -n "$PKG_CONFIG_PATH"; then + PKG_CONFIG_PATH="$PKG_CONFIG_PATH":"$pkgcfg_dir" + else + PKG_CONFIG_PATH="$pkgcfg_dir" + fi + done + export PKG_CONFIG_PATH +fi dnl libsndfile support if test "$with_media_sndfile" != "no"; then @@ -3177,24 +3430,18 @@ if test "$with_sound_esd" != "no"; then fi dnl PulseAudio Sound support -if test "$with_pulseaudio" != "no"; then +if test "$with_sound_pulse" != "no"; then SXE_MM_CHECK_PULSE([have_sound_pulse=yes], [have_sound_pulse=no]) AC_MSG_CHECKING([for sufficient PulseAudio support]) if test "$have_sound_pulse" = "yes"; then AC_MSG_RESULT([yes]) - PULSEAUDIO_LIBS=`$PKG_CONFIG --libs libpulse` - pulse_version=`$PKG_CONFIG --modversion libpulse` - pulse_major_version=0 - pulse_minor_version=`echo $pulse_version | \ - sed -e "s/0\.\([[0-9]]*\).*/\1/"` need_internal_media=yes SXE_ADD_MM_OBJS([sound-pulse.o]) - SXE_PREPEND($PULSEAUDIO_LIBS, MM_LIBS) + SXE_PREPEND($PULSE_LIBS, MM_LIBS) + SXE_PREPEND_UNDUP($PULSE_CFLAGS, MM_CPPFLAGS) AC_DEFINE([HAVE_PULSE_SOUND], [1], [Whether to put in support for PulseAudio.]) - AC_DEFINE_UNQUOTED([PULSE_VERSION], [$pulse_minor_version], - [Version of the underlying pulse lib.]) else AC_MSG_RESULT(no) have_sound_pulse=no