removing versioning please check ;)
[platform/upstream/gstreamer.git] / configure.ac
1 dnl Note: this file is now the main autoconf file
2 AC_INIT
3 AC_CONFIG_SRCDIR([gst/gstobject.h])
4
5 AC_CANONICAL_TARGET([])
6
7 AM_CONFIG_HEADER(config.h)
8
9 GST_VERSION_MAJOR=0
10 GST_VERSION_MINOR=3
11 GST_VERSION_MICRO=1
12
13 dnl we use a datestamped release tag and a fourth version ".1" number
14 dnl during CVS development
15 GST_VERSION_RELEASE=`date +%Y%m%d`
16 GST_VERSION=$GST_VERSION_MAJOR.$GST_VERSION_MINOR.$GST_VERSION_MICRO.1
17 dnl we use a normal release tag increased manually when releasing
18 dnl GST_VERSION_RELEASE=1
19 dnl GST_VERSION=$GST_VERSION_MAJOR.$GST_VERSION_MINOR.$GST_VERSION_MICRO
20
21 PACKAGE=gstreamer
22 VERSION=$GST_VERSION
23
24 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
25 AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
26 AC_SUBST(PACKAGE)
27 AC_SUBST(VERSION)
28 AC_DEFINE_UNQUOTED(GST_VERSION_RELEASE, "$GST_VERSION_RELEASE")
29 AC_SUBST(GST_VERSION_RELEASE)
30
31 dnl libtool
32 GST_CURRENT=2
33 GST_REVISION=0
34 GST_AGE=0
35 GST_LIBVERSION=$GST_CURRENT:$GST_REVISION:$GST_AGE
36
37 AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
38 dnl Add parameters for aclocal
39 dnl (This must come after AM_INIT_AUTOMAKE, since it modifies ACLOCAL)
40 ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
41
42 AC_SUBST(GST_VERSION_MAJOR)
43 AC_SUBST(GST_VERSION_MINOR)
44 AC_SUBST(GST_VERSION_MICRO)
45 AC_SUBST(GST_VERSION)
46
47 AC_SUBST(GST_CURRENT)
48 AC_SUBST(GST_REVISION)
49 AC_SUBST(GST_AGE)
50 AC_SUBST(GST_LIBVERSION)
51
52 AM_MAINTAINER_MODE
53
54 AC_PROG_CC
55 AM_PROG_CC_STDC
56 AM_PROG_AS
57 AS="${CC}"
58 AC_PROG_CXX
59 AC_PROG_CXXCPP
60 AC_ISC_POSIX
61
62 dnl We disable static building for development, for time savings
63 dnl *NOTE*: dnl this line before release, so release does static too
64 dnl AM_DISABLE_STATIC
65 AC_LIBTOOL_DLOPEN
66 AM_PROG_LIBTOOL
67
68 AC_HEADER_STDC([])
69
70
71 dnl ##############################
72 dnl # Do automated configuration #
73 dnl ##############################
74
75 dnl Check for tools:
76 dnl ================
77
78 dnl modify pkg-config path
79 AC_ARG_WITH(pkg-config-path, 
80    AC_HELP_STRING([--with-pkg-config-path],[colon-separated list of pkg-config(1) dirs]),
81    [export PKG_CONFIG_PATH=${withval}])
82
83 dnl Check for nasm
84 AC_PATH_PROG(NASM_PATH, nasm, no)
85 AC_SUBST(NASM_PATH)
86 if test x$NASM_PATH = xno; then
87   AC_MSG_WARN(Couldn't find nasm)
88   HAVE_NASM="no"
89 else AC_DEFINE(HAVE_NASM, 1, [Define if NASM, the netwide assembler, is available])
90   HAVE_NASM="yes"
91 fi
92
93 dnl check for gtk-doc
94 AC_ARG_WITH(html-dir, AC_HELP_STRING([--with-html-dir=PATH], [path to installed docs]))
95
96 if test "x$with_html_dir" = "x" ; then
97   HTML_DIR='${datadir}/gst/html'
98 else
99   HTML_DIR=$with_html_dir
100 fi
101
102 AC_SUBST(HTML_DIR)
103
104 AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-mkdb, true, false)
105 gtk_doc_min_version=0.6
106 if $HAVE_GTK_DOC ; then 
107     gtk_doc_version=`gtkdoc-mkdb --version`
108     AC_MSG_CHECKING([gtk-doc version ($gtk_doc_version) >= $gtk_doc_min_version])
109     if perl <<EOF ; then
110       exit (("$gtk_doc_version" =~ /^[[0-9]]+\.[[0-9]]+$/) &&
111             ("$gtk_doc_version" >= "$gtk_doc_min_version") ? 0 : 1);
112 EOF
113       AC_MSG_RESULT(yes)
114    else
115       AC_MSG_RESULT(no)
116       HAVE_GTK_DOC=false
117    fi
118 fi
119 GTK_DOC_SCANOBJ=gtkdoc-scanobj
120
121 AC_SUBST(HAVE_GTK_DOC)
122 AC_SUBST(GTK_DOC_SCANOBJ)
123
124 dnl check for docbook tools
125 AC_CHECK_PROG(HAVE_XSLTPROC, xsltproc, true, false)
126 AC_CHECK_PROG(HAVE_PDFTOPS, pdftops, true, false)
127 dnl this does not yet work properly, at least on debian -- wingo
128 HAVE_PDFXMLTEX=false
129
130 dnl check for image conversion tool
131 AC_CHECK_PROG(HAVE_FIG2DEV, fig2dev, true, false)
132
133 dnl The following is a hack: if fig2dev doesn't display an error message
134 dnl for the desired type, we assume it supports it.
135 HAVE_FIG2DEV_PNG=false
136 if test "x$HAVE_FIG2DEV" = "xtrue" ; then
137   fig2dev_quiet=`fig2dev -L png </dev/null 2>&1 >/dev/null`
138   if test "x$fig2dev_quiet" = "x" ; then
139     HAVE_FIG2DEV_PNG=true
140   fi
141 fi
142 HAVE_FIG2DEV_PDF=false
143 if test "x$HAVE_FIG2DEV" = "xtrue" ; then
144   fig2dev_quiet=`fig2dev -L pdf </dev/null 2>&1 >/dev/null`
145   if test "x$fig2dev_quiet" = "x" ; then
146     HAVE_FIG2DEV_PDF=true
147   fi
148 fi
149
150
151 dnl Set up conditionals for (target) architecture:
152 dnl ==============================================
153
154 dnl Determine CPU
155 case "x${target_cpu}" in
156   xi?86 | k?) HAVE_CPU_I386=yes
157               AC_DEFINE(HAVE_CPU_I386, 1, [Define if the target CPU is an x86])
158               dnl FIXME could use some better detection
159               dnl       (ie CPUID)
160               case "x${target_cpu}" in
161                 xi386 | xi486) ;;
162                 *)             AC_DEFINE(HAVE_RDTSC) ;;
163               esac ;;
164   xpowerpc)   HAVE_CPU_PPC=yes
165               AC_DEFINE(HAVE_CPU_PPC, 1, [Define if the target CPU is a PPC]) ;;
166   xalpha)     HAVE_CPU_ALPHA=yes
167               AC_DEFINE(HAVE_CPU_ALPHA, 1, [Define if the target CPU is an Alpha]) ;;
168   xarm*)      HAVE_CPU_ARM=yes
169               AC_DEFINE(HAVE_CPU_ARM, 1, [Define if the target CPU is an ARM]) ;;
170   xsparc*)    HAVE_CPU_SPARC=yes
171               AC_DEFINE(HAVE_CPU_SPARC, 1, [Define if the target CPU is a PPC]) ;;
172   xmips*)     HAVE_CPU_MIPS=yes
173               AC_DEFINE(HAVE_CPU_MIPS, 1, [Define if the target CPU is a MIPS]) ;;
174   xhppa*)     HAVE_CPU_HPPA=yes
175               AC_DEFINE(HAVE_CPU_HPPA, 1, [Define if the target CPU is a HPPA]) ;;
176 esac
177
178 dnl Determine endianness
179 AC_C_BIGENDIAN
180
181 dnl Check for MMX-capable compiler
182 AC_MSG_CHECKING(for MMX-capable compiler)
183 AC_TRY_RUN([
184 #include "include/mmx.h"
185
186 main()
187 { movq_r2r(mm0, mm1); return 0; }
188 ],
189 [
190 HAVE_LIBMMX="yes"
191 AC_MSG_RESULT(yes)
192 ],
193 HAVE_LIBMMX="no"
194 AC_MSG_RESULT(no)
195 ,
196 HAVE_LIBMMX="no"
197 AC_MSG_RESULT(no)
198 )
199
200 dnl
201 dnl We should really use AC_SYS_LARGEFILE, but the problem is
202 dnl many of the plugins don't include "config.h".  To assure
203 dnl binary compatibility, it is necessary that all gstreamer
204 dnl code be compiled with the same sizeof(off_t), so we use
205 dnl the following crude hack.
206 dnl
207
208 dnl
209 dnl GST_CFLAGS are split up as GST_EXT_CFLAGS and GST_INT_CFLAGS
210 dnl same for libs
211 dnl this is so we can make GST_CFLAGS for external modules available
212 dnl without mixing in internal (uninstalled) CFLAGS
213 dnl
214
215 AC_MSG_CHECKING(for large file support)
216 AC_TRY_RUN([
217 #define _LARGEFILE_SOURCE
218 #define _FILE_OFFSET_BITS 64
219 #include <sys/types.h>
220 int main () { return !(sizeof(off_t) == 8); }
221 ],
222 [
223 AC_MSG_RESULT(yes)
224 GST_EXT_CFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
225 ],
226 [
227 AC_MSG_RESULT(no)
228 ],
229 [
230 AC_MSG_RESULT(no)
231 ])
232
233 dnl Check for essential libraries first:
234 dnl ====================================
235
236 dnl Check for glib2
237 translit(dnm, m, l) AM_CONDITIONAL(USE_GLIB2, true)
238 GST_CHECK_FEATURE(GLIB2, [use of glib-2.0 and GObject], , [
239   PKG_CHECK_MODULES(GLIB2, glib-2.0 gobject-2.0 gthread-2.0 gmodule-2.0,
240     HAVE_GLIB2=yes,HAVE_GLIB2=no)
241   GLIB_LIBS=$GLIB2_LIBS
242   GLIB_CFLAGS=$GLIB2_CFLAGS
243   AC_SUBST(GLIB_LIBS)
244   AC_SUBST(GLIB_CFLAGS)
245   # if we've gotten this far, the user has specifically asked that glib2 be
246   # used. if we have no glib2, that is an error.
247   if test "x$HAVE_GLIB2" = "xno"; then
248     AC_MSG_ERROR([no glib2 found, try --disable-glib2])
249   fi
250 ], enabled, [
251   AC_DEFINE(USE_GLIB2)
252   GST_EXT_CFLAGS="$GST_EXT_CFLAGS -DUSE_GLIB2"
253 ])
254 AC_SUBST(USE_GLIB2)
255
256 if test x$USE_GLIB2 = xno; then
257   GST_PKG_DEPS="glib >= 1.2.0, gtk+ >= 1.2.0"
258   
259   dnl Check for glib and gtk
260   AM_PATH_GLIB(1.2.0,,
261               AC_MSG_ERROR(Cannot find glib: Is glib-config in path?),
262               glib gmodule gthread)
263   AM_PATH_GTK(1.2.0,,
264               AC_MSG_ERROR(Cannot find gtk: Is gtk-config in path?))
265   HAVE_GTK=yes
266
267   GLIB_LIBS="$GLIB_LIBS $GTK_LIBS"
268   GLIB_CFLAGS="$GLIB_CFLAGS $GTK_CFLAGS"
269 else
270   GST_PKG_DEPS="glib-2.0, gobject-2.0, gmodule-2.0, gthread-2.0"
271   
272   if $HAVE_GTK_DOC; then  
273     AC_CHECK_PROG(HAVE_GTK_DOC, gtkdoc-scangobj, true, false)
274     if $HAVE_GTK_DOC; then
275       # don't you love undocumented command line options?
276       GTK_DOC_SCANOBJ="gtkdoc-scangobj --nogtkinit"
277     else
278       GTK_DOC_SCANOBJ=false
279     fi
280   fi
281 fi
282
283 AC_SUBST(GST_PKG_DEPS)
284
285 dnl Check for libxml
286 if test x$USE_GLIB2 = xno; then
287   LIBXML_PKG=', libxml >= 1.8.1'
288   AC_PATH_PROG(XML_CONFIG, xml-config, no)
289   if test x$XML_CONFIG = xno; then
290     AC_MSG_ERROR(Couldn't find xml-config -- Need version 1.8.1 or better of libxml)
291   fi
292   XML_LIBS="`xml-config --libs`"
293   XML_CFLAGS="`xml-config --cflags`"
294   AC_CHECK_LIB(xml, xmlDocGetRootElement, :,
295     [ AC_MSG_ERROR(Need version 1.8.1 or better of libxml) ],
296     $XML_LIBS)
297 else
298   LIBXML_PKG=', libxml-2.0'
299   PKG_CHECK_MODULES(XML, libxml-2.0, HAVE_LIBXML2=yes, HAVE_LIBXML2=no)
300   if test "x$HAVE_LIBXML2" = "xyes"; then
301     AC_DEFINE(HAVE_LIBXML2)
302   else
303     AC_ERROR(Need libxml2 for glib2 builds)
304   fi
305 fi
306 AC_SUBST(LIBXML_PKG)
307 AC_SUBST(XML_LIBS)
308 AC_SUBST(XML_CFLAGS)
309
310 dnl Check for atomic.h
311 dnl Note: use AC_CHECK_HEADER not AC_CHECK_HEADERS, because the latter
312 dnl defines the wrong default symbol as well (HAVE_ASM_ATOMIC_H)
313 AC_CHECK_HEADER(asm/atomic.h, HAVE_ATOMIC_H=yes, HAVE_ATOMIC_H=no)
314 dnl Do a compile to check that it has atomic_set (eg, linux 2.0 didn't)
315 if test x$HAVE_ATOMIC_H = xyes; then
316   AC_TRY_RUN([
317 #include "asm/atomic.h"
318 main() { atomic_t t; atomic_set(&t,0); atomic_inc(&t); atomic_add(1,&t);return 0;}
319   ],, [
320     # Not successful
321     if test x$HAVE_ATOMIC_H = xyes; then
322       AC_MSG_WARN(Atomic reference counting is out of date: doing without.)
323     fi
324     HAVE_ATOMIC_H=no
325   ], [
326     # Cross compiling
327     AC_MSG_RESULT(yes)
328     AC_MSG_WARN(Can't check properly for atomic reference counting.  Assuming OK.)
329   ])
330 fi
331
332 dnl ==========================================================================
333 dnl ============================= gst plugins ================================
334 dnl ==========================================================================
335 GST_PLUGIN_LDFLAGS='-module -avoid-version'
336 AC_SUBST(GST_PLUGIN_LDFLAGS)
337
338 dnl ######################################################################
339 dnl # Check command line parameters, and set shell variables accordingly #
340 dnl ######################################################################
341
342 dnl FIXME: simplify all this down using a few m4 macros
343
344 AC_ARG_ENABLE(libmmx,
345 AC_HELP_STRING([--enable-libmmx][use libmmx, if available]),
346 [case "${enableval}" in
347   yes) USE_LIBMMX=$HAVE_LIBMMX ;;
348   no)  USE_LIBMMX=no ;;
349   *) AC_MSG_ERROR(bad value ${enableval} for --enable-libmmx) ;;
350 esac], 
351 [USE_LIBMMX=$HAVE_LIBMMX]) dnl Default value
352
353 AC_ARG_ENABLE(atomic,
354 AC_HELP_STRING([--enable-atomic][use atomic reference counting header]),
355 [case "${enableval}" in
356   yes) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
357   noset) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
358   no)  USE_ATOMIC_H=no;;
359   *) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
360 esac], 
361 [USE_ATOMIC_H=$HAVE_ATOMIC_H]) dnl Default value
362
363 AC_ARG_ENABLE(plugin-builddir,
364 AC_HELP_STRING([--enable-plugin-builddir][allow tests/demos to use non-installed plugins]),
365 [case "${enableval}" in
366   yes) PLUGINS_USE_BUILDDIR=yes ;;
367   no)  PLUGINS_USE_BUILDDIR=no ;;
368   *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-builddir) ;;
369 esac], 
370 [PLUGINS_USE_BUILDDIR=no]) dnl Default value
371
372 AC_ARG_ENABLE(debug,
373 AC_HELP_STRING([--disable-debug][disable addition of -g debugging info]),
374 [case "${enableval}" in
375   yes) USE_DEBUG=yes ;;
376   no)  USE_DEBUG=no ;;
377   *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
378 esac], 
379 [USE_DEBUG=yes]) dnl Default value
380
381 AC_ARG_ENABLE(DEBUG,
382 AC_HELP_STRING([--disable-DEBUG][disables compilation of debugging messages]),
383 [case "${enableval}" in
384   yes) ENABLE_DEBUG=yes ;;
385   no)  ENABLE_DEBUG=no ;;
386   *) AC_MSG_ERROR(bad value ${enableval} for --enable-DEBUG) ;;
387 esac], 
388 [ENABLE_DEBUG=yes]) dnl Default value
389 if test x$ENABLE_DEBUG = xyes; then
390   AC_DEFINE(GST_DEBUG_ENABLED, 1, [Define if DEBUG statements should be compiled in])
391 fi
392
393 AC_ARG_ENABLE(INFO,
394 AC_HELP_STRING([--disable-INFO][disables compilation of informational messages]),
395 [case "${enableval}" in
396   yes) ENABLE_INFO=yes ;;
397   no)  ENABLE_INFO=no ;;
398   *) AC_MSG_ERROR(bad value ${enableval} for --enable-INFO) ;;
399 esac], 
400 [ENABLE_INFO=yes]) dnl Default value
401 if test x$ENABLE_INFO = xyes; then
402   AC_DEFINE(GST_INFO_ENABLED, 1, [Define if INFO statements should be compiled in])
403 fi
404
405 AC_ARG_ENABLE(debug-color,
406 AC_HELP_STRING([--disable-debug-color][disables color output of DEBUG and INFO output]),
407 [case "${enableval}" in
408   yes) ENABLE_DEBUG_COLOR=yes ;;
409   no)  ENABLE_DEBUG_COLOR=no ;;
410   *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug-color) ;;
411 esac], 
412 [ENABLE_DEBUG_COLOR=yes]) dnl Default value
413 if test "x$ENABLE_DEBUG_COLOR" = xyes; then
414   AC_DEFINE(GST_DEBUG_COLOR, 1, [Define if debugging messages should be colorized])
415 fi
416
417 AC_ARG_ENABLE(profiling,
418 AC_HELP_STRING([--enable-profiling][adds -pg to compiler commandline, for profiling]),
419 [case "${enableval}" in
420   yes) USE_PROFILING=yes ;;
421   no)  UES_PROFILING=no ;;
422   *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
423 esac], 
424 [USE_PROFILING=no]) dnl Default value
425
426 dnl default to building registry in the source tree if we are enabling plugin build dir
427 if test "x$PLUGINS_USE_BUILDDIR" = "xyes"; then
428   GST_CONFIG_DIR=`pwd`
429 else
430   GST_CONFIG_DIR=/etc/gstreamer
431 fi
432 AC_ARG_WITH(configdir,
433 AC_HELP_STRING([--with-configdir][specify path to use for plugin and command completion registries]),
434 [case "${withval}" in
435   yes) AC_MSG_ERROR(bad value ${withval} for --with-configdir) ;;
436   no) AC_MSG_ERROR(bad value ${withval} for --with-configdir) ;;
437   *) GST_CONFIG_DIR="${withval}" ;;
438 esac], 
439 [:]) dnl Default value
440
441 AC_ARG_ENABLE(docs-build,
442 AC_HELP_STRING([--enable-docs-build][enable building of documentation]),
443 [case "${enableval}" in
444   yes) if $HAVE_GTK_DOC; then BUILD_DOCS=yes; else AC_MSG_ERROR([you don't have gtk-doc, so don't use --docs-build]); fi; ;;
445   no)  BUILD_DOCS=no ;;
446   *) AC_MSG_ERROR(bad value ${enableval} for --enable-docs-build) ;;
447 esac], 
448 [BUILD_DOCS=no]) dnl Default value
449
450 dnl AC_ARG_ENABLE(plugin-docs,
451 dnl [  --enable-plugin-docs         enable the building of plugin documentation
452 dnl                                (this is currently broken, so off by default)],
453 dnl [case "${enableval}" in
454 dnl   yes) BUILD_PLUGIN_DOCS=yes ;;
455 dnl   no)  BUILD_PLUGIN_DOCS=no ;;
456 dnl   *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-docs) ;;
457 dnl esac], 
458 dnl [BUILD_PLUGIN_DOCS=no]) dnl Default value
459 BUILD_PLUGIN_DOCS=no
460
461 AC_ARG_ENABLE(tests,
462 AC_HELP_STRING([--disable-tests][disable building test apps]),
463 [case "${enableval}" in
464   yes) BUILD_TESTS=yes ;;
465   no)  BUILD_TESTS=no ;;
466   *) AC_MSG_ERROR(bad value ${enableval} for --disable-tests) ;;
467 esac], 
468 [BUILD_TESTS=yes]) dnl Default value
469
470 AC_ARG_ENABLE(examples,
471 AC_HELP_STRING([--disable-examples][disable building examples]),
472 [case "${enableval}" in
473   yes) BUILD_EXAMPLES=yes ;;
474   no)  BUILD_EXAMPLES=no ;;
475   *) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;;
476 esac], 
477 [BUILD_EXAMPLES=yes]) dnl Default value
478
479 dnl Next, check for the optional components:
480 dnl ========================================
481
482 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_LOADSAVE, true)
483 GST_SUBSYSTEM_DISABLE(LOADSAVE,[pipeline XML load/save])
484 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_TYPEFIND, true)
485 GST_SUBSYSTEM_DISABLE(TYPEFIND,[typefind plugin],)
486 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_AUTOPLUG, true)
487 GST_SUBSYSTEM_DISABLE(AUTOPLUG,[autoplugger subsystem])
488 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_PARSE, true)
489 GST_SUBSYSTEM_DISABLE(PARSE,[command-line parser])
490 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_TRACE, true)
491 GST_SUBSYSTEM_DISABLE(TRACE,[tracing subsystem])
492 translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_REGISTRY, true)
493 GST_SUBSYSTEM_DISABLE(REGISTRY,[plugin registry])
494
495 GST_EXT_CFLAGS="$GST_EXT_CFLAGS $GST_SUBSYSTEM_DISABLE_DEFINES"
496
497 dnl ################################################
498 dnl # Set defines according to variables set above #
499 dnl ################################################
500
501
502 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
503 dnl HAVE_ and it is likely to be easier to stick with the old name
504 if test "x$USE_LIBMMX" = xyes; then
505   AC_DEFINE(HAVE_LIBMMX, 1, [Define if libmmx is available])
506 fi
507
508 if test "x$USE_ATOMIC_H" = xyes; then
509   AC_DEFINE(HAVE_ATOMIC_H, 1, [Define if atomic.h header file is available])
510 fi
511
512 if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
513   AC_DEFINE(PLUGINS_USE_BUILDDIR, 1, [Define if plugins should be loaded from the build tree - only developers should use this])
514 fi
515
516 dnl if test "x$USE_DEBUG" = xyes; then
517 dnl   CFLAGS="$CFLAGS -g"
518 dnl fi
519
520 if test "x$USE_PROFILING" = xyes; then
521 dnl  CFLAGS="$CFLAGS -pg -fprofile-arcs"
522   FOMIT_FRAME_POINTER=""
523 else
524   FOMIT_FRAME_POINTER="-fomit-frame-pointer"
525 fi
526
527 dnl
528 dnl AC_SUBST(FOMIT_FRAME_POINTER)
529 dnl
530
531 dnl #############################
532 dnl # Set automake conditionals #
533 dnl #############################
534
535 dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
536 dnl HAVE_ and it is likely to be easier to stick with the old name
537 AM_CONDITIONAL(HAVE_CPU_I386,       test "x$HAVE_CPU_I386" = "xyes")
538 AM_CONDITIONAL(HAVE_CPU_PPC,        test "x$HAVE_CPU_PPC" = "xyes")
539 AM_CONDITIONAL(HAVE_CPU_ALPHA,      test "x$HAVE_CPU_ALPHA" = "xyes")
540 AM_CONDITIONAL(HAVE_CPU_ARM,        test "x$HAVE_CPU_ARM" = "xyes")
541 AM_CONDITIONAL(HAVE_CPU_SPARC,      test "x$HAVE_CPU_SPARC" = "xyes")
542 AM_CONDITIONAL(HAVE_LIBMMX,         test "x$USE_LIBMMX" = "xyes")
543
544 AM_CONDITIONAL(HAVE_ATOMIC_H,       test "x$USE_ATOMIC_H" = "xyes")
545
546 AM_CONDITIONAL(EXPERIMENTAL,        test "$EXPERIMENTAL" = "$xyes")
547 AM_CONDITIONAL(BROKEN,              test "$BROKEN" = "$xyes")
548
549 AM_CONDITIONAL(HAVE_NASM,           test "x$HAVE_NASM" = "xyes")
550 AM_CONDITIONAL(HAVE_GTK_DOC,        $HAVE_GTK_DOC)
551 AM_CONDITIONAL(BUILD_DOCS,          test "x$BUILD_DOCS" = "xyes")
552 AM_CONDITIONAL(BUILD_TESTS,         test "x$BUILD_TESTS" = "xyes")
553 AM_CONDITIONAL(BUILD_EXAMPLES,      test "x$BUILD_EXAMPLES" = "xyes")
554 AM_CONDITIONAL(BUILD_PLUGIN_DOCS,   test "x$BUILD_PLUGIN_DOCS" = "xyes")
555 AM_CONDITIONAL(HAVE_PDFXMLTEX,      $HAVE_PDFXMLTEX)
556 AM_CONDITIONAL(HAVE_PDFTOPS,        $HAVE_PDFTOPS)
557 AM_CONDITIONAL(HAVE_XSLTPROC,       $HAVE_XSLTPROC)
558 AM_CONDITIONAL(HAVE_FIG2DEV_PNG,    $HAVE_FIG2DEV_PNG)
559 AM_CONDITIONAL(HAVE_FIG2DEV_PDF,    $HAVE_FIG2DEV_PDF)
560 AM_CONDITIONAL(PLUGINS_USE_BUILDDIR,  test "x$PLUGINS_USE_BUILDDIR" = "xyes")
561
562
563 dnl ############################
564 dnl # Set up some more defines #
565 dnl ############################
566
567 dnl Set location of configuration dir.
568 AC_DEFINE_UNQUOTED(GST_CONFIG_DIR,"$GST_CONFIG_DIR")
569 AC_SUBST(GST_CONFIG_DIR)
570
571 dnl Set location of plugin directory
572 if test "x${prefix}" = "xNONE"; then
573   PLUGINS_DIR=${ac_default_prefix}/lib/gst
574 else
575   PLUGINS_DIR=${prefix}/lib/gst
576 fi
577 AC_DEFINE_UNQUOTED(PLUGINS_DIR,"$PLUGINS_DIR")
578 AC_SUBST(PLUGINS_DIR)
579
580 dnl Set location of uninstalled plugin directory
581 PLUGINS_BUILDDIR=`pwd`
582 AC_DEFINE_UNQUOTED(PLUGINS_BUILDDIR,"$PLUGINS_BUILDDIR")
583 AC_SUBST(PLUGINS_BUILDDIR)
584
585 dnl finalize _CFLAGS and _LIBS
586 dnl add GLIB and XML if necessary to EXT_*
587 GST_EXT_CFLAGS="$GST_EXT_CFLAGS $XML_CFLAGS $GLIB_CFLAGS"
588 GST_EXT_LIBS="$GST_EXT_LIBS $XML_LIBS $GLIB_LIBS"
589
590 dnl for pkg-config
591 GST_PKG_CFLAGS=$GST_EXT_CFLAGS
592 GST_PKG_LIBS=$GST_EXT_LIBS
593 AC_SUBST(GST_PKG_CFLAGS)
594 AC_SUBST(GST_PKG_LIBS)
595
596 dnl Private vars for libgst only
597 LIBGST_LIBS="$GST_EXT_LIBS"
598 LIBGST_CFLAGS="$GST_EXT_CFLAGS -I\$(top_srcdir)"
599 AC_SUBST(LIBGST_LIBS)
600 AC_SUBST(LIBGST_CFLAGS)
601
602 dnl Vars for everyone else
603 GST_INT_LIBS="\$(top_builddir)/gst/libgst.la"
604 GST_INT_CFLAGS="-I\$(top_srcdir)/libs -I\$(top_srcdir)/include -I\$(top_srcdir) -Wall"
605
606 AC_SUBST(GST_CFLAGS, "$GST_EXT_CFLAGS $GST_INT_CFLAGS")
607 AC_SUBST(GST_LIBS, "$GST_EXT_LIBS $GST_INT_LIBS")
608
609 AC_CONFIG_SUBDIRS(gst/cothreads)
610
611 dnl ##################################################
612 dnl # Prepare informative messages to display at end #
613 dnl ##################################################
614
615 infomessages=
616
617 if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
618   infomessages="$infomessages
619 *** Warning: You have configured using the --enable-plugin-builddir option.
620
621 This option is for development purposes only: binaries built with
622 it should be used with code in the build tree only.  To build an
623 installable version, use ./configure without the --enable-plugin-builddir
624 option.  Note that the autogen.sh script supplies the plugin builddir
625 option automatically -- run ./autogen.sh --disable-plugin-buildddir to make
626 an installable build.
627
628 "
629 fi
630
631 dnl #########################
632 dnl # Make the output files #
633 dnl #########################
634
635 AC_OUTPUT(
636 Makefile
637 include/Makefile
638 m4/Makefile
639 gst/Makefile
640 gst/gstversion.h
641 gst/types/Makefile
642 gst/elements/Makefile
643 gst/autoplug/Makefile
644 gst/schedulers/Makefile
645 libs/Makefile
646 libs/gst/Makefile
647 libs/gst/bytestream/Makefile
648 libs/gst/getbits/Makefile
649 libs/gst/putbits/Makefile
650 libs/gst/control/Makefile
651 tests/Makefile
652 tests/bufspeed/Makefile
653 tests/memchunk/Makefile
654 tests/muxing/Makefile
655 tests/sched/Makefile
656 testsuite/Makefile
657 testsuite/bytestream/Makefile
658 testsuite/caps/Makefile
659 testsuite/cleanup/Makefile
660 testsuite/plugin/Makefile
661 examples/Makefile
662 examples/autoplug/Makefile
663 examples/helloworld/Makefile
664 examples/helloworld2/Makefile
665 examples/launch/Makefile
666 examples/queue/Makefile
667 examples/queue2/Makefile
668 examples/queue3/Makefile
669 examples/queue4/Makefile
670 examples/thread/Makefile
671 examples/mixer/Makefile
672 examples/cutter/Makefile
673 examples/launch/Makefile
674 examples/xml/Makefile
675 examples/plugins/Makefile
676 examples/typefind/Makefile
677 examples/mixer/Makefile
678 tools/Makefile
679 docs/Makefile
680 docs/gst/Makefile
681 docs/gst/gstreamer.types
682 docs/libs/Makefile
683 docs/plugins/Makefile
684 docs/plugins/gstreamer-plugins.types
685 docs/manual/Makefile
686 docs/fwg/Makefile
687 docs/xsl/Makefile
688 stamp.h
689 gstreamer.pc
690 gstreamer-uninstalled.pc
691 gstreamer.spec,
692 echo "$infomessages", infomessages="$infomessages"
693 )