mirror of
https://github.com/irssi/irssi.git
synced 2024-12-04 14:46:39 -05:00
06bf25bfba
In m4/curses.m4, line 134, the 5th argument passed to AC_NCURSES was surrounded by '"' instead of '[' and ']'. Because of that, the expansion of AC_NCURSES in that case would produce the following line inside the configure script (note the repeated double quotes): screen_manager=""ncurses on $withval/include"" That would cause the following error when configure was executed with the "--with-ncurses=dir" argument: ./configure: line 13468: on: command not found Although in the case above the error doesn't actually influence the build process ('screen_manager' isn't used anywhere in the script), trying to execute 'on' might be harmful if it corresponded to an existing command in the user's environment.
299 lines
8.3 KiB
Plaintext
299 lines
8.3 KiB
Plaintext
dnl Curses detection: Munged from Midnight Commander's configure.in
|
|
dnl
|
|
dnl What it does:
|
|
dnl =============
|
|
dnl
|
|
dnl - Determine which version of curses is installed on your system
|
|
dnl and set the -I/-L/-l compiler entries and add a few preprocessor
|
|
dnl symbols
|
|
dnl - Do an AC_SUBST on the CURSES_INCLUDEDIR and CURSES_LIBS so that
|
|
dnl @CURSES_INCLUDEDIR@ and @CURSES_LIBS@ will be available in
|
|
dnl Makefile.in's
|
|
dnl - Modify the following configure variables (these are the only
|
|
dnl curses.m4 variables you can access from within configure.in)
|
|
dnl CURSES_INCLUDEDIR - contains -I's and possibly -DRENAMED_CURSES if
|
|
dnl an ncurses.h that's been renamed to curses.h
|
|
dnl is found.
|
|
dnl CURSES_LIBS - sets -L and -l's appropriately
|
|
dnl CFLAGS - if --with-sco, add -D_SVID3
|
|
dnl has_curses - exports result of tests to rest of configure
|
|
dnl
|
|
dnl Usage:
|
|
dnl ======
|
|
dnl 1) Add lines indicated below to acconfig.h
|
|
dnl 2) call AC_CHECK_CURSES after AC_PROG_CC in your configure.in
|
|
dnl 3) Instead of #include <curses.h> you should use the following to
|
|
dnl properly locate ncurses or curses header file
|
|
dnl
|
|
dnl #if defined(USE_NCURSES) && !defined(RENAMED_NCURSES)
|
|
dnl #include <ncurses.h>
|
|
dnl #else
|
|
dnl #include <curses.h>
|
|
dnl #endif
|
|
dnl
|
|
dnl 4) Make sure to add @CURSES_INCLUDEDIR@ to your preprocessor flags
|
|
dnl 5) Make sure to add @CURSES_LIBS@ to your linker flags or LIBS
|
|
dnl
|
|
dnl Notes with automake:
|
|
dnl - call AM_CONDITIONAL(HAS_CURSES, test "$has_curses" = true) from
|
|
dnl configure.in
|
|
dnl - your Makefile.am can look something like this
|
|
dnl -----------------------------------------------
|
|
dnl INCLUDES= blah blah blah $(CURSES_INCLUDEDIR)
|
|
dnl if HAS_CURSES
|
|
dnl CURSES_TARGETS=name_of_curses_prog
|
|
dnl endif
|
|
dnl bin_PROGRAMS = other_programs $(CURSES_TARGETS)
|
|
dnl other_programs_SOURCES = blah blah blah
|
|
dnl name_of_curses_prog_SOURCES = blah blah blah
|
|
dnl other_programs_LDADD = blah
|
|
dnl name_of_curses_prog_LDADD = blah $(CURSES_LIBS)
|
|
dnl -----------------------------------------------
|
|
dnl
|
|
dnl
|
|
dnl The following lines should be added to acconfig.h:
|
|
dnl ==================================================
|
|
dnl
|
|
dnl /*=== Curses version detection defines ===*/
|
|
dnl /* Found some version of curses that we're going to use */
|
|
dnl #undef HAS_CURSES
|
|
dnl
|
|
dnl /* Use SunOS SysV curses? */
|
|
dnl #undef USE_SUNOS_CURSES
|
|
dnl
|
|
dnl /* Use old BSD curses - not used right now */
|
|
dnl #undef USE_BSD_CURSES
|
|
dnl
|
|
dnl /* Use SystemV curses? */
|
|
dnl #undef USE_SYSV_CURSES
|
|
dnl
|
|
dnl /* Use Ncurses? */
|
|
dnl #undef USE_NCURSES
|
|
dnl
|
|
dnl /* If you Curses does not have color define this one */
|
|
dnl #undef NO_COLOR_CURSES
|
|
dnl
|
|
dnl /* Define if you want to turn on SCO-specific code */
|
|
dnl #undef SCO_FLAVOR
|
|
dnl
|
|
dnl /* Set to reflect version of ncurses *
|
|
dnl * 0 = version 1.*
|
|
dnl * 1 = version 1.9.9g
|
|
dnl * 2 = version 4.0/4.1 */
|
|
dnl #undef NCURSES_970530
|
|
dnl
|
|
dnl /*=== End new stuff for acconfig.h ===*/
|
|
dnl
|
|
|
|
|
|
AC_DEFUN([AC_CHECK_CURSES],[
|
|
search_ncurses=true
|
|
screen_manager=""
|
|
has_curses=false
|
|
|
|
CFLAGS=${CFLAGS--O}
|
|
|
|
AC_SUBST(CURSES_LIBS)
|
|
AC_SUBST(CURSES_INCLUDEDIR)
|
|
|
|
AC_ARG_WITH(sco,
|
|
[ --with-sco Use this to turn on SCO-specific code],[
|
|
if test x$withval = xyes; then
|
|
AC_DEFINE(SCO_FLAVOR)
|
|
CFLAGS="$CFLAGS -D_SVID3"
|
|
fi
|
|
])
|
|
|
|
AC_ARG_WITH(sunos-curses,
|
|
[ --with-sunos-curses Used to force SunOS 4.x curses],[
|
|
if test x$withval = xyes; then
|
|
AC_USE_SUNOS_CURSES
|
|
fi
|
|
])
|
|
|
|
AC_ARG_WITH(osf1-curses,
|
|
[ --with-osf1-curses Used to force OSF/1 curses],[
|
|
if test x$withval = xyes; then
|
|
AC_USE_OSF1_CURSES
|
|
fi
|
|
])
|
|
|
|
AC_ARG_WITH(vcurses,
|
|
[[ --with-vcurses[=incdir] Used to force SysV curses]],
|
|
if test x$withval != xyes; then
|
|
CURSES_INCLUDEDIR="-I$withval"
|
|
fi
|
|
AC_USE_SYSV_CURSES
|
|
)
|
|
|
|
AC_ARG_WITH(ncurses,
|
|
[[ --with-ncurses[=dir] Compile with ncurses/locate base dir]],
|
|
if test x$withval = xno ; then
|
|
search_ncurses=false
|
|
elif test x$withval != xyes ; then
|
|
AC_NCURSES($withval/include, ncurses.h, -L$withval/lib -lncurses, -I$withval/include, [ncurses on $withval/include])
|
|
fi
|
|
)
|
|
|
|
if $search_ncurses
|
|
then
|
|
AC_SEARCH_NCURSES()
|
|
fi
|
|
])
|
|
|
|
|
|
AC_DEFUN([AC_USE_SUNOS_CURSES], [
|
|
search_ncurses=false
|
|
screen_manager="SunOS 4.x /usr/5include curses"
|
|
AC_MSG_RESULT(Using SunOS 4.x /usr/5include curses)
|
|
AC_DEFINE(USE_SUNOS_CURSES)
|
|
AC_DEFINE(HAS_CURSES)
|
|
has_curses=true
|
|
AC_DEFINE(NO_COLOR_CURSES)
|
|
AC_DEFINE(USE_SYSV_CURSES)
|
|
CURSES_INCLUDEDIR="-I/usr/5include"
|
|
CURSES_LIBS="/usr/5lib/libcurses.a /usr/5lib/libtermcap.a"
|
|
AC_MSG_RESULT(Please note that some screen refreshs may fail)
|
|
])
|
|
|
|
AC_DEFUN([AC_USE_OSF1_CURSES], [
|
|
AC_MSG_RESULT(Using OSF1 curses)
|
|
search_ncurses=false
|
|
screen_manager="OSF1 curses"
|
|
AC_DEFINE(HAS_CURSES)
|
|
has_curses=true
|
|
AC_DEFINE(NO_COLOR_CURSES)
|
|
AC_DEFINE(USE_SYSV_CURSES)
|
|
CURSES_LIBS="-lcurses"
|
|
])
|
|
|
|
AC_DEFUN([AC_USE_SYSV_CURSES], [
|
|
AC_MSG_RESULT(Using SysV curses)
|
|
AC_DEFINE(HAS_CURSES)
|
|
has_curses=true
|
|
AC_DEFINE(USE_SYSV_CURSES)
|
|
search_ncurses=false
|
|
screen_manager="SysV/curses"
|
|
CURSES_LIBS="-lcurses"
|
|
])
|
|
|
|
dnl AC_ARG_WITH(bsd-curses,
|
|
dnl [--with-bsd-curses Used to compile with bsd curses, not very fancy],
|
|
dnl search_ncurses=false
|
|
dnl screen_manager="Ultrix/cursesX"
|
|
dnl if test $system = ULTRIX
|
|
dnl then
|
|
dnl THIS_CURSES=cursesX
|
|
dnl else
|
|
dnl THIS_CURSES=curses
|
|
dnl fi
|
|
dnl
|
|
dnl CURSES_LIBS="-l$THIS_CURSES -ltermcap"
|
|
dnl AC_DEFINE(HAS_CURSES)
|
|
dnl has_curses=true
|
|
dnl AC_DEFINE(USE_BSD_CURSES)
|
|
dnl AC_MSG_RESULT(Please note that some screen refreshs may fail)
|
|
dnl AC_WARN(Use of the bsdcurses extension has some)
|
|
dnl AC_WARN(display/input problems.)
|
|
dnl AC_WARN(Reconsider using xcurses)
|
|
dnl)
|
|
|
|
|
|
dnl
|
|
dnl Parameters: directory filename curses_LIBS curses_INCLUDEDIR nicename
|
|
dnl
|
|
AC_DEFUN([AC_NCURSES], [
|
|
if $search_ncurses
|
|
then
|
|
if test -f $1/$2
|
|
then
|
|
AC_MSG_RESULT(Found ncurses on $1/$2)
|
|
|
|
CURSES_LIBS="$3"
|
|
AC_CHECK_LIB(ncurses, initscr, [
|
|
true;
|
|
], [
|
|
CHECKLIBS=`echo "$3"|sed 's/-lncurses/-lcurses/g'`
|
|
AC_CHECK_LIB(curses, initscr, [
|
|
CURSES_LIBS="$CHECKLIBS"
|
|
],, $CHECKLIBS)
|
|
], $CURSES_LIBS)
|
|
CURSES_INCLUDEDIR="$4"
|
|
search_ncurses=false
|
|
screen_manager="$5"
|
|
AC_DEFINE(HAS_CURSES)
|
|
has_curses=true
|
|
has_ncurses=true
|
|
AC_DEFINE(USE_NCURSES)
|
|
fi
|
|
fi
|
|
])
|
|
|
|
AC_DEFUN([AC_SEARCH_NCURSES], [
|
|
AC_CHECKING("location of ncurses.h file")
|
|
|
|
AC_NCURSES(/usr/include, ncurses.h, -lncurses,,
|
|
[ncurses in /usr/include])
|
|
AC_NCURSES(/usr/include/ncurses, ncurses.h, -lncurses, -I/usr/include/ncurses,
|
|
[ncurses in /usr/include/ncurses])
|
|
AC_NCURSES(/usr/local/include, ncurses.h, -L/usr/local/lib -lncurses, -I/usr/local/include,
|
|
[ncurses in /usr/local/include])
|
|
AC_NCURSES(/usr/local/include/ncurses, ncurses.h, -L/usr/local/lib -lncurses, -I/usr/local/include/ncurses,
|
|
[ncurses in /usr/local/include/ncurses])
|
|
AC_NCURSES(/usr/local/include/ncurses, curses.h, -L/usr/local/lib -lncurses, -I/usr/local/include/ncurses -DRENAMED_NCURSES,
|
|
[renamed ncurses in /usr/local/include/ncurses])
|
|
AC_NCURSES(/usr/include/ncurses, curses.h, -lncurses, -I/usr/include/ncurses -DRENAMED_NCURSES,
|
|
[renamed ncurses in /usr/include/ncurses])
|
|
|
|
dnl
|
|
dnl We couldn't find ncurses, try SysV curses
|
|
dnl
|
|
if $search_ncurses
|
|
then
|
|
AC_EGREP_HEADER(init_color, /usr/include/curses.h,
|
|
AC_USE_SYSV_CURSES)
|
|
AC_EGREP_CPP(USE_NCURSES,[
|
|
#include <curses.h>
|
|
#ifdef __NCURSES_H
|
|
#undef USE_NCURSES
|
|
USE_NCURSES
|
|
#endif
|
|
],[
|
|
CURSES_INCLUDEDIR="$CURSES_INCLUDEDIR -DRENAMED_NCURSES"
|
|
AC_DEFINE(HAS_CURSES)
|
|
has_curses=true
|
|
has_ncurses=true
|
|
AC_DEFINE(USE_NCURSES)
|
|
search_ncurses=false
|
|
screen_manager="ncurses installed as curses"
|
|
])
|
|
fi
|
|
|
|
dnl
|
|
dnl Try SunOS 4.x /usr/5{lib,include} ncurses
|
|
dnl The flags USE_SUNOS_CURSES, USE_BSD_CURSES and BUGGY_CURSES
|
|
dnl should be replaced by a more fine grained selection routine
|
|
dnl
|
|
if $search_ncurses
|
|
then
|
|
if test -f /usr/5include/curses.h
|
|
then
|
|
AC_USE_SUNOS_CURSES
|
|
fi
|
|
fi
|
|
|
|
dnl use whatever curses there happens to be
|
|
if $search_ncurses
|
|
then
|
|
if test -f /usr/include/curses.h
|
|
then
|
|
CURSES_LIBS="-lcurses"
|
|
AC_DEFINE(HAS_CURSES)
|
|
has_curses=true
|
|
search_ncurses=false
|
|
screen_manager="curses"
|
|
fi
|
|
fi
|
|
])
|
|
|