summaryrefslogtreecommitdiff
path: root/configure.ac
blob: 2dd81c70f68d80967d840c9d7040bd27bcc083fd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
AC_PREREQ(2.53)
dnl autoconf configuration file for gst-plugins
AC_INIT
AC_CANONICAL_TARGET([])
                                                                                                                    
AS_VERSION(libgame, LIBGAME_VERSION, 0, 0, 0, 1, LIBGAME_CVS="no", LIBGAME_CVS="yes")
AM_INIT_AUTOMAKE($PACKAGE,$VERSION)

AM_CONFIG_HEADER(config.h)
AC_CONFIG_MACRO_DIR([macros])

LIBGAME_VERS=$LIBGAME_VERSION_MAJOR.$LIBGAME_VERSION_MINOR
LIBGAME_NAME=libgame-$LIBGAME_VERS
AC_SUBST(LIBGAME_VERS)
AC_SUBST(LIBGAME_NAME)
AC_DEFINE_UNQUOTED(LIBGAME_NAME, "$LIBGAME_NAME", [Name of libgame subdirectories])

AM_INIT_AUTOMAKE($PACKAGE, $VERSION)

AC_PROG_INTLTOOL

AC_PROG_CC
AC_ISC_POSIX
AM_DISABLE_STATIC
AM_PROG_LIBTOOL
ACLOCAL="$ACLOCAL -I macros"

dnl decide on error flags
dnl if we support them, we set them unconditionally
AS_COMPILER_FLAG(-Wall, ERROR_CFLAGS="-Wall", ERROR_CFLAGS="")
dnl I want this but stupid headers don't let me
dnl AS_COMPILER_FLAG(-Wshadow, ERROR_CFLAGS="$ERROR_CFLAGS -Wshadow")
AS_COMPILER_FLAG(-Wfloat-equal, ERROR_CFLAGS="$ERROR_CFLAGS -Wfloat-equal")
AS_COMPILER_FLAG(-Wextra -Wno-missing-field-initializers -Wno-unused-parameter, ERROR_CFLAGS="$ERROR_CFLAGS -Wextra -Wno-missing-field-initializers -Wno-unused-parameter")
dnl if we're in nano >= 1, add -Werror if supported
if test "x$LIBGAME_CVS" = "xyes"
then
  AS_COMPILER_FLAG(-Werror, ERROR_CFLAGS="$ERROR_CFLAGS -Werror")
fi

dnl feel free to test with lower requirements, these are the ones that
dnl are known to work
PKG_CHECK_MODULES(LIBGAME,                    \
		  cairo			      \
                  cairo-gobject               \
		  gnet-2.0 >= 2.0.7   	      \
                  gtk+-3.0 >= 3.0.0	      \
                  libxml-2.0 >= 2.5.9	      \
                  pangocairo)	

LIBGAME_CFLAGS="$LIBGAME_CFLAGS $ERROR_CFLAGS -std=c99"
dnl no open shell on windows, plz
AS_COMPILER_FLAG(-mwindows, LIBGAME_LIBS="$LIBGAME_LIBS -mwindows",)
dnl required on gcc and windows - first is for gcc3, second for gcc2
AS_COMPILER_FLAG(-mms-bitfields, LIBGAME_CFLAGS="$LIBGAME_CFLAGS -mms-bitfields",)
AS_COMPILER_FLAG(-fnative-struct, LIBGAME_CFLAGS="$LIBGAME_CFLAGS -fnative-struct",)

AC_MSG_CHECKING([for Win32])
case "$host" in
  *-*-mingw*)
    HAVE_WIN32=yes
    ;;
  *)
    HAVE_WIN32=no
    ;;
esac
AC_MSG_RESULT([$HAVE_WIN32])
AM_CONDITIONAL(HAVE_WIN32, [test "x$HAVE_WIN32" = "xyes"])


# Need in.h and tcp.h for setting of TCP_NODELAY
AC_CHECK_HEADERS(netinet/in.h netinet/tcp.h)

dnl local stuff
GAME_CFLAGS="-I\$(top_srcdir)"
GAME_LIBS="\$(top_builddir)/libgame/$PACKAGE-$LIBGAME_VERS.la"

dnl Gnome Frontend
PKG_CHECK_MODULES(GCONF, gconf-2.0 >= 2.10.0, HAVE_GCONF="yes", HAVE_GCONF="no")
AM_CONDITIONAL(HAVE_GCONF, test "x$HAVE_GCONF" = "xyes")
if test "x$HAVE_GCONF" = "xyes"
then
  AC_DEFINE_UNQUOTED(HAVE_GCONF, 1, [Define if GConf is supported])
fi

GNOME_CFLAGS="$LIBGAME_CFLAGS $GCONF_CFLAGS $GNOME_CFLAGS $GAME_CFLAGS $GLITZ_CFLAGS"
GNOME_LIBS="$LIBGAME_LIBS $GCONF_LIBS $GNOME_LIBS $GAME_LIBS $GLITZ_LIBS"
AC_SUBST(GNOME_CFLAGS)
AC_SUBST(GNOME_LIBS)

libgame_datadir="${datadir}/libgame"
AC_SUBST(libgame_datadir)
AC_DEFINE_DIR(LIBGAME_DATADIR, "${libgame_datadir}", [Data Directory])
uidir="${datadir}/libgame/ui"
AC_SUBST(uidir)
AC_DEFINE_DIR(UIDIR, "${uidir}", [UI file Resources Directory])
HIGHSCOREDIR="${localstatedir}/games/libgame"
AC_SUBST(HIGHSCOREDIR)
AC_DEFINE_DIR(HIGHSCOREDIR, "${HIGHSCOREDIR}", [High Scores Directory])

dnl the games
GAME_CFLAGS="$GAME_CFLAGS $LIBGAME_CFLAGS"
GAME_LIBS="$GAME_LIBS $LIBGAME_LIBS -module -avoid-version -export-symbols-regex new_game -no-undefined"
AC_SUBST(GAME_CFLAGS)
AC_SUBST(GAME_LIBS)

AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal)
AC_PATH_PROG(GLIB_MKENUMS, glib-mkenums)

ALL_LINGUAS="de"

GETTEXT_PACKAGE=libgame
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Define to the Gettext package name])
AC_DEFINE_DIR(LOCALEDIR, "${datadir}/locale", [locale directory])
AC_DEFINE(_GNU_SOURCE, 1, [So we get useful stuff like M_PI])

AM_GLIB_GNU_GETTEXT

AC_DEFINE_DIR(LIBDIR, "${libdir}", [library install directory])

AC_OUTPUT([ 
Makefile
libgame/Makefile
libgame/knot/Makefile
games/Makefile
games/bomber/Makefile
games/pacman/Makefile
games/sheep/Makefile
games/tetris/Makefile
po/Makefile.in
src/Makefile
src/gnome/Makefile
src/gnome/data/Makefile
src/utils/Makefile
tests/Makefile
])