home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 5 Edit
/
05-Edit.zip
/
vile-src.zip
/
vile-8.1
/
configure.in
< prev
next >
Wrap
Text File
|
1998-08-30
|
12KB
|
524 lines
dnl Process this file with autoconf to produce a configure script.
AC_REVISION($Revision: 1.93 $)
AC_PREREQ(2.12.971222)
rm -f config.cache
### Use "configure -with-screen" to override the default configuration, which is
### termcap-based on unix systems.
dnl $Header: /usr/build/vile/vile/RCS/configure.in,v 1.93 1998/08/30 22:47:25 tom Exp $
dnl
AC_INIT(mktbls.c)
AC_CONFIG_HEADER(config.h:config_h.in)
CF_CHECK_CACHE
### checks for alternative programs
AC_PROG_CC
AC_PROG_CPP
AC_GCC_TRADITIONAL
AC_PROG_INSTALL
AC_PROGRAM_PATH(TD_CONFIG,td_config)
CF_DISABLE_ECHO
CF_PROG_EXT
CF_ARG_DISABLE(extensions,
[ --disable-extensions test: build only core functions],
[AC_DEFINE(SMALLER)
AC_DEFINE(FEWNAMES)],
[EXTRAOBJS="$EXTRAOBJS btree.o crypt.o"])
CF_ARG_DISABLE(shell,
[ --disable-shell test: disable shell/external commands],
[AC_DEFINE(OPT_SHELL,0)],
[EXTRAOBJS="$EXTRAOBJS npopen.o spawn.o"])
### use option --with-cflags to set default CFLAGS
AC_MSG_CHECKING(for CFLAGS options)
AC_ARG_WITH(CFLAGS,
[ --with-CFLAGS=value set default for \$CFLAGS],
[cflags=$withval])
if test -z "$cflags"; then
AC_ARG_WITH(cflags,
[ --with-cflags=value (same as --with-CFLAGS)],
[cflags=$withval])
fi
# if the user specified nothing else, set -O. user can override
# with --with-cflags=" "
if test -n "$cflags"; then
CFLAGS="$cflags"
elif test -z "$CFLAGS" ; then
CFLAGS="-O"
fi
AC_MSG_RESULT($cflags)
AC_MSG_CHECKING(for startup path)
AC_ARG_WITH(startup-path,
[ --with-startup-path=PATH specify locations to search for vile.hlp, etc.],
[VILE_STARTUP_PATH=$withval],
[test -z "$VILE_STARTUP_PATH" &&\
VILE_STARTUP_PATH='$(datadir):/usr/local/lib/:/usr/local/:/usr/lib/'])
AC_MSG_RESULT($VILE_STARTUP_PATH)
AC_SUBST(VILE_STARTUP_PATH)
AC_MSG_CHECKING(if you want to use perl as an extension language)
AC_ARG_WITH(perl,
[ --with-perl enable use of Perl as an extension language],
[with_perl=$withval],
[with_perl=no])
AC_MSG_RESULT($with_perl)
if test "$with_perl" = yes ; then
CF_PROG_PERL(5.004)
if test "$PERL" = no; then
AC_ERROR([perl not found])
fi
perl_lib_path=`$PERL -MConfig -e 'print $Config{privlib}'`
AC_DEFINE(OPT_PERL)
EXTRAOBJS="$EXTRAOBJS perl.o"
LINK_PREFIX=`$PERL -MConfig -e 'print $Config{shrpenv}'`
ac_link="$LINK_PREFIX $ac_link"
CFLAGS="$CFLAGS `$PERL -MExtUtils::Embed -e ccopts`"
LIBS="$LIBS `$PERL -MExtUtils::Embed -e ldopts`"
EXTRA_INSTALL_DIRS="$EXTRA_INSTALL_DIRS \$(INSTALL_PERL_DIRS)"
EXTRA_INSTALL_FILES="$EXTRA_INSTALL_FILES \$(INSTALL_PERL_FILES)"
fi
AC_SUBST(perl_lib_path)
AC_SUBST(PERL)
AC_SUBST(EXTRA_INSTALL_DIRS)
AC_SUBST(EXTRA_INSTALL_FILES)
# X11 checks will sometimes add to CFLAGS. We want the state of CFLAGS
# prior to these checks
saved_CFLAGS="$CFLAGS"
### checks for UNIX variants that set C preprocessor variables
AC_AIX
AC_ISC_POSIX
AC_MINIX
dnl: why this? AC_DYNIX_SEQ
AC_CHECK_FUNC(getpwnam,,AC_CHECK_LIB(sun,getpwnam))
# check for SCO.
# FIXME: this is a hack, and should be split into individual features -- the
# sys/time.h and select.h conflict.
AC_CHECKING([for SCO by checking on /usr/bin/scosh])
AC_PROGRAM_CHECK(COULD_BE_SCO, [scosh], maybe, maybenot)
if test "$COULD_BE_SCO" = "maybe"
then
AC_DEFINE(SYSTEM_LOOKS_LIKE_SCO)
fi
# check for a lint program.
AC_CHECK_PROGS(LINT, lint alint lclint, [])
if test -n "$LINT"
then
AC_DEFINE(SYSTEM_HAS_LINT_PROG)
fi
### checks for header files
AC_STDC_HEADERS
AC_HEADER_DIRENT
AC_CHECK_HEADERS(unistd.h stdlib.h stdarg.h stddef.h string.h memory.h fcntl.h \
poll.h pwd.h termios.h termio.h sgtty.h \
ioctl.h select.h setjmp.h signal.h utime.h varargs.h)
### checks for <sys/xxx> header files (separate, to avoid bug in autoconf)
AC_CHECK_HEADERS(sys/filio.h sys/ioctl.h sys/itimer.h \
sys/param.h \
sys/resource.h sys/wait.h sys/time.h sys/select.h)
### checks for typedefs
AC_TYPE_SIGNAL
AC_DEFINE(SIGT,RETSIGTYPE)
if test $ac_cv_type_signal = void; then
AC_DEFINE(SIGRET,[/*do nothing*/])
else
AC_DEFINE(SIGRET,[return 0])
fi
AC_TYPE_SIZE_T
AC_TYPE_OFF_T
AC_TYPE_UID_T
AC_TYPE_PID_T
AC_CHECK_TYPE(time_t, long)
### checks for library functions
if test "$cross_compiling" = no; then
AC_FUNC_SETVBUF_REVERSED
fi
### checks for structures
AC_STAT_MACROS_BROKEN
AC_ST_BLKSIZE
AC_ST_BLOCKS
AC_ST_RDEV
AC_TIME_WITH_SYS_TIME
AC_STRUCT_TM
CF_SIZECHANGE
CF_FP_ISREADY
### checks for compiler characteristics
AC_CONST
CF_ANSI_CC_REQD
CF_CC_INIT_UNIONS
CF_CC_OFFSETOF_CASES
### checks for system services and user specified options
AC_LONG_FILE_NAMES
CF_RESTARTABLE_PIPEREAD # is a read() of a pipe restartable?
AC_SUBST(CFLAGS)
AC_SUBST(LIBS)
AC_SUBST(X_CFLAGS)
AC_SUBST(X_LIBS)
AC_SUBST(X_EXTRA_LIBS)
AC_SUBST(SCREEN)
AC_SUBST(TARGET)
AC_SUBST(LINK_PREFIX)
dnl
dnl The killpg test and the tests for the presence of certain functions on
dnl a particular operating system are done prior to the checks for existence
dnl of screen libraries due to a problem with -lXt on certain SunOS systems.
dnl The nature of this problem is described in the FAQ on X. Look for the
dnl following subject: ``What are these problems with "_XtInherit not found"
dnl on the Sun? ...'' The long and the short of it is that AC_HAVE_FUNCS will
dnl not work properly (without being rewritten) if placed after adding -lXt to
dnl LIBS on SunOS (and perhaps some others as well).
dnl
AC_FUNC_SETPGRP
AC_FUNC_GETPGRP
CF_KILLPG
CF_ERRNO
CF_SYS_ERRLIST
AC_DEFINE(SYS_UNIX)
AC_DEFINE(scrn_chosen)
# Try to eventually eliminate the following
AC_DEFINE(os_chosen)
AC_MSG_CHECKING(for screen type)
AC_ARG_WITH(screen,
[ --with-screen=value specify terminal driver. The default is tcap, for
the termcap/terminfo driver. Other values include
ncurses (a special case of terminfo), X11, OpenLook,
Motif, Athena, Xaw, Xaw3d, neXtaw and ansi.],
[screen=$withval])
if test -z "$screen"; then
AC_ARG_WITH(scr,
[ --with-scr=value (same as --with-screen)],
[screen=$withval])
fi
test -z "$screen" && test "$with_x" = yes && screen=x11
if test -z "$screen"; then
screen=termcap;
fi
AC_MSG_RESULT($screen)
: See if this is any type of xvile configuration:
case "$screen" in
changequote(,)dnl
[Oo]pen[Ll]ook | [Mm]otif* | [xX] | [Aa]thena | [xX][atTmMoO]* | [xX]11 | neXtaw )
changequote([,])dnl
CF_X_TOOLKIT
CF_IMAKE_CFLAGS
X_CFLAGS="$X_CFLAGS $IMAKE_CFLAGS"
LDFLAGS="$LDFLAGS $X_LIBS"
CFLAGS="$CFLAGS $X_CFLAGS"
SCREEN=x11
TARGET=xvile
AC_DEFINE(DISP_X11)
AC_DEFINE(XTOOLKIT)
AC_CHECK_HEADERS(X11/IntrinsicI.h)
;;
esac
: Find the libraries that apply to the selected screen-type:
case "$screen" in
changequote(,)dnl
[Oo]pen* | [Xx]ol )
changequote([,])dnl
AC_DEFINE(OL_WIDGETS)
CF_X_OPENLOOK
;;
changequote(,)dnl
[mM]otif* | [Xx]m )
changequote([,])dnl
AC_DEFINE(MOTIF_WIDGETS)
CF_X_MOTIF
EXTRAOBJS="$EXTRAOBJS menu.o"
;;
changequote(,)dnl
[Aa]thena* | [Xx]aw* | neXtaw )
changequote([,])dnl
AC_DEFINE(ATHENA_WIDGETS)
case $screen in #(vi
*aw*)
cf_x_athena=`echo $screen | sed -e s/x/X/`
;;
esac
CF_X_ATHENA
EXTRAOBJS="$EXTRAOBJS menu.o"
;;
changequote(,)dnl
x | X | [Xx][Tt]* | [Xx]11 )
changequote([,])dnl
AC_DEFINE(NO_WIDGETS)
;;
ansi)
SCREEN=ansi
TARGET=vile
AC_DEFINE(DISP_ANSI)
;;
* )
SCREEN=tcap
TARGET=vile
AC_DEFINE(DISP_TERMCAP)
CF_TERMCAP_LIBS($screen)
;;
esac
: Check for termcap vs terminfo:
cf_tc_funcs=""
cf_tc_externs=""
if test ".$cf_cv_lib_termcap" = .terminfo ; then
AC_DEFINE(USE_TERMINFO)
cf_tc_funcs="tigetint tigetnum tparam tparm"
cf_tc_externs="$cf_tc_funcs tgoto tigetstr tputs tigetflag"
elif test ".$cf_cv_lib_termcap" = .termcap ; then
# BSD 'tputs()' may need 'PC' to be set.
AC_TRY_LINK([],[extern char PC; PC = 0],
[AC_DEFINE(HAVE_EXTERN_TCAP_PC)])
cf_tc_funcs="tgetint tgetnum tparam tparm"
cf_tc_externs="$cf_tc_funcs tgoto tgetstr tputs tgetent tgetflag"
fi
LIBS="$LIBS $X_EXTRA_LIBS"
AC_HAVE_FUNCS( \
access \
alarm \
getcwd \
gethostname \
getpass \
getwd \
killpg \
link \
mkdir \
poll \
putenv \
select \
setitimer \
setsid \
setvbuf \
sigaction \
sigprocmask \
strchr \
strrchr \
symlink \
tcgetattr \
ttyname \
utime \
utimes \
$cf_tc_funcs \
)
CF_ANSI_QSORT
### Miscellaneous options
if test -n "$cf_x_athena" ; then
AC_MSG_CHECKING(if you want to use Xaw scrollbars rather than our own)
AC_ARG_WITH(Xaw-scrollbars,
[ --with-Xaw-scrollbars use Xaw scrollbars rather than our own],
[cf_Xaw_scrollbars=$withval],
[cf_Xaw_scrollbars=no])
AC_MSG_RESULT($cf_Xaw_scrollbars)
if test "$cf_Xaw_scrollbars" = no ; then
AC_DEFINE(OPT_KEV_SCROLLBARS)
AC_DEFINE(OPT_KEV_DRAGGING)
else
AC_DEFINE(OPT_XAW_SCROLLBARS)
AC_MSG_CHECKING(if you want to use the drag/scrolling extension with Xaw)
AC_ARG_WITH(drag-extension,
[ --with-drag-extension use drag/scrolling extension with Xaw],
[cf_drag_extension=$withval],
[cf_drag_extension=no])
AC_MSG_RESULT($cf_drag_extension)
if test "$cf_drag_extension" != "no" ; then
AC_DEFINE(OPT_KEV_DRAGGING)
fi
fi
fi
AC_MSG_CHECKING(if you want to change the number of exec-macros)
AC_ARG_WITH(exec-macros,
[ --with-exec-macros=N specify count of numbered macros],
[cf_exec_macros=$withval],
[cf_exec_macros=no])
AC_MSG_RESULT($cf_exec_macros)
test "$cf_exec_macros" != no && AC_DEFINE(OPT_EXEC_MACROS,$cf_exec_macros)
# I don't know of a reliable test for working locale, but we can at least check
# that it is available before offering it as an option.
AC_CHECK_FUNC(setlocale,[
AC_CHECK_HEADER(locale.h,[
AC_MSG_CHECKING(if you want to use i18n locale support)
AC_ARG_WITH(locale,
[ --with-locale use i18n support for character-types],
[cf_locale=$withval],
[cf_locale=no])
AC_MSG_RESULT($cf_locale)
test "$cf_locale" != no && AC_DEFINE(OPT_LOCALE)
])])
### Debugging/development options
AC_ARG_WITH(dbmalloc,
[ --with-dbmalloc test: use Conor Cahill's dbmalloc library],
[AC_DEFINE(USE_DBMALLOC)
LIBS="$LIBS -ldbmalloc"])
AC_ARG_WITH(dmalloc,
[ --with-dmalloc test: use Gray Watson's dmalloc library],
[AC_DEFINE(USE_DMALLOC)
LIBS="$LIBS -ldmalloc"])
AC_ARG_WITH(no-leaks,
[ --with-no-leaks test: free permanent memory, analyze leaks],
[AC_DEFINE(NO_LEAKS)])
AC_ARG_WITH(trace,
[ --with-trace test: turn on debug-tracing],
[AC_DEFINE(OPT_TRACE)
EXTRAOBJS="$EXTRAOBJS trace.o"])
CFLAGS="$saved_CFLAGS"
AC_ARG_WITH(warnings,
[ --with-warnings test: turn on GCC compiler warnings],
[with_warnings=$withval])
if test -n "$with_warnings"
then
CF_GCC_ATTRIBUTES
CF_GCC_WARNINGS
fi
### Do these last, since they rely on a properly constructed config.h
### Mandatory checks for missing prototypes:
CHECK_DECL_FLAG="-I. -I$srcdir -Dscrn_chosen"
VILE_CHECK_HDRS='
#define CHECK_PROTOTYPES 1
#include <estruct.h>
'
CHECK_DECL_HDRS="$VILE_CHECK_HDRS"
CF_MISSING_EXTERN( \
environ \
getenv \
getpass \
getwd \
malloc \
realloc \
rindex \
strerror \
strtol \
)
if test -n "$cf_tc_externs"
then
CHECK_DECL_HDRS="$VILE_CHECK_HDRS
#include <tcap.h>
"
if test ".$cf_cv_lib_termcap" != ".none" ; then
CF_TYPE_OUTCHAR
fi
CF_MISSING_EXTERN( \
$cf_tc_externs \
)
fi
### Optional checks for missing functions (enabled with --with-warnings)
if test -n "$with_warnings"
then
CHECK_DECL_HDRS="$VILE_CHECK_HDRS"
CF_MISSING_EXTERN( \
_filbuf \
_flsbuf \
access \
alarm \
atoi \
bzero \
chdir \
close \
dup \
execlp \
fclose \
fflush \
fgetc \
fileno \
fork \
fprintf \
fputc \
fputs \
fread \
free \
fseek \
fwrite \
gethostname \
getpgrp \
getpid \
getuid \
isatty \
kill \
killpg \
link \
longjmp \
lstat \
memset \
mkdir \
mktemp \
open \
perror \
pipe \
printf \
puts \
qsort \
read \
readlink \
select \
setbuf \
setbuffer \
setitimer \
setjmp \
setpgrp \
setsid \
setvbuf \
sleep \
sscanf \
system \
time \
unlink \
utime \
utimes \
wait \
write \
)
CHECK_DECL_HDRS="$VILE_CHECK_HDRS
#if HAVE_SYS_IOCTL_H
#include <sys/ioctl.h>
#endif
"
CF_MISSING_EXTERN( \
ioctl \
)
fi
AC_SUBST(EXTRAOBJS)
### output makefile and config.h
AC_OUTPUT(makefile,,,sort)