1AC_INIT(dunelegacy, 0.96.4, http://dunelegacy.sourceforge.net)
2
3AC_CANONICAL_BUILD
4
5AC_USE_SYSTEM_EXTENSIONS
6
7AM_INIT_AUTOMAKE([subdir-objects])
8
9AC_CONFIG_MACRO_DIR([m4])
10
11AC_PROG_CXX
12
13if test "$prefix" = "" ; then
14	dunelegacydatadir='data'
15else
16	dunelegacydatadir='${pkgdatadir}'
17fi
18
19AC_SUBST(dunelegacydatadir)
20
21AC_MSG_CHECKING([if compiling with clang])
22
23AC_COMPILE_IFELSE(
24[AC_LANG_PROGRAM([], [[
25#ifndef __clang__
26       not clang
27#endif
28]])],
29[CLANG=yes], [CLANG=no])
30
31AC_MSG_RESULT([$CLANG])
32
33if test "x$CLANG" = xyes; then
34  CXXFLAGS="-std=c++11 -O3 -pipe -pedantic -Weverything -Wno-sign-conversion -Wno-conversion -Wno-shadow -Wno-missing-noreturn -Wno-padded -Wno-packed -Wno-weak-vtables -Wno-c++11-narrowing -Wno-cast-align -Wno-unreachable-code -Wno-missing-prototypes -Wno-float-equal -Wno-global-constructors -Wno-exit-time-destructors -Wno-format-nonliteral -Wno-unused-macros -Wextra -Wno-unused-parameter"
35else
36  CXXFLAGS="-O3 -std=gnu++11 -pipe -pedantic -Wall -Wextra -Wno-unused-parameter -DNDEBUG"
37fi
38
39AC_ARG_ENABLE([debug],
40            [AS_HELP_STRING([--enable-debug],
41              [compile with debug information @<:@default=disabled@:>@])],
42            [],
43            [])
44
45if test "$enable_debug" = "yes" ; then
46	CXXFLAGS="$CXXFLAGS -g"
47fi
48
49dnl Check for SDL library
50dnl Check for SDL_mixer library.
51SDL_VERSION=2.0.0
52AM_PATH_SDL2($SDL_VERSION, : , AC_MSG_ERROR([*** SDL2 version $SDL_VERSION not found!]))
53dnl PKG_CHECK_MODULES(SDL, sdl2 SDL2_mixer)
54CFLAGS="$CFLAGS $SDL_CFLAGS"
55CXXFLAGS="$CXXFLAGS $SDL_CFLAGS"
56LIBS="$LIBS $SDL_LIBS"
57
58dnl Check for SDL_mixer library.
59AC_CHECK_LIB(SDL2_mixer,
60       Mix_OpenAudio,
61       LIBS="$LIBS -lSDL2_mixer",
62       AC_MSG_ERROR([*** SDL2_mixer library not found!])
63)
64
65dnl enet defines
66AC_CHECK_FUNC(gethostbyaddr_r, [AC_DEFINE(HAS_GETHOSTBYADDR_R)])
67AC_CHECK_FUNC(gethostbyname_r, [AC_DEFINE(HAS_GETHOSTBYNAME_R)])
68AC_CHECK_FUNC(poll, [AC_DEFINE(HAS_POLL)])
69AC_CHECK_FUNC(fcntl, [AC_DEFINE(HAS_FCNTL)])
70AC_CHECK_FUNC(inet_pton, [AC_DEFINE(HAS_INET_PTON)])
71AC_CHECK_FUNC(inet_ntop, [AC_DEFINE(HAS_INET_NTOP)])
72
73AC_CHECK_MEMBER(struct msghdr.msg_flags, [AC_DEFINE(HAS_MSGHDR_FLAGS)], , [#include <sys/socket.h>])
74
75AC_CHECK_TYPE(socklen_t, [AC_DEFINE(HAS_SOCKLEN_T)], ,
76              #include <sys/types.h>
77              #include <sys/socket.h>
78)
79
80AC_EGREP_HEADER(MSG_MAXIOVLEN, /usr/include/sys/socket.h, AC_DEFINE(ENET_BUFFER_MAXIMUM, [MSG_MAXIOVLEN]))
81AC_EGREP_HEADER(MSG_MAXIOVLEN, socket.h, AC_DEFINE(ENET_BUFFER_MAXIMUM, [MSG_MAXIOVLEN]))
82
83if test "${host}" = "i686-w64-mingw32" ; then
84        LIBS="$LIBS -lws2_32 -lwinmm -static-libgcc -static-libstdc++ -Wl,-Bstatic -lstdc++ -lpthread -Wl,-Bdynamic resource.o"
85		dunelegacydatadir='.'
86elif test "${host}" = "x86_64-w64-mingw32" ; then
87        LIBS="$LIBS -lws2_32 -lwinmm -static-libgcc -static-libstdc++ -Wl,-Bstatic -lstdc++ -lpthread -Wl,-Bdynamic resource.o"
88		dunelegacydatadir='.'
89fi
90
91AC_CONFIG_FILES(Makefile src/Makefile tests/Makefile)
92AC_OUTPUT
93