configure.ac 20.9 KB
Newer Older
1 2
AC_INIT
AC_CANONICAL_TARGET([])
3

4
dnl when going to/from release please set the nano (fourth number) right !
5
dnl releases only do Wall, cvs and prerelease does Werror too
Benjamin Otte's avatar
Benjamin Otte committed
6
AS_VERSION(gstreamer, GST_VERSION, 0, 7, 2, 1, GST_CVS="no", GST_CVS="yes")
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
7

8 9 10 11
if test x$program_suffix = xNONE ; then
  program_suffix=-$GST_VERSION_MAJOR.$GST_VERSION_MINOR
fi

12 13
dnl AM_MAINTAINER_MODE only provides the option to configure to enable it
AM_MAINTAINER_MODE
14
AM_INIT_AUTOMAKE($PACKAGE,$VERSION)
15 16 17 18 19

dnl our libraries and install dirs use major.minor as a version
GST_MAJORMINOR=$GST_VERSION_MAJOR.$GST_VERSION_MINOR
AC_SUBST(GST_MAJORMINOR)

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
20 21 22 23
AC_PROG_CC
dnl For interactive UNIX (a Sun thing)
AC_ISC_POSIX

24 25 26 27 28
dnl CURRENT, REVISION, AGE
dnl - library source changed -> increment REVISION
dnl - interfaces added/removed/changed -> increment CURRENT, REVISION = 0
dnl - interfaces added -> increment AGE
dnl - interfaces removed -> AGE = 0
29
AS_LIBTOOL(GST, 3, 0, 0)
30

31 32
AC_CONFIG_SRCDIR([gst/gst.c])
AM_CONFIG_HEADER(config.h)
33 34 35

dnl Add parameters for aclocal
dnl (This must come after AM_INIT_AUTOMAKE, since it modifies ACLOCAL)
Thomas Vander Stichele's avatar
faq it  
Thomas Vander Stichele committed
36
ACLOCAL="$ACLOCAL -I common/m4 $ACLOCAL_FLAGS"
37

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
38
AM_PROG_CC_STDC
39
AM_PROG_AS
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
40
AS="${CC}"
41

42 43
dnl AC_PROC_INTLTOOL([0.26])
dnl AM_GNU_GETTEXT([external])
David Schleef's avatar
David Schleef committed
44
ALL_LINGUAS="de es no nl"
45 46 47 48 49 50 51
GETTEXT_PACKAGE=gstreamer-$GST_VERSION_MAJOR.$GST_VERSION_MINOR
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],"$GETTEXT_PACKAGE",[gettext package name])
AM_GLIB_GNU_GETTEXT

AM_GLIB_DEFINE_LOCALEDIR(GST_LOCALEDIR)

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
52
dnl decide on error flags
53
AS_COMPILER_FLAG(-Wall,GST_ERROR="$GST_ERROR -Wall",GST_ERROR="$GST_ERROR")
54
if test "x$GST_CVS" = "xyes"; then
55
  AS_COMPILER_FLAG(-Werror,GST_ERROR="$GST_ERROR -Werror",GST_ERROR="$GST_ERROR")
56
  GST_ERROR="$GST_ERROR"
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
57 58
fi

59 60
dnl We disable static building for development, for time savings
dnl *NOTE*: dnl this line before release, so release does static too
61
dnl AM_DISABLE_STATIC
62

63
AC_HEADER_STDC([])
64

65 66 67 68 69
dnl define correct errorlevel for debugging messages. We want to have GST_ERROR
dnl messages printed when running cvs builds
if test "x$GST_CVS" = "xyes"; then
  AC_DEFINE(GST_LEVEL_DEFAULT, GST_LEVEL_ERROR, [Default errorlevel to use])
fi
70

71 72 73 74 75 76 77
dnl ##############################
dnl # Do automated configuration #
dnl ##############################

dnl Check for tools:
dnl ================

78 79 80
dnl allow for different autotools
AS_AUTOTOOLS_ALTERNATE()

81 82
dnl modify pkg-config path
AC_ARG_WITH(pkg-config-path, 
83 84
   AC_HELP_STRING([--with-pkg-config-path],
                  [colon-separated list of pkg-config(1) dirs]),
85 86
   [export PKG_CONFIG_PATH=${withval}])

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
87 88
GST_DOC()
GST_ARCH()
89

90 91 92 93 94 95
dnl Perl is used in building documentation
AC_PATH_PROG(PERL_PATH, perl, no)
if test x$PERL_PATH = xno; then
  AC_MSG_ERROR(Could not find perl)
fi

96
dnl we require bison for building of some of the marshal files
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
97
dnl FIXME: check if AC_PROG_YACC is suitable here
98 99 100 101 102
AC_PATH_PROG(BISON_PATH, bison, no)
if test x$BISON_PATH = xno; then
  AC_MSG_ERROR(Could not find bison)
fi

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
103
dnl we require flex for building the parser
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
104
dnl FIXME: check if AC_PROG_LEX is suitable here
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
105 106 107 108 109
AC_PATH_PROG(FLEX_PATH, flex, no)
if test x$FLEX_PATH = xno; then
  AC_MSG_ERROR(Could not find flex)
fi

Joshua N. Pritikin's avatar
Joshua N. Pritikin committed
110 111 112 113 114 115 116
dnl
dnl We should really use AC_SYS_LARGEFILE, but the problem is
dnl many of the plugins don't include "config.h".  To assure
dnl binary compatibility, it is necessary that all gstreamer
dnl code be compiled with the same sizeof(off_t), so we use
dnl the following crude hack.
dnl
117

118 119 120 121 122 123 124
dnl
dnl GST_CFLAGS are split up as GST_EXT_CFLAGS and GST_INT_CFLAGS
dnl same for libs
dnl this is so we can make GST_CFLAGS for external modules available
dnl without mixing in internal (uninstalled) CFLAGS
dnl

125 126 127
dnl disable deprecated functions internally
GST_INT_CFLAGS="-DGST_DISABLE_DEPRECATED"

128 129 130 131 132 133 134 135 136
AC_MSG_CHECKING(for large file support)
AC_TRY_RUN([
#define _LARGEFILE_SOURCE
#define _FILE_OFFSET_BITS 64
#include <sys/types.h>
int main () { return !(sizeof(off_t) == 8); }
],
[
AC_MSG_RESULT(yes)
137
GST_EXT_CFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
138 139 140 141 142 143 144 145
],
[
AC_MSG_RESULT(no)
],
[
AC_MSG_RESULT(no)
])

146
dnl check for makecontext and define HAVE_MAKECONTEXT if we have it
David Schleef's avatar
David Schleef committed
147 148 149 150 151
AC_CHECK_MCSC()
if test "$ac_cv_check_mcsc" == "yes"; then
  AC_DEFINE_UNQUOTED(HAVE_MAKECONTEXT, $HAVE_MAKECONTEXT,
                     [defined if we have makecontext ()])
fi
152 153 154 155

dnl Check for a way to display the function name in debug output
GST_CHECK_FUNCTION()

156 157 158 159 160 161 162 163 164
dnl check if we should use -Wa,-mregnames on PowerPC, so we can use
dnl symbolic register names in inline asm
if test x$HAVE_CPU_PPC = xyes ; then
  AS_COMPILER_FLAG(["-Wa,-mregnames"],
    [GST_INT_CFLAGS="$GST_INT_CFLAGS -Wa,-mregnames"],
    true)
fi


165 166 167
dnl Check for essential libraries first:
dnl ====================================

168 169
dnl === GLib 2 ===
dnl Minimum required version of GLib2
170
dnl required for compilation without warnings
171
GLIB2_REQ="2.2"
172 173
AC_SUBST(GLIB2_REQ)

174
dnl Check for glib2
Thomas Vander Stichele's avatar
fixes  
Thomas Vander Stichele committed
175
PKG_CHECK_MODULES(GLIB2, glib-2.0 >= $GLIB2_REQ gobject-2.0 gthread-2.0 gmodule-2.0,HAVE_GLIB2=yes,HAVE_GLIB2=no)
176 177 178 179 180 181 182
GLIB_LIBS=$GLIB2_LIBS
GLIB_CFLAGS=$GLIB2_CFLAGS
AC_SUBST(GLIB_LIBS)
AC_SUBST(GLIB_CFLAGS)

if test "x$HAVE_GLIB2" = "xno"; then
  AC_MSG_ERROR([GStreamer requires GLib 2.0 to compile.])
183
fi
184

185
GST_PKG_DEPS="glib-2.0, gobject-2.0, gmodule-2.0, gthread-2.0"
186
AC_SUBST(GST_PKG_DEPS)
187
  
188 189
dnl === libxml 2 ===
dnl Minimum required version of libxml2
190
LIBXML2_REQ="2.4.9"
191 192 193
AC_SUBST(LIBXML2_REQ)

dnl check for libxml2
194
GST_LIBXML2_CHECK()
195

196
dnl popt checks
197 198
dnl FIXME: This test passes on popt 1.6.2, maybe earlier, but popt 1.6.2
dnl        causes segfaults on gst_init. Write a working test if possible.
Andy Wingo Wingo's avatar
Andy Wingo Wingo committed
199
GST_CHECK_LIBHEADER(POPT, popt, poptStrippedArgv,, popt.h, POPT_LIBS="-lpopt",
200
  AC_MSG_ERROR([popt 1.6.3 or newer is required to build gstreamer. You can
201
                download the latest version from 
202
                ftp://ftp.rpm.org/pub/rpm/dist/])
203 204
)
AC_MSG_NOTICE(Checking for POPT_TABLEEND)
David Schleef's avatar
David Schleef committed
205
AC_COMPILE_IFELSE([
206 207 208 209
#include <popt.h>
int main ()
{
#ifndef POPT_TABLEEND
David Schleef's avatar
David Schleef committed
210
#error
211 212 213 214 215 216
#else
  return 0;
#endif
}
],, [
  dnl it failed
217
  AC_MSG_ERROR([popt 1.6.3 or newer is required to build gstreamer. You can
218
                download the latest version from 
219
                ftp://ftp.rpm.org/pub/rpm/dist/])
220
])
221

222 223 224 225 226 227
dnl Check for atomic.h
dnl Note: use AC_CHECK_HEADER not AC_CHECK_HEADERS, because the latter
dnl defines the wrong default symbol as well (HAVE_ASM_ATOMIC_H)
AC_CHECK_HEADER(asm/atomic.h, HAVE_ATOMIC_H=yes, HAVE_ATOMIC_H=no)
dnl Do a compile to check that it has atomic_set (eg, linux 2.0 didn't)
if test x$HAVE_ATOMIC_H = xyes; then
David Schleef's avatar
David Schleef committed
228
  AC_LINK_IFELSE([
229
#include "asm/atomic.h"
David Schleef's avatar
David Schleef committed
230
main() {atomic_t t; atomic_set(&t,0); atomic_inc(&t); atomic_add(1,&t);return 0;}
231 232 233 234 235 236 237 238 239
  ],, [
    # Not successful
    if test x$HAVE_ATOMIC_H = xyes; then
      AC_MSG_WARN(Atomic reference counting is out of date: doing without.)
    fi
    HAVE_ATOMIC_H=no
  ])
fi

240 241 242
dnl Check for ucontext.h
AC_CHECK_HEADER(ucontext.h, AC_DEFINE(HAVE_UCONTEXT_H, 1, [defined if we have ucontext.h]))

243 244 245 246
dnl ######################################################################
dnl # Check command line parameters, and set shell variables accordingly #
dnl ######################################################################

247 248
dnl FIXME: simplify all this down using a few m4 macros

249
AC_ARG_ENABLE(libmmx,
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
250
AC_HELP_STRING([--enable-libmmx],[use libmmx, if available]),
251 252 253 254 255 256 257 258
[case "${enableval}" in
  yes) USE_LIBMMX=$HAVE_LIBMMX ;;
  no)  USE_LIBMMX=no ;;
  *) AC_MSG_ERROR(bad value ${enableval} for --enable-libmmx) ;;
esac], 
[USE_LIBMMX=$HAVE_LIBMMX]) dnl Default value

AC_ARG_ENABLE(atomic,
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
259
AC_HELP_STRING([--enable-atomic],[use atomic reference counting header]),
260 261 262 263 264 265 266 267
[case "${enableval}" in
  yes) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
  noset) USE_ATOMIC_H=$HAVE_ATOMIC_H;;
  no)  USE_ATOMIC_H=no;;
  *) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
esac], 
[USE_ATOMIC_H=$HAVE_ATOMIC_H]) dnl Default value

268 269 270 271 272 273 274 275 276 277
AC_ARG_ENABLE(fast-stack-trash,
AC_HELP_STRING([--enable-fast-stack-trash],[use fast memory allocator (i586 or above)]),
[case "${enableval}" in
  yes) USE_FAST_STACK_TRASH=yes;;
  noset) USE_FAST_STACK_TRASH=no;;
  no)  USE_FAST_STACK_TRASH=no;;
  *) AC_MSG_ERROR(bad value ${enableval} for --enable-atomic) ;;
esac], 
[USE_FAST_STACK_TRASH=yes]) dnl Default value

278
AC_ARG_ENABLE(plugin-builddir,
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
279
AC_HELP_STRING([--enable-plugin-builddir],[allow tests/demos to use non-installed plugins]),
280
[case "${enableval}" in
281 282 283
  yes) PLUGINS_USE_BUILDDIR=yes ;;
  no)  PLUGINS_USE_BUILDDIR=no ;;
  *) AC_MSG_ERROR(bad value ${enableval} for --enable-plugin-builddir) ;;
284
esac], 
285
[PLUGINS_USE_BUILDDIR=no]) dnl Default value
286 287

AC_ARG_ENABLE(profiling,
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
288
AC_HELP_STRING([--enable-profiling],[adds -pg to compiler commandline, for profiling]),
289 290 291 292 293 294 295
[case "${enableval}" in
  yes) USE_PROFILING=yes ;;
  no)  UES_PROFILING=no ;;
  *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
esac], 
[USE_PROFILING=no]) dnl Default value

Christian Schaller's avatar
Christian Schaller committed
296 297 298 299 300 301
dnl use a cache dir for storing element registry info.
dnl default to building registry in the source tree if we are enabling plugin build dir
if test "x$PLUGINS_USE_BUILDDIR" = "xyes"; then
  GST_CACHE_DIR=`pwd`
else
  dnl ${localstatedir} points to PREFIX/var
302
  GST_CACHE_DIR=${localstatedir}/cache/gstreamer-$GST_MAJORMINOR
Christian Schaller's avatar
Christian Schaller committed
303 304 305 306 307 308 309 310 311 312 313
fi
AC_ARG_WITH(cachedir,
AC_HELP_STRING([--with-cachedir],[specify path to use for plugin and command completion registries]),
[case "${withval}" in
  yes) AC_MSG_ERROR(bad value ${withval} for --with-cachedir) ;;
  no) AC_MSG_ERROR(bad value ${withval} for --with-cachedir) ;;
  *) GST_CACHE_DIR="${withval}" ;;
esac], 
[:]) dnl Default value

AS_AC_EXPAND(GST_CACHE_DIR, $GST_CACHE_DIR)
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
314
AC_DEFINE_UNQUOTED(GST_CACHE_DIR, "$GST_CACHE_DIR", [Location of registry])
Christian Schaller's avatar
Christian Schaller committed
315 316
AC_MSG_NOTICE(Using $GST_CACHE_DIR as registry cache dir)

317
dnl building of tests
318
AC_ARG_ENABLE(tests,
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
319
AC_HELP_STRING([--disable-tests],[disable building test apps]),
320
[case "${enableval}" in
321 322
  yes) BUILD_TESTS=yes ;;
  no)  BUILD_TESTS=no ;;
323 324 325
  *) AC_MSG_ERROR(bad value ${enableval} for --disable-tests) ;;
esac], 
[BUILD_TESTS=yes]) dnl Default value
326 327 328 329
AM_CONDITIONAL(BUILD_TESTS,         test "x$BUILD_TESTS" = "xyes")

dnl tests known to fail
AC_ARG_ENABLE(failing-tests,
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
330
AC_HELP_STRING([--disable-failing-tests],[disable building tests known to fail]),
331 332 333 334 335
[case "${enableval}" in
  yes) BUILD_FAILING_TESTS=yes ;;
  no)  BUILD_FAILING_TESTS=no ;;
  *) AC_MSG_ERROR(bad value ${enableval} for --disable-failing-tests) ;;
esac], 
336
[BUILD_FAILING_TESTS=no]) dnl Default value
337
AM_CONDITIONAL(BUILD_FAILING_TESTS, test "x$BUILD_FAILING_TESTS" = "xyes")
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
338 339
if test x$BUILD_FAILING_TESTS = xyes; then
  AC_MSG_WARN([building tests known to fail, use --disable-failing-tests to disable])
340 341
else
  AC_MSG_WARN([Sissy ! By asking to not build the tests known to fail, you hereby waive your right to customer support.  If you do not agree with this EULA, please press Ctrl-C before the next line is printed.  By allowing the next line to be printed, you expressly acknowledge your acceptance of this EULA.])
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
342
fi
343

344
AC_ARG_ENABLE(examples,
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
345
AC_HELP_STRING([--disable-examples],[disable building examples]),
346
[case "${enableval}" in
347 348
  yes) BUILD_EXAMPLES=yes ;;
  no)  BUILD_EXAMPLES=no ;;
349 350 351
  *) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;;
esac], 
[BUILD_EXAMPLES=yes]) dnl Default value
352
AM_CONDITIONAL(BUILD_EXAMPLES,      test "x$BUILD_EXAMPLES" = "xyes")
353

354 355 356 357 358 359 360 361 362 363
dnl poison destroyed objects
AC_ARG_ENABLE(poisoning,
AC_HELP_STRING([--enable-poisoning],[enable poisoning of deallocated objects]),
[case "${enableval}" in
  yes) USE_POISONING=yes ;;
  no)  USE_POISONING=no ;;
  *) AC_MSG_ERROR(bad value ${enableval} for --enable-poisoning) ;;
esac], 
[USE_POISONING=no]) dnl Default value

364 365
dnl Next, check for the optional components:
dnl ========================================
366

367 368 369 370 371 372 373 374 375 376 377 378
dnl debugging stuff
AC_ARG_ENABLE(debug,
AC_HELP_STRING([--disable-debug],[disable addition of -g debugging info]),
[case "${enableval}" in
  yes) USE_DEBUG=yes ;;
  no)  USE_DEBUG=no ;;
  *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
esac],
[USE_DEBUG=yes]) dnl Default value
translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_GST_DEBUG, true)
GST_SUBSYSTEM_DISABLE(GST_DEBUG,[debugging subsystem])

379
translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_LOADSAVE, true)
380
GST_SUBSYSTEM_DISABLE(LOADSAVE,[pipeline XML load/save])
381
translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_AUTOPLUG, true)
382
GST_SUBSYSTEM_DISABLE(AUTOPLUG,[autoplugger subsystem])
383
translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_PARSE, true)
384
GST_SUBSYSTEM_DISABLE(PARSE,[command-line parser])
385
translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_TRACE, true)
386
GST_SUBSYSTEM_DISABLE(TRACE,[tracing subsystem])
387 388 389
translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_ALLOC_TRACE, true)
GST_SUBSYSTEM_DISABLE(ALLOC_TRACE,[allocation tracing])

390
translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_REGISTRY, true)
391
GST_SUBSYSTEM_DISABLE(REGISTRY,[plugin registry])
Wim Taymans's avatar
Wim Taymans committed
392 393 394 395 396 397 398 399
translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_ENUMTYPES, true)
GST_SUBSYSTEM_DISABLE(ENUMTYPES,[enum types])
translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_INDEX, true)
GST_SUBSYSTEM_DISABLE(INDEX,[index])
translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_PLUGIN, true)
GST_SUBSYSTEM_DISABLE(PLUGIN,[plugin])
translit(dnm, m, l) AM_CONDITIONAL(GST_DISABLE_URI, true)
GST_SUBSYSTEM_DISABLE(URI,[uri handlers])
400

401 402 403 404 405 406 407 408
dnl ################################################
dnl # Set defines according to variables set above #
dnl ################################################


dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
dnl HAVE_ and it is likely to be easier to stick with the old name
if test "x$USE_LIBMMX" = xyes; then
409
  AC_DEFINE(HAVE_LIBMMX, 1, [Define if libmmx is available])
410 411 412
fi

if test "x$USE_ATOMIC_H" = xyes; then
413
  AC_DEFINE(HAVE_ATOMIC_H, 1, [Define if atomic.h header file is available])
414 415
fi

416 417 418 419
if test "x$USE_FAST_STACK_TRASH" = xyes; then
  AC_DEFINE(USE_FAST_STACK_TRASH, 1, [Define if we should use i586 optimized stack functions])
fi

420 421 422 423
if test "x$USE_POISONING" = xyes; then
  AC_DEFINE(USE_POISONING, 1, [Define if we should poison deallocated memory])
fi

424 425 426
dnl test if we have pthread_attr_setstack; if not use the older calls
AC_CHECK_LIB(pthread, pthread_attr_setstack, 
   AC_DEFINE(HAVE_PTHREAD_ATTR_SETSTACK, 1, 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
427 428 429 430 431 432
             [Defined if libpthread has pthread_attr_setstack ()]))

dnl test if we have posix_memalign; FreeBSD doesn't
AC_CHECK_FUNC(posix_memalign,
   AC_DEFINE(HAVE_POSIX_MEMALIGN, 1,
             [Defined if we have posix_memalign ()]))
433

434 435 436 437 438
dnl test for sigaction()
AC_CHECK_FUNC(sigaction,
   AC_DEFINE(HAVE_SIGACTION, 1,
             [Defined if we have sigaction ()]))

David Schleef's avatar
David Schleef committed
439 440 441 442 443 444 445 446
dnl test if we have dladdr(); we use it for debugging
save_cflags="$CFLAGS"
CFLAGS="$CFLAGS -D_GNU_SOURCE"
AC_CHECK_LIB(dl, dladdr,
   AC_DEFINE(HAVE_DLADDR, 1,
             [Defined if we have dladdr ()]))
CFLAGS="$save_cflags"

447 448
if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
  AC_DEFINE(PLUGINS_USE_BUILDDIR, 1, [Define if plugins should be loaded from the build tree - only developers should use this])
449 450
fi

451 452 453
if test "x$USE_DEBUG" = xyes; then
   GST_INT_CFLAGS="$GST_INT_CFLAGS -g"
fi
454 455 456 457 458 459 460 461

dnl #############################
dnl # Set automake conditionals #
dnl #############################

dnl These should be "USE_*" instead of "HAVE_*", but some packages expect
dnl HAVE_ and it is likely to be easier to stick with the old name
AM_CONDITIONAL(HAVE_ATOMIC_H,       test "x$USE_ATOMIC_H" = "xyes")
462 463 464 465

AM_CONDITIONAL(EXPERIMENTAL,        test "$EXPERIMENTAL" = "$xyes")
AM_CONDITIONAL(BROKEN,              test "$BROKEN" = "$xyes")

466
AM_CONDITIONAL(PLUGINS_USE_BUILDDIR,  test "x$PLUGINS_USE_BUILDDIR" = "xyes")
467 468 469 470 471 472


dnl ############################
dnl # Set up some more defines #
dnl ############################

473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497
dnl set license and copyright notice
AC_DEFINE(GST_LICENSE, "LGPL", [GStreamer license])
AC_DEFINE(GST_COPYRIGHT, "(c) 1999-2003 The GStreamer Team", [copyright message in plugins])
dnl package name in plugins
AC_ARG_WITH(package-name,
AC_HELP_STRING([--with-package-name],[specify package name to use in plugins]),
[case "${withval}" in
  yes) AC_MSG_ERROR(bad value ${withval} for --with-package-name) ;;
  no) AC_MSG_ERROR(bad value ${withval} for --with-package-name) ;;
  *) GST_PACKAGE="${withval}" ;;
esac], 
[GST_PACKAGE="Gstreamer"]) dnl Default value
AC_MSG_NOTICE(Using $GST_PACKAGE as package name)
AC_DEFINE_UNQUOTED(GST_PACKAGE, "$GST_PACKAGE", [package name in plugins])
dnl package origin URL
AC_ARG_WITH(package-origin,
AC_HELP_STRING([--with-package-origin],[specify package origin URL to use in plugins]),
[case "${withval}" in
  yes) AC_MSG_ERROR(bad value ${withval} for --with-package-origin) ;;
  no) AC_MSG_ERROR(bad value ${withval} for --with-package-origin) ;;
  *) GST_ORIGIN="${withval}" ;;
esac], 
[GST_ORIGIN="http://gstreamer.net"]) dnl Default value
AC_MSG_NOTICE(Using $GST_ORIGIN as package origin)
AC_DEFINE_UNQUOTED(GST_ORIGIN, "$GST_ORIGIN", [package origin])
Christian Schaller's avatar
Christian Schaller committed
498

499 500
dnl Set location of plugin directory
if test "x${prefix}" = "xNONE"; then
501
  PLUGINS_DIR=${ac_default_prefix}/lib/gstreamer-$GST_MAJORMINOR
502
else
503
  PLUGINS_DIR=${prefix}/lib/gstreamer-$GST_MAJORMINOR
504
fi
David I. Lehn's avatar
David I. Lehn committed
505
AC_DEFINE_UNQUOTED(PLUGINS_DIR, "$PLUGINS_DIR", [Define the plugin directory])
506 507 508
AC_SUBST(PLUGINS_DIR)

dnl Set location of uninstalled plugin directory
509
PLUGINS_BUILDDIR=`pwd`
David I. Lehn's avatar
David I. Lehn committed
510
AC_DEFINE_UNQUOTED(PLUGINS_BUILDDIR, "$PLUGINS_BUILDDIR", [Define the uninstalled plugin directory])
511
AC_SUBST(PLUGINS_BUILDDIR)
512

513 514
dnl since glib and xml are package deps, there's no need to include their cflags
dnl in the pkg-config file
515 516 517 518 519 520 521

dnl for pkg-config
GST_PKG_CFLAGS=$GST_EXT_CFLAGS
GST_PKG_LIBS=$GST_EXT_LIBS
AC_SUBST(GST_PKG_CFLAGS)
AC_SUBST(GST_PKG_LIBS)

522 523 524 525 526
dnl finalize _CFLAGS and _LIBS
dnl add GLIB and XML if necessary to EXT_*
GST_CFLAGS="$GST_EXT_CFLAGS $XML_CFLAGS $GLIB_CFLAGS"
GST_LIBS="$GST_EXT_LIBS $XML_LIBS $GLIB_LIBS -lpopt"

527
dnl Private vars for libgst only
528
LIBGST_LIBS="$GST_LIBS"
529
LIBGST_CFLAGS="$GST_CFLAGS -I\$(top_srcdir) $GST_ERROR"
530 531 532
AC_SUBST(LIBGST_LIBS)
AC_SUBST(LIBGST_CFLAGS)

533
dnl Vars for everyone else
534
GST_INT_LIBS="\$(top_builddir)/gst/libgstreamer-$GST_MAJORMINOR.la"
535
GST_INT_CFLAGS="$GST_INT_CFLAGS -I\$(top_srcdir)/libs -I\$(top_srcdir)/include"
536

537 538
AC_SUBST(GST_CFLAGS, "$LIBGST_CFLAGS $GST_INT_CFLAGS")
AC_SUBST(GST_LIBS, "$LIBGST_LIBS $GST_INT_LIBS")
539

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
540
GST_PLUGIN_LDFLAGS="-module -avoid-version"
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
541
AC_SUBST(GST_PLUGIN_LDFLAGS, "$GST_PLUGIN_LDFLAGS")
542

543

544 545 546 547 548 549 550 551 552 553
dnl ##################################################
dnl # deps for examples from manual                  #
dnl ##################################################

PKG_CHECK_MODULES(LIBGNOMEUI, libgnomeui-2.0,
                  HAVE_LIBGNOMEUI="yes", HAVE_LIBGNOMEUI="no")
AC_SUBST(LIBGNOMEUI_CFLAGS)
AC_SUBST(LIBGNOMEUI_LIBS)
AM_CONDITIONAL(HAVE_LIBGNOMEUI, test "x$HAVE_LIBGNOMEUI" = "xyes")

554 555 556 557 558 559
dnl ##################################################
dnl # Prepare informative messages to display at end #
dnl ##################################################

infomessages=

560
if test "x$PLUGINS_USE_BUILDDIR" = xyes; then
561
  infomessages="$infomessages
562
*** Warning: You have configured using the --enable-plugin-builddir option.
563 564 565

This option is for development purposes only: binaries built with
it should be used with code in the build tree only.  To build an
566 567
installable version, use ./configure without the --enable-plugin-builddir
option.  Note that the autogen.sh script supplies the plugin builddir
568
option automatically -- run ./autogen.sh -- --disable-plugin-builddir to make
569
an installable build.
570 571 572

"
fi
573 574 575 576 577

dnl #########################
dnl # Make the output files #
dnl #########################

578
dnl libs/ext/Makefile
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
579
dnl nothing there yet !
580 581
AC_OUTPUT(
Makefile
582 583
include/Makefile
gst/Makefile
584
gst/gstconfig.h
585 586
gst/gstversion.h
gst/autoplug/Makefile
Wim Taymans's avatar
Wim Taymans committed
587
gst/indexers/Makefile
588 589
gst/elements/Makefile
gst/parse/Makefile
590
gst/schedulers/Makefile
591
gst/registries/Makefile
592
libs/Makefile
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
593
libs/gst/Makefile
594
libs/gst/bytestream/Makefile
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
595
libs/gst/control/Makefile
596
libs/gst/getbits/Makefile
597
libs/ext/Makefile
598
po/Makefile.in
599
tests/Makefile
Andy Wingo Wingo's avatar
Andy Wingo Wingo committed
600 601
tests/bufspeed/Makefile
tests/memchunk/Makefile
602
tests/muxing/Makefile
Wim Taymans's avatar
Wim Taymans committed
603
tests/seeking/Makefile
Andy Wingo Wingo's avatar
Andy Wingo Wingo committed
604
tests/sched/Makefile
605
tests/threadstate/Makefile
606
testsuite/Makefile
Wim Taymans's avatar
Wim Taymans committed
607
testsuite/bytestream/Makefile
Wim Taymans's avatar
Wim Taymans committed
608
testsuite/caps/Makefile
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
609
testsuite/cleanup/Makefile
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
610
testsuite/clock/Makefile
611
testsuite/debug/Makefile
612
testsuite/dynparams/Makefile
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
613
testsuite/elements/Makefile
614
testsuite/indexers/Makefile
Benjamin Otte's avatar
Benjamin Otte committed
615
testsuite/parse/Makefile
616
testsuite/plugin/Makefile
617
testsuite/refcounting/Makefile
Benjamin Otte's avatar
Benjamin Otte committed
618
testsuite/tags/Makefile
619
testsuite/threads/Makefile
620 621
examples/Makefile
examples/autoplug/Makefile
622
examples/cutter/Makefile
623 624 625
examples/helloworld/Makefile
examples/helloworld2/Makefile
examples/launch/Makefile
626 627 628 629
examples/manual/Makefile
examples/mixer/Makefile
examples/pingpong/Makefile
examples/plugins/Makefile
630 631 632 633
examples/queue/Makefile
examples/queue2/Makefile
examples/queue3/Makefile
examples/queue4/Makefile
Benjamin Otte's avatar
Benjamin Otte committed
634
examples/retag/Makefile
635 636
examples/thread/Makefile
examples/typefind/Makefile
637
examples/xml/Makefile
638 639
tools/Makefile
docs/Makefile
Benjamin Otte's avatar
Benjamin Otte committed
640
docs/faq/Makefile
641 642
docs/gst/Makefile
docs/libs/Makefile
Benjamin Otte's avatar
Benjamin Otte committed
643
docs/manual/Makefile
Thomas Vander Stichele's avatar
faq it  
Thomas Vander Stichele committed
644 645
docs/plugins/Makefile
docs/plugins/gstreamer-plugins.types
Benjamin Otte's avatar
Benjamin Otte committed
646
docs/pwg/Makefile
David I. Lehn's avatar
David I. Lehn committed
647
docs/xsl/Makefile
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
648
docs/version.entities
649
pkgconfig/Makefile
650
stamp.h
651 652 653 654
pkgconfig/gstreamer.pc
pkgconfig/gstreamer-uninstalled.pc
pkgconfig/gstreamer-control.pc
pkgconfig/gstreamer-control-uninstalled.pc
655 656 657
gstreamer.spec,
echo "$infomessages", infomessages="$infomessages"
)
658