Tidy up of configure script.
[platform/upstream/gstreamer.git] / configure.in
1 AC_INIT(gst/gstobject.h)
2
3 AM_CONFIG_HEADER(config.h)
4
5 STREAMER_MAJOR_VERSION=0
6 STREAMER_MINOR_VERSION=0
7 STREAMER_MICRO_VERSION=9.2
8 STREAMER_VERSION=$STREAMER_MAJOR_VERSION.$STREAMER_MINOR_VERSION.$STREAMER_MICRO_VERSION
9
10 dnl libtool
11 STREAMER_CURRENT=0
12 STREAMER_REVISION=0
13 STREAMER_AGE=0
14
15 AM_INIT_AUTOMAKE(gstreamer, $STREAMER_VERSION)
16 dnl Add parameters for aclocal
17 dnl (This must come after AM_INIT_AUTOMAKE, since it modifies ACLOCAL)
18 ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
19
20 AC_SUBST(STREAMER_MAJOR_VERSION)
21 AC_SUBST(STREAMER_MINOR_VERSION)
22 AC_SUBST(STREAMER_MICRO_VERSION)
23 AC_SUBST(STREAMER_VERSION)
24
25 AC_SUBST(STREAMER_CURRENT)
26 AC_SUBST(STREAMER_REVISION)
27 AC_SUBST(STREAMER_AGE)
28
29
30 AM_MAINTAINER_MODE
31
32 AC_ISC_POSIX
33 AC_PROG_CC
34 AC_STDC_HEADERS
35 AC_ARG_PROGRAM
36
37 AM_DISABLE_STATIC
38 AC_LIBTOOL_DLOPEN
39 AM_PROG_LIBTOOL
40
41 dnl ##############################
42 dnl # Do automated configuration #
43 dnl ##############################
44
45 dnl Check for essential libraries first:
46 dnl ====================================
47
48 dnl Check for glib
49 AM_PATH_GLIB(1.2.0,,
50             AC_MSG_ERROR(Cannot find glib: Is glib-config in path?),
51             glib gmodule gthread)
52 dnl Put the glib flags into $LIBS and $CFLAGS since we always use them
53 LIBS="$LIBS $GLIB_LIBS"
54 CFLAGS="$FLAGS $GLIB_CFLAGS"
55
56 dnl Check for libxml
57 AC_PATH_PROG(XML_CONFIG, xml-config, no)
58 if test x$XML_CONFIG = xno; then
59   AC_MSG_ERROR(Couldn't find xml-config)
60 fi
61 XML_LIBS=`xml-config --libs`
62 XML_CFLAGS=`xml-config --cflags`
63 AC_SUBST(XML_LIBS)
64 AC_SUBST(XML_CFLAGS)
65
66
67 dnl Next, check for the optional libraries:
68 dnl =======================================
69
70 dnl Check for gtk
71 AM_PATH_GTK(1.2.0)
72
73 dnl Check for libghttp
74 AC_CHECK_LIB(ghttp, ghttp_request_new,
75   [GHTTP_LIBS="-lghttp"
76    HAVE_LIBGHTTP=yes
77   ],
78   [AC_MSG_WARN(Cannot find libghttp: can't build gsthttpsrc)
79    GHTTP_LIBS=
80    HAVE_LIBGHTTP=no
81   ],
82   $LIBS)
83 AC_SUBST(GHTTP_LIBS)
84
85 dnl Check for atomic.h
86 dnl Note: use AC_CHECK_HEADER not AC_CHECK_HEADERS, because the latter
87 dnl defines the wrong default symbol as well (HAVE_ASM_ATOMIC_H)
88 AC_CHECK_HEADER(asm/atomic.h, HAVE_ATOMIC_H=yes, HAVE_ATOMIC_H=no)
89 AC_EGREP_HEADER(atomic_set, asm/atomic.h,, 
90   [
91    if test x$HAVE_ATOMIC_H = xyes; then
92      AC_MSG_WARN("Atomic reference counting is out of date: doing without.")
93    fi
94    HAVE_ATOMIC_H=no
95 ])
96
97 dnl Check for libmmx
98 AC_CHECK_HEADER(mmx.h, HAVE_LIBMMX="yes", HAVE_LIBMMX="no")
99
100 dnl Check for xaudio
101 AC_CHECK_HEADER(xaudio/decoder.h,[
102   AC_DEFINE(HAVE_XAUDIO) 
103   HAVE_XAUDIO="yes", []
104 ])
105
106 dnl Set location of plugin directory
107 PLUGINS_DIR=${prefix}/lib/gst
108 AC_DEFINE_UNQUOTED(PLUGINS_DIR,"$PLUGINS_DIR")
109 AC_SUBST(PLUGINS_DIR)
110
111 dnl Set location of uninstalled plugin directory
112 PLUGINS_SRCDIR=`pwd`/$srcdir
113 AC_DEFINE_UNQUOTED(PLUGINS_SRCDIR,"$PLUGINS_SRCDIR")
114 AC_SUBST(PLUGINS_SRCDIR)
115
116 dnl check if css.c exists (FIXME)
117 AC_MSG_CHECKING(DVD CSS code)
118 if test -f plugins/dvdsrc/css.c
119 then
120   AC_MSG_RESULT(yes)
121   HAVE_CSSAUTH="yes"
122 else
123   AC_MSG_RESULT(no)
124   HAVE_CSSAUTH="no"
125 fi
126
127 dnl check for gtkdoc
128 AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-mkdb, true, false)
129
130
131 dnl ######################################################################
132 dnl # Check command line parameters, and set shell variables accordingly #
133 dnl ######################################################################
134
135 AC_ARG_ENABLE(libghttp,
136 [  --enable-libghttp            use the ghttp library, if available],
137 [case "${enableval}" in
138   yes) USE_LIBGHTTP=$HAVE_LIBGHTTP ;;
139   no)  USE_LIBGHTTP=no ;;
140   *) AC_MSG_ERROR(bad value ${enableval} for --enable-libghttp) ;;
141 esac], 
142 [USE_LIBGHTTP=$HAVE_LIBGHTTP]) dnl Default value
143
144 AC_ARG_ENABLE(libmmx,
145 [  --enable-libmmx              use libmmx, if available],
146 [case "${enableval}" in
147   yes) USE_LIBMMX=$HAVE_LIBMMX ;;
148   no)  USE_LIBMMX=no ;;
149   *) AC_MSG_ERROR(bad value ${enableval} for --enable-libmmx) ;;
150 esac], 
151 [USE_LIBMMX=$HAVE_LIBMMX]) dnl Default value
152
153 AC_ARG_ENABLE(atomic,
154 [  --enable-atomic              use atomic reference counting header],
155 [case "${enableval}" in
156   yes) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
157   noset) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
158   no)  USE_ATOMIC_H=no;;
159   *) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
160 esac], 
161 [USE_ATOMIC_H=$HAVE_ATOMIC_H]) dnl Default value
162
163 AC_ARG_ENABLE(plugin-srcdir,
164 [  --enable-plugin-srcdir       allow tests/demos to use non-installed plugins ],
165 [case "${enableval}" in
166   yes) plugins_use_srcdir=yes ;;
167   no)  plugins_use_srcdir=no ;;
168   *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-srcdir) ;;
169 esac], 
170 [plugins_use_srcdir=yes]) dnl Default value
171
172 AC_ARG_ENABLE(debug,
173 [  --enable-debug               spews lots of useless info at runtime],
174 [case "${enableval}" in
175   yes) use_debug=yes ;;
176   no)  use_debug=no ;;
177   *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
178 esac], 
179 [use_debug=no]) dnl Default value
180
181 AC_ARG_ENABLE(profiling,
182 [  --enable-profiling           adds -pg to compiler commandline, for profiling],
183 [case "${enableval}" in
184   yes) use_profiling=yes ;;
185   no)  use_profiling=no ;;
186   *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
187 esac], 
188 [use_profiling=no]) dnl Default value
189
190
191 dnl ################################################
192 dnl # Set defines according to variables set above #
193 dnl ################################################
194
195 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
196 dnl HAVE_ and it is likely to be easier to stick with the old name
197 if test "x$USE_LIBGHTTP" = xyes; then
198   AC_DEFINE(HAVE_LIBGHTTP)
199 fi
200
201 if test "x$USE_LIBMMX" = xyes; then
202   AC_DEFINE(HAVE_LIBMMX)
203 fi
204
205 if test "x$USE_ATOMIC_H" = xyes; then
206   AC_DEFINE(HAVE_ATOMIC_H)
207 fi
208
209 if test "x$PLUGINS_USE_SRCDIR" = xyes; then
210   AC_DEFINE(PLUGINS_USE_SRCDIR)
211 fi
212
213 if test "x$USE_DEBUG" = xyes; then
214   AC_DEFINE(DEBUG_ENABLED)
215 fi
216
217 if test "x$USE_PROFILING" = xyes; then
218   CFLAGS="$CFLAGS -pg"
219 fi
220
221
222 dnl #############################
223 dnl # Set automake conditionals #
224 dnl #############################
225
226 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
227 dnl HAVE_ and it is likely to be easier to stick with the old name
228 AM_CONDITIONAL(HAVE_LIBGHTTP,   test "x$USE_LIBGHTTP" = "xyes")
229 AM_CONDITIONAL(HAVE_LIBMMX,     test "x$USE_LIBMMX" = "xyes")
230 AM_CONDITIONAL(HAVE_ATOMIC_H,   test "x$USE_ATOMIC_H" = "xyes")
231 AM_CONDITIONAL(HAVE_XAUDIO,     test "x$HAVE_XAUDIO" = "xyes")
232 AM_CONDITIONAL(HAVE_CSSAUTH,    test "x$HAVE_CSSAUTH" = "xyes")
233 AM_CONDITIONAL(HAVE_GTK_DOC,    $HAVE_GTK_DOC)
234
235
236 dnl FIXME: having to AC_SUBST these is messy.  Not sure if CPPFLAGS and LDFLAGS
237 dnl need it, either.
238 AC_SUBST(CFLAGS)
239 AC_SUBST(CPPFLAGS)
240 AC_SUBST(LDFLAGS)
241
242
243 dnl #############################
244 dnl # Configure the subpackages #
245 dnl #############################
246
247 AC_CONFIG_SUBDIRS(gist)
248 AC_CONFIG_SUBDIRS(plugins/mp3decode/xing/libxing)
249
250
251 dnl #########################
252 dnl # Make the output files #
253 dnl #########################
254
255 AC_OUTPUT([Makefile
256 gst/Makefile
257 gst/types/Makefile
258 gst/meta/Makefile
259 gst/elements/Makefile
260 gst/xml/Makefile
261 plugins/Makefile
262 plugins/au/Makefile
263 plugins/wav/Makefile
264 plugins/mp3decode/Makefile
265 plugins/mp3decode/xa/Makefile
266 plugins/mp3decode/xing/Makefile
267 plugins/mp3decode/mpg123/Makefile
268 plugins/mp3decode/parse/Makefile
269 plugins/mpeg2/Makefile
270 plugins/mpeg2/parse/Makefile
271 plugins/mpeg2/ac3parse/Makefile
272 plugins/mpeg2/ac3dec/Makefile
273 plugins/mpeg1/Makefile
274 plugins/mpeg1/parse/Makefile
275 plugins/effects/Makefile
276 plugins/effects/stereo/Makefile
277 plugins/effects/volume/Makefile
278 plugins/visualization/Makefile
279 plugins/visualization/spectrum/Makefile
280 plugins/visualization/vumeter/Makefile
281 plugins/visualization/synaesthesia/Makefile
282 plugins/visualization/smoothwave/Makefile
283 plugins/dvdsrc/Makefile
284 plugins/vcdsrc/Makefile
285 plugins/cobin/Makefile
286 plugins/rtjpeg/Makefile
287 test/Makefile
288 test/xml/Makefile
289 test/bindings/Makefile
290 test/cothreads/Makefile
291 editor/Makefile
292 tools/Makefile
293 docs/Makefile
294 stamp.h
295 gstreamer-config
296 gstreamer.spec])
297 AC_OUTPUT_COMMANDS([chmod +x gstreamer-config])