1AC_INIT([src/festalon.c])
2
3FESTALON_VERSION='0.5.5'
4
5AC_CANONICAL_HOST
6AC_CANONICAL_TARGET
7AM_INIT_AUTOMAKE([festalon], $FESTALON_VERSION)
8
9AC_PROG_CC
10AM_PROG_CC_C_O
11AC_PROG_INSTALL
12AM_PROG_LIBTOOL
13
14AC_DEFINE(_GNU_SOURCE)
15AC_CHECK_FUNC(asprintf, AC_DEFINE([HAVE_ASPRINTF]), [])
16AC_CHECK_FUNC(posix_memalign, AC_DEFINE([HAVE_POSIX_MEMALIGN]), [])
17
18PKG_CHECK_MODULES(SAMPLERATE, samplerate >= 0.0.15, [], AC_MSG_ERROR([*** libsamplerate >= 0.0.15 not found!]))
19
20dnl AC_SUBST(SAMPLERATE_CFLAGS)
21dnl AC_SUBST(SAMPLERATE_LIBS)
22
23LIBS="$LIBS $SAMPLERATE_LIBS"
24
25AC_ARG_ENABLE([interface], [  --enable-interface=interface	bmp, xmms or console],
26	[
27		interface=$enableval
28	]
29	,
30	[	echo '*** No interface specified, defaulting to console';
31		interface=console;
32	]
33	)
34
35AM_CONDITIONAL(HAVE_OSSDSP, false)
36AM_CONDITIONAL(HAVE_DIRECTSOUND, false)
37AM_CONDITIONAL(HAVE_ESOUND, false)
38AM_CONDITIONAL(HAVE_JACK, false)
39AM_CONDITIONAL(HAVE_SDL, false)
40
41AM_CONDITIONAL(INTERFACE_CONSOLE, false)
42AM_CONDITIONAL(INTERFACE_XMMS, false)
43AM_CONDITIONAL(INTERFACE_BMP, false)
44
45if test x$interface = xconsole
46then
47	AM_CONDITIONAL(INTERFACE_CONSOLE, true)
48	AC_SUBST(binlibtarget, "bin_PROGRAMS	=	festalon")
49
50	if expr x"$target" : 'x.*mingw' > /dev/null; then
51		AC_CHECK_HEADER([dsound.h],HAVE_DIRECTSOUND=true, HAVE_DIRECTSOUND=false)
52
53		if $HAVE_DIRECTSOUND
54		then
55			AM_CONDITIONAL(HAVE_DIRECTSOUND,true)
56			AC_DEFINE([HAVE_DIRECTSOUND])
57			LIBS="-mwindows -ldxguid -lwinmm -ldsound $LIBS"
58		fi
59	else
60	AC_CHECK_HEADER([sys/soundcard.h],[AM_CONDITIONAL(HAVE_OSSDSP,true)
61                                   AC_DEFINE([HAVE_OSSDSP])],)
62	fi
63
64	AC_CHECK_PROG(has_esd_config, esd-config, yes)
65	if test x$has_esd_config = xyes
66	then
67		AM_CONDITIONAL(HAVE_ESOUND, true)
68		AC_DEFINE([HAVE_ESOUND])
69		LIBS="$LIBS `esd-config --libs`"
70		CFLAGS="$CFLAGS `esd-config --cflags`"
71	fi
72
73	PKG_CHECK_MODULES(JACK, jack, HAVE_JACK=true, HAVE_JACK=false)
74
75	if $HAVE_JACK
76	then
77		AM_CONDITIONAL(HAVE_JACK, true)
78		AC_DEFINE([HAVE_JACK])
79		LIBS="$LIBS $JACK_LIBS"
80		CFLAGS="$CFLAGS $JACK_CFLAGS"
81	fi
82
83
84	 SDL_VERSION=1.2.0
85	 AM_PATH_SDL($SDL_VERSION, HAVE_SDL=true, HAVE_SDL=false)
86	 if $HAVE_SDL
87	 then
88	 	AM_CONDITIONAL(HAVE_SDL, true)
89		AC_DEFINE([HAVE_SDL])
90		LIBS="$LIBS $SDL_LIBS"
91		CFLAGS="$CFLAGS $SDL_CFLAGS"
92	fi
93elif test x$interface = xbmp
94then
95	AM_CONDITIONAL(INTERFACE_BMP, true)
96	AC_DEFINE([INTERFACE_BMP])
97	PKG_CHECK_MODULES(BMP, bmp >= 0.0.1, [], AC_MSG_ERROR([*** beep media player >= 0.0.1 not found!]))
98	CFLAGS="$CFLAGS $BMP_CFLAGS"
99	LIBS="$LIBS $BMP_LIBS"
100
101        AC_PREFIX_DEFAULT("`pkg-config bmp --variable prefix`")
102        libdir="`pkg-config bmp --variable input_plugin_dir`"
103else
104	AM_CONDITIONAL(INTERFACE_XMMS, true)
105	AC_CHECK_PROG(has_xmms_config, xmms-config, yes)
106	AC_CHECK_PROG(has_gtk_config, gtk-config, yes)
107	AC_CHECK_PROG(has_glib_config, glib-config, yes)
108
109	if test x$has_xmms_config = xyes; then
110        	if test x$has_gtk_config = xyes; then
111                	if test x$has_glib_config = xyes; then
112                        	CFLAGS="$CFLAGS `gtk-config --cflags` `xmms-config --cflags` `glib-config --cflags`"
113	                        LIBS="$LIBS `gtk-config --libs` `xmms-config --libs` `glib-config --libs`"
114        	                can_build_xmms_plugin=yes
115	                fi
116	        fi
117	fi
118
119	if test x$can_build_xmms_plugin != xyes
120	then
121		AC_MSG_ERROR([*** Cannot build xmms plugin!])
122	fi
123	AC_PREFIX_DEFAULT("`xmms-config --prefix`")
124	libdir="`xmms-config --input-plugin-dir`"
125	dnl bindir="~/.xmms/Plugins"
126fi
127
128CFLAGS="-O2 -Ifidlib -Wall -fomit-frame-pointer $CFLAGS"
129
130if expr x"$target" : 'x.*mingw' > /dev/null; then
131	AC_DEFINE([FIDLIB_MINGW])
132else
133	AC_DEFINE([FIDLIB_LINUX])
134fi
135
136AM_CONDITIONAL(ARCH_X86, false)
137AM_CONDITIONAL(ARCH_POWERPC, false)
138if expr x"$target_cpu" : 'xi.86' > /dev/null; then
139	AC_DEFINE([ARCH_X86])
140	AM_CONDITIONAL(ARCH_X86, true)
141	dnl CFLAGS="-mcpu=i686 $CFLAGS"
142elif expr x"$target_cpu" : 'xx86*' > /dev/null; then
143        AC_DEFINE([ARCH_X86])
144        AM_CONDITIONAL(ARCH_X86, true)
145elif expr x"$target_cpu" : 'xpowerpc' > /dev/null; then
146	CFLAGS="-faltivec $CFLAGS"
147	AC_DEFINE([ARCH_POWERPC])
148	AM_CONDITIONAL(ARCH_POWERPC, true)
149fi
150
151
152LIBS="$LIBS -lm"
153
154AC_C_BIGENDIAN(AC_DEFINE([MSB_FIRST]), AC_DEFINE([LSB_FIRST]))
155AC_DEFINE_UNQUOTED([FESTALON_VERSION],"$FESTALON_VERSION")
156
157dnl Output Makefiles
158AC_OUTPUT([Makefile src/Makefile])
159