Build system cleanups
[clinton/bobotpp.git] / configure.ac
1 dnl Process this file with autoconf to produce a configure script.
2
3 AC_PRERQ(2.50)
4 AC_INIT([Bobot++], [2.2.3], [clinton@unknownlamer.org], [bobotpp])
5 AC_LANG([C++])
6 AM_INIT_AUTOMAKE
7 AM_CONFIG_HEADER(config.h)
8
9 dnl Options
10 AC_ARG_ENABLE(crypt,
11 [AC_HELP_STRING(--disable-crypt, Do not use the crypt function)],
12 [
13 if test $enableval = "no"; then
14 AC_DEFINE(NOCRYPT,1, [No crypt support])
15 fi
16 ])
17
18 AC_ARG_ENABLE(scripting,
19 [AC_HELP_STRING(--disable-scripting, Do not use Guile scripts)],
20 [
21 if test $enableval = "no"; then
22 AC_SUBST(GUILE_LDFLAGS,"")
23 AC_SUBST(GUILE_CFLAGS,"")
24 else
25 GUILE_PROGS
26 GUILE_FLAGS
27 AC_DEFINE(USESCRIPTS,1,[Do we have Guile script support?])
28 AC_DEFINE(MULTITHREAD,1,[Is the bot Multithreaded?])
29 fi
30 ],
31 [
32 GUILE_PROGS
33 GUILE_FLAGS
34 GUILE_SITE_DIR
35 AC_DEFINE(USESCRIPTS,1)
36 AC_DEFINE(MULTITHREAD,1)
37 ])
38
39 AC_SUBST(CXXFLAGS, "$GUILE_CFLAGS $CXXFLAGS")
40 AC_SUBST(LDFLAGS, "$GUILE_LDFLAGS $LDFLAGS")
41
42 dnl Removed this from the source tree
43 dnl AC_ARG_ENABLE(telnetserver,
44 dnl [ --enable-telnetserver Use the Telnet server],
45 dnl [
46 dnl if test $enableval = "yes"; then
47 dnl TSERVER_DEFINES="-DTSERVER"
48 dnl TSERVER_SOURCES=""
49 dnl TSERVER_INCLUDES=""
50 dnl fi
51 dnl AC_SUBST(TSERVER_DEFINES)
52 dnl AC_SUBST(TSERVER_SOURCES)
53 dnl AC_SUBST(TSERVER_INCLUDES)
54 dnl ])
55
56 dnl Checks for programs.
57 AC_PROG_CXX
58
59 dnl Checks for STL compliance
60 AC_CPP_STL
61 AC_CPP_STL_CLEAR
62 AC_CPP_STL_IOSBASE
63
64 dnl Checks for libraries.
65 AC_CHECK_LIB(crypt, crypt, [LDFLAGS="-lcrypt $LDFLAGS]")
66 AC_CHECK_LIB(socket, socket, [LDFLAGS="-lsocket $LDFLAGS]")
67 AC_CHECK_LIB(nsl, connect, [LDFLAGS="-lnsl $LDFLAGS]")
68
69 dnl CC++ is special (no function to check_lib on
70 dnl AC_CHECK_PROG(CCGNU_FOUND, [ccgnu2-config],
71 dnl [yes], [no])
72 dnl if test x$CCGNU_FOUND = "xyes";
73 dnl then
74 dnl LDFLAGS="$(ccgnu2-config --libs) $LDFLAGS"
75 dnl else
76 dnl AC_MSG_ERROR([Please install CommonC++2 1.0 or greater])
77 dnl fi
78
79 dnl Checks for header files.
80 AC_HEADER_STDC
81 AC_CHECK_HEADERS(fcntl.h sys/time.h unistd.h)
82
83 dnl Checks for typedefs, structures, and compiler characteristics.
84 AC_C_CONST
85 AC_HEADER_TIME
86 AC_STRUCT_TM
87
88 dnl Checks for library functions.
89 AC_TYPE_SIGNAL
90 AC_CHECK_FUNCS(select socket strtoul)
91
92
93 dnl PREFIX (I know, I know. Not very nice but...)
94 if test "x$prefix" == "xNONE"
95 then
96 AC_DEFINE_UNQUOTED(PREFIX, "$ac_default_prefix", [Install prefix])
97 else
98 AC_DEFINE_UNQUOTED(PREFIX, "$prefix", [Install Prefix])
99 fi
100
101 dnl Generates the makefiles
102 AC_OUTPUT(documentation/Makefile source/Makefile scripts/Makefile Makefile)