AC_DEFUN([CF_ADD_CFLAGS],
[
cf_fix_cppflags=no
cf_new_cflags=
cf_new_cppflags=
cf_new_extra_cppflags=
for cf_add_cflags in $1
do
case $cf_fix_cppflags in
no)
case $cf_add_cflags in -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) case $cf_add_cflags in
-D*)
cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[[^=]]*='\''\"[[^"]]*//'`
test "${cf_add_cflags}" != "${cf_tst_cflags}" \
&& test -z "${cf_tst_cflags}" \
&& cf_fix_cppflags=yes
if test $cf_fix_cppflags = yes ; then
cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
continue
elif test "${cf_tst_cflags}" = "\"'" ; then
cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
continue
fi
;;
esac
case "$CPPFLAGS" in
*$cf_add_cflags) ;;
*) cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
;;
esac
;;
*)
cf_new_cflags="$cf_new_cflags $cf_add_cflags"
;;
esac
;;
yes)
cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[[^"]]*"'\''//'`
test "${cf_add_cflags}" != "${cf_tst_cflags}" \
&& test -z "${cf_tst_cflags}" \
&& cf_fix_cppflags=no
;;
esac
done
if test -n "$cf_new_cflags" ; then
ifelse($2,,,[CF_VERBOSE(add to \$CFLAGS $cf_new_cflags)])
CFLAGS="$CFLAGS $cf_new_cflags"
fi
if test -n "$cf_new_cppflags" ; then
ifelse($2,,,[CF_VERBOSE(add to \$CPPFLAGS $cf_new_cppflags)])
CPPFLAGS="$cf_new_cppflags $CPPFLAGS"
fi
if test -n "$cf_new_extra_cppflags" ; then
ifelse($2,,,[CF_VERBOSE(add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags)])
EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
fi
AC_SUBST(EXTRA_CPPFLAGS)
])AC_DEFUN([CF_ADD_INCDIR],
[
if test -n "$1" ; then
for cf_add_incdir in $1
do
while test $cf_add_incdir != /usr/include
do
if test -d $cf_add_incdir
then
cf_have_incdir=no
if test -n "$CFLAGS$CPPFLAGS" ; then
for cf_test_incdir in $CFLAGS $CPPFLAGS ; do
if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then
cf_have_incdir=yes; break
fi
done
fi
if test "$cf_have_incdir" = no ; then
if test "$cf_add_incdir" = /usr/local/include ; then
if test "$GCC" = yes
then
cf_save_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
AC_TRY_COMPILE([ [printf("Hello")],
[],
[cf_have_incdir=yes])
CPPFLAGS=$cf_save_CPPFLAGS
fi
fi
fi
if test "$cf_have_incdir" = no ; then
CF_VERBOSE(adding $cf_add_incdir to include-path)
ifelse($2,,CPPFLAGS,$2)="-I$cf_add_incdir $ifelse($2,,CPPFLAGS,[$]$2)"
cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
test "$cf_top_incdir" = "$cf_add_incdir" && break
cf_add_incdir="$cf_top_incdir"
else
break
fi
fi
done
done
fi
])AC_DEFUN([CF_ADD_LIBDIR],
[
if test -n "$1" ; then
for cf_add_libdir in $1
do
if test $cf_add_libdir = /usr/lib ; then
:
elif test -d $cf_add_libdir
then
cf_have_libdir=no
if test -n "$LDFLAGS$LIBS" ; then
for cf_test_libdir in $LDFLAGS $LIBS ; do
if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then
cf_have_libdir=yes; break
fi
done
fi
if test "$cf_have_libdir" = no ; then
CF_VERBOSE(adding $cf_add_libdir to library-path)
ifelse($2,,LDFLAGS,$2)="-L$cf_add_libdir $ifelse($2,,LDFLAGS,[$]$2)"
fi
fi
done
fi
])AC_DEFUN([CF_ADD_SUBDIR_PATH],
[
test "$4" != "$5" && \
test -d "$4" && \
ifelse([$5],NONE,,[(test $5 = NONE || test -d $5) &&]) {
test -n "$verbose" && echo " ... testing for $3-directories under $4"
test -d $4/$3 && $1="[$]$1 $4/$3"
test -d $4/$3/$2 && $1="[$]$1 $4/$3/$2"
test -d $4/$3/$2/$3 && $1="[$]$1 $4/$3/$2/$3"
test -d $4/$2/$3 && $1="[$]$1 $4/$2/$3"
test -d $4/$2/$3/$2 && $1="[$]$1 $4/$2/$3/$2"
}
])AC_DEFUN([CF_ANSI_CC_CHECK],
[
AC_CACHE_CHECK(for ${CC-cc} option to accept ANSI C, cf_cv_ansi_cc,[
cf_cv_ansi_cc=no
cf_save_CFLAGS="$CFLAGS"
cf_save_CPPFLAGS="$CPPFLAGS"
for cf_arg in "-DCC_HAS_PROTOS" \
"" \
-qlanglvl=ansi \
-std1 \
-Ae \
"-Aa -D_HPUX_SOURCE" \
-Xc
do
CF_ADD_CFLAGS($cf_arg)
AC_TRY_COMPILE(
[
choke me
],[
int test (int i, double x);
struct s1 {int (*f) (int a);};
struct s2 {int (*f) (double a);};],
[cf_cv_ansi_cc="$cf_arg"; break])
done
CFLAGS="$cf_save_CFLAGS"
CPPFLAGS="$cf_save_CPPFLAGS"
])
if test "$cf_cv_ansi_cc" != "no"; then
if test ".$cf_cv_ansi_cc" != ".-DCC_HAS_PROTOS"; then
CF_ADD_CFLAGS($cf_cv_ansi_cc)
else
AC_DEFINE(CC_HAS_PROTOS)
fi
fi
])AC_DEFUN([CF_ANSI_CC_REQD],
[AC_REQUIRE([CF_ANSI_CC_CHECK])
if test "$cf_cv_ansi_cc" = "no"; then
AC_ERROR(
[Your compiler does not appear to recognize prototypes.
You have the following choices:
a. adjust your compiler options
b. get an up-to-date compiler
c. use a wrapper such as unproto])
fi
])AC_DEFUN([CF_ARG_DISABLE],
[CF_ARG_OPTION($1,[$2],[$3],[$4],yes)])AC_DEFUN([CF_ARG_ENABLE],
[CF_ARG_OPTION($1,[$2],[$3],[$4],no)])AC_DEFUN([CF_ARG_OPTION],
[AC_ARG_ENABLE($1,[$2],[test "$enableval" != ifelse($5,no,yes,no) && enableval=ifelse($5,no,no,yes)
if test "$enableval" != "$5" ; then
ifelse($3,,[ :],[ $3]) ifelse($4,,,[
else
$4])
fi],[enableval=$5 ifelse($4,,,[
$4
]) ])])AC_DEFUN([CF_CHECK_CACHE],
[
if test -f $srcdir/config.guess || test -f $ac_aux_dir/config.guess ; then
ifelse([$1],,[AC_CANONICAL_HOST],[$1])
system_name="$host_os"
else
system_name="`(uname -s -r) 2>/dev/null`"
if test -z "$system_name" ; then
system_name="`(hostname) 2>/dev/null`"
fi
fi
test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name")
AC_CACHE_VAL(cf_cv_system_name,[cf_cv_system_name="$system_name"])
test -z "$system_name" && system_name="$cf_cv_system_name"
test -n "$cf_cv_system_name" && AC_MSG_RESULT(Configuring for $cf_cv_system_name)
if test ".$system_name" != ".$cf_cv_system_name" ; then
AC_MSG_RESULT(Cached system name ($system_name) does not agree with actual ($cf_cv_system_name))
AC_ERROR("Please remove config.cache and try again.")
fi
])AC_DEFUN([CF_CHECK_CFLAGS],
[
CF_VERBOSE(checking additions to CFLAGS)
cf_check_cflags="$CFLAGS"
cf_check_cppflags="$CPPFLAGS"
CF_ADD_CFLAGS($1,yes)
if test "$cf_check_cflags" != "$CFLAGS" ; then
AC_TRY_LINK([ [CF_VERBOSE(test-compile failed. Undoing change to \$CFLAGS)
if test "$cf_check_cppflags" != "$CPPFLAGS" ; then
CF_VERBOSE(but keeping change to \$CPPFLAGS)
fi
CFLAGS="$cf_check_flags"])
fi
])AC_DEFUN([CF_CURSES_ACS_MAP],
[
AC_CACHE_CHECK(for alternate character set array, cf_cv_curses_acs_map,[
cf_cv_curses_acs_map=unknown
for name in acs_map _acs_map __acs_map _nc_acs_map
do
AC_TRY_LINK([
],[
$name['k'] = ACS_PLUS
],[cf_cv_curses_acs_map=$name; break])
done
])
test "$cf_cv_curses_acs_map" != unknown && AC_DEFINE_UNQUOTED(CURSES_ACS_ARRAY,$cf_cv_curses_acs_map)
])
AC_DEFUN([CF_CURSES_CHECK_TYPE],
[
AC_MSG_CHECKING(for type $1 in ${cf_cv_ncurses_header-curses.h})
AC_TRY_COMPILE([
$1 foo
],cf_result=yes,cf_result=no)
AC_MSG_RESULT($cf_result)
if test $cf_result = yes ; then
CF_UPPER(cf_result,have_type_$1)
AC_DEFINE_UNQUOTED($cf_result)
else
AC_DEFINE_UNQUOTED($1,$2)
fi
])AC_DEFUN([CF_CURSES_CPPFLAGS],[
AC_CACHE_CHECK(for extra include directories,cf_cv_curses_incdir,[
cf_cv_curses_incdir=no
case $host_os in hpux10.*) test -d /usr/include/curses_colr && \
cf_cv_curses_incdir="-I/usr/include/curses_colr"
;;
sunos3*|sunos4*)
test -d /usr/5lib && \
test -d /usr/5include && \
cf_cv_curses_incdir="-I/usr/5include"
;;
esac
])
test "$cf_cv_curses_incdir" != no && CPPFLAGS="$cf_cv_curses_incdir $CPPFLAGS"
CF_CURSES_HEADER
CF_TERM_HEADER
])AC_DEFUN([CF_CURSES_FUNCS],
[
AC_REQUIRE([CF_CURSES_CPPFLAGS])AC_REQUIRE([CF_XOPEN_CURSES])
AC_REQUIRE([CF_CURSES_TERM_H])
for cf_func in $1
do
CF_UPPER(cf_tr_func,$cf_func)
AC_MSG_CHECKING(for ${cf_func})
CF_MSG_LOG(${cf_func})
AC_CACHE_VAL(cf_cv_func_$cf_func,[
eval cf_result='$ac_cv_func_'$cf_func
if test ".$cf_result" != ".no"; then
AC_TRY_LINK([
char * XCursesProgramName = "test";
[
long foo = (long)(&${cf_func});
${cf_cv_main_return-return}(foo == 0);
],
[cf_result=yes],
[cf_result=no])
fi
eval 'cf_cv_func_'$cf_func'=$cf_result'
])
eval 'cf_result=$cf_cv_func_'$cf_func
AC_MSG_RESULT($cf_result)
if test $cf_result != no; then
AC_DEFINE_UNQUOTED(HAVE_${cf_tr_func})
fi
done
])AC_DEFUN([CF_CURSES_HEADER],[
AC_CACHE_CHECK(if we have identified curses headers,cf_cv_ncurses_header,[
cf_cv_ncurses_header=none
for cf_header in \
curses.h \
ncurses.h \
ncurses/curses.h \
ncurses/ncurses.h
do
AC_TRY_COMPILE([ [initscr(); tgoto("?", 0,0)],
[cf_cv_ncurses_header=$cf_header; break],[])
done
])
if test "$cf_cv_ncurses_header" = none ; then
AC_MSG_ERROR(No curses header-files found)
fi
AC_CHECK_HEADERS($cf_cv_ncurses_header)
])AC_DEFUN([CF_CURSES_LIBS],[
AC_REQUIRE([CF_CURSES_CPPFLAGS])AC_MSG_CHECKING(if we have identified curses libraries)
AC_TRY_LINK([ [initscr(); tgoto("?", 0,0)],
cf_result=yes,
cf_result=no)
AC_MSG_RESULT($cf_result)
if test "$cf_result" = no ; then
case $host_os in freebsd*) AC_CHECK_LIB(mytinfo,tgoto,[LIBS="-lmytinfo $LIBS"])
;;
hpux10.*) AC_CHECK_LIB(cur_colr,initscr,[
LIBS="-lcur_colr $LIBS"
ac_cv_func_initscr=yes
],[
AC_CHECK_LIB(Hcurses,initscr,[
LIBS="-lHcurses $LIBS"
CPPFLAGS="-D__HP_CURSES -D_HP_CURSES $CPPFLAGS"
ac_cv_func_initscr=yes
])])
;;
linux*) CF_ADD_LIBDIR(/lib)
;;
sunos3*|sunos4*)
if test -d /usr/5lib ; then
CF_ADD_LIBDIR(/usr/5lib)
LIBS="$LIBS -lcurses -ltermcap"
fi
ac_cv_func_initscr=yes
;;
esac
if test ".$ac_cv_func_initscr" != .yes ; then
cf_save_LIBS="$LIBS"
cf_term_lib=""
cf_curs_lib=""
if test ".${cf_cv_ncurses_version-no}" != .no
then
cf_check_list="ncurses curses cursesX"
else
cf_check_list="cursesX curses ncurses"
fi
AC_CHECK_FUNC(tgoto,[cf_term_lib=predefined],[
for cf_term_lib in $cf_check_list termcap termlib unknown
do
AC_CHECK_LIB($cf_term_lib,tgoto,[break])
done
])
# Check for library containing initscr
test "$cf_term_lib" != predefined && test "$cf_term_lib" != unknown && LIBS="-l$cf_term_lib $cf_save_LIBS"
for cf_curs_lib in $cf_check_list xcurses jcurses unknown
do
AC_CHECK_LIB($cf_curs_lib,initscr,[break])
done
test $cf_curs_lib = unknown && AC_ERROR(no curses library found)
LIBS="-l$cf_curs_lib $cf_save_LIBS"
if test "$cf_term_lib" = unknown ; then
AC_MSG_CHECKING(if we can link with $cf_curs_lib library)
AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>],
[initscr()],
[cf_result=yes],
[cf_result=no])
AC_MSG_RESULT($cf_result)
test $cf_result = no && AC_ERROR(Cannot link curses library)
elif test "$cf_curs_lib" = "$cf_term_lib" ; then
:
elif test "$cf_term_lib" != predefined ; then
AC_MSG_CHECKING(if we need both $cf_curs_lib and $cf_term_lib libraries)
AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>],
[initscr(); tgoto((char *)0, 0, 0);],
[cf_result=no],
[
LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS"
AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>],
[initscr()],
[cf_result=yes],
[cf_result=error])
])
AC_MSG_RESULT($cf_result)
fi
fi
fi
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_CURSES_TERM_H version: 6 updated: 2003/11/06 19:59:57
dnl ----------------
dnl SVr4 curses should have term.h as well (where it puts the definitions of
dnl the low-level interface). This may not be true in old/broken implementations,
dnl as well as in misconfigured systems (e.g., gcc configured for Solaris 2.4
dnl running with Solaris 2.5.1).
AC_DEFUN([CF_CURSES_TERM_H],
[
AC_CACHE_CHECK(for term.h, cf_cv_term_header,[
AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl
# If we found <ncurses/curses.h>, look for <ncurses/term.h>, but always look
# for <term.h> if we do not find the variant.
for cf_header in \
`echo ${cf_cv_ncurses_header-curses.h} | sed -e 's%/.*%/%'`term.h \
term.h
do
AC_TRY_COMPILE([
[WINDOW *x],
[cf_cv_term_header=$cf_header
break],
[cf_cv_term_header=no])
done
])
case $cf_cv_term_header in term.h) AC_DEFINE(HAVE_TERM_H)
;;
ncurses/term.h)
AC_DEFINE(HAVE_NCURSES_TERM_H)
;;
ncursesw/term.h)
AC_DEFINE(HAVE_NCURSESW_TERM_H)
;;
esac
])AC_DEFUN([CF_CURSES_WACS_MAP],
[
AC_CACHE_CHECK(for wide alternate character set array, cf_cv_curses_wacs_map,[
cf_cv_curses_wacs_map=unknown
for name in wacs_map _wacs_map __wacs_map _nc_wacs
do
AC_TRY_LINK([
[$name['k'] = *WACS_PLUS],
[cf_cv_curses_wacs_map=$name
break])
done])
])
AC_DEFUN([CF_DIRNAME],[$1=`echo $2 | sed -e 's%/[[^/]]*$%%'`])AC_DEFUN([CF_DISABLE_ECHO],[
AC_MSG_CHECKING(if you want to see long compiling messages)
CF_ARG_DISABLE(echo,
[ --disable-echo display "compiling" commands],
[
ECHO_LT='--silent'
ECHO_LD='@echo linking [$]@;'
RULE_CC=' @echo compiling [$]<'
SHOW_CC=' @echo compiling [$]@'
ECHO_CC='@'
],[
ECHO_LT=''
ECHO_LD=''
RULE_CC=' SHOW_CC=' ECHO_CC=''
])
AC_MSG_RESULT($enableval)
AC_SUBST(ECHO_LT)
AC_SUBST(ECHO_LD)
AC_SUBST(RULE_CC)
AC_SUBST(SHOW_CC)
AC_SUBST(ECHO_CC)
])AC_DEFUN([CF_ENABLE_WARNINGS],[
if ( test "$GCC" = yes || test "$GXX" = yes )
then
AC_MSG_CHECKING(if you want to turn on gcc warnings)
CF_ARG_ENABLE(warnings,
[ --enable-warnings test: turn on gcc compiler warnings],
[with_warnings=yes],
[with_warnings=no])
AC_MSG_RESULT($with_warnings)
if test "$with_warnings" = "yes"
then
CF_GCC_WARNINGS
fi
fi
])AC_DEFUN([CF_FIND_LIBRARY],
[
eval 'cf_cv_have_lib_'$1'=no'
cf_libdir=""
AC_CHECK_FUNC($5,
eval 'cf_cv_have_lib_'$1'=yes',[
cf_save_LIBS="$LIBS"
AC_MSG_CHECKING(for $5 in -l$1)
LIBS="-l$1 $LIBS"
AC_TRY_LINK([$3],[$4],
[AC_MSG_RESULT(yes)
eval 'cf_cv_have_lib_'$1'=yes'
],
[AC_MSG_RESULT(no)
CF_LIBRARY_PATH(cf_search,$2)
for cf_libdir in $cf_search
do
AC_MSG_CHECKING(for -l$1 in $cf_libdir)
LIBS="-L$cf_libdir -l$1 $cf_save_LIBS"
AC_TRY_LINK([$3],[$4],
[AC_MSG_RESULT(yes)
eval 'cf_cv_have_lib_'$1'=yes'
break],
[AC_MSG_RESULT(no)
LIBS="$cf_save_LIBS"])
done
])
])
eval 'cf_found_library=[$]cf_cv_have_lib_'$1
ifelse($6,,[
if test $cf_found_library = no ; then
AC_ERROR(Cannot link $1 library)
fi
])
])AC_DEFUN([CF_FUNC_CURSES_VERSION],
[
AC_CACHE_CHECK(for function curses_version, cf_cv_func_curses_version,[
AC_TRY_RUN([
int main()
{
char temp[1024];
sprintf(temp, "%s\n", curses_version());
${cf_cv_main_return-return}(0);
}]
,[cf_cv_func_curses_version=yes]
,[cf_cv_func_curses_version=no]
,[cf_cv_func_curses_version=unknown])
rm -f core])
test "$cf_cv_func_curses_version" = yes && AC_DEFINE(HAVE_CURSES_VERSION)
])
AC_DEFUN([CF_GCC_ATTRIBUTES],
[
if test "$GCC" = yes
then
cat > conftest.i <<EOF
EOF
if test "$GCC" = yes
then
AC_CHECKING([for $CC __attribute__ directives])
cat > conftest.$ac_ext <<EOF
extern void wow(char *,...) GCC_SCANFLIKE(1,2);
extern void oops(char *,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN;
extern void foo(void) GCC_NORETURN;
int main(int argc GCC_UNUSED, char *argv[[]] GCC_UNUSED) { return 0; }
EOF
for cf_attribute in scanf printf unused noreturn
do
CF_UPPER(cf_ATTRIBUTE,$cf_attribute)
cf_directive="__attribute__(($cf_attribute))"
echo "checking for $CC $cf_directive" 1>&AC_FD_CC
case $cf_attribute in
scanf|printf)
cat >conftest.h <<EOF
EOF
;;
*)
cat >conftest.h <<EOF
EOF
;;
esac
if AC_TRY_EVAL(ac_compile); then
test -n "$verbose" && AC_MSG_RESULT(... $cf_attribute)
cat conftest.h >>confdefs.h
fi
done
else
fgrep define conftest.i >>confdefs.h
fi
rm -rf conftest*
fi
])AC_DEFUN([CF_GCC_VERSION],[
AC_REQUIRE([AC_PROG_CC])
GCC_VERSION=none
if test "$GCC" = yes ; then
AC_MSG_CHECKING(version of $CC)
GCC_VERSION="`${CC} --version| sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
test -z "$GCC_VERSION" && GCC_VERSION=unknown
AC_MSG_RESULT($GCC_VERSION)
fi
])AC_DEFUN([CF_GCC_WARNINGS],
[
AC_REQUIRE([CF_GCC_VERSION])
CF_INTEL_COMPILER(GCC,INTEL_COMPILER,CFLAGS)
cat > conftest.$ac_ext <<EOF
int main(int argc, char *argv[[]]) { return (argv[[argc-1]] == 0) ; }
EOF
if test "$INTEL_COMPILER" = yes
then
AC_CHECKING([for $CC warning options])
cf_save_CFLAGS="$CFLAGS"
EXTRA_CFLAGS="-Wall"
for cf_opt in \
wd1419 \
wd1682 \
wd1683 \
wd1684 \
wd193 \
wd279 \
wd593 \
wd810 \
wd869 \
wd981
do
CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
if AC_TRY_EVAL(ac_compile); then
test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
fi
done
CFLAGS="$cf_save_CFLAGS"
elif test "$GCC" = yes
then
AC_CHECKING([for $CC warning options])
cf_save_CFLAGS="$CFLAGS"
EXTRA_CFLAGS="-W -Wall"
cf_warn_CONST=""
test "$with_ext_const" = yes && cf_warn_CONST="Wwrite-strings"
for cf_opt in \
Wbad-function-cast \
Wcast-align \
Wcast-qual \
Winline \
Wmissing-declarations \
Wmissing-prototypes \
Wnested-externs \
Wpointer-arith \
Wshadow \
Wstrict-prototypes \
Wundef $cf_warn_CONST $1
do
CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
if AC_TRY_EVAL(ac_compile); then
test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
case $cf_opt in Wcast-qual) CPPFLAGS="$CPPFLAGS -DXTSTRINGDEFINES"
;;
Winline) case $GCC_VERSION in
3.3*)
CF_VERBOSE(feature is broken in gcc $GCC_VERSION)
continue;;
esac
;;
esac
EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
fi
done
CFLAGS="$cf_save_CFLAGS"
fi
rm -f conftest*
AC_SUBST(EXTRA_CFLAGS)
])AC_DEFUN([CF_GNU_SOURCE],
[
AC_CACHE_CHECK(if we must define _GNU_SOURCE,cf_cv_gnu_source,[
AC_TRY_COMPILE([make an error
[cf_cv_gnu_source=no],
[cf_save="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
AC_TRY_COMPILE([make an error
[cf_cv_gnu_source=no],
[cf_cv_gnu_source=yes])
CPPFLAGS="$cf_save"
])
])
test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
])AC_DEFUN([CF_HEADER_PATH],
[CF_SUBDIR_PATH($1,$2,include)
test "$includedir" != NONE && \
test "$includedir" != "/usr/include" && \
test -d "$includedir" && {
test -d $includedir && $1="[$]$1 $includedir"
test -d $includedir/$2 && $1="[$]$1 $includedir/$2"
}
test "$oldincludedir" != NONE && \
test "$oldincludedir" != "/usr/include" && \
test -d "$oldincludedir" && {
test -d $oldincludedir && $1="[$]$1 $oldincludedir"
test -d $oldincludedir/$2 && $1="[$]$1 $oldincludedir/$2"
}
])AC_DEFUN([CF_INHERIT_SCRIPT],
[
test -f $1 || ( test -f ../$1 && cp ../$1 ./ )
])AC_DEFUN([CF_INTEL_COMPILER],[
ifelse($2,,INTEL_COMPILER,[$2])=no
if test "$ifelse($1,,[$1],GCC)" = yes ; then
case $host_os in
linux*|gnu*)
AC_MSG_CHECKING(if this is really Intel ifelse($1,GXX,C++,C) compiler)
cf_save_CFLAGS="$ifelse($3,,CFLAGS,[$3])"
ifelse($3,,CFLAGS,[$3])="$ifelse($3,,CFLAGS,[$3]) -no-gcc"
AC_TRY_COMPILE([],[
make an error
],[ifelse($2,,INTEL_COMPILER,[$2])=yes
cf_save_CFLAGS="$cf_save_CFLAGS -we147 -no-gcc"
],[])
ifelse($3,,CFLAGS,[$3])="$cf_save_CFLAGS"
AC_MSG_RESULT($ifelse($2,,INTEL_COMPILER,[$2]))
;;
esac
fi
])AC_DEFUN([CF_LIBRARY_PATH],
[CF_SUBDIR_PATH($1,$2,lib)])AC_DEFUN([CF_MSG_LOG],[
echo "${as_me-configure}:__oline__: testing $* ..." 1>&AC_FD_CC
])AC_DEFUN([CF_NCURSES_CC_CHECK],[
AC_TRY_COMPILE([
]ifelse($3,ncursesw,[
])[
]ifelse($3,ncursesw,[
make an error
])[
printf("%s\n", NCURSES_VERSION);
printf("old\n");
make an error
]
,[$1=$2]
,[$1=no])
])AC_DEFUN([CF_NCURSES_CPPFLAGS],
[AC_REQUIRE([CF_WITH_CURSES_DIR])
AC_PROVIDE([CF_CURSES_CPPFLAGS])cf_ncuhdr_root=ifelse($1,,ncurses,$1)
test -n "$cf_cv_curses_dir" && \
test "$cf_cv_curses_dir" != "no" && { \
CF_ADD_INCDIR($cf_cv_curses_dir/include $cf_cv_curses_dir/include/$cf_ncuhdr_root)
}
AC_CACHE_CHECK(for $cf_ncuhdr_root header in include-path, cf_cv_ncurses_h,[
cf_header_list="$cf_ncuhdr_root/curses.h $cf_ncuhdr_root/ncurses.h"
( test "$cf_ncuhdr_root" = ncurses || test "$cf_ncuhdr_root" = ncursesw ) && cf_header_list="$cf_header_list curses.h ncurses.h"
for cf_header in $cf_header_list
do
CF_NCURSES_CC_CHECK(cf_cv_ncurses_h,$cf_header,$1)
test "$cf_cv_ncurses_h" != no && break
done
])
CF_NCURSES_HEADER
CF_TERM_HEADER
AC_DEFINE(NCURSES)
CF_NCURSES_VERSION
])AC_DEFUN([CF_NCURSES_HEADER],[
if test "$cf_cv_ncurses_h" != no ; then
cf_cv_ncurses_header=$cf_cv_ncurses_h
else
AC_CACHE_CHECK(for $cf_ncuhdr_root include-path, cf_cv_ncurses_h2,[
test -n "$verbose" && echo
CF_HEADER_PATH(cf_search,$cf_ncuhdr_root)
test -n "$verbose" && echo search path $cf_search
cf_save2_CPPFLAGS="$CPPFLAGS"
for cf_incdir in $cf_search
do
CF_ADD_INCDIR($cf_incdir)
for cf_header in \
ncurses.h \
curses.h
do
CF_NCURSES_CC_CHECK(cf_cv_ncurses_h2,$cf_header,$1)
if test "$cf_cv_ncurses_h2" != no ; then
cf_cv_ncurses_h2=$cf_incdir/$cf_header
test -n "$verbose" && echo $ac_n " ... found $ac_c" 1>&AC_FD_MSG
break
fi
test -n "$verbose" && echo " ... tested $cf_incdir/$cf_header" 1>&AC_FD_MSG
done
CPPFLAGS="$cf_save2_CPPFLAGS"
test "$cf_cv_ncurses_h2" != no && break
done
test "$cf_cv_ncurses_h2" = no && AC_ERROR(not found)
])
CF_DIRNAME(cf_1st_incdir,$cf_cv_ncurses_h2)
cf_cv_ncurses_header=`basename $cf_cv_ncurses_h2`
if test `basename $cf_1st_incdir` = $cf_ncuhdr_root ; then
cf_cv_ncurses_header=$cf_ncuhdr_root/$cf_cv_ncurses_header
fi
CF_ADD_INCDIR($cf_1st_incdir)
fi
case $cf_cv_ncurses_header in *ncurses.h)
AC_DEFINE(HAVE_NCURSES_H)
;;
esac
case $cf_cv_ncurses_header in ncurses/curses.h|ncurses/ncurses.h)
AC_DEFINE(HAVE_NCURSES_NCURSES_H)
;;
ncursesw/curses.h|ncursesw/ncurses.h)
AC_DEFINE(HAVE_NCURSESW_NCURSES_H)
;;
esac
])AC_DEFUN([CF_NCURSES_LIBS],
[AC_REQUIRE([CF_NCURSES_CPPFLAGS])
cf_nculib_root=ifelse($1,,ncurses,$1)
cf_ncurses_LIBS=""
cf_ncurses_SAVE="$LIBS"
AC_CHECK_LIB(gpm,Gpm_Open,
[AC_CHECK_LIB(gpm,initscr,
[LIBS="$cf_ncurses_SAVE"],
[cf_ncurses_LIBS="-lgpm"])])
case $host_os in freebsd*)
if test "$cf_nculib_root" = ncurses ; then
AC_CHECK_LIB(mytinfo,tgoto,[cf_ncurses_LIBS="-lmytinfo $cf_ncurses_LIBS"])
fi
;;
esac
LIBS="$cf_ncurses_LIBS $LIBS"
if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" )
then
CF_ADD_LIBDIR($cf_cv_curses_dir/lib)
LIBS="-l$cf_nculib_root $LIBS"
else
CF_FIND_LIBRARY($cf_nculib_root,$cf_nculib_root,
[ [initscr()],
initscr)
fi
if test -n "$cf_ncurses_LIBS" ; then
AC_MSG_CHECKING(if we can link $cf_nculib_root without $cf_ncurses_LIBS)
cf_ncurses_SAVE="$LIBS"
for p in $cf_ncurses_LIBS ; do
q=`echo $LIBS | sed -e "s%$p %%" -e "s%$p$%%"`
if test "$q" != "$LIBS" ; then
LIBS="$q"
fi
done
AC_TRY_LINK([ [initscr(); mousemask(0,0); tgoto((char *)0, 0, 0);],
[AC_MSG_RESULT(yes)],
[AC_MSG_RESULT(no)
LIBS="$cf_ncurses_SAVE"])
fi
CF_UPPER(cf_nculib_ROOT,HAVE_LIB$cf_nculib_root)
AC_DEFINE_UNQUOTED($cf_nculib_ROOT)
])AC_DEFUN([CF_NCURSES_VERSION],
[
AC_REQUIRE([CF_CURSES_CPPFLAGS])AC_CACHE_CHECK(for ncurses version, cf_cv_ncurses_version,[
cf_cv_ncurses_version=no
cf_tempfile=out$$
rm -f $cf_tempfile
AC_TRY_RUN([
int main()
{
FILE *fp = fopen("$cf_tempfile", "w");
fprintf(fp, "%s.%d\n", NCURSES_VERSION, NCURSES_VERSION_PATCH);
fprintf(fp, "%s\n", NCURSES_VERSION);
fprintf(fp, "old\n");
make an error
${cf_cv_main_return-return}(0);
}],[
cf_cv_ncurses_version=`cat $cf_tempfile`],,[
cat > conftest.$ac_ext <<EOF
Autoconf NCURSES_VERSION
Autoconf "old"
;
EOF
cf_try="$ac_cpp conftest.$ac_ext 2>&AC_FD_CC | grep '^Autoconf ' >conftest.out"
AC_TRY_EVAL(cf_try)
if test -f conftest.out ; then
cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[[^"]]*"%%' -e 's%".*%%'`
test -n "$cf_out" && cf_cv_ncurses_version="$cf_out"
rm -f conftest.out
fi
])
rm -f $cf_tempfile
])
test "$cf_cv_ncurses_version" = no || AC_DEFINE(NCURSES)
])AC_DEFUN([CF_PATH_SYNTAX],[
if test "x$prefix" != xNONE; then
cf_path_syntax="$prefix"
else
cf_path_syntax="$ac_default_prefix"
fi
case ".[$]$1" in .\[$]\(*\)*|.\'*\'*) ;;
..|./*|.\\*) ;;
.[[a-zA-Z]]:[[\\/]]*) ;;
.\[$]{*prefix}*) eval $1="[$]$1"
case ".[$]$1" in .NONE/*)
$1=`echo [$]$1 | sed -e s%NONE%$cf_path_syntax%`
;;
esac
;; .no|.NONE/*)
$1=`echo [$]$1 | sed -e s%NONE%$cf_path_syntax%`
;;
*)
ifelse($2,,[AC_ERROR([expected a pathname, not \"[$]$1\"])],$2)
;;
esac
])AC_DEFUN([CF_PDCURSES_X11],[
AC_REQUIRE([CF_X_ATHENA])
AC_PATH_PROGS(XCURSES_CONFIG,xcurses-config,none)
if test "$XCURSES_CONFIG" != none ; then
CPPFLAGS="`$XCURSES_CONFIG --cflags` $CPPFLAGS"
LIBS="`$XCURSES_CONFIG --libs` $LIBS"
cf_cv_lib_XCurses=yes
else
LDFLAGS="$LDFLAGS $X_LIBS"
CF_CHECK_CFLAGS($X_CFLAGS)
AC_CHECK_LIB(X11,XOpenDisplay,
[LIBS="-lX11 $LIBS"],,
[$X_PRE_LIBS $LIBS $X_EXTRA_LIBS])
AC_CACHE_CHECK(for XCurses library,cf_cv_lib_XCurses,[
LIBS="-lXCurses $LIBS"
AC_TRY_LINK([
char *XCursesProgramName = "test";
],[XCursesExit();],
[cf_cv_lib_XCurses=yes],
[cf_cv_lib_XCurses=no])
])
fi
if test $cf_cv_lib_XCurses = yes ; then
AC_DEFINE(UNIX)
AC_DEFINE(XCURSES)
AC_DEFINE(HAVE_XCURSES)
else
AC_ERROR(Cannot link with XCurses)
fi
])AC_DEFUN([CF_POSIX_C_SOURCE],
[
cf_POSIX_C_SOURCE=ifelse($1,,199506L,$1)
cf_save_CFLAGS="$CFLAGS"
cf_save_CPPFLAGS="$CPPFLAGS"
CF_REMOVE_DEFINE(cf_trim_CFLAGS,$cf_save_CFLAGS,_POSIX_C_SOURCE)
CF_REMOVE_DEFINE(cf_trim_CPPFLAGS,$cf_save_CPPFLAGS,_POSIX_C_SOURCE)
AC_CACHE_CHECK(if we should define _POSIX_C_SOURCE,cf_cv_posix_c_source,[
CF_MSG_LOG(if the symbol is already defined go no further)
AC_TRY_COMPILE([make an error
[cf_cv_posix_c_source=no],
[cf_want_posix_source=no
case .$cf_POSIX_C_SOURCE in .[[12]]??*) cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
;;
.2) cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
cf_want_posix_source=yes
;;
.*)
cf_want_posix_source=yes
;;
esac
if test "$cf_want_posix_source" = yes ; then
AC_TRY_COMPILE([make an error
cf_cv_posix_c_source="$cf_cv_posix_c_source -D_POSIX_SOURCE")
fi
CF_MSG_LOG(ifdef from value $cf_POSIX_C_SOURCE)
CFLAGS="$cf_trim_CFLAGS"
CPPFLAGS="$cf_trim_CPPFLAGS $cf_cv_posix_c_source"
CF_MSG_LOG(if the second compile does not leave our definition intact error)
AC_TRY_COMPILE([make an error
[cf_cv_posix_c_source=no])
CFLAGS="$cf_save_CFLAGS"
CPPFLAGS="$cf_save_CPPFLAGS"
])
])
if test "$cf_cv_posix_c_source" != no ; then
CFLAGS="$cf_trim_CFLAGS"
CPPFLAGS="$cf_trim_CPPFLAGS"
if test "$cf_cv_cc_u_d_options" = yes ; then
cf_temp_posix_c_source=`echo "$cf_cv_posix_c_source" | \
sed -e 's/-D/-U/g' -e 's/=[[^ ]]*//g'`
CPPFLAGS="$CPPFLAGS $cf_temp_posix_c_source"
fi
CPPFLAGS="$CPPFLAGS $cf_cv_posix_c_source"
fi
])AC_DEFUN([CF_PRG_RULES],
[
for cf_dir in $2
do
if test ! -d $srcdir/$cf_dir; then
continue
elif test -f $srcdir/$cf_dir/programs; then
$AWK -f $1 $srcdir/$cf_dir/programs >>$cf_dir/Makefile
fi
done
])AC_DEFUN([CF_PROG_CC_U_D],
[
AC_CACHE_CHECK(if $CC -U and -D options work together,cf_cv_cc_u_d_options,[
cf_save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="-UU_D_OPTIONS -DU_D_OPTIONS -DD_U_OPTIONS -UD_U_OPTIONS"
AC_TRY_COMPILE([],[
make an undefined-error
make a defined-error
],[
cf_cv_cc_u_d_options=yes],[
cf_cv_cc_u_d_options=no])
CPPFLAGS="$cf_save_CPPFLAGS"
])
])define([CF_REMOVE_DEFINE],
[
$1=`echo "$2" | \
sed -e 's/-[[UD]]$3\(=[[^ ]]*\)\?[[ ]]/ /g' \
-e 's/-[[UD]]$3\(=[[^ ]]*\)\?[$]//g'`
])AC_DEFUN([CF_SIG_ATOMIC_T],
[
AC_MSG_CHECKING(for signal global datatype)
AC_CACHE_VAL(cf_cv_sig_atomic_t,[
for cf_type in \
"volatile sig_atomic_t" \
"sig_atomic_t" \
"int"
do
AC_TRY_COMPILE([
extern $cf_type x;
$cf_type x;
static void handler(int sig)
{
x = 5;
}],
[signal(SIGINT, handler);
x = 1],
[cf_cv_sig_atomic_t=$cf_type],
[cf_cv_sig_atomic_t=no])
test "$cf_cv_sig_atomic_t" != no && break
done
])
AC_MSG_RESULT($cf_cv_sig_atomic_t)
test "$cf_cv_sig_atomic_t" != no && AC_DEFINE_UNQUOTED(SIG_ATOMIC_T, $cf_cv_sig_atomic_t)
])AC_DEFUN([CF_SUBDIR_PATH],
[$1=""
CF_ADD_SUBDIR_PATH($1,$2,$3,/usr,$prefix)
CF_ADD_SUBDIR_PATH($1,$2,$3,$prefix,NONE)
CF_ADD_SUBDIR_PATH($1,$2,$3,/usr/local,$prefix)
CF_ADD_SUBDIR_PATH($1,$2,$3,/opt,$prefix)
CF_ADD_SUBDIR_PATH($1,$2,$3,[$]HOME,$prefix)
])AC_DEFUN([CF_SYS_TIME_SELECT],
[
AC_MSG_CHECKING(if sys/time.h works with sys/select.h)
AC_CACHE_VAL(cf_cv_sys_time_select,[
AC_TRY_COMPILE([
],[],[cf_cv_sys_time_select=yes],
[cf_cv_sys_time_select=no])
])
AC_MSG_RESULT($cf_cv_sys_time_select)
test "$cf_cv_sys_time_select" = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT)
])AC_DEFUN([CF_TERM_HEADER],[
AC_CACHE_CHECK(for terminfo header, cf_cv_term_header,[
case ${cf_cv_ncurses_header} in */ncurses.h|*/ncursesw.h) cf_term_header=`echo "$cf_cv_ncurses_header" | sed -e 's%ncurses[[^.]]*\.h$%term.h%'`
;;
*)
cf_term_header=term.h
;;
esac
for cf_test in $cf_term_header "ncurses/term.h" "ncursesw/term.h"
do
AC_TRY_COMPILE([],[int x = auto_left_margin],[
cf_cv_term_header="$cf_test"],[
cf_cv_term_header=unknown
])
test "$cf_cv_term_header" != unknown && break
done
])
case $cf_cv_term_header in *term.h)
AC_DEFINE(HAVE_TERM_H)
;;
esac
case $cf_cv_term_header in ncurses/term.h) AC_DEFINE(HAVE_NCURSES_TERM_H)
;;
ncursesw/term.h)
AC_DEFINE(HAVE_NCURSESW_TERM_H)
;;
esac
])AC_DEFUN([CF_UPPER],
[
$1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
])AC_DEFUN([CF_UTF8_LIB],
[
AC_CACHE_CHECK(for multibyte character support,cf_cv_utf8_lib,[
cf_save_LIBS="$LIBS"
AC_TRY_LINK([
[cf_cv_utf8_lib=yes],
[LIBS="-lutf8 $LIBS"
AC_TRY_LINK([
[cf_cv_utf8_lib=add-on],
[cf_cv_utf8_lib=no])
LIBS="$cf_save_LIBS"
])])
if test "$cf_cv_utf8_lib" = "add-on" ; then
AC_DEFINE(HAVE_LIBUTF8_H)
LIBS="-lutf8 $LIBS"
fi
])AC_DEFUN([CF_VERBOSE],
[test -n "$verbose" && echo " $1" 1>&AC_FD_MSG
CF_MSG_LOG([$1])
])AC_DEFUN([CF_WITH_CURSES_DIR],[
AC_ARG_WITH(curses-dir,
[ --with-curses-dir=DIR directory in which (n)curses is installed],
[CF_PATH_SYNTAX(withval)
cf_cv_curses_dir=$withval],
[cf_cv_curses_dir=no])
])AC_DEFUN([CF_XOPEN_CURSES],
[
AC_REQUIRE([CF_CURSES_CPPFLAGS])AC_CACHE_CHECK(if we must define _XOPEN_SOURCE_EXTENDED,cf_cv_need_xopen_extension,[
AC_TRY_LINK([
long x = winnstr(stdscr, "", 0);
int x1, y1;
getbegyx(stdscr, y1, x1)],
[cf_cv_need_xopen_extension=no],
[AC_TRY_LINK([
long x = winnstr(stdscr, "", 0);
int x1, y1;
getbegyx(stdscr, y1, x1)],
[cf_cv_need_xopen_extension=yes],
[cf_cv_need_xopen_extension=unknown])])])
test $cf_cv_need_xopen_extension = yes && CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED"
])AC_DEFUN([CF_XOPEN_SOURCE],[
AC_REQUIRE([CF_PROG_CC_U_D])
cf_XOPEN_SOURCE=ifelse($1,,500,$1)
cf_POSIX_C_SOURCE=ifelse($2,,199506L,$2)
case $host_os in aix[[45]]*) CPPFLAGS="$CPPFLAGS -D_ALL_SOURCE"
;;
freebsd*) cf_POSIX_C_SOURCE=200112L
cf_XOPEN_SOURCE=600
CPPFLAGS="$CPPFLAGS -D_BSD_TYPES -D__BSD_VISIBLE -D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
;;
hpux*) CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE"
;;
irix[[56]].*) CPPFLAGS="$CPPFLAGS -D_SGI_SOURCE"
;;
linux*|gnu*|k*bsd*-gnu) CF_GNU_SOURCE
;;
mirbsd*) ;;
netbsd*) ;;
openbsd*) ;;
osf[[45]]*) CPPFLAGS="$CPPFLAGS -D_OSF_SOURCE"
;;
nto-qnx*) CPPFLAGS="$CPPFLAGS -D_QNX_SOURCE"
;;
sco*) # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer
;;
solaris*) #(vi
CPPFLAGS="$CPPFLAGS -D__EXTENSIONS__"
;;
*)
AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[
AC_TRY_COMPILE([#include <sys/types.h>],[
#ifndef _XOPEN_SOURCE
make an error
#endif],
[cf_cv_xopen_source=no],
[cf_save="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
AC_TRY_COMPILE([#include <sys/types.h>],[
#ifdef _XOPEN_SOURCE
make an error
#endif],
[cf_cv_xopen_source=no],
[cf_cv_xopen_source=$cf_XOPEN_SOURCE])
CPPFLAGS="$cf_save"
])
])
if test "$cf_cv_xopen_source" != no ; then
CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE)
CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE)
test "$cf_cv_cc_u_d_options" = yes && \
CPPFLAGS="$CPPFLAGS -U_XOPEN_SOURCE"
CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_cv_xopen_source"
fi
CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE)
;;
esac
])
dnl ---------------------------------------------------------------------------
dnl CF_X_ATHENA version: 12 updated: 2004/06/15 21:14:41
dnl -----------
dnl Check for Xaw (Athena) libraries
dnl
dnl Sets $cf_x_athena according to the flavor of Xaw which is used.
AC_DEFUN([CF_X_ATHENA],
[AC_REQUIRE([CF_X_TOOLKIT])
cf_x_athena=${cf_x_athena-Xaw}
AC_MSG_CHECKING(if you want to link with Xaw 3d library)
withval=
AC_ARG_WITH(Xaw3d,
[ --with-Xaw3d link with Xaw 3d library])
if test "$withval" = yes ; then
cf_x_athena=Xaw3d
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
AC_MSG_CHECKING(if you want to link with neXT Athena library)
withval=
AC_ARG_WITH(neXtaw,
[ --with-neXtaw link with neXT Athena library])
if test "$withval" = yes ; then
cf_x_athena=neXtaw
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
AC_MSG_CHECKING(if you want to link with Athena-Plus library)
withval=
AC_ARG_WITH(XawPlus,
[ --with-XawPlus link with Athena-Plus library])
if test "$withval" = yes ; then
cf_x_athena=XawPlus
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
AC_CHECK_LIB(Xext,XextCreateExtension,
[LIBS="-lXext $LIBS"])
cf_x_athena_lib=""
CF_X_ATHENA_CPPFLAGS($cf_x_athena)
CF_X_ATHENA_LIBS($cf_x_athena)
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_X_ATHENA_CPPFLAGS version: 2 updated: 2002/10/09 20:00:37
dnl --------------------
dnl Normally invoked by CF_X_ATHENA, with $1 set to the appropriate flavor of
dnl the Athena widgets, e.g., Xaw, Xaw3d, neXtaw.
AC_DEFUN([CF_X_ATHENA_CPPFLAGS],
[
cf_x_athena_root=ifelse($1,,Xaw,$1)
cf_x_athena_include=""
for cf_path in default \
/usr/contrib/X11R6 \
/usr/contrib/X11R5 \
/usr/lib/X11R5 \
/usr/local
do
if test -z "$cf_x_athena_include" ; then
cf_save="$CPPFLAGS"
cf_test=X11/$cf_x_athena_root/SimpleMenu.h
if test $cf_path != default ; then
CPPFLAGS="-I$cf_path/include $cf_save"
AC_MSG_CHECKING(for $cf_test in $cf_path)
else
AC_MSG_CHECKING(for $cf_test)
fi
AC_TRY_COMPILE([
#include <X11/Intrinsic.h>
#include <$cf_test>],[],
[cf_result=yes],
[cf_result=no])
AC_MSG_RESULT($cf_result)
if test "$cf_result" = yes ; then
cf_x_athena_include=$cf_path
break
else
CPPFLAGS="$cf_save"
fi
fi
done
if test -z "$cf_x_athena_include" ; then
AC_MSG_WARN(
[Unable to successfully find Athena header files with test program])
elif test "$cf_x_athena_include" != default ; then
CPPFLAGS="$CPPFLAGS -I$cf_x_athena_include"
fi
])
dnl ---------------------------------------------------------------------------
dnl CF_X_ATHENA_LIBS version: 6 updated: 2006/11/30 17:57:11
dnl ----------------
dnl Normally invoked by CF_X_ATHENA, with $1 set to the appropriate flavor of
dnl the Athena widgets, e.g., Xaw, Xaw3d, neXtaw.
AC_DEFUN([CF_X_ATHENA_LIBS],
[AC_REQUIRE([CF_X_TOOLKIT])
cf_x_athena_root=ifelse($1,,Xaw,$1)
cf_x_athena_lib=""
for cf_path in default \
/usr/contrib/X11R6 \
/usr/contrib/X11R5 \
/usr/lib/X11R5 \
/usr/local
do
for cf_lib in \
"-l$cf_x_athena_root -lXmu" \
"-l$cf_x_athena_root -lXpm -lXmu" \
"-l${cf_x_athena_root}_s -lXmu_s"
do
if test -z "$cf_x_athena_lib" ; then
cf_save="$LIBS"
cf_test=XawSimpleMenuAddGlobalActions
if test $cf_path != default ; then
LIBS="-L$cf_path/lib $cf_lib $LIBS"
AC_MSG_CHECKING(for $cf_lib in $cf_path)
else
LIBS="$cf_lib $LIBS"
AC_MSG_CHECKING(for $cf_test in $cf_lib)
fi
AC_TRY_LINK([],[$cf_test()],
[cf_result=yes],
[cf_result=no])
AC_MSG_RESULT($cf_result)
if test "$cf_result" = yes ; then
cf_x_athena_lib="$cf_lib"
break
fi
LIBS="$cf_save"
fi
done
done
if test -z "$cf_x_athena_lib" ; then
AC_ERROR(
[Unable to successfully link Athena library (-l$cf_x_athena_root) with test program])
fi
CF_UPPER(cf_x_athena_LIBS,HAVE_LIB_$cf_x_athena)
AC_DEFINE_UNQUOTED($cf_x_athena_LIBS)
])
dnl ---------------------------------------------------------------------------
dnl CF_X_TOOLKIT version: 11 updated: 2006/11/29 19:05:14
dnl ------------
dnl Check for X Toolkit libraries
dnl
AC_DEFUN([CF_X_TOOLKIT],
[
AC_REQUIRE([AC_PATH_XTRA])
AC_REQUIRE([CF_CHECK_CACHE])
# SYSTEM_NAME=`echo "$cf_cv_system_name"|tr ' ' -`
cf_have_X_LIBS=no
LDFLAGS="$X_LIBS $LDFLAGS"
CF_CHECK_CFLAGS($X_CFLAGS)
AC_CHECK_FUNC(XOpenDisplay,,[
AC_CHECK_LIB(X11,XOpenDisplay,
[LIBS="-lX11 $LIBS"],,
[$X_PRE_LIBS $LIBS $X_EXTRA_LIBS])])
AC_CHECK_FUNC(XtAppInitialize,,[
AC_CHECK_LIB(Xt, XtAppInitialize,
[AC_DEFINE(HAVE_LIBXT)
cf_have_X_LIBS=Xt
LIBS="-lXt $X_PRE_LIBS $LIBS $X_EXTRA_LIBS"],,
[$X_PRE_LIBS $LIBS $X_EXTRA_LIBS])])
if test $cf_have_X_LIBS = no ; then
AC_WARN(
[Unable to successfully link X Toolkit library (-lXt) with
test program. You will have to check and add the proper libraries by hand
to makefile.])
fi
])