dnl***************************************************************************
dnl Copyright (c) 2007 Free Software Foundation, Inc. *
dnl *
dnl Permission is hereby granted, free of charge, to any person obtaining a *
dnl copy of this software and associated documentation files (the *
dnl "Software"), to deal in the Software without restriction, including *
dnl without limitation the rights to use, copy, modify, merge, publish, *
dnl distribute, distribute with modifications, sublicense, and/or sell *
dnl copies of the Software, and to permit persons to whom the Software is *
dnl furnished to do so, subject to the following conditions: *
dnl *
dnl The above copyright notice and this permission notice shall be included *
dnl in all copies or substantial portions of the Software. *
dnl *
dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
dnl IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
dnl DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
dnl OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
dnl THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
dnl *
dnl Except as contained in this notice, the name(s) of the above copyright *
dnl holders shall not be used in advertising or otherwise to promote the *
dnl sale, use or other dealings in this Software without prior written *
dnl authorization. *
dnl***************************************************************************
dnl
dnl Author: Thomas E. Dickey 2007
dnl
dnl $Id: configure.in,v 1.7 2007/04/29 23:47:26 tom Exp $
dnl This is a simple configuration-script for tack which makes it simpler to
dnl build outside the ncurses tree (provided that ncurses was configured using
dnl the --with-ticlib option).
dnl
dnl See http://invisible-island.net/autoconf/ for additional information.
dnl ---------------------------------------------------------------------------
AC_PREREQ(2.13.20020210)
AC_INIT(tack.c)
AC_CONFIG_HEADER(ncurses_cfg.h:ncurses_tst.hin)
CF_INHERIT_SCRIPT(config.guess)
CF_INHERIT_SCRIPT(config.sub)
CF_CHECK_CACHE
AC_PROG_MAKE_SET
AC_PROG_CC
AC_PROG_CPP
AC_PROG_AWK
CF_PROG_INSTALL
AC_PROG_LN_S
CF_MAKE_TAGS
dnl Things that we don't need (or must override) if we're not building ncurses
CC_G_OPT="-g" AC_SUBST(CC_G_OPT)
CC_SHARED_OPTS=unknown AC_SUBST(CC_SHARED_OPTS)
CPPFLAGS="$CPPFLAGS" AC_SUBST(CPPFLAGS)
DESTDIR="" AC_SUBST(DESTDIR)
DFT_DEP_SUFFIX="" AC_SUBST(DFT_DEP_SUFFIX)
DFT_OBJ_SUBDIR=`pwd|sed -e's:.*/::'` AC_SUBST(DFT_OBJ_SUBDIR)
DFT_UPR_MODEL="NORMAL" AC_SUBST(DFT_UPR_MODEL)
ECHO_LINK='@ echo linking $@ ... ;' AC_SUBST(ECHO_LINK)
EXTRA_LDFLAGS="" AC_SUBST(EXTRA_LDFLAGS)
LD="ld" AC_SUBST(LD)
LDFLAGS_SHARED="" AC_SUBST(LDFLAGS_SHARED)
LD_MODEL="" AC_SUBST(LD_MODEL)
LD_SHARED_OPTS="" AC_SUBST(LD_SHARED_OPTS)
LIBTOOL="" AC_SUBST(LIBTOOL)
LIB_CLEAN="" AC_SUBST(LIB_CLEAN)
LIB_COMPILE="" AC_SUBST(LIB_COMPILE)
LIB_INSTALL="" AC_SUBST(LIB_INSTALL)
LIB_LINK='$(CC)' AC_SUBST(LIB_LINK)
LIB_SUFFIX="" AC_SUBST(LIB_SUFFIX)
LIB_UNINSTALL="" AC_SUBST(LIB_UNINSTALL)
LINK_PROGS="" AC_SUBST(LINK_PROGS)
LINT=lint AC_SUBST(LINT)
LINT_OPTS="" AC_SUBST(LINT_OPTS)
LOCAL_LDFLAGS="" AC_SUBST(LOCAL_LDFLAGS)
MATH_LIB="-lm" AC_SUBST(MATH_LIB)
TICS_ARGS="" AC_SUBST(TICS_ARGS)
TINFO_ARGS='$(LIBS_CURSES)' AC_SUBST(TINFO_ARGS)
cf_cv_abi_version="" AC_SUBST(cf_cv_abi_version)
cf_cv_rel_version="" AC_SUBST(cf_cv_rel_version)
NCURSES_TREE="#"
AC_SUBST(NCURSES_TREE)
cf_cv_screen=curses
cf_cv_libtype=
AC_EXEEXT
AC_OBJEXT
CF_ANSI_CC_REQD
CF_ENABLE_WARNINGS
CF_GCC_ATTRIBUTES
CF_XOPEN_SOURCE
dnl ---------------------------------------------------------------------------
dnl NcursesW, installed in conventional location
AC_ARG_WITH(ncursesw,
[ --with-ncursesw use wide ncurses-libraries (installed)],
[cf_cv_screen=ncursesw],[
dnl Ncurses, installed in conventional location
AC_ARG_WITH(ncurses,
[ --with-ncurses use ncurses-libraries (installed)],
[cf_cv_screen=ncurses])])
case $cf_cv_screen in
ncurses)
CF_NCURSES_CONFIG
;;
ncursesw)
cf_cv_libtype=w
CF_NCURSES_CONFIG(ncursesw)
;;
*)
CF_CURSES_CONFIG
;;
esac
case $cf_cv_screen in
ncurses*)
AC_CHECK_FUNC(_nc_tic_expand,,[
AC_CHECK_LIB(tic,_nc_tic_expand,[LIBS="-ltic $LIBS"])])
;;
esac
CF_DISABLE_LEAKS
# look for curses-related headers
AC_CHECK_HEADERS( \
nc_alloc.h \
nc_tparm.h \
nomacros.h \
term_entry.h \
)
AC_TYPE_SIGNAL
AC_STDC_HEADERS
AC_HEADER_TIME
AC_CHECK_HEADERS( \
getopt.h \
locale.h \
stdarg.h \
sys/ioctl.h \
sys/select.h \
sys/time.h \
termios.h \
unistd.h \
)
AC_CHECK_FUNCS( \
_nc_free_tic \
gettimeofday \
select \
strstr \
)
CF_SYS_TIME_SELECT
CF_SIG_ATOMIC_T
TICS_ARGS="$LIBS"
LIBS=
dnl ---------------------------------------------------------------------------
AC_OUTPUT(Makefile,[
CF_PRG_RULES([$srcdir/mk-test.awk ECHO_LINK="$ECHO_LINK"], .)
cat >>Makefile <<TEST_EOF
# These rules are generated so we do not rely on suffix rules, which do not
# work consistently for different make-programs (the '\$(MODEL)/' confuses
# some, and the '\$x' confuses others).
TEST_EOF
LIST=`sed -e 's/[[ ]].*//' -e '/^[[#@]]/d' $srcdir/modules`
for N in $LIST
do
cat >>Makefile <<TEST_EOF
\$(MODEL)/$N.o : $N.c \\
tack.h \\
ncurses_cfg.h
@echo compiling $N; \$(CC) -c \$(CFLAGS_DEFAULT) $N.c
TEST_EOF
done
],[
AWK="$AWK"
],cat)