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 16
AS_VERSION(gst-plugins-good, GST_PLUGINS_GOOD_VERSION, 0, 9, 3, 1,
    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_DOCBOOK_CHECK()
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_plugin_desc\$\$' -no-undefined"
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
		auparse \
271
		autodetect \
Ronald S. Bultje's avatar
Ronald S. Bultje committed
272
		avi \
273
		debug \
Christian Schaller's avatar
Christian Schaller committed
274
		effectv \
Wim Taymans's avatar
Wim Taymans committed
275
		goom \
276
		law \
277
		level \
Wim Taymans's avatar
Wim Taymans committed
278 279 280
		rtp	\
		rtsp	\
		smpte	\
281
		udp     \
282
		videobox \
283
		wavenc \
284
		wavparse \
285
                "
286

287 288 289 290 291
AC_SUBST(GST_PLUGINS_ALL)

GST_PLUGINS_SELECTED=""

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

AC_SUBST(GST_PLUGINS_SELECTED)
304

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

309
dnl *** OSS audio *** (Linux, *BSD)
310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329
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"
     ])
   ])
 ])
])
330

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

335 336 337 338 339 340 341
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)
])

342 343 344 345 346 347 348 349 350 351 352 353 354
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)
  ])
])

355 356 357 358 359 360 361 362 363 364 365 366 367 368
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)
])

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 395
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
396 397 398 399 400 401 402 403
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
404 405 406 407 408 409 410 411
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)
])

412 413 414 415 416 417
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)
418 419
])

Wim Taymans's avatar
Wim Taymans committed
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 445
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
])

446 447 448 449 450 451 452
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
453
  ], [
454 455 456
    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
457 458
  ])
])
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
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 503
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>
        ])
      ])
    ])
  ])
])
504

Christian Schaller's avatar
Christian Schaller committed
505 506
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"
507

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

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

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

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

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

525 526 527 528 529 530 531 532
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], 
533 534 535 536 537 538 539 540 541 542 543
[
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
]
)
544 545
AC_MSG_NOTICE(Using $GST_PACKAGE as package name)
AC_DEFINE_UNQUOTED(GST_PACKAGE, "$GST_PACKAGE", [package name in plugins])
546

547 548 549 550 551 552 553 554
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], 
555
[GST_ORIGIN="http://gstreamer.freedesktop.org/"]) dnl Default value
556 557 558
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
559 560 561 562
dnl #########################
dnl # Make the output files #
dnl #########################

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

613 614
echo -n "configure: *** Plug-ins that will be built :"
echo -e "$GST_PLUGINS_YES" | sort
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
615
echo
616 617
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
618
echo
619 620 621
if test "x$BUILD_EXTERNAL" = "xno"; then
  echo "configure: *** No external plug-ins will be built"
fi