2012-04-12 17:46:27 +00:00
|
|
|
dnl Process this file with autoconf to produce a configure script.
|
|
|
|
|
|
|
|
dnl *****************************************************************
|
|
|
|
dnl IMPORTANT: Don't forget to add corresponding output for --options
|
|
|
|
dnl if you add a non-trivial configure option here.
|
|
|
|
dnl *****************************************************************
|
|
|
|
|
|
|
|
dnl this is to determine if the config script is running in the proper place
|
|
|
|
dnl just give it one file relative to where it should be
|
|
|
|
AC_INIT([gnugo], [3.8])
|
|
|
|
AC_CONFIG_SRCDIR([engine/dragon.c])
|
|
|
|
|
|
|
|
AM_CONFIG_HEADER(config.h)
|
|
|
|
AC_PREREQ(2.52)dnl dnl Minimum Autoconf version required.
|
|
|
|
|
|
|
|
AH_TEMPLATE([PACKAGE],
|
|
|
|
[Define to the name of the distribution.])
|
|
|
|
|
|
|
|
AH_TEMPLATE([GNU_PACKAGE],
|
|
|
|
[The concatenation of the strings "GNU ", and PACKAGE.])
|
|
|
|
|
|
|
|
AH_TEMPLATE([VERSION],
|
|
|
|
[Define to the version of the distribution.])
|
|
|
|
|
|
|
|
dnl this defines VERSION and PACKAGE
|
|
|
|
AM_INIT_AUTOMAKE
|
|
|
|
GNU_PACKAGE="GNU $PACKAGE"
|
|
|
|
AC_DEFINE_UNQUOTED(GNU_PACKAGE, "$GNU_PACKAGE")
|
|
|
|
|
|
|
|
AM_MAINTAINER_MODE
|
|
|
|
|
|
|
|
dnl See if user has expressed a preference for use of curses and/or color
|
|
|
|
dnl These set variables $enable_color and $with_curses to "no" if disabled
|
|
|
|
dnl "yes" if enabled, or undefined if not specified
|
|
|
|
|
|
|
|
AC_ARG_WITH(readline,
|
|
|
|
[ --with-readline try to use GNU Readline for command reading
|
|
|
|
--without-readline do not use GNU Readline (default)])
|
|
|
|
|
|
|
|
AC_ARG_WITH(curses,
|
|
|
|
[ --with-curses try to use curses for colored debugging output (default)
|
|
|
|
--without-curses do not use curses for colored debugging output])
|
|
|
|
|
|
|
|
AC_ARG_ENABLE(color,
|
|
|
|
[ --enable-color use curses or ansi escape sequences for colored
|
|
|
|
debug output
|
|
|
|
--disable-color do not try to generated colored debug output])
|
|
|
|
|
|
|
|
dnl and look to see if they want to disable the grid optimisation
|
|
|
|
|
|
|
|
AC_ARG_ENABLE(grid-opt,
|
|
|
|
[ --enable-grid-opt enable the grid optimisation within the pattern
|
|
|
|
matcher (default)
|
|
|
|
--enable-grid-opt=distrust enable the grid optimisation in non-trusting mode
|
|
|
|
--disable-grid-opt disable the grid optimisation])
|
|
|
|
|
|
|
|
default_cache_size=-1
|
|
|
|
default_level=10
|
|
|
|
default_semeai_node_limit=500
|
|
|
|
default_owl_node_limit=1000
|
|
|
|
|
|
|
|
AC_ARG_ENABLE(cache-size,
|
|
|
|
[ --enable-cache-size=n reserve n MB RAM for caching (special value -1
|
|
|
|
default, corresponding to 8-11 MB depending on
|
|
|
|
platform)])
|
|
|
|
|
|
|
|
AC_ARG_ENABLE(level,
|
|
|
|
[ --enable-level=n n = default level (10 standard)])
|
|
|
|
|
|
|
|
AC_ARG_ENABLE(semeai-node-limit,
|
|
|
|
[ --enable-semeai-node-limit=n n = semeai variations (500 standard)])
|
|
|
|
|
|
|
|
AC_ARG_ENABLE(level,
|
|
|
|
[ --enable-owl-node-limit=n n = owl node limit (1000 standard)])
|
|
|
|
|
|
|
|
AC_ARG_ENABLE(dfa,
|
|
|
|
[ --disable-dfa use old non-dfa pattern matcher],
|
|
|
|
[ if test ${enableval} = no; then
|
|
|
|
dfa_c=
|
|
|
|
else
|
|
|
|
dfa_c=dfa
|
|
|
|
fi] ,
|
|
|
|
[ dfa_c=dfa ])
|
|
|
|
|
|
|
|
AC_ARG_ENABLE(chinese-rules,
|
|
|
|
[ --enable-chinese-rules use Chinese (area) counting
|
|
|
|
--disable-chinese-rules use Japanese counting (default)])
|
|
|
|
|
|
|
|
AC_ARG_ENABLE(resignation-allowed,
|
|
|
|
[ --enable-resignation-allowed resign lost games (default)
|
|
|
|
--disable-resignation-allowed never resign])
|
|
|
|
|
|
|
|
AC_ARG_ENABLE(metamachine,
|
|
|
|
[ --enable-metamachine enable metamachine
|
|
|
|
--disable-metamachine don't enable metamachine (default)])
|
|
|
|
|
|
|
|
AC_ARG_ENABLE(experimental-break-in,
|
|
|
|
[ --enable-experimental-break-in use the breakin module (default)
|
|
|
|
--disable-experimental-break-in don't use the breakin module])
|
|
|
|
|
|
|
|
AC_ARG_ENABLE(experimental-owl-ext,
|
|
|
|
[ --enable-experimental-owl-ext use the experimental GAIN/LOSS codes
|
|
|
|
--disable-experimental-owl-ext use standard owl module (default)])
|
|
|
|
|
|
|
|
AC_ARG_ENABLE(cosmic-gnugo,
|
|
|
|
[ --enable-cosmic-gnugo use center-oriented influence code
|
|
|
|
--disable-cosmic-gnugo use standard influence code (default)])
|
|
|
|
|
|
|
|
AC_ARG_ENABLE(large-scale,
|
|
|
|
[ --enable-large-scale look for large scale captures
|
|
|
|
--disable-large-scale don't seek large scale captures (default)])
|
|
|
|
|
|
|
|
AC_ARG_ENABLE(experimental-connections,
|
|
|
|
[ --enable-experimental-connections use experimental connection analysis
|
|
|
|
(default)
|
|
|
|
--disable-experimental-connections use standard connection analysis])
|
|
|
|
|
|
|
|
AC_ARG_ENABLE(alternate-connections,
|
|
|
|
[ --enable-alternate-connections use alternate experimental connection
|
|
|
|
analysis
|
|
|
|
--disable-alternate-connections use primary experimental connection
|
|
|
|
analysis (default)])
|
|
|
|
|
|
|
|
AC_ARG_ENABLE(socket-support,
|
|
|
|
[ --disable-socket-support don't compile GTP over TCP/IP support
|
|
|
|
--enable-socket-support compile TCP/IP support (default)])
|
|
|
|
|
|
|
|
AC_PROG_CC
|
|
|
|
|
|
|
|
dnl for automake 1.4.x
|
|
|
|
AC_EXEEXT
|
|
|
|
|
|
|
|
dnl add -lm to library list since we use some
|
|
|
|
dnl math functions such as pow and fabs
|
|
|
|
|
|
|
|
AC_SEARCH_LIBS(pow,m)
|
|
|
|
|
|
|
|
AC_CACHE_CHECK(
|
|
|
|
[for mingw32],
|
|
|
|
ac_cv_mingw32,
|
|
|
|
AC_TRY_COMPILE(,
|
|
|
|
[return __MINGW32__],
|
|
|
|
ac_cv_mingw32="yes",
|
|
|
|
ac_cv_mingw32="no")
|
|
|
|
)
|
|
|
|
|
|
|
|
if test $ac_cv_mingw32 = yes;then
|
|
|
|
LIBS="$LIBS -lwsock32"
|
|
|
|
AC_SEARCH_LIBS(vsnprintf, mingwex)
|
|
|
|
fi
|
|
|
|
|
|
|
|
AC_PROG_CPP
|
|
|
|
AC_PROG_RANLIB
|
|
|
|
|
|
|
|
dnl required since we use SUBDIRS in Makefile.am
|
|
|
|
AC_PROG_MAKE_SET
|
|
|
|
|
|
|
|
AC_HEADER_TIME
|
|
|
|
|
|
|
|
AC_C_CONST
|
|
|
|
|
|
|
|
AC_CHECK_HEADERS(unistd.h sys/time.h sys/times.h)
|
|
|
|
AC_CHECK_HEADERS(curses.h term.h ncurses/curses.h ncurses/term.h)
|
|
|
|
|
|
|
|
if test "$ac_cv_header_curses_h" = "yes";then
|
|
|
|
curses_header="curses.h"
|
|
|
|
elif test "$ac_cv_header_ncurses_curses_h" = "yes";then
|
|
|
|
curses_header="ncurses/curses.h"
|
|
|
|
else
|
|
|
|
curses_header="no"
|
|
|
|
fi
|
|
|
|
|
|
|
|
if test "$ac_cv_header_term_h" = "yes";then
|
|
|
|
term_header="term.h"
|
|
|
|
elif test "$ac_cv_header_ncurses_term_h" = "yes";then
|
|
|
|
term_header="ncurses/term.h"
|
|
|
|
else
|
|
|
|
term_header="no"
|
|
|
|
fi
|
|
|
|
|
|
|
|
AC_CHECK_SIZEOF(long,,[#include <stdio.h>])
|
|
|
|
|
|
|
|
dnl vsnprintf not universally available
|
|
|
|
dnl usleep not available in Unicos and mingw32
|
|
|
|
AC_CHECK_FUNCS(vsnprintf gettimeofday usleep times)
|
|
|
|
|
|
|
|
dnl if snprintf not available try to use g_snprintf from GLib
|
|
|
|
if test $ac_cv_func_vsnprintf = no; then
|
|
|
|
AC_CHECK_PROG(glibconfig,glib-config,yes,no)
|
|
|
|
if test $ac_cv_prog_glibconfig = yes;then
|
|
|
|
glib_cflags=`glib-config --cflags`
|
|
|
|
glib_libs=`glib-config --libs`
|
2012-04-12 20:45:59 +00:00
|
|
|
CPPFLAGS="$CPPFLAGS $glib_cflags -fPIC"
|
2012-04-12 17:46:27 +00:00
|
|
|
LIBS="$LIBS $glib_libs"
|
|
|
|
AC_CHECK_FUNCS(g_vsnprintf)
|
|
|
|
AC_CHECK_HEADERS(glib.h)
|
|
|
|
if test $ac_cv_func_g_vsnprintf = no; then
|
|
|
|
AC_MSG_WARN([GLib installation problem.
|
|
|
|
Continuing without GLib ])
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
AC_MSG_WARN([Neither vsnprintf nor GLib found. GNU Go is
|
|
|
|
compiled but it is safer to get GLib at
|
|
|
|
http://www.gtk.org/])
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
dnl ------ variadic #define -----------------------
|
|
|
|
|
|
|
|
AH_TEMPLATE([HAVE_VARIADIC_DEFINE],
|
|
|
|
[Define if #define can take a variable number of arguments])
|
|
|
|
|
|
|
|
AC_CACHE_CHECK(
|
|
|
|
[for variadic cpp define],
|
|
|
|
gnugo_cv_cpp_variadic_define,
|
|
|
|
AC_TRY_COMPILE(
|
|
|
|
[#include <stdio.h>
|
|
|
|
#define zz(fmt,arg...) printf(fmt,##arg)],
|
|
|
|
[zz("Hello");zz("%s","Hello");zz("%s%s","Hello","World")],
|
|
|
|
gnugo_cv_cpp_variadic_define="yes",
|
|
|
|
gnugo_cv_cpp_variadic_define="no")
|
|
|
|
)
|
|
|
|
if test "$gnugo_cv_cpp_variadic_define" = "yes";then
|
|
|
|
AC_DEFINE(HAVE_VARIADIC_DEFINE)
|
|
|
|
fi
|
|
|
|
|
|
|
|
dnl ------ transparent unions ---------------------
|
|
|
|
|
|
|
|
AH_TEMPLATE([HAVE_TRANSPARENT_UNIONS],
|
|
|
|
[Define if your compiler supports transparent unions])
|
|
|
|
|
|
|
|
AC_CACHE_CHECK(
|
|
|
|
[whether $CC supports transparent unions],
|
|
|
|
gnugo_cv_transparent_unions,
|
|
|
|
AC_TRY_COMPILE([],
|
|
|
|
[[ struct {
|
|
|
|
union {
|
|
|
|
int x;
|
|
|
|
float y;
|
|
|
|
}
|
|
|
|
} A = { { .y = 0.0 } };
|
|
|
|
A.y = 1.0;]],
|
|
|
|
gnugo_cv_transparent_unions="yes",
|
|
|
|
gnugo_cv_transparent_unions="no")
|
|
|
|
)
|
|
|
|
|
|
|
|
if test "$gnugo_cv_transparent_unions" = "yes"; then
|
|
|
|
AC_DEFINE(HAVE_TRANSPARENT_UNIONS)
|
|
|
|
fi
|
|
|
|
|
|
|
|
dnl -------- color debugging support -----------
|
|
|
|
|
|
|
|
AH_TEMPLATE([TERMINFO],
|
|
|
|
[Define to 1 if termcap/terminfo is available.])
|
|
|
|
|
|
|
|
AH_TEMPLATE([ANSI_COLOR],
|
|
|
|
[Define to use ansi escape sequences for color debugging])
|
|
|
|
|
|
|
|
tmp_color_result="none"
|
|
|
|
|
|
|
|
if test "$with_curses" != no -a "$enable_color" != no ; then
|
|
|
|
tmp_color_result="none (curses failed)"
|
|
|
|
|
|
|
|
dnl Do a separate test for curses and termcap
|
|
|
|
dnl DJGPP does have pdcurses, but not termcap
|
|
|
|
|
|
|
|
dnl make sure that both curses.h and term.h are available
|
|
|
|
dnl FIXME: better to actually figure out here what headers
|
|
|
|
dnl are really required
|
|
|
|
if test "$term_header" != "no" -a "$curses_header" != "no" ; then
|
|
|
|
|
|
|
|
dnl check for a working termcap library
|
|
|
|
AC_SEARCH_LIBS(tparm,ncurses curses pdcurses termcap terminfo termlib)
|
|
|
|
|
|
|
|
if test "$ac_cv_search_tparm" != "no" ; then
|
|
|
|
AC_DEFINE(TERMINFO)
|
|
|
|
tmp_color_result="curses"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
if test "$with_curses" = no -a "$enable_color" != no ; then
|
|
|
|
dnl we asked for color, but there is no termcap
|
|
|
|
AC_DEFINE(ANSI_COLOR)
|
|
|
|
tmp_color_result="ANSI color"
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
AC_MSG_CHECKING(for color support)
|
|
|
|
AC_MSG_RESULT($tmp_color_result)
|
|
|
|
|
|
|
|
dnl -------- readline support -------------------
|
|
|
|
|
|
|
|
AH_TEMPLATE([READLINE], [Enable GNU Readline support])
|
|
|
|
|
|
|
|
if test "$with_readline" = yes ; then
|
|
|
|
|
|
|
|
dnl check for a working termcap and readline library
|
|
|
|
AC_SEARCH_LIBS(readline,termcap readline)
|
|
|
|
|
|
|
|
if test "$ac_cv_search_readline" != "no" ; then
|
|
|
|
AC_DEFINE(READLINE,1)
|
|
|
|
else
|
|
|
|
AC_DEFINE(READLINE,0)
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
AC_DEFINE(READLINE,0)
|
|
|
|
fi
|
|
|
|
|
|
|
|
dnl ---------- grid optimisation ------------
|
|
|
|
|
|
|
|
AH_TEMPLATE([GRID_OPT],
|
|
|
|
[Define as 1 to use the grid optimisation, or 2 to run it in self-test mode])
|
|
|
|
|
|
|
|
if test "$enable_grid_opt" = "distrust" ; then
|
|
|
|
AC_DEFINE(GRID_OPT, 2)
|
|
|
|
else
|
|
|
|
if test "$enable_grid_opt" = "no" ; then
|
|
|
|
AC_DEFINE(GRID_OPT, 0)
|
|
|
|
else
|
|
|
|
AC_DEFINE(GRID_OPT, 1)
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
dnl ------------ set cache size ----------
|
|
|
|
|
|
|
|
AH_TEMPLATE([DEFAULT_MEMORY],
|
|
|
|
[Default hash table size in megabytes])
|
|
|
|
|
|
|
|
if test "$enable_cache_size" ; then
|
|
|
|
AC_DEFINE_UNQUOTED(DEFAULT_MEMORY, $enable_cache_size)
|
|
|
|
else
|
|
|
|
AC_DEFINE_UNQUOTED(DEFAULT_MEMORY, $default_cache_size)
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
dnl ------------ set default level ----------
|
|
|
|
|
|
|
|
AH_TEMPLATE([DEFAULT_LEVEL],
|
|
|
|
[Default level (strength). Up to 10 supported])
|
|
|
|
|
|
|
|
if test "$enable_level" ; then
|
|
|
|
AC_DEFINE_UNQUOTED(DEFAULT_LEVEL, $enable_level)
|
|
|
|
else
|
|
|
|
AC_DEFINE_UNQUOTED(DEFAULT_LEVEL, $default_level)
|
|
|
|
fi
|
|
|
|
|
|
|
|
dnl ------------ set cache size ----------
|
|
|
|
|
|
|
|
AH_TEMPLATE([OWL_NODE_LIMIT],
|
|
|
|
[Owl Node Limit])
|
|
|
|
|
|
|
|
if test "$enable_owl_node_limit" ; then
|
|
|
|
AC_DEFINE_UNQUOTED(OWL_NODE_LIMIT, $enable_owl_node_limit)
|
|
|
|
else
|
|
|
|
AC_DEFINE_UNQUOTED(OWL_NODE_LIMIT, $default_owl_node_limit)
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
dnl ------------ set semeai variations ----------
|
|
|
|
|
|
|
|
AH_TEMPLATE([SEMEAI_NODE_LIMIT],
|
|
|
|
[Semeai Variations. 500 default])
|
|
|
|
|
|
|
|
if test "$enable_semeai_node_limit" ; then
|
|
|
|
AC_DEFINE_UNQUOTED(SEMEAI_NODE_LIMIT, $enable_semeai_node_limit)
|
|
|
|
else
|
|
|
|
AC_DEFINE_UNQUOTED(SEMEAI_NODE_LIMIT, $default_semeai_node_limit)
|
|
|
|
fi
|
|
|
|
|
|
|
|
dnl ------------ dfa -------------------
|
|
|
|
|
|
|
|
AM_CONDITIONAL(DFA_ENABLED, test "$enable_dfa" != "no")
|
|
|
|
|
|
|
|
dnl FIXME: Is there a more elegant approach for this?
|
|
|
|
dnl force owl c files rebuild
|
|
|
|
rm -f \
|
|
|
|
patterns/owl_attackpat.c \
|
|
|
|
patterns/owl_defendpat.c \
|
|
|
|
patterns/owl_vital_apat.c
|
|
|
|
|
|
|
|
|
|
|
|
dnl ------------ Chinese Rules -------------------
|
|
|
|
|
|
|
|
AH_TEMPLATE([CHINESE_RULES],
|
|
|
|
[Ruleset. Default Japanese])
|
|
|
|
|
|
|
|
if test "$enable_chinese_rules" = "yes" ; then
|
|
|
|
AC_DEFINE(CHINESE_RULES, 1)
|
|
|
|
else
|
|
|
|
AC_DEFINE(CHINESE_RULES, 0)
|
|
|
|
fi
|
|
|
|
|
|
|
|
dnl ------------ Resignation allowed-------------------
|
|
|
|
|
|
|
|
AH_TEMPLATE([RESIGNATION_ALLOWED],
|
|
|
|
[Allow resignation. Default enabled])
|
|
|
|
|
|
|
|
if test "$disable_resignation_allowed" = "yes" ; then
|
|
|
|
AC_DEFINE(RESIGNATION_ALLOWED, 0)
|
|
|
|
else
|
|
|
|
AC_DEFINE(RESIGNATION_ALLOWED, 1)
|
|
|
|
fi
|
|
|
|
|
|
|
|
dnl ------------ Oracle enabled-------------------
|
|
|
|
|
|
|
|
AH_TEMPLATE([ORACLE],
|
|
|
|
[Oracle. Default not enabled.])
|
|
|
|
|
|
|
|
if test "$enable_metamachine" = "yes" ; then
|
|
|
|
AC_DEFINE(ORACLE, 1)
|
|
|
|
else
|
|
|
|
AC_DEFINE(ORACLE, 0)
|
|
|
|
fi
|
|
|
|
|
|
|
|
dnl ------------ Experimental Breakin enabled-------------------
|
|
|
|
|
|
|
|
AH_TEMPLATE([USE_BREAK_IN],
|
|
|
|
[Break-in module. Enabled by default.])
|
|
|
|
|
|
|
|
if test "$enable_experimental_break_in" = "no" ; then
|
|
|
|
AC_DEFINE(USE_BREAK_IN, 0)
|
|
|
|
else
|
|
|
|
AC_DEFINE(USE_BREAK_IN, 1)
|
|
|
|
fi
|
|
|
|
|
|
|
|
dnl ------------ Owl extensions ------------
|
|
|
|
|
|
|
|
AH_TEMPLATE([EXPERIMENTAL_OWL_EXT],
|
|
|
|
[GAIN/LOSS codes. Disabled by default.])
|
|
|
|
|
|
|
|
if test "$enable_experimental_owl_ext" = "yes" ; then
|
|
|
|
AC_DEFINE(EXPERIMENTAL_OWL_EXT, 1)
|
|
|
|
else
|
|
|
|
AC_DEFINE(EXPERIMENTAL_OWL_EXT, 0)
|
|
|
|
fi
|
|
|
|
|
|
|
|
dnl ------------ Cosmic Consciousness -------------------
|
|
|
|
|
|
|
|
AH_TEMPLATE([COSMIC_GNUGO],
|
|
|
|
[Center oriented influence. Disabled by default.])
|
|
|
|
|
|
|
|
if test "$enable_cosmic_gnugo" = "yes" ; then
|
|
|
|
AC_DEFINE(COSMIC_GNUGO, 1)
|
|
|
|
else
|
|
|
|
AC_DEFINE(COSMIC_GNUGO, 0)
|
|
|
|
fi
|
|
|
|
|
|
|
|
dnl ------------ Large Scale -------------------
|
|
|
|
|
|
|
|
AH_TEMPLATE([LARGE_SCALE],
|
|
|
|
[Large Scale Captures. Disabled by default.])
|
|
|
|
|
|
|
|
if test "$enable_large_scale" = "yes" ; then
|
|
|
|
AC_DEFINE(LARGE_SCALE, 1)
|
|
|
|
else
|
|
|
|
AC_DEFINE(LARGE_SCALE, 0)
|
|
|
|
fi
|
|
|
|
|
|
|
|
dnl ------------ Connections -------------------
|
|
|
|
|
|
|
|
AH_TEMPLATE([EXPERIMENTAL_CONNECTIONS],
|
|
|
|
[Connection module. Default experimental.])
|
|
|
|
|
|
|
|
if test "$enable_experimental_connections" = "no" ; then
|
|
|
|
AC_DEFINE(EXPERIMENTAL_CONNECTIONS, 0)
|
|
|
|
else
|
|
|
|
AC_DEFINE(EXPERIMENTAL_CONNECTIONS, 1)
|
|
|
|
fi
|
|
|
|
|
|
|
|
dnl ------------ Connections -------------------
|
|
|
|
|
|
|
|
AH_TEMPLATE([ALTERNATE_CONNECTIONS],
|
|
|
|
[Connection module. Default standard.])
|
|
|
|
|
|
|
|
if test "$enable_alternate_connections" = "no" ; then
|
|
|
|
AC_DEFINE(ALTERNATE_CONNECTIONS, 0)
|
|
|
|
else
|
|
|
|
AC_DEFINE(ALTERNATE_CONNECTIONS, 1)
|
|
|
|
fi
|
|
|
|
|
|
|
|
dnl ------------ Owl Threats -------------------
|
|
|
|
|
|
|
|
AH_TEMPLATE([OWL_THREATS],
|
|
|
|
[Owl Threats. 0 standard.])
|
|
|
|
|
|
|
|
if test "$enable_owl_threats" = "yes" ; then
|
|
|
|
AC_DEFINE(OWL_THREATS, 1)
|
|
|
|
else
|
|
|
|
AC_DEFINE(OWL_THREATS, 0)
|
|
|
|
fi
|
|
|
|
|
|
|
|
dnl ------------ additional valgrind macros ------
|
|
|
|
|
|
|
|
AH_TEMPLATE([USE_VALGRIND],
|
|
|
|
[Define special valgrind macros.])
|
|
|
|
|
|
|
|
if test "$enable_valgrind" = "yes" ; then
|
|
|
|
AC_DEFINE(USE_VALGRIND, 1)
|
|
|
|
else
|
|
|
|
AC_DEFINE(USE_VALGRIND, 0)
|
|
|
|
fi
|
|
|
|
|
|
|
|
dnl ----------- special-case use of gcc ---------
|
|
|
|
|
|
|
|
dnl Not sure if we are supposed to be accessing this variable, but...
|
|
|
|
|
|
|
|
AM_CONDITIONAL(GCC_ONLY, test "$ac_compiler_gnu" = "yes")
|
|
|
|
|
|
|
|
dnl Now lines in Makefile.am can be prefixed @GCC_ONLY@.
|
|
|
|
|
|
|
|
AC_SUBST(GCC_MAJOR_VERSION)
|
|
|
|
AC_SUBST(GCC_MINOR_VERSION)
|
|
|
|
AC_SUBST(GNU_GO_WARNINGS)
|
|
|
|
|
|
|
|
if test "$ac_compiler_gnu" = "yes"; then
|
|
|
|
|
|
|
|
dnl M4 escaping of brackets
|
|
|
|
GCC_MAJOR_VERSION=`echo __GNUC__ | $CC -E -xc - | tail -n 1`
|
|
|
|
GCC_MINOR_VERSION=`echo __GNUC_MINOR__ | $CC -E -xc - | tail -n 1`
|
|
|
|
|
|
|
|
GNU_GO_WARNINGS='-Wall -W -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wundef'
|
|
|
|
|
|
|
|
if (test $GCC_MAJOR_VERSION -eq 3 && test $GCC_MINOR_VERSION -ge 4) || test $GCC_MAJOR_VERSION -gt 3; then
|
|
|
|
GNU_GO_WARNINGS="$GNU_GO_WARNINGS -Wdeclaration-after-statement"
|
|
|
|
fi
|
|
|
|
|
|
|
|
else
|
|
|
|
GCC_MAJOR_VERSION=0
|
|
|
|
GCC_MINOR_VERSION=0
|
|
|
|
GNU_GO_WARNINGS=''
|
|
|
|
fi
|
|
|
|
|
|
|
|
dnl FIXME: please add warnings for other compilers!
|
|
|
|
|
|
|
|
|
|
|
|
AH_TEMPLATE([ENABLE_SOCKET_SUPPORT],
|
|
|
|
[Compile support for GTP communication over TCP/IP channel.])
|
|
|
|
|
|
|
|
if test "$enable_socket_support" != "no"; then
|
|
|
|
# Check for all required headers, macros, structures and functions
|
|
|
|
# at once.
|
|
|
|
AC_CACHE_CHECK(
|
|
|
|
[whether socket support can be compiled],
|
|
|
|
gnugo_cv_sockets_supported,
|
|
|
|
AC_TRY_LINK([#if !defined(_WIN32) && !defined(_WIN32_WCE)
|
|
|
|
#include <sys/socket.h>
|
|
|
|
#include <netinet/in.h>
|
|
|
|
#include <arpa/inet.h>
|
|
|
|
#include <netdb.h>
|
|
|
|
#else /* on Windows */
|
|
|
|
#include <winsock.h>
|
|
|
|
#endif /* on Windows */],
|
|
|
|
[[ struct sockaddr_in A;
|
|
|
|
struct hostent *H;
|
|
|
|
A.sin_family = AF_INET;
|
|
|
|
A.sin_addr.s_addr = htonl(INADDR_ANY);
|
|
|
|
A.sin_port = htons(0);
|
|
|
|
gethostbyname(0);
|
|
|
|
socket(PF_INET, SOCK_STREAM, 0);
|
|
|
|
connect(0, 0, 0);
|
|
|
|
bind(0, 0, 0);
|
|
|
|
listen(0, 0);
|
|
|
|
accept(0, 0, 0);]],
|
|
|
|
gnugo_cv_sockets_supported="yes",
|
|
|
|
gnugo_cv_sockets_supported="no"))
|
|
|
|
|
|
|
|
if test "$gnugo_cv_sockets_supported" = "yes"; then
|
|
|
|
AC_DEFINE(ENABLE_SOCKET_SUPPORT)
|
|
|
|
else
|
|
|
|
if test "$enable_socket_support" = "yes"; then
|
|
|
|
AC_MSG_WARN(
|
|
|
|
[[
|
|
|
|
*** Socket support was requested but does not pass configure test. ***
|
|
|
|
*** Proceed only if you know what you are doing. ***]])
|
|
|
|
AC_DEFINE(ENABLE_SOCKET_SUPPORT)
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
#AM_GNU_GETTEXT
|
|
|
|
#AC_LINK_FILES($nls_cv_header_libgt, $nls_cv_header_intl)
|
|
|
|
|
|
|
|
dnl FIXME:
|
|
|
|
dnl autoconf 2.50 recommends AC_CONFIG_FILES and AC_OUPUT
|
|
|
|
dnl This however requires automake 1.4p2 or better
|
|
|
|
|
|
|
|
AC_OUTPUT([Makefile interface/Makefile patterns/Makefile sgf/Makefile
|
|
|
|
utils/Makefile engine/Makefile doc/Makefile regression/Makefile config.vc:config.vcin])
|