configure.ac 30.7 KB
Newer Older
1
AC_PREREQ([2.68])
2

3
dnl initialize autoconf
4
dnl when going to/from release please set the nano (fourth number) right !
5
dnl releases only do Wall, git and prerelease does Werror too
6
dnl
Sebastian Dröge's avatar
Sebastian Dröge committed
7
AC_INIT([GStreamer],[1.3.2],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gstreamer])
8
AG_GST_INIT
9

10
dnl initialize automake (we require GNU make)
11
AM_INIT_AUTOMAKE([-Wno-portability 1.11 no-dist-gzip dist-xz tar-ustar subdir-objects])
12 13 14 15 16

dnl define PACKAGE_VERSION_* variables
AS_VERSION

dnl check if this is a release version
17
AS_NANO(GST_GIT="no", GST_GIT="yes")
18

19 20 21 22
dnl can autoconf find the source ?
AC_CONFIG_SRCDIR([gst/gst.c])

dnl define the output header for config
23
AC_CONFIG_HEADERS([config.h])
24

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
25
dnl AM_MAINTAINER_MODE only provides the option to configure to enable it
26
AM_MAINTAINER_MODE([enable])
27

28 29 30
dnl sets host_* variables
AC_CANONICAL_HOST

31 32 33 34 35
dnl use pretty build output with automake >= 1.11
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])],
  [AM_DEFAULT_VERBOSITY=1
   AC_SUBST(AM_DEFAULT_VERBOSITY)])

Sebastian Dröge's avatar
Sebastian Dröge committed
36
dnl GStreamer versioning, this is mostly informational
37 38 39 40
GST_VERSION_MAJOR=$PACKAGE_VERSION_MAJOR
GST_VERSION_MINOR=$PACKAGE_VERSION_MINOR
GST_VERSION_MICRO=$PACKAGE_VERSION_MICRO
GST_VERSION_NANO=$PACKAGE_VERSION_NANO
Sebastian Dröge's avatar
Sebastian Dröge committed
41 42 43 44 45 46 47 48 49 50 51
AC_SUBST(GST_VERSION_MAJOR)
AC_SUBST(GST_VERSION_MINOR)
AC_SUBST(GST_VERSION_MICRO)
AC_SUBST(GST_VERSION_NANO)

dnl our libraries and install dirs use GST_API_VERSION in the filename
dnl to allow side-by-side installation of different API versions
GST_API_VERSION=1.0
AC_SUBST(GST_API_VERSION)
AC_DEFINE_UNQUOTED(GST_API_VERSION, "$GST_API_VERSION",
  [GStreamer API Version])
52 53 54 55 56 57

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
58 59 60 61 62 63 64 65
dnl
dnl Keep CURRENT as MINOR * 100 + MICRO
dnl Ex : 1.0.0 => 0
dnl      1.0.3 => 3
dnl      1.1.0 => 100
dnl      1.2.5 => 205
dnl      1.10.9 (who knows) => 1009
dnl
66
dnl sets GST_LT_LDFLAGS
Sebastian Dröge's avatar
Sebastian Dröge committed
67
AS_LIBTOOL(GST, 302, 0, 302)
68

69 70 71 72
dnl *** autotools stuff ****

dnl allow for different autotools
AS_AUTOTOOLS_ALTERNATE
73

74
dnl Add parameters for aclocal (keep in sync with Makefile.am)
75
AC_SUBST(ACLOCAL_AMFLAGS, "-I m4 -I common/m4")
76

77 78
dnl set up gettext
dnl the version check needs to stay here because autopoint greps for it
79
AM_GNU_GETTEXT_VERSION([0.17])
80
AM_GNU_GETTEXT([external])
Sebastian Dröge's avatar
Sebastian Dröge committed
81
AG_GST_GETTEXT([gstreamer-$GST_API_VERSION])
82

83
dnl *** check for arguments to configure ***
84

85 86
AG_GST_ARG_DISABLE_FATAL_WARNINGS

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
87
dnl subsystems - can influence other decisions so needs to be high up
88
dnl we need to AM_CONDITIONAL them here for automake 1.6.x compatibility
89
AG_GST_CHECK_SUBSYSTEM_DISABLE(GST_DEBUG,[debugging subsystem])
90
AM_CONDITIONAL(GST_DISABLE_GST_DEBUG, test "x$GST_DISABLE_GST_DEBUG" = "xyes")
91
AG_GST_CHECK_SUBSYSTEM_DISABLE(PARSE,[command-line parser])
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
92
AM_CONDITIONAL(GST_DISABLE_PARSE, test "x$GST_DISABLE_PARSE" = "xyes")
93 94 95 96
if test "x$GST_DISABLE_PARSE" = xyes; then
  AC_DEFINE(GST_DISABLE_PARSE, 1,
    [Define if pipeline parsing code is disabled])
fi
97 98 99 100 101 102
AG_GST_CHECK_SUBSYSTEM_DISABLE(OPTION_PARSING,[option parsing when gst_init])
AM_CONDITIONAL(GST_DISABLE_OPTION_PARSING, test "x$GST_DISABLE_OPTION_PARSING" = "xyes")
if test "x$GST_DISABLE_OPTION_PARSING" = xyes; then
  AC_DEFINE(GST_DISABLE_OPTION_PARSING, 1,
    [Define if option parsing is disabled])
fi
103
AG_GST_CHECK_SUBSYSTEM_DISABLE(TRACE,[tracing subsystem])
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
104
AM_CONDITIONAL(GST_DISABLE_TRACE, test "x$GST_DISABLE_TRACE" = "xyes")
105
AG_GST_CHECK_SUBSYSTEM_DISABLE(ALLOC_TRACE,[allocation tracing])
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
106
AM_CONDITIONAL(GST_DISABLE_ALLOC_TRACE, test "x$GST_DISABLE_ALLOC_TRACE" = "xyes")
107
AG_GST_CHECK_SUBSYSTEM_DISABLE(REGISTRY,[plugin registry])
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
108
AM_CONDITIONAL(GST_DISABLE_REGISTRY, test "x$GST_DISABLE_REGISTRY" = "xyes")
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
109 110 111 112 113 114 115 116
dnl define a substitution to use in docs/gst/gstreamer.types
if test "x$GST_DISABLE_REGISTRY" = "xyes"
then
  GST_REGISTRY_DOC_TYPES="%"
else
  GST_REGISTRY_DOC_TYPES=
fi
AC_SUBST(GST_REGISTRY_DOC_TYPES)
117
AG_GST_CHECK_SUBSYSTEM_DISABLE(PLUGIN,[plugin])
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
118
AM_CONDITIONAL(GST_DISABLE_PLUGIN, test "x$GST_DISABLE_PLUGIN" = "xyes")
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
119

120 121 122 123
AG_GST_ARG_DEBUG
AG_GST_ARG_PROFILING
AG_GST_ARG_VALGRIND
AG_GST_ARG_GCOV
124

125
AG_GST_ARG_EXAMPLES
126

127 128 129
AG_GST_ARG_WITH_PKG_CONFIG_PATH
AG_GST_ARG_WITH_PACKAGE_NAME
AG_GST_ARG_WITH_PACKAGE_ORIGIN
130

131 132
AG_GST_PKG_CONFIG_PATH

133 134 135 136
AG_GST_SET_PACKAGE_RELEASE_DATETIME_WITH_NANO([$PACKAGE_VERSION_NANO],
  ["${srcdir}/gstreamer.doap"],
  [$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_MICRO])

137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158
dnl build static plugins or not
AC_MSG_CHECKING([whether to build static plugins or not])
AC_ARG_ENABLE(
  static-plugins,
  AC_HELP_STRING(
    [--enable-static-plugins],
    [build static plugins @<:@default=no@:>@]),
  [AS_CASE(
    [$enableval], [no], [], [yes], [],
    [AC_MSG_ERROR([bad value "$enableval" for --enable-static-plugins])])],
  [enable_static_plugins=no])
AC_MSG_RESULT([$enable_static_plugins])
if test "x$enable_static_plugins" = xyes; then
  AC_DEFINE(GST_PLUGIN_BUILD_STATIC, 1,
    [Define if static plugins should be built])
  GST_PLUGIN_LIBTOOLFLAGS=""
else
  GST_PLUGIN_LIBTOOLFLAGS="--tag=disable-static"
fi
AC_SUBST(GST_PLUGIN_LIBTOOLFLAGS)
AM_CONDITIONAL(GST_PLUGIN_BUILD_STATIC, test "x$enable_static_plugins" = "xyes")

159 160
dnl building of tests
AC_ARG_ENABLE(tests,
161
  AS_HELP_STRING([--disable-tests],[disable building test apps]),
162 163 164 165 166 167
  [
    case "${enableval}" in
      yes) BUILD_TESTS=yes ;;
      no)  BUILD_TESTS=no ;;
      *)   AC_MSG_ERROR(bad value ${enableval} for --disable-tests) ;;
    esac
168
  ],
169 170 171 172 173
[BUILD_TESTS=yes]) dnl Default value
AM_CONDITIONAL(BUILD_TESTS,         test "x$BUILD_TESTS" = "xyes")

dnl tests known to fail
AC_ARG_ENABLE(failing-tests,
174
  AS_HELP_STRING([--disable-failing-tests],[disable building tests known to fail]),
175 176 177 178 179 180
  [
    case "${enableval}" in
      yes) BUILD_FAILING_TESTS=yes ;;
      no)  BUILD_FAILING_TESTS=no ;;
      *)   AC_MSG_ERROR(bad value ${enableval} for --disable-failing-tests) ;;
    esac
181
  ],
182 183 184 185 186 187
  [BUILD_FAILING_TESTS=no]) dnl Default value
AM_CONDITIONAL(BUILD_FAILING_TESTS, test "x$BUILD_FAILING_TESTS" = "xyes")
if test x$BUILD_FAILING_TESTS = xyes; then
  AC_MSG_WARN([building tests known to fail, use --disable-failing-tests to disable])
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.])
188 189
fi

190 191
dnl building of benchmarks
AC_ARG_ENABLE(benchmarks,
192
  AS_HELP_STRING([--disable-benchmarks],[disable building benchmarks apps]),
193 194 195 196 197 198 199 200 201 202 203 204
  [
    case "${enableval}" in
      yes) BUILD_BENCHMARKS=yes ;;
      no)  BUILD_BENCHMARKS=no ;;
      *)   AC_MSG_ERROR(bad value ${enableval} for --disable-benchmarks) ;;
    esac
  ],
[BUILD_BENCHMARKS=yes]) dnl Default value
AM_CONDITIONAL(BUILD_BENCHMARKS, test "x$BUILD_BENCHMARKS" = "xyes")

dnl building of tools
AC_ARG_ENABLE(tools,
205
  AS_HELP_STRING([--disable-tools],[disable building tools]),
206 207 208 209 210 211 212 213 214 215
  [
    case "${enableval}" in
      yes) BUILD_TOOLS=yes ;;
      no)  BUILD_TOOLS=no ;;
      *)   AC_MSG_ERROR(bad value ${enableval} for --disable-tools) ;;
    esac
  ],
[BUILD_TOOLS=yes]) dnl Default value
AM_CONDITIONAL(BUILD_TOOLS, test "x$BUILD_TOOLS" = "xyes")

216 217
dnl poison destroyed objects
AC_ARG_ENABLE(poisoning,
218
  AS_HELP_STRING([--enable-poisoning],[enable poisoning of deallocated objects]),
219 220 221 222 223 224
  [
    case "${enableval}" in
      yes) USE_POISONING=yes ;;
      no)  USE_POISONING=no ;;
      *)   AC_MSG_ERROR(bad value ${enableval} for --enable-poisoning) ;;
    esac
225
  ],
226 227 228 229 230 231
  [USE_POISONING=no]) dnl Default value
if test "x$USE_POISONING" = xyes; then
  AC_DEFINE(USE_POISONING, 1,
    [Define if we should poison deallocated memory])
fi

232
dnl *** checks for platform ***
233 234 235 236 237

dnl * hardware/architecture *

dnl common/m4/gst-arch.m4
dnl check CPU type
238
AG_GST_ARCH
239 240 241
dnl substitution for win32/common/config.h
HOST_CPU=$host_cpu
AC_SUBST(HOST_CPU)
242 243 244

dnl common/m4/gst-arch.m4
dnl check for unaligned access
245
AG_GST_UNALIGNED_ACCESS
246 247 248 249 250 251 252 253
dnl create a configure variable for gst/gstconfig.h
if test x${as_cv_unaligned_access} = xyes ; then
  GST_HAVE_UNALIGNED_ACCESS_DEFINE="#define GST_HAVE_UNALIGNED_ACCESS 1"
else
  GST_HAVE_UNALIGNED_ACCESS_DEFINE="#define GST_HAVE_UNALIGNED_ACCESS 0"
fi
AC_SUBST(GST_HAVE_UNALIGNED_ACCESS_DEFINE)

Julien Moutte Moutte's avatar
Julien Moutte Moutte committed
254
dnl check for platform specific settings
255
AG_GST_PLATFORM
256

257 258 259 260 261 262 263 264 265 266
dnl * software *

dnl check for large file support
dnl affected plugins must include config.h
AC_SYS_LARGEFILE

dnl *** checks for programs ***

dnl find a compiler
AC_PROG_CC
267
AC_PROG_CC_STDC
268

269 270 271
dnl check if the compiler supports '-c' and '-o' options
AM_PROG_CC_C_O

272 273 274
dnl find an assembler
AM_PROG_AS

275
dnl determine if c++ is available on this system
276 277 278 279
AC_PROG_CXX
dnl CXX may be set to some default even if no c++ compiler is available
dnl (thanks autotools!), so just try to compile some c++ code to make sure
AC_LANG_PUSH([C++])
280
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ class Foo { int bar; };]], [[]])],[working_cxx=yes],[working_cxx=no])
281 282
AC_LANG_POP([C++])
AC_MSG_NOTICE([working c++ compiler found: $working_cxx])
283
AM_CONDITIONAL(HAVE_CXX, test "x$working_cxx" = "xyes")
284

Stefan Kost's avatar
 
Stefan Kost committed
285
dnl Perl is used in building documentation and in the version checks
286 287 288 289 290
AC_PATH_PROG(PERL_PATH, perl, no)
if test x$PERL_PATH = xno; then
  AC_MSG_ERROR(Could not find perl)
fi

Stefan Kost's avatar
 
Stefan Kost committed
291
dnl we require flex and bison for building the parser
292 293 294 295
if test "x$GST_DISABLE_PARSE" != xyes; then
  AG_GST_BISON_CHECK
  AG_GST_FLEX_CHECK
fi
Stefan Kost's avatar
 
Stefan Kost committed
296

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

300
dnl check for gobject-introspection
301
GOBJECT_INTROSPECTION_CHECK([1.31.1])
302

303
dnl check for documentation tools
304
AG_GST_DOCBOOK_CHECK
305
GTK_DOC_CHECK([1.12])
306
AG_GST_PLUGIN_DOCS([1.12])
307 308 309

dnl *** checks for libraries ***

310
dnl check for libm, for sin()
311
LT_LIB_M
312 313
AC_SUBST(LIBM)

314 315 316 317 318 319
dnl *** checks for header files ***

dnl check if we have ANSI C header files
AC_HEADER_STDC

dnl Check for ucontext.h
320
AC_CHECK_HEADERS([ucontext.h], [], [], [AC_INCLUDES_DEFAULT])
321 322

dnl Check for sys/socket.h
323
AC_CHECK_HEADERS([sys/socket.h], [HAVE_SYS_SOCKET_H=yes], [HAVE_SYS_SOCKET_H=no], [AC_INCLUDES_DEFAULT])
324
AM_CONDITIONAL(HAVE_SYS_SOCKET_H, test "x$HAVE_SYS_SOCKET_H" = "xyes")
325 326

dnl check for sys/times.h for tests/examples/adapter/
327 328
AC_CHECK_HEADERS([sys/times.h], [HAVE_SYS_TIMES_H=yes], [HAVE_SYS_TIME_H=no], [AC_INCLUDES_DEFAULT])
AC_CHECK_HEADERS([unistd.h], [HAVE_UNISTD_H=yes], [HAVE_UNISTD_H=no], [AC_INCLUDES_DEFAULT])
329 330 331
AM_CONDITIONAL(HAVE_SYS_TIMES_H_AND_UNISTD_H, test "x$HAVE_SYS_TIMES_H" = "xyes" -a "x$HAVE_UNISTD_H" = "xyes")

dnl Check for process.h for getpid() on win32
332
AC_CHECK_HEADERS([process.h], [], [], [AC_INCLUDES_DEFAULT])
333

334
dnl Check for sys/utsname.h for uname
335
AC_CHECK_HEADERS([sys/utsname.h], [], [], [AC_INCLUDES_DEFAULT])
336

337
dnl Check for stdio_ext.f for __fbufsize
338
AC_CHECK_HEADERS([stdio_ext.h], [], [], [AC_INCLUDES_DEFAULT])
339

340
dnl check for pthreads
341 342
AX_PTHREAD([HAVE_PTHREAD=yes], [HAVE_PTHREAD=no])
AM_CONDITIONAL(HAVE_PTHREAD, test "x$HAVE_PTHREAD" = "xyes")
343

344
dnl check for sys/prctl for setting thread name on Linux
345
AC_CHECK_HEADERS([sys/prctl.h], [], [], [AC_INCLUDES_DEFAULT])
346

347 348 349
dnl Check for valgrind.h
dnl separate from HAVE_VALGRIND because you can have the program, but not
dnl the dev package
350
AC_CHECK_HEADERS([valgrind/valgrind.h], [], [], [AC_INCLUDES_DEFAULT])
351

352
dnl used in gst/gstpoll.c
353
AC_CHECK_HEADERS([winsock2.h], [HAVE_WINSOCK2_H=yes], [HAVE_WINSOCK2_H=no], [AC_INCLUDES_DEFAULT])
354
AM_CONDITIONAL(HAVE_WINSOCK2_H, test "x$HAVE_WINSOCK2_H" = "xyes")
355 356 357 358 359
if test "x$HAVE_WINSOCK2_H" = "xyes"; then
  WIN32_LIBS="-lws2_32"
  AC_SUBST(WIN32_LIBS)
fi

360
dnl check for GMP/GSL, used by the gst_util_uint64_scale unit test only
361 362 363 364 365 366 367 368 369 370 371 372 373 374
if test "x$BUILD_TESTS" = "xyes"; then
  AG_GST_CHECK_LIBHEADER(GMP, gmp,
                         __gmpz_init_set_d, ,
                         gmp.h,
                         GMP_LIBS="-lgmp"
                         AC_SUBST(GMP_LIBS)
                         AC_DEFINE(HAVE_GMP, [1],[Have GMP library]))
  AG_GST_CHECK_LIBHEADER(GSL, gsl,
                         gsl_rng_uniform_int, -lgslcblas,
                         gsl/gsl_rng.h,
                         GSL_LIBS="-lgsl -lgslcblas"
                         AC_SUBST(GSL_LIBS)
                         AC_DEFINE(HAVE_GSL, [1],[Have GSL library]))
fi
375

376 377 378 379 380 381
dnl *** checks for types/defines ***

dnl *** checks for structures ***

dnl *** checks for compiler characteristics ***

382
dnl check if the compiler supports __uint128_t (gcc)
383 384
dnl Actually check for 128-bit division, since that's what we use
dnl uint128_t for.
385
AC_CACHE_CHECK(for __uint128_t, gst_cv_uint128_t,
386
    AC_LINK_IFELSE([AC_LANG_PROGRAM([[ ]], [[
387 388 389 390
      static __uint128_t v1 = 100;
      static __uint128_t v2 = 10;
      static __uint128_t u;
      u = v1 / v2;
391
    ]])],[
392
      gst_cv_uint128_t=yes
393
    ],[
394 395 396 397 398 399 400
      gst_cv_uint128_t=no
    ])
)
if test x$gst_cv_uint128_t = xyes; then
  AC_DEFINE(HAVE_UINT128_T, 1, [Have __uint128_t type])
fi

Thiago Santos's avatar
Thiago Santos committed
401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416
dnl *** checking for tm_gmtoff ***
AC_MSG_CHECKING([for tm_gmtoff])
AC_RUN_IFELSE([AC_LANG_SOURCE([[
	#include <time.h>
	int main(void) {
	  struct tm t;
	  t.tm_gmtoff = 0;
	  exit(0);
	}]])],
  [have_tm_gmtoff=yes
   AC_DEFINE(HAVE_TM_GMTOFF,1,[Have tm_gmtoff field in struct tm])],
  [have_tm_gmtoff=no],
  [have_tm_gmtoff="no (cross compiling)"])
AC_MSG_RESULT($have_tm_gmtoff)


417 418
dnl *** checks for library functions ***

Thiago Santos's avatar
Thiago Santos committed
419
AC_CHECK_FUNCS([gmtime_r])
420
AC_CHECK_FUNCS([localtime_r])
421 422 423 424 425 426 427 428 429 430
AC_CHECK_FUNCS([sigaction])

dnl check for fseeko()
AC_FUNC_FSEEKO
dnl check for ftello()
AC_CHECK_FUNCS([ftello])

AC_CHECK_FUNCS([fgetpos])
AC_CHECK_FUNCS([fsetpos])

431
dnl check for poll(), ppoll() and pselect()
432 433
AC_CHECK_HEADERS([sys/poll.h], [], [], [AC_INCLUDES_DEFAULT])
AC_CHECK_HEADERS([poll.h], [], [], [AC_INCLUDES_DEFAULT])
434 435 436 437
AC_CHECK_FUNCS([poll])
AC_CHECK_FUNCS([ppoll])
AC_CHECK_FUNCS([pselect])

438 439 440 441 442 443 444 445 446 447 448
dnl ****************************************
dnl *** GLib POLL* compatibility defines ***
dnl ****************************************

AC_MSG_CHECKING([for broken poll])
AC_RUN_IFELSE([AC_LANG_SOURCE([[
	#include <stdlib.h>
	#include <fcntl.h>
	#ifdef HAVE_SYS_POLL_H
	#include <sys/poll.h>
	#endif
449 450 451
	#ifdef HAVE_POLL_H
	#include <poll.h>
	#endif
452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469
	int main(void) {
	  struct pollfd fds[1];
	  int fd;
	  fd = open("/dev/null", 1);
	  fds[0].fd = fd;
	  fds[0].events = POLLIN;
	  fds[0].revents = 0;
	  if (poll(fds, 1, 0) < 0 || (fds[0].revents & POLLNVAL) != 0) {
		exit(1);  /* Does not work for devices -- fail */
	  }
	  exit(0);
	}]])],
  [broken_poll=no],
  [broken_poll=yes
   AC_DEFINE(BROKEN_POLL,1,[poll doesn't work on devices])],
  [broken_poll="no (cross compiling)"])
AC_MSG_RESULT($broken_poll)

470 471
dnl check for mmap()
AC_FUNC_MMAP
472
AM_CONDITIONAL(HAVE_MMAP, test "x$ac_cv_func_mmap_fixed_mapped" = "xyes")
473

474 475 476 477
dnl check for posix_memalign(), getpagesize()
AC_CHECK_FUNCS([posix_memalign])
AC_CHECK_FUNCS([getpagesize])

478 479 480 481 482
dnl Check for POSIX timers
AC_CHECK_FUNCS(clock_gettime, [], [
  AC_CHECK_LIB(rt, clock_gettime, [
    AC_DEFINE(HAVE_CLOCK_GETTIME, 1)
    LIBS="$LIBS -lrt"
483 484 485 486 487
  ], [
    AC_CHECK_LIB(pthread, clock_gettime, [
      AC_DEFINE(HAVE_CLOCK_GETTIME, 1)
      LIBS="$LIBS -lpthread"
    ])
488 489 490
  ])
])

491
AC_CACHE_CHECK(for posix timers, gst_cv_posix_timers,
492
    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
493 494 495 496
#include <time.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
497
    ]], [[
498 499
#if !defined(_POSIX_TIMERS) || _POSIX_TIMERS < 0 || !defined(CLOCK_REALTIME)
#error Either _POSIX_TIMERS or CLOCK_REALTIME not defined
500
#endif
501
    ]])],[
502
      gst_cv_posix_timers=yes
503
    ],[
504 505 506
      gst_cv_posix_timers=no
    ])
)
507 508 509 510 511 512 513 514 515 516

if test "$gst_cv_posix_timers" = "yes"; then
  AC_DEFINE(HAVE_POSIX_TIMERS,1,[Have posix timers])
  GST_HAVE_POSIX_TIMERS_DEFINE="#define GST_HAVE_POSIX_TIMERS 1"
else
  GST_HAVE_POSIX_TIMERS_DEFINE="#define GST_HAVE_POSIX_TIMERS 0"
fi
AC_SUBST(GST_HAVE_POSIX_TIMERS_DEFINE)
AM_CONDITIONAL(GST_HAVE_POSIX_TIMERS, test "$gst_cv_posix_timers" = "yes")

517
AC_CACHE_CHECK(for monotonic clock, gst_cv_monotonic_clock,
518
    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
519 520 521 522
#include <time.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
523
    ]], [[
524 525
#if !defined(_POSIX_MONOTONIC_CLOCK) || _POSIX_MONOTONIC_CLOCK < 0 || !defined(CLOCK_MONOTONIC)
#error Either _POSIX_MONOTONIC_CLOCK or CLOCK_MONOTONIC not defined
526
#endif
527
    ]])],[
528
      gst_cv_monotonic_clock=yes
529
    ],[
530 531 532
      gst_cv_monotonic_clock=no
    ])
)
533 534 535 536 537 538 539 540 541 542

if test "$gst_cv_monotonic_clock" = "yes"; then
  AC_DEFINE(HAVE_MONOTONIC_CLOCK,1,[Have a monotonic clock])
  GST_HAVE_MONOTONIC_CLOCK_DEFINE="#define GST_HAVE_MONOTONIC_CLOCK 1"
else
  GST_HAVE_MONOTONIC_CLOCK_DEFINE="#define GST_HAVE_MONOTONIC_CLOCK 0"
fi
AC_SUBST(GST_HAVE_MONOTONIC_CLOCK_DEFINE)
AM_CONDITIONAL(GST_HAVE_MONOTONIC_CLOCK, test "$gst_cv_monotonic_clock" = "yes")

Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
543
dnl Check for a way to display the function name in debug output
544
AG_GST_CHECK_FUNCTION
545

546 547 548 549
dnl test if we have dladdr(); we use it for debugging; see gst/gstinfo.c
save_cflags="$CFLAGS"
CFLAGS="$CFLAGS -D_GNU_SOURCE"
AC_CHECK_LIB(dl, dladdr,
550 551
   AC_DEFINE(HAVE_DLADDR, 1, [Defined if we have dladdr ()])
   LIBS="$LIBS -ldl")
552
CFLAGS="$save_cflags"
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
553

554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574
dnl Check printf stuff
if test "x${GST_DISABLE_GST_DEBUG}" != "xyes"; then
  AC_TYPE_LONG_LONG_INT
  AC_TYPE_UNSIGNED_LONG_LONG_INT

  if test x$ac_cv_type_long_long_int$ac_cv_type_unsigned_long_long_int = xyesyes; then
    AC_DEFINE([HAVE_LONG_LONG], [1], [Define to 1 if the system has the type long long])
  fi

  dnl /usr/share/aclocal/inttypes_h.m4 - ships with gettext apparently
  gl_AC_HEADER_INTTYPES_H

  dnl /usr/share/aclocal/stdint_h.m4 - ships with gettext apparently
  gl_AC_HEADER_STDINT_H

  AC_CHECK_TYPES(ptrdiff_t)

  AC_TYPE_INTMAX_T
  AC_TYPE_SIZE_T
fi

575
dnl *** checks for dependency libraries ***
576

577
dnl GLib
578
GLIB_REQ=2.32.0
579
AG_GST_GLIB_CHECK([$GLIB_REQ])
580

581
dnl Check for documentation xrefs
582 583 584
GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
AC_SUBST(GLIB_PREFIX)

585 586
dnl building of unit test libraries
AC_ARG_ENABLE(check,
587
  AS_HELP_STRING([--disable-check],[disable building unit test libraries]),
588 589 590 591 592 593
  [
    case "${enableval}" in
      yes) BUILD_CHECK=yes ;;
      no)  BUILD_CHECK=no ;;
      *)   AC_MSG_ERROR(bad value ${enableval} for --disable-check) ;;
    esac
594 595 596 597 598 599 600
  ], [
    dnl Default value
    case $host_os in
      mingw* | msvc* | mks*) BUILD_CHECK=no ;;
      *) BUILD_CHECK=yes ;;
    esac
])
601 602 603
dnl bit of a misnomer, but keep the conditional named like this so we don't
dnl have to change too much elsewhere
AM_CONDITIONAL(HAVE_CHECK, test "x$BUILD_CHECK" = "xyes")
604

605 606 607
dnl configure the desired memory alignment
AC_ARG_WITH([memory-alignment],
  AS_HELP_STRING([--with-memory-alignment],[8,N,malloc,pagesize (default is 32)]),
608 609 610
  [
    if test "x$withval" = "xyes"
    then
611
      AC_DEFINE(MEMORY_ALIGNMENT, 32, [Memory alignment to use])
612 613
    else
      case "${withval}" in
614 615 616
        malloc) AC_DEFINE(MEMORY_ALIGNMENT_MALLOC, 1, [Memory alignment by malloc default]) ;;
        pagesize)  AC_DEFINE(MEMORY_ALIGNMENT_PAGESIZE, 1, [Memory alignment by pagesize]) ;;
        *)   AC_DEFINE_UNQUOTED(MEMORY_ALIGNMENT, ${withval}, [Memory alignment to use]) ;;
617 618 619
      esac
    fi
  ], [
620
    AC_DEFINE(MEMORY_ALIGNMENT_MALLOC, 1, [Memory alignment by malloc default]) 
621 622
  ]
)
623

624 625 626
dnl Check for -Bsymbolic-functions linker flag used to avoid
dnl intra-library PLT jumps, if available.
AC_ARG_ENABLE(Bsymbolic,
627
              [AS_HELP_STRING([--disable-Bsymbolic],[avoid linking with -Bsymbolic])],,
628 629 630
              [SAVED_LDFLAGS="${LDFLAGS}"
               AC_MSG_CHECKING([for -Bsymbolic-functions linker flag])
               LDFLAGS=-Wl,-Bsymbolic-functions
631
               AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[int main (void) { return 0; }]])],[
632
                           AC_MSG_RESULT(yes)
633
                           enable_Bsymbolic=yes],[
634
                           AC_MSG_RESULT(no)
635
                           enable_Bsymbolic=no])
636 637 638
               LDFLAGS="${SAVED_LDFLAGS}"])


639
dnl *** set variables based on configure arguments
640

641
dnl set license and copyright notice
642
GST_LICENSE="LGPL"
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
643
AC_DEFINE_UNQUOTED(GST_LICENSE, "$GST_LICENSE", [GStreamer license])
644 645
AC_SUBST(GST_LICENSE)

646
dnl define LIBDIR, GST_DATADIR so we can inform people where we live
647 648
AS_AC_EXPAND(LIBDIR, $libdir)
AC_DEFINE_UNQUOTED(LIBDIR, "$LIBDIR", [library dir])
649
AS_AC_EXPAND(DATADIR, $datadir)
650
AC_DEFINE_UNQUOTED(GST_DATADIR, "$DATADIR", [data dir])
651

652
dnl set location of plugin directory
653
AG_GST_SET_PLUGINDIR
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
654

655 656 657 658 659 660
dnl make sure it doesn't complain about unused variables if debugging is disabled
NO_WARNINGS=""
if test "x${GST_DISABLE_GST_DEBUG}" = "xyes"; then
  NO_WARNINGS="-Wno-unused"
fi

661
dnl define an ERROR_CFLAGS Makefile variable
662
AG_GST_SET_ERROR_CFLAGS($FATAL_WARNINGS, [-Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wundef -Wwrite-strings -Wformat-nonliteral -Wformat-security -Wold-style-definition -Winit-self -Wmissing-include-dirs -Waddress -Waggregate-return -Wno-multichar -Wnested-externs $NO_WARNINGS])
663

664 665 666 667
dnl special warning flags for gst/printf
AS_COMPILER_FLAG([-Wno-format-nonliteral], [PRINTF_CFLAGS="-Wno-format-nonliteral"])
AC_SUBST(PRINTF_CFLAGS)

668
dnl define correct level for debugging messages
669
AG_GST_SET_LEVEL_DEFAULT($GST_GIT)
670

671
dnl *** finalize CFLAGS, LDFLAGS, LIBS
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
672

673
dnl Overview:
674 675 676 677
dnl GST_OPTION_CFLAGS:  common cflags for profiling, debugging, errors, ...
dnl GST_ALL_*:          vars shared by all built objects
dnl GST_LIB_LDFLAGS:    additional linker flags for all libaries
dnl GST_OBJ_*:          additional vars to link to the core library
678 679 680 681 682 683 684 685 686 687
dnl			include GST_ALL_*
dnl GST_LT_LDFLAGS:	library versioning of our libraries
dnl GST_PLUGIN_LDFLAGS: flags to be used for all plugins

dnl GST_OPTION_CFLAGS
if test "x$USE_DEBUG" = xyes; then
   PROFILE_CFLAGS="-g"
fi
AC_SUBST(PROFILE_CFLAGS)

688 689 690
# GST_DISABLE_DEPRECATED: hide the visibility of deprecated
# functionality from the API that gstreamer uses
# GST_REMOVE_DEPRECATED: don't compile deprecated functionality (breaks ABI)
691
if test "x$PACKAGE_VERSION_NANO" = "x1"; then
692
  dnl Define _only_ when compiling from git (not for pre-releases or releases)
693 694 695 696
  DEPRECATED_CFLAGS="-DGST_DISABLE_DEPRECATED"
else
  DEPRECATED_CFLAGS=""
fi
697 698
AC_SUBST(DEPRECATED_CFLAGS)

699 700
dnl every flag in GST_OPTION_CFLAGS can be overridden at make time via e.g.
dnl make DEPRECATED_CFLAGS=''
701
GST_OPTION_CFLAGS="\$(WARNING_CFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
702
GST_OPTION_CXXFLAGS="\$(WARNING_CXXFLAGS) \$(ERROR_CXXFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
703 704
GST_OPTION_CFLAGS="$GST_OPTION_CFLAGS"
GST_OPTION_CXXFLAGS="$GST_OPTION_CXXFLAGS"
705
AC_SUBST(GST_OPTION_CFLAGS)
706
AC_SUBST(GST_OPTION_CXXFLAGS)
707 708 709

dnl GST_ALL_*
dnl vars common to for all internal objects (core libs, elements, applications)
710 711 712
dnl CFLAGS:
dnl - src and build dirs need to be added because every piece that gets built
dnl   will need the GStreamer source and generated headers
713
dnl LIBS: XML doesn't need to be added because we don't explicitly use symbols
714
dnl       from LibXML except for in the core library
715
GST_ALL_CXXFLAGS="-I\$(top_srcdir)/libs -I\$(top_srcdir) -I\$(top_builddir)/libs -I\$(top_builddir) $GLIB_CFLAGS \$(GLIB_EXTRA_CFLAGS) $XML_CFLAGS \$(GST_OPTION_CXXFLAGS) \$(ERROR_CXXFLAGS)"
716
GST_ALL_CFLAGS="-I\$(top_srcdir)/libs -I\$(top_srcdir) -I\$(top_builddir)/libs -I\$(top_builddir) $GLIB_CFLAGS \$(GLIB_EXTRA_CFLAGS) $XML_CFLAGS \$(GST_OPTION_CFLAGS) \$(ERROR_CFLAGS)"
717

718 719
dnl FIXME: check if LTLIBINTL is needed everywhere
dnl I presume it is given that it contains the symbols that _() stuff maps to
720
GST_ALL_LIBS="$GLIB_LIBS $LTLIBINTL \$(GCOV_LIBS)"
721

722 723
dnl LDFLAGS really should only contain flags, not libs - they get added before
dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
724
GST_ALL_LDFLAGS="-no-undefined"
725
if test "x${enable_Bsymbolic}" = "xyes"; then
726 727
  GST_ALL_LDFLAGS="$GST_ALL_LDFLAGS -Wl,-Bsymbolic-functions"
fi
728

729
AC_SUBST(GST_ALL_CFLAGS)
730
AC_SUBST(GST_ALL_CXXFLAGS)
731 732 733
AC_SUBST(GST_ALL_LIBS)
AC_SUBST(GST_ALL_LDFLAGS)

734 735 736
dnl GST_LIB_LDFLAGS
dnl linker flags shared by all libraries
dnl LDFLAGS modifier defining exported symbols from built libraries
737
GST_LIB_LDFLAGS="-export-symbols-regex \^[_]?\(gst_\|Gst\|GST_\).*"
738 739
AC_SUBST(GST_LIB_LDFLAGS)

740 741
dnl GST_OBJ_*
dnl default vars for all internal objects built on libgstreamer
742
dnl includes GST_ALL_*
743
GST_OBJ_CFLAGS="\$(GST_ALL_CFLAGS)"
744
GST_OBJ_CXXFLAGS="\$(GST_ALL_CXXFLAGS)"
Sebastian Dröge's avatar
Sebastian Dröge committed
745
GST_OBJ_LIBS="\$(top_builddir)/gst/libgstreamer-$GST_API_VERSION.la \$(GST_ALL_LIBS)"
746
AC_SUBST(GST_OBJ_CFLAGS)
747
AC_SUBST(GST_OBJ_CXXFLAGS)
748 749 750
AC_SUBST(GST_OBJ_LIBS)

dnl GST_PLUGIN_LDFLAGS
751
dnl LDFLAGS for plugins; includes GST_ALL_LDFLAGS
752
GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '^[_]*gst_plugin_.*' $GST_ALL_LDFLAGS"
753
AC_SUBST(GST_PLUGIN_LDFLAGS, "$GST_PLUGIN_LDFLAGS")
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
754

755
dnl plugin scanner locations
Sebastian Dröge's avatar
Sebastian Dröge committed
756
AS_AC_EXPAND(GST_PLUGIN_SCANNER_INSTALLED,${libexecdir}/gstreamer-$GST_API_VERSION/gst-plugin-scanner)
757
AC_DEFINE_UNQUOTED(GST_PLUGIN_SCANNER_INSTALLED,
758
    "$GST_PLUGIN_SCANNER_INSTALLED", [location of the installed gst-plugin-scanner])
759
AC_SUBST(GST_PLUGIN_SCANNER_INSTALLED)
760

761 762 763
dnl things for our internal libcheck (must be called even if building
dnl libcheck is disabled because it defines conditionals)
AG_GST_CHECK_CHECKS()
764

765
AC_CONFIG_FILES(
766
Makefile
767
gst/Makefile
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
768 769 770
gst/gstconfig.h
gst/gstversion.h
gst/parse/Makefile
771
gst/printf/Makefile
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
772 773
libs/Makefile
libs/gst/Makefile
774 775
libs/gst/base/Makefile
libs/gst/check/Makefile
776 777
libs/gst/check/libcheck/Makefile
libs/gst/check/libcheck/check.h
778
libs/gst/controller/Makefile
779
libs/gst/helpers/Makefile
780
libs/gst/net/Makefile
781 782
plugins/Makefile
plugins/elements/Makefile
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
783 784
po/Makefile.in
tests/Makefile
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
785
tests/benchmarks/Makefile
786
tests/check/Makefile
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
787
tests/misc/Makefile
788
tests/examples/Makefile
789
tests/examples/adapter/Makefile
790
tests/examples/controller/Makefile
791
tests/examples/stepping/Makefile
792 793
tests/examples/helloworld/Makefile
tests/examples/launch/Makefile
794
tests/examples/manual/Makefile
Wim Taymans's avatar
Wim Taymans committed
795
tests/examples/memory/Makefile
796 797
tests/examples/metadata/Makefile
tests/examples/queue/Makefile
798
tests/examples/streams/Makefile
799
tests/examples/typefind/Makefile
800
tools/Makefile
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
801 802
common/Makefile
common/m4/Makefile
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
803
docs/Makefile
Tim-Philipp Müller's avatar
Tim-Philipp Müller committed
804
docs/design/Makefile
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
805 806
docs/faq/Makefile
docs/gst/Makefile
807
docs/gst/gstreamer.types
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
808
docs/libs/Makefile
809
docs/plugins/Makefile
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
810 811
docs/manual/Makefile
docs/pwg/Makefile
812
docs/slides/Makefile
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
813 814
docs/xsl/Makefile
docs/version.entities
815
m4/Makefile
816
pkgconfig/Makefile
Thomas Vander Stichele's avatar
Thomas Vander Stichele committed
817 818 819
stamp.h
pkgconfig/gstreamer.pc
pkgconfig/gstreamer-uninstalled.pc
Andy Wingo Wingo's avatar
Andy Wingo Wingo committed
820 821
pkgconfig/gstreamer-base.pc
pkgconfig/gstreamer-base-uninstalled.pc
822 823
pkgconfig/gstreamer-check.pc
pkgconfig/gstreamer-check-uninstalled.pc
824 825
pkgconfig/gstreamer-controller.pc
pkgconfig/gstreamer-controller-uninstalled.pc
Andy Wingo Wingo's avatar
Andy Wingo Wingo committed
826 827
pkgconfig/gstreamer-net.pc
pkgconfig/gstreamer-net-uninstalled.pc
828
gstreamer.spec
829
)
830

831 832 833 834 835 836 837 838
dnl Create the config.h file for Visual Studio builds
dnl Beware of spaces and /'s in some of the shell variable contents.
sed \
    -e 's/.*config.h.in.*autoheader.*/\/* Autogenerated config.h created for win32 Visual Studio builds *\/\n\n\/* PREFIX -- specifically added for Windows for easier moving *\/\n#define PREFIX "C:\\\\gstreamer"/' \
    -e 's/.* GETTEXT_PACKAGE$/#define GETTEXT_PACKAGE "'$GETTEXT_PACKAGE'"/' \
    -e 's/.* GST_DATADIR$/#define GST_DATADIR PREFIX "\\\\share"/' \
    -e 's/.* GST_LEVEL_DEFAULT$/#define GST_LEVEL_DEFAULT GST_LEVEL_ERROR/' \
    -e 's/.* GST_LICENSE$/#define GST_LICENSE "'$GST_LICENSE'"/' \
Sebastian Dröge's avatar
Sebastian Dröge committed
839
    -e 's/.* GST_API_VERSION$/#define GST_API_VERSION "'$GST_API_VERSION'"/' \
840 841
    -e "s,.* GST_PACKAGE_NAME$,#define GST_PACKAGE_NAME \"${GST_PACKAGE_NAME}\"," \
    -e 's/.* GST_PACKAGE_ORIGIN$/#define GST_PACKAGE_ORIGIN "Unknown package origin"/' \
842
    -e "s,.* GST_PACKAGE_RELEASE_DATETIME$,#define GST_PACKAGE_RELEASE_DATETIME \"${GST_PACKAGE_RELEASE_DATETIME}\"," \
843 844 845 846 847 848 849 850 851 852 853
    -e 's/.* HAVE_CPU_I386$/#define HAVE_CPU_I386 1/' \
    -e 's/.* HAVE_FGETPOS$/#define HAVE_FGETPOS 1/' \
    -e 's/.* HAVE_FSETPOS$/#define HAVE_FSETPOS 1/' \
    -e 's/.* HAVE_PROCESS_H$/#define HAVE_PROCESS_H 1/' \
    -e 's/.* HAVE_STDLIB_H$/#define HAVE_STDLIB_H 1/' \
    -e 's/.* HAVE_STRING_H$/#define HAVE_STRING_H 1/' \
    -e 's/.* HAVE_SYS_STAT_H$/#define HAVE_SYS_STAT_H 1/' \
    -e 's/.* HAVE_SYS_TYPES_H$/#define HAVE_SYS_TYPES_H 1/' \
    -e 's/.* HAVE_WIN32$/#define HAVE_WIN32 1/' \
    -e 's/.* HAVE_WINSOCK2_H$/#define HAVE_WINSOCK2_H 1/' \
    -e 's/.* HOST_CPU$/#define HOST_CPU "i686"/' \
854
    -e 's/.* MEMORY_ALIGNMENT_MALLOC/#define MEMORY_ALIGNMENT_MALLOC 1/' \
855 856 857 858 859 860 861 862
    -e 's/.* LIBDIR$/#ifdef _DEBUG\n#  define LIBDIR PREFIX "\\\\debug\\\\lib"\n#else\n#  define LIBDIR PREFIX "\\\\lib"\n#endif/' \
    -e 's/.* LOCALEDIR$/#define LOCALEDIR PREFIX "\\\\share\\\\locale"/' \
    -e 's/.* PACKAGE$/#define PACKAGE "gstreamer"/' \
    -e 's/.* PACKAGE_BUGREPORT$/#define PACKAGE_BUGREPORT "http:\/\/bugzilla.gnome.org\/enter_bug.cgi?product=GStreamer"/' \
    -e 's/.* PACKAGE_NAME$/#define PACKAGE_NAME "'$PACKAGE_NAME'"/' \
    -e "s/.* PACKAGE_STRING$/#define PACKAGE_STRING \"$PACKAGE_STRING\"/" \
    -e 's/.* PACKAGE_TARNAME$/#define PACKAGE_TARNAME "'$PACKAGE_TARNAME'"/' \
    -e 's/.* PACKAGE_VERSION$/#define PACKAGE_VERSION "'$PACKAGE_VERSION'"/' \
Sebastian Dröge's avatar
Sebastian Dröge committed
863
    -e 's/.* PLUGINDIR$/#ifdef _DEBUG\n#  define PLUGINDIR PREFIX "\\\\debug\\\\lib\\\\gstreamer-1.0"\n#else\n#  define PLUGINDIR PREFIX "\\\\lib\\\\gstreamer-1.0"\n#endif/' \
864
    -e 's/.* GST_PLUGIN_SCANNER_INSTALLED$/#define GST_PLUGIN_SCANNER_INSTALLED LIBDIR "\\\\gst-plugin-scanner"/' \
865 866 867
    -e 's/.* VERSION$/#define VERSION "'$VERSION'"/' \
    config.h.in >win32/common/config.h-new

868
AC_OUTPUT
Stefan Kost's avatar
Stefan Kost committed
869 870

dnl negate for output
871
if test "x${GST_DISABLE_GST_DEBUG}" = "xno"; then enable_gst_debug="yes"; fi
Stefan Kost's avatar
Stefan Kost committed
872 873 874 875 876
if test "x${GST_DISABLE_PARSE}" = "xno"; then enable_parse="yes"; fi
if test "x${GST_DISABLE_OPTION_PARSING}" = "xno"; then enable_option_parsing="yes"; fi
if test "x${GST_DISABLE_TRACE}" = "xno"; then enable_trace="yes"; fi
if test "x${GST_DISABLE_ALLOC_TRACE}" = "xno"; then enable_alloc_trace="yes"; fi
if test "x${GST_DISABLE_PLUGIN}" = "xno"; then enable_plugin="yes"; fi
877
if test "x${GST_DISABLE_REGISTRY}" = "xno"; then enable_registry="yes"; fi
Stefan Kost's avatar
Stefan Kost committed
878 879 880 881 882 883 884

echo "

Configuration
	Version                    : ${VERSION}
	Source code location       : ${srcdir}
	Prefix                     : ${prefix}
885
	Compiler                   : ${CC}
Stefan Kost's avatar
Stefan Kost committed
886 887 888 889 890 891
	Package name               : ${GST_PACKAGE_NAME}
	Package origin             : ${GST_PACKAGE_ORIGIN}

	Documentation (manuals)    : ${enable_docbook}
	Documentation (API)        : ${enable_gtk_doc}

892
	Debug Logging              : ${enable_gst_debug}
Stefan Kost's avatar
Stefan Kost committed
893 894 895 896
	Command-line parser        : ${enable_parse}
	Option parsing in gst_init : ${enable_option_parsing}
	Tracing subsystem          : ${enable_trace}
	Allocation tracing         : ${enable_alloc_trace}
897 898
	Plugin registry            : ${enable_registry}
	Plugin support	           : ${enable_plugin}
899
	Static plugins             : ${enable_static_plugins}
900
	Unit testing support       : ${BUILD_CHECK}
Stefan Kost's avatar
Stefan Kost committed
901 902 903 904

	Debug                      : ${USE_DEBUG}
	Profiling                  : ${USE_PROFILING}

905
	Building benchmarks        : ${BUILD_BENCHMARKS}
Stefan Kost's avatar
Stefan Kost committed
906 907 908
	Building examples          : ${BUILD_EXAMPLES}
	Building test apps         : ${BUILD_TESTS}
	Building tests that fail   : ${BUILD_FAILING_TESTS}
909
	Building tools             : ${BUILD_TOOLS}
Stefan Kost's avatar
Stefan Kost committed
910
"