configure.ac 17.3 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
15 16
AS_VERSION(gst-plugins-good, GST_PLUGINS_GOOD_VERSION, 0, 9, 0, 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 38
dnl FIXME take something else ?
AC_CONFIG_SRCDIR([gst/law/alaw.c])
AM_CONFIG_HEADER(config.h)
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
39

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

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

51
dnl the gettext stuff needed
52 53 54
AM_GNU_GETTEXT_VERSION(0.11.5)
AM_GNU_GETTEXT([external])
                                                                            
55
GETTEXT_PACKAGE=gst-plugins-good-$GST_MAJORMINOR
56 57 58 59 60 61 62 63
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])
64

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

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

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

76
dnl determine c++ compiler
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
77
AC_PROG_CXX
78 79 80
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
81 82 83 84
AC_PROG_CXXCPP
AC_ISC_POSIX

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

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

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

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

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

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

124 125 126 127 128 129 130 131
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
132
  AC_MSG_WARN(building external plug-ins)
133 134 135 136 137
  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
138 139
# 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
140 141 142 143 144 145 146 147

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

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

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

151 152 153 154 155
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}])

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

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

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
165 166
translit(dnm, m, l) AM_CONDITIONAL(USE_GCONFTOOL, true)
GST_CHECK_FEATURE(GCONFTOOL, [GConf schemas], , [
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
167 168 169
  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
170
    HAVE_GCONFTOOL="no"
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
171
  else
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
172
    HAVE_GCONFTOOL="yes"
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
173
  fi
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
174 175 176 177 178 179 180 181 182
  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
183
])
184

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

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

195
GST_TOOLS_DIR=`pkg-config --variable=toolsdir gstreamer-$GST_MAJORMINOR`
196 197 198 199 200
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)

201 202 203 204 205 206 207 208 209
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
210
AC_SUBST(GST_BASE_CFLAGS)
211

212
dnl check for gstreamer-plugins-base; uinstalled is selected preferentially
213 214 215
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
216

217 218
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
219 220
fi

221 222
AC_SUBST(GST_PLUGINS_BASE_LIBS)
AC_SUBST(GST_PLUGINS_BASE_CFLAGS)
223

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
224 225 226
dnl Determine endianness
AC_C_BIGENDIAN

227 228 229 230
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
231 232 233
dnl Check for essential libraries first:
dnl ====================================

234
GST_GLIB2_CHECK()
235

236 237
dnl Check for additional libraries that we might use:
dnl =================================================
238

239 240 241
# we set the defaults always to make sure we have non-empty variables
# for the Makefile

Wim Taymans's avatar
Wim Taymans committed
242
PKG_CHECK_MODULES(LIBOIL, liboil-0.3 >= 0.3.0, HAVE_LIBOIL=yes, HAVE_LIBOIL=no)
243 244 245 246 247 248 249
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

250 251 252
dnl ===========================================================================
dnl ============================= gst plug-ins ================================
dnl ===========================================================================
253

David Schleef's avatar
David Schleef committed
254 255 256
plugindir="\$(libdir)/gstreamer-$GST_MAJORMINOR"
AC_SUBST(plugindir)

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

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

281 282 283 284 285
AC_SUBST(GST_PLUGINS_ALL)

GST_PLUGINS_SELECTED=""

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

AC_SUBST(GST_PLUGINS_SELECTED)
298

299
dnl ==========================================================================
300
dnl ============================= sys plug-ins ================================
301 302
dnl ==========================================================================

303
dnl *** OSS audio *** (Linux, *BSD)
304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323
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"
     ])
   ])
 ])
])
324

325 326 327 328
dnl ###########################
dnl # Configure external libs #
dnl ###########################

329 330 331 332 333 334 335
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)
])

336 337 338 339 340 341 342 343 344 345 346 347 348
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)
  ])
])

349 350 351 352 353 354 355 356 357 358 359 360 361 362
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)
])

363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389
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
390 391 392 393 394 395 396 397
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
398 399 400 401 402 403 404 405
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)
])

406 407 408 409 410 411
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)
412 413
])

Wim Taymans's avatar
Wim Taymans committed
414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439
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
])

440 441 442 443 444 445 446
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
447
  ], [
448 449 450
    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
451 452
  ])
])
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
453

454 455 456 457 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
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>
        ])
      ])
    ])
  ])
])
498

Christian Schaller's avatar
Christian Schaller committed
499 500
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"
501

502 503
AC_SUBST(GST_LIBS)
AC_SUBST(GST_CFLAGS)
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
504

505 506 507 508 509 510
dnl ############################
dnl # Set up some more defines #
dnl ############################

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

512 513 514 515 516 517 518 519
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], 
520 521 522 523 524 525 526 527 528 529 530
[
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
]
)
531 532
AC_MSG_NOTICE(Using $GST_PACKAGE as package name)
AC_DEFINE_UNQUOTED(GST_PACKAGE, "$GST_PACKAGE", [package name in plugins])
533

534 535 536 537 538 539 540 541
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], 
542
[GST_ORIGIN="http://gstreamer.freedesktop.org/"]) dnl Default value
543 544 545
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
546 547 548 549
dnl #########################
dnl # Make the output files #
dnl #########################

550
dnl keep this alphabetic per directory, please
Andy Wingo's avatar
Andy Wingo committed
551
AC_CONFIG_FILES(
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
552
Makefile
553
gst/Makefile
Wim Taymans's avatar
Wim Taymans committed
554
gst/alpha/Makefile
555
gst/autodetect/Makefile
Ronald S. Bultje's avatar
Ronald S. Bultje committed
556
gst/avi/Makefile
Wim Taymans's avatar
Wim Taymans committed
557
gst/effectv/Makefile
558
gst/fdsrc/Makefile
Wim Taymans's avatar
Wim Taymans committed
559
gst/goom/Makefile
Christian Schaller's avatar
Christian Schaller committed
560
gst/law/Makefile
561
gst/level/Makefile
Wim Taymans's avatar
Wim Taymans committed
562 563
gst/rtp/Makefile
gst/rtsp/Makefile
564
gst/smpte/Makefile
Wim Taymans's avatar
Wim Taymans committed
565
gst/udp/Makefile
566
gst/videobox/Makefile
567
gst/videofilter/Makefile
568
gst/wavenc/Makefile
569
gst/wavparse/Makefile
570
ext/jpeg/Makefile
571
ext/Makefile
572
ext/aalib/Makefile
Wim Taymans's avatar
Wim Taymans committed
573
ext/dv/Makefile
574
ext/esd/Makefile
575
ext/flac/Makefile
576
ext/gconf/Makefile
577
ext/ladspa/Makefile
Zeeshan Ali's avatar
Zeeshan Ali committed
578
ext/libcaca/Makefile
579
ext/libpng/Makefile
Wim Taymans's avatar
Wim Taymans committed
580
ext/raw1394/Makefile
Zaheer Abbas Merali's avatar
Zaheer Abbas Merali committed
581
ext/shout2/Makefile
582
ext/speex/Makefile
583 584
sys/Makefile
sys/oss/Makefile
585
po/Makefile.in
586 587
common/Makefile
common/m4/Makefile
588 589
gconf/Makefile
gconf/gstreamer.schemas
590
m4/Makefile
591
gst-plugins-good.spec
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
592
)
Andy Wingo's avatar
Andy Wingo committed
593 594
AC_OUTPUT

595 596
echo -n "configure: *** Plug-ins that will be built :"
echo -e "$GST_PLUGINS_YES" | sort
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
597
echo
598 599
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
600
echo
601 602 603
if test "x$BUILD_EXTERNAL" = "xno"; then
  echo "configure: *** No external plug-ins will be built"
fi