configure.ac 17.7 KB
Newer Older
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
1
dnl autoconf configuration file for gst-plugins 
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
2
AC_INIT
3
AC_CANONICAL_TARGET
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
4

Andy Wingo's avatar
Andy Wingo committed
5 6 7 8 9
dnl We disable static building for development, for time savings
dnl this goes before AS_LIBTOOL to appease autoconf
dnl *NOTE*: dnl this line before release, so release does static too
AM_DISABLE_STATIC

10 11 12
dnl AM_MAINTAINER_MODE only provides the option to configure to enable it
AM_MAINTAINER_MODE

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
13
dnl when going to/from release please set the nano (fourth number) right !
14
dnl releases only do Wall, cvs and prerelease does Werror too
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
15
AS_VERSION(gst-plugins-good, GST_PLUGINS_GOOD_VERSION, 0, 9, 1, 1,
16
  GST_CVS="no", GST_CVS="yes")
17

18
AM_INIT_AUTOMAKE($PACKAGE,$VERSION)
19 20

dnl our libraries and install dirs use major.minor as a version
21
GST_MAJORMINOR=$GST_PLUGINS_GOOD_VERSION_MAJOR.$GST_PLUGINS_GOOD_VERSION_MINOR
22 23
dnl we override it here if we need to for the release candidate of new series
GST_MAJORMINOR=0.9
24 25 26 27 28 29 30
AC_SUBST(GST_MAJORMINOR)

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
31
dnl for 0.8.3 release, gst_play_get_all_by_interface was added, so update
32
AS_LIBTOOL(GST_PLUGINS_GOOD, 0, 0, 0)
33
AS_LIBTOOL_TAGS([CXX])
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
34
AM_PROG_LIBTOOL
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
35

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
36 37
AC_CONFIG_SRCDIR([gst/law/alaw.c])
AM_CONFIG_HEADER(config.h)
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
38

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
39 40
dnl Add parameters for aclocal
dnl (This must come after AM_INIT_AUTOMAKE, since it modifies ACLOCAL)
Benjamin Otte's avatar
Benjamin Otte committed
41
ACLOCAL_FLAGS="-I m4 -I common/m4"
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
42
AC_SUBST(ACLOCAL_AMFLAGS, $ACLOCAL_FLAGS)
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
43

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
44 45 46 47
AC_PROG_CC
AM_PROG_CC_STDC
AM_PROG_AS
AS="${CC}"
48 49
AS_PROG_OBJC

50
dnl the gettext stuff needed
51 52 53
AM_GNU_GETTEXT_VERSION(0.11.5)
AM_GNU_GETTEXT([external])
                                                                            
54
GETTEXT_PACKAGE=gst-plugins-good-$GST_MAJORMINOR
55 56 57 58 59 60 61 62
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], "$GETTEXT_PACKAGE",
                  [gettext package name])

dnl define LOCALEDIR in config.h
AS_AC_EXPAND(LOCALEDIR, $datadir/locale)
AC_DEFINE_UNQUOTED([LOCALEDIR], "$LOCALEDIR",
                   [gettext locale dir])
63

64
dnl decide on error flags
65
AS_COMPILER_FLAG(-Wall, GST_WALL="yes", GST_WALL="no")
66

67
if test "x$GST_WALL" = "xyes"; then
68
   GST_ERROR="$GST_ERROR -Wall"
69 70 71 72

   if test "x$GST_CVS" = "xyes"; then
     AS_COMPILER_FLAG(-Werror,GST_ERROR="$GST_ERROR -Werror",GST_ERROR="$GST_ERROR")
   fi
73 74
fi

75
dnl determine c++ compiler
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
76
AC_PROG_CXX
77 78 79
dnl determine if c++ is available on this system
AC_CHECK_PROG(HAVE_CXX, $CXX, yes, no)
dnl determine c++ preprocessor
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
80 81 82 83
AC_PROG_CXXCPP
AC_ISC_POSIX

AC_HEADER_STDC([])
Benjamin Otte's avatar
Benjamin Otte committed
84
AC_C_INLINE
85
AX_CREATE_STDINT_H
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
86

87 88 89 90 91
dnl Check for malloc.h
AC_CHECK_HEADER(malloc.h,[
  AC_DEFINE(HAVE_MALLOC_H, 1, [whether malloc.h available])
])

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

95
dnl Check for FIONREAD ioctl declaration :
96
GST_CHECK_FIONREAD()
97

98 99 100
DEFAULT_AUDIOSINK="autoaudiosink"
DEFAULT_VIDEOSINK="autovideosink"
DEFAULT_AUDIOSRC="alsasrc"
101 102 103 104 105 106 107 108 109 110 111 112
DEFAULT_VIDEOSRC="v4lsrc"
DEFAULT_VISUALIZER="goom"
case "$host" in 
  *-sun-* | *pc-solaris* )
    DEFAULT_AUDIOSRC="sunaudiosrc"
    ;;
  *-darwin* )
    DEFAULT_AUDIOSRC="osxaudiosrc"
    ;;
esac

AC_SUBST(DEFAULT_AUDIOSINK)
113
AC_DEFINE_UNQUOTED(DEFAULT_AUDIOSINK,"$DEFAULT_AUDIOSINK",[Default audio sink])
114
AC_SUBST(DEFAULT_AUDIOSRC)
115
AC_DEFINE_UNQUOTED(DEFAULT_AUDIOSRC,"$DEFAULT_AUDIOSRC",[Default audio source])
116
AC_SUBST(DEFAULT_VIDEOSINK)
117
AC_DEFINE_UNQUOTED(DEFAULT_VIDEOSINK,"$DEFAULT_VIDEOSINK",[Default video sink])
118
AC_SUBST(DEFAULT_VIDEOSRC)
119
AC_DEFINE_UNQUOTED(DEFAULT_VIDEOSRC,"$DEFAULT_VIDEOSRC",[Default video source])
120
AC_SUBST(DEFAULT_VISUALIZER)
121
AC_DEFINE_UNQUOTED(DEFAULT_VISUALIZER,"$DEFAULT_VISUALIZER",[Default visualizer])
122

123 124 125 126 127 128 129 130
dnl ############################################
dnl # Super Duper options for plug-in building #
dnl ############################################

dnl ext plug-ins; plug-ins that have external dependencies
GST_CHECK_FEATURE(EXTERNAL, [enable building of plug-ins with external deps],,
[HAVE_EXTERNAL=yes],enabled,
[
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
131
  AC_MSG_WARN(building external plug-ins)
132 133 134 135 136
  BUILD_EXTERNAL="yes"
],[
  AC_MSG_WARN(all plug-ins with external dependencies will not be built)
  BUILD_EXTERNAL="no"
])
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
137 138
# make BUILD_EXTERNAL available to Makefile.am
AM_CONDITIONAL(BUILD_EXTERNAL, test "x$BUILD_EXTERNAL" = "xyes")
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
139 140 141 142 143 144 145 146

dnl ##############################
dnl # Do automated configuration #
dnl ##############################

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

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
147 148 149
dnl allow for different autotools
AS_AUTOTOOLS_ALTERNATE()

150 151 152 153 154
dnl modify pkg-config path
AC_ARG_WITH(pkg-config-path, 
   AC_HELP_STRING([--with-pkg-config-path],[colon-separated list of pkg-config(1) dirs]),
   [export PKG_CONFIG_PATH=${withval}])

155
GST_DOC()
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
156 157 158
dnl check architecture
GST_ARCH()

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
159
dnl check for gconftool-2
160 161 162 163

dnl this macro defines an am conditional, so it needs to be run always
AM_GCONF_SOURCE_2

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
164 165
translit(dnm, m, l) AM_CONDITIONAL(USE_GCONFTOOL, true)
GST_CHECK_FEATURE(GCONFTOOL, [GConf schemas], , [
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
166 167 168
  AC_PATH_PROG(GCONFTOOL, gconftool-2, no)
  if test x$GCONFTOOL = xno; then
    AC_MSG_WARN(Not installing GConf schemas)
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
169
    HAVE_GCONFTOOL="no"
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
170
  else
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
171
    HAVE_GCONFTOOL="yes"
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
172
  fi
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
173 174 175 176 177 178 179 180 181
  AC_SUBST(HAVE_GCONFTOOL)
])

dnl check for GConf libraries
translit(dnm, m, l) AM_CONDITIONAL(USE_GCONF, true)
GST_CHECK_FEATURE(GCONF, [GConf libraries], , [
  PKG_CHECK_MODULES(GCONF, gconf-2.0, HAVE_GCONF="yes", HAVE_GCONF="no")
  AC_SUBST(GCONF_CFLAGS)
  AC_SUBST(GCONF_LIBS)
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
182
])
183

184 185
dnl check for gstreamer
dnl uninstalled is selected preferentially -- see pkg-config(1)
186
GST_REQ=0.9.0.1
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
187
PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR >= $GST_REQ,
188
  HAVE_GST="yes", HAVE_GST="no")
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
189

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
190 191 192
if test "x$HAVE_GST" = "xno"; then
  AC_MSG_ERROR(no GStreamer found)
fi
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
193

194
GST_TOOLS_DIR=`pkg-config --variable=toolsdir gstreamer-$GST_MAJORMINOR`
195 196 197 198 199
if test -z $GST_TOOLS_DIR; then
  AC_MSG_ERROR([no tools dir defined in GStreamer pkg-config file; core upgrade needed.])
fi
AC_SUBST(GST_TOOLS_DIR)

200 201 202 203 204 205 206 207 208
dnl check for gstreamer-base; uninstalled is selected preferentially
PKG_CHECK_MODULES(GST_BASE, gstreamer-base-$GST_MAJORMINOR >= $GST_REQ,
  HAVE_GST_BASE="yes", HAVE_GST_BASE="no")

if test "x$HAVE_GST_BASE" = "xno"; then
  AC_MSG_ERROR(no GStreamer Base Libs found)
fi

AC_SUBST(GST_BASE_LIBS)
Christian Schaller's avatar
Christian Schaller committed
209
AC_SUBST(GST_BASE_CFLAGS)
210

211
dnl check for gstreamer-plugins-base; uinstalled is selected preferentially
212 213 214
PKG_CHECK_MODULES(GST_PLUGINS_BASE,
  gstreamer-plugins-base-$GST_MAJORMINOR >= $GST_REQ,
  HAVE_GST_PLUGINS_BASE="yes", HAVE_GST_PLUGINS_BASE="no")
Christian Schaller's avatar
Christian Schaller committed
215

216 217
if test "x$HAVE_GST_PLUGINS_BASE" = "xno"; then
  AC_MSG_ERROR(no GStreamer Base Plugins development files found)
Christian Schaller's avatar
Christian Schaller committed
218 219
fi

220 221
AC_SUBST(GST_PLUGINS_BASE_LIBS)
AC_SUBST(GST_PLUGINS_BASE_CFLAGS)
222

223 224 225 226 227 228
PKG_CHECK_MODULES(GST_CHECK, gstreamer-check-$GST_MAJORMINOR >= $GST_REQ,
  HAVE_GST_CHECK="yes", HAVE_GST_CHECK="no")

AC_PATH_PROG(VALGRIND_PATH, valgrind, no)
AM_CONDITIONAL(HAVE_VALGRIND, test ! "x$VALGRIND_PATH" = "xno")

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
229 230 231
dnl Determine endianness
AC_C_BIGENDIAN

232 233 234 235
dnl Check for fast float to int casting as defined in C99
AC_C99_FUNC_LRINT()
AC_C99_FUNC_LRINTF()

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
236 237 238
dnl Check for essential libraries first:
dnl ====================================

239
GST_GLIB2_CHECK()
240

241 242
dnl Check for additional libraries that we might use:
dnl =================================================
243

244 245 246
# we set the defaults always to make sure we have non-empty variables
# for the Makefile

Wim Taymans's avatar
Wim Taymans committed
247
PKG_CHECK_MODULES(LIBOIL, liboil-0.3 >= 0.3.0, HAVE_LIBOIL=yes, HAVE_LIBOIL=no)
248 249 250 251 252 253 254
AC_SUBST(LIBOIL_CFLAGS)
AC_SUBST(LIBOIL_LIBS)
if test "x${HAVE_LIBOIL}" = xyes ; then
  #AC_DEFINE_UNQUOTED(HAVE_LIBOIL, 1, [Define if liboil is being used])
  true
fi

255 256 257
dnl ===========================================================================
dnl ============================= gst plug-ins ================================
dnl ===========================================================================
258

David Schleef's avatar
David Schleef committed
259 260 261
plugindir="\$(libdir)/gstreamer-$GST_MAJORMINOR"
AC_SUBST(plugindir)

262
GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '[_]*(gst_|Gst|GST_).*' $GST_LIBS"
263
AC_SUBST(GST_PLUGIN_LDFLAGS)
264

265
dnl these are all the gst plug-ins, compilable without additional libs
266
dnl videofilter is at the top because others depend on it
Christian Schaller's avatar
Christian Schaller committed
267
GST_PLUGINS_ALL="\
268
		videofilter \
Wim Taymans's avatar
Wim Taymans committed
269
		alpha \
270
		autodetect \
Ronald S. Bultje's avatar
Ronald S. Bultje committed
271
		avi \
272
		debug \
Christian Schaller's avatar
Christian Schaller committed
273
		effectv \
Wim Taymans's avatar
Wim Taymans committed
274
		goom \
275
		law \
276
		level \
Wim Taymans's avatar
Wim Taymans committed
277 278 279
		rtp	\
		rtsp	\
		smpte	\
280
		udp     \
281
		videobox \
282
		wavenc \
283
		wavparse \
284
                "
285

286 287 288 289 290
AC_SUBST(GST_PLUGINS_ALL)

GST_PLUGINS_SELECTED=""

AC_ARG_WITH(plugins,
291
    AC_HELP_STRING([--with-plugins],[comma-separated list of plug-ins to compile]),
292
    [for i in `echo $withval | tr , ' '`; do
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
293 294
        if echo $GST_PLUGINS_ALL | grep $i > /dev/null
        then
295 296
            GST_PLUGINS_SELECTED="$GST_PLUGINS_SELECTED $i"
        else
297
            echo "plug-in $i not recognized, ignoring..."
298 299 300 301 302
        fi
    done],
    [GST_PLUGINS_SELECTED=$GST_PLUGINS_ALL])

AC_SUBST(GST_PLUGINS_SELECTED)
303

304
dnl ==========================================================================
305
dnl ============================= sys plug-ins ================================
306 307
dnl ==========================================================================

308
dnl *** OSS audio *** (Linux, *BSD)
309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328
translit(dnm, m, l) AM_CONDITIONAL(USE_OSS, true)
GST_CHECK_FEATURE(OSS, [OSS audio], osssrc osssink, [
 HAVE_OSS="yes"
dnl Linux and newer BSD versions :
 AC_CHECK_HEADER(sys/soundcard.h, [
   AC_DEFINE(HAVE_OSS_INCLUDE_IN_SYS,, [Define if OSS includes are in /sys/])
   ] , [
dnl Some old BSD versions :
   AC_CHECK_HEADER(soundcard.h, [
     AC_DEFINE(HAVE_OSS_INCLUDE_IN_ROOT,, [Define if OSS includes are in /])
     ], [
  dnl Some old BSD versions :
     AC_CHECK_HEADER(machine/soundcard.h, [
       AC_DEFINE(HAVE_OSS_INCLUDE_IN_MACHINE,, [Define if OSS includes are in /machine/])
       ], [
       HAVE_OSS="no"
     ])
   ])
 ])
])
329

330 331 332 333
dnl ###########################
dnl # Configure external libs #
dnl ###########################

334 335 336 337 338 339 340
dnl *** aalib ***
translit(dnm, m, l) AM_CONDITIONAL(USE_AALIB, true)
GST_CHECK_FEATURE(AALIB, [aasink plug-in], aasink, [
  AM_PATH_AALIB(, HAVE_AALIB=yes, HAVE_AALIB=no)
  AS_SCRUB_INCLUDE(AALIB_CFLAGS)
])

341 342 343 344 345 346 347 348 349 350 351 352 353
dnl **** ESound ****
translit(dnm, m, l) AM_CONDITIONAL(USE_ESD, true)
GST_CHECK_FEATURE(ESD, [esound plug-ins], esdsink, [
  PKG_CHECK_MODULES(ESD, esound >= 0.2.12, [
    HAVE_ESD="yes"
    AC_SUBST(ESD_CFLAGS)
    AC_SUBST(ESD_LIBS)
  ], [
    AM_PATH_ESD(0.2.12, HAVE_ESD="yes", HAVE_ESD="no")
    AS_SCRUB_INCLUDE(ESD_CFLAGS)
  ])
])

354 355 356 357 358 359 360 361 362 363 364 365 366 367
dnl *** FLAC ***
translit(dnm, m, l) AM_CONDITIONAL(USE_FLAC, true)
GST_CHECK_FEATURE(FLAC, [FLAC lossless audio], flacenc flacdec, [
  GST_CHECK_LIBHEADER(FLAC, FLAC, FLAC__seekable_stream_encoder_new, -lm, FLAC/all.h, FLAC_LIBS="-lFLAC -lm")
  dnl API change in FLAC 1.1.1, so require that...
  if test x$HAVE_FLAC = xyes; then
    AC_CHECK_DECL(FLAC__SEEKABLE_STREAM_ENCODER_TELL_ERROR,
                  HAVE_FLAC="yes", HAVE_FLAC="no", [
#include <FLAC/seekable_stream_encoder.h>
                  ])
  fi
  AC_SUBST(FLAC_LIBS)
])

368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394
dnl *** jpeg ***
dnl FIXME: we could use header checks here as well IMO
translit(dnm, m, l) AM_CONDITIONAL(USE_JPEG, true)
GST_CHECK_FEATURE(JPEG, [jpeg], jpegenc jpegdec, [
  AC_ARG_WITH(jpeg-mmx,
    [  --with-jpeg-mmx, path to MMX'ified JPEG library])
  OLD_LIBS="$LIBS"
  if test x$with_jpeg_mmx != x; then
    LIBS="$LIBS -L$with_jpeg_mmx"
  fi
  AC_CHECK_LIB(jpeg-mmx, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
  JPEG_LIBS="$LIBS -ljpeg-mmx"
  LIBS="$OLD_LIBS"
  if test x$HAVE_JPEG != xyes; then
    AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
    JPEG_LIBS="-ljpeg"
  fi
  AC_SUBST(JPEG_LIBS)
])


dnl *** ladspa ***
translit(dnm, m, l) AM_CONDITIONAL(USE_LADSPA, true)
GST_CHECK_FEATURE(LADSPA, [ladspa], ladspa, [
  AC_CHECK_HEADER(ladspa.h, HAVE_LADSPA="yes", HAVE_LADSPA="no")
])

Zeeshan Ali's avatar
Zeeshan Ali committed
395 396 397 398 399 400 401 402
dnl *** libcaca ***
translit(dnm, m, l) AM_CONDITIONAL(USE_LIBCACA, true)
GST_CHECK_FEATURE(LIBCACA, [libcaca], libcaca, [
  GST_CHECK_CONFIGPROG(LIBCACA, caca-config)
  AC_SUBST(LIBCACA_CFLAGS)
  AC_SUBST(LIBCACA_LIBS)
])

Wim Taymans's avatar
Wim Taymans committed
403 404 405 406 407 408 409 410
dnl *** libdv ***
translit(dnm, m, l) AM_CONDITIONAL(USE_LIBDV, true)
GST_CHECK_FEATURE(LIBDV, [libdv DV/video decoder], dvdec, [
  PKG_CHECK_MODULES(LIBDV, libdv >= 0.100, HAVE_LIBDV="yes", HAVE_LIBDV="no")
  AC_SUBST(LIBDV_CFLAGS)
  AC_SUBST(LIBDV_LIBS)
])

411 412 413 414 415 416
dnl *** libpng ***
translit(dnm, m, l) AM_CONDITIONAL(USE_LIBPNG, true)
GST_CHECK_FEATURE(LIBPNG, [libpng PNG encoder], pngenc, [
  PKG_CHECK_MODULES(LIBPNG, libpng12, HAVE_LIBPNG="yes", HAVE_LIBPNG="no")
  AC_SUBST(LIBPNG_CFLAGS)
  AC_SUBST(LIBPNG_LIBS)
417 418
])

Wim Taymans's avatar
Wim Taymans committed
419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444
dnl *** dv1394 ***
translit(dnm, m, l) AM_CONDITIONAL(USE_DV1394, true)
GST_CHECK_FEATURE(DV1394, [raw1394 and avc1394 library], dv1394src, [
  dnl we need to test three headers and three libs
  GST_CHECK_LIBHEADER(RAW1394,
    raw1394, raw1394_new_handle,,
    libraw1394/raw1394.h, RAW1394_LIBS="-lraw1394")
  GST_CHECK_LIBHEADER(AVC1394,
    avc1394, avc1394_send_command, $RAW1394_LIBS,
    libavc1394/avc1394.h, AVC1394_LIBS="-lavc1394")
  GST_CHECK_LIBHEADER(ROM1394,
    rom1394, rom1394_free_directory, $RAW1394_LIBS,
    libavc1394/rom1394.h, ROM1394_LIBS="-lrom1394")

  dnl now see how far we got
  if test x$HAVE_RAW1394 = xyes && \
     test x$HAVE_AVC1394 = xyes && \
     test x$HAVE_ROM1394 = xyes; then
       HAVE_DV1394=yes
       DV1394_LIBS="$RAW1394_LIBS $AVC1394_LIBS $ROM1394_LIBS"
       AC_SUBST(DV1394_LIBS)
  else
       HAVE_DV1394=no
  fi
])

445 446 447 448 449 450 451
dnl *** shout2 ***
translit(dnm, m, l) AM_CONDITIONAL(USE_SHOUT2, true)
GST_CHECK_FEATURE(SHOUT2, [shout2 plug-in], shout2send, [
  PKG_CHECK_MODULES(SHOUT2, shout >= 2.0, [
    HAVE_SHOUT2="yes"
    AC_SUBST(SHOUT2_CFLAGS)
    AC_SUBST(SHOUT2_LIBS)
Arwed v. Merkatz's avatar
Arwed v. Merkatz committed
452
  ], [
453 454 455
    AM_PATH_SHOUT2(HAVE_SHOUT2="yes", HAVE_SHOUT2="no")
    AC_SUBST(SHOUT2_CFLAGS)
    AC_SUBST(SHOUT2_LIBS)
Arwed v. Merkatz's avatar
Arwed v. Merkatz committed
456 457
  ])
])
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
458

459 460 461 462 463 464 465 466 467 468 469 470 471 472 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 498 499 500 501 502
dnl *** speex >= 1.0.4 or >= 1.1.5 ***
dnl   1.1.4 and earlier were not API/ABI compatible with 1.0
dnl   1.1.6 is the first to use a .pc/pkg-config file ***
dnl   speex_jitter.h is 1.1.x only
translit(dnm, m, l) AM_CONDITIONAL(USE_SPEEX, true)
GST_CHECK_FEATURE(SPEEX, [speex plug-in], speex, [
  PKG_CHECK_MODULES(SPEEX, speex >= 1.1.6, [
    HAVE_SPEEX="yes"
    AC_SUBST(SPEEX_CFLAGS)
    AC_SUBST(SPEEX_LIBS)
  ], [
    GST_CHECK_LIBHEADER(SPEEX, speex, speex_bits_init, , speex/speex.h, [
      AC_CHECK_HEADER(speex/speex_jitter.h, [
        dnl speex 1.1.x :
        GST_CHECK_LIBHEADER(SPEEX, speex, speex_encode_int, , speex/speex.h, [
          dnl speex 1.1.5 or + :
          HAVE_SPEEX="yes"
          SPEEX_LIBS="-lspeex"
          AC_SUBST(SPEEX_CFLAGS)
          AC_SUBST(SPEEX_LIBS)
        ],[
          HAVE_SPEEX="no"
        ])
      ],[
        dnl speex 1.0.x :
          AC_CHECK_DECL(SPEEX_GET_LOOKAHEAD, [
            dnl speex 1.0.4
            HAVE_SPEEX="yes"
            SPEEX_LIBS="-lspeex"
            AC_SUBST(SPEEX_CFLAGS)
            AC_SUBST(SPEEX_LIBS)

            AC_DEFINE_UNQUOTED(SPEEX_1_0, 1,
              [defined if speex 1.0.x API detected])
        ],[
            HAVE_SPEEX="no"
            AC_MSG_NOTICE(You need at least 1.0.4 to compile the speex plugin)
        ], [
#include <speex/speex.h>
        ])
      ])
    ])
  ])
])
503

Christian Schaller's avatar
Christian Schaller committed
504 505
dnl also add builddir include for enumtypes and marshal
GST_CFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs $GST_CFLAGS $GST_ERROR"
506

507 508
AC_SUBST(GST_LIBS)
AC_SUBST(GST_CFLAGS)
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
509

510 511 512 513 514
dnl ######################
dnl # Checks for gtk-doc #
dnl ######################

GTK_DOC_CHECK([1.3])
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
515
AS_PATH_PYTHON([2.1])
516

517 518 519 520 521 522
dnl ############################
dnl # Set up some more defines #
dnl ############################

dnl set license and copyright notice
AC_DEFINE(GST_LICENSE, "LGPL", [GStreamer license])
523

524 525 526 527 528 529 530 531
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], 
532 533 534 535 536 537 538 539 540 541 542
[
dnl default value
if test "x$GST_CVS" = "xyes"
then
  dnl nano >= 1
  GST_PACKAGE="GStreamer CVS/prerelease"
else
  GST_PACKAGE="GStreamer source release"
fi
]
)
543 544
AC_MSG_NOTICE(Using $GST_PACKAGE as package name)
AC_DEFINE_UNQUOTED(GST_PACKAGE, "$GST_PACKAGE", [package name in plugins])
545

546 547 548 549 550 551 552 553
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], 
554
[GST_ORIGIN="http://gstreamer.freedesktop.org/"]) dnl Default value
555 556 557
AC_MSG_NOTICE(Using $GST_ORIGIN as package origin)
AC_DEFINE_UNQUOTED(GST_ORIGIN, "$GST_ORIGIN", [package origin])

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
558 559 560 561
dnl #########################
dnl # Make the output files #
dnl #########################

562
dnl keep this alphabetic per directory, please
Andy Wingo's avatar
Andy Wingo committed
563
AC_CONFIG_FILES(
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
564
Makefile
565
gst/Makefile
Wim Taymans's avatar
Wim Taymans committed
566
gst/alpha/Makefile
567
gst/autodetect/Makefile
Ronald S. Bultje's avatar
Ronald S. Bultje committed
568
gst/avi/Makefile
569
gst/debug/Makefile
Wim Taymans's avatar
Wim Taymans committed
570
gst/effectv/Makefile
Wim Taymans's avatar
Wim Taymans committed
571
gst/goom/Makefile
Christian Schaller's avatar
Christian Schaller committed
572
gst/law/Makefile
573
gst/level/Makefile
Wim Taymans's avatar
Wim Taymans committed
574 575
gst/rtp/Makefile
gst/rtsp/Makefile
576
gst/smpte/Makefile
Wim Taymans's avatar
Wim Taymans committed
577
gst/udp/Makefile
578
gst/videobox/Makefile
579
gst/videofilter/Makefile
580
gst/wavenc/Makefile
581
gst/wavparse/Makefile
582
ext/jpeg/Makefile
583
ext/Makefile
584
ext/aalib/Makefile
Wim Taymans's avatar
Wim Taymans committed
585
ext/dv/Makefile
586
ext/esd/Makefile
587
ext/flac/Makefile
588
ext/gconf/Makefile
589
ext/ladspa/Makefile
Zeeshan Ali's avatar
Zeeshan Ali committed
590
ext/libcaca/Makefile
591
ext/libpng/Makefile
Wim Taymans's avatar
Wim Taymans committed
592
ext/raw1394/Makefile
Zaheer Abbas Merali's avatar
Zaheer Abbas Merali committed
593
ext/shout2/Makefile
594
ext/speex/Makefile
595 596
sys/Makefile
sys/oss/Makefile
597
po/Makefile.in
598 599
gconf/Makefile
gconf/gstreamer.schemas
600 601 602
docs/Makefile
docs/plugins/Makefile
docs/version.entities
603
check/Makefile
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
604 605
common/Makefile
common/m4/Makefile
606
m4/Makefile
607
gst-plugins-good.spec
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
608
)
Andy Wingo's avatar
Andy Wingo committed
609 610
AC_OUTPUT

611 612
echo -n "configure: *** Plug-ins that will be built :"
echo -e "$GST_PLUGINS_YES" | sort
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
613
echo
614 615
echo -n "configure: *** Plug-ins that will not be built :"
echo -e "$GST_PLUGINS_NO" | sort
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
616
echo
617 618 619
if test "x$BUILD_EXTERNAL" = "xno"; then
  echo "configure: *** No external plug-ins will be built"
fi