dnl*****************************************************************************
dnl Copyright 1996 by Thomas E. Dickey <dickey@clark.net>                      *
dnl All Rights Reserved.                                                       *
dnl                                                                            *
dnl Permission to use, copy, modify, and distribute this software and its      *
dnl documentation for any purpose and without fee is hereby granted, provided  *
dnl that the above copyright notice appear in all copies and that both that    *
dnl copyright notice and this permission notice appear in supporting           *
dnl documentation, and that the name of the above listed copyright holder(s)   *
dnl not be used in advertising or publicity pertaining to distribution of the  *
dnl software without specific, written prior permission. THE ABOVE LISTED      *
dnl COPYRIGHT HOLDER(S) DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,  *
dnl INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO     *
dnl EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY         *
dnl SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER       *
dnl RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF       *
dnl CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN        *
dnl CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.                   *
dnl*****************************************************************************
dnl $Id: configure.in,v 1.7 1996/11/17 00:25:44 tom Exp $
dnl This is a simple configuration-script for the ncurses test programs that
dnl allows the test-directory to be separately configured against a reference
dnl system (i.e., sysvr4 curses)
dnl
dnl If you're configuring ncurses, you shouldn't need to use this script.
dnl It's only for testing purposes.
dnl
dnl dickey@clark.net (Thomas Dickey)
AC_PREREQ(2.0)
AC_INIT(ncurses.c)

AC_PROG_CC

CPPFLAGS="$CPPFLAGS -I."
AC_SUBST(CPPFLAGS)

LIB_NAME=curses
AC_SUBST(LIB_NAME)

dnl SunOS 4.x
AC_ARG_WITH(5lib,
	[  --with-5lib             use SunOS sysv-libraries],
	[LIBS="-L/usr/5lib $LIBS"
	 CPPFLAGS="$CPPFLAGS -I/usr/5include"])

dnl Ncurses, installed in conventional location
AC_ARG_WITH(ncurses,
	[  --with-ncurses          use ncurses-libraries (installed)],
	[LIB_NAME=ncurses
	 for p in $HOME /usr/local /usr
	 do
	 	if test -f $p/include/ncurses/curses.h
		then
			CPPFLAGS="$CPPFLAGS -I$p/include/ncurses"
			test $p != /usr && LIBS="-L$p/lib $LIBS"
			break
		elif test $p != /usr
		then
			if test -f $p/include/curses.h
			then
				CPPFLAGS="$CPPFLAGS -I$p/include"
				LIBS="-L$p/lib $LIBS"
				break
			fi
		fi
	 done
	])

dnl If we've not specified a library, assume we're using sysvr4 libraries
dnl installed conventionally (e.g., SunOS 5.x - solaris).

dnl Autoconf builds up the $LIBS in reverse order

AC_CHECK_LIB($LIB_NAME,initscr)
AC_CHECK_LIB(form,form_driver,,,-lcurses)
AC_CHECK_LIB(menu,menu_driver,,,-lcurses)
AC_CHECK_LIB(panel,new_panel,,,-lcurses)

AC_TYPE_SIGNAL

AC_STDC_HEADERS
AC_HEADER_TIME
AC_CHECK_HEADERS( \
form.h \
getopt.h \
menu.h \
panel.h \
sys/ioctl.h \
sys/select.h \
sys/time.h \
termios.h \
unistd.h \
)

AC_CHECK_FUNCS( \
gettimeofday \
napms \
resizeterm \
vsscanf \
)

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

dnl Things that we don't need (or must override) if we're not building ncurses
ECHO_LINK='@ echo linking $@ ... ;'
AC_SUBST(ECHO_LINK)

LD_MODEL=""
AC_SUBST(LD_MODEL)

LOCAL_LDFLAGS=""
AC_SUBST(LOCAL_LDFLAGS)

TEST_DEPS=""
AC_SUBST(TEST_DEPS)

LIB_PREFIX="-l"
AC_SUBST(LIB_PREFIX)

DFT_DEP_SUFFIX=""
AC_SUBST(DFT_DEP_SUFFIX)

rm -f config_h.in
echo '@DEFS@' >config_h.in

changequote({,})dnl
AC_OUTPUT(config_h Makefile,{

### Special editing.  We generate config.h directly to allow all filenames
### to be MSDOS-compatible, as well as to make the list of definitions be
### dynamically determined by the configuration script -- a consideration when
### doing type-clean development testing.

echo creating config.h
rm -f config.h
echo "/* generated by configure-script
 * On host: $SYS_NAME
 */
#ifndef NC_CONFIG_H
#define NC_CONFIG_H" >config.h
sed	-e '/^ -D/!d' \
	-e 's/ -D/\
#define /g' \
	-e 's/\(#define [A-Za-z_][A-Za-z0-9_]*\)=/\1	/g' \
	-e 's@\\@@g' \
	config_h | sort >>config.h
echo "
	/* The C compiler may not treat these properly, but C++ has to */
#ifdef __cplusplus
#undef const
#undef inline
#endif

#endif /* NC_CONFIG_H */" >> config.h
echo removing config_h
rm config_h
},{
### Special initialization commands, used to pass information from the
### configuration-run into config.status

SYS_NAME="`(uname -a || hostname) 2>/dev/null | sed 1q`"
if test -z "\$SYS_NAME"; then SYS_NAME=unknown;fi
})
changequote([,])dnl

rm -f config_h.in
