1AC_PREREQ([2.69]) 2 3dnl initialize autoconf 4dnl when going to/from release please set the nano (fourth number) right ! 5dnl releases only do Wall, git and prerelease does Werror too 6dnl 7AC_INIT([GStreamer],[1.16.2],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gstreamer]) 8AG_GST_INIT 9 10dnl initialize automake (we require GNU make) 11AM_INIT_AUTOMAKE([-Wno-portability 1.14 no-dist-gzip dist-xz tar-ustar subdir-objects]) 12 13dnl define PACKAGE_VERSION_* variables 14AS_VERSION 15 16dnl check if this is a release version 17AS_NANO(GST_GIT="no", GST_GIT="yes") 18 19dnl can autoconf find the source ? 20AC_CONFIG_SRCDIR([gst/gst.c]) 21 22dnl define the output header for config 23AC_CONFIG_HEADERS([config.h]) 24 25dnl AM_MAINTAINER_MODE only provides the option to configure to enable it 26AM_MAINTAINER_MODE([enable]) 27 28dnl sets host_* variables 29AC_CANONICAL_HOST 30 31dnl use pretty build output by default 32AM_SILENT_RULES([yes]) 33 34dnl GStreamer versioning, this is mostly informational 35GST_VERSION_MAJOR=$PACKAGE_VERSION_MAJOR 36GST_VERSION_MINOR=$PACKAGE_VERSION_MINOR 37GST_VERSION_MICRO=$PACKAGE_VERSION_MICRO 38GST_VERSION_NANO=$PACKAGE_VERSION_NANO 39AC_SUBST(GST_VERSION_MAJOR) 40AC_SUBST(GST_VERSION_MINOR) 41AC_SUBST(GST_VERSION_MICRO) 42AC_SUBST(GST_VERSION_NANO) 43 44dnl our libraries and install dirs use GST_API_VERSION in the filename 45dnl to allow side-by-side installation of different API versions 46GST_API_VERSION=1.0 47AC_SUBST(GST_API_VERSION) 48AC_DEFINE_UNQUOTED(GST_API_VERSION, "$GST_API_VERSION", 49 [GStreamer API Version]) 50 51dnl CURRENT, REVISION, AGE 52dnl - library source changed -> increment REVISION 53dnl - interfaces added/removed/changed -> increment CURRENT, REVISION = 0 54dnl - interfaces added -> increment AGE 55dnl - interfaces removed -> AGE = 0 56dnl 57dnl Keep CURRENT as MINOR * 100 + MICRO 58dnl Ex : 1.0.0 => 0 59dnl 1.0.3 => 3 60dnl 1.1.0 => 100 61dnl 1.2.5 => 205 62dnl 1.10.9 (who knows) => 1009 63dnl 64dnl sets GST_LT_LDFLAGS 65AS_LIBTOOL(GST, 1602, 0, 1602) 66 67dnl *** autotools stuff **** 68 69dnl allow for different autotools 70AS_AUTOTOOLS_ALTERNATE 71 72dnl Add parameters for aclocal (keep in sync with Makefile.am) 73AC_SUBST(ACLOCAL_AMFLAGS, "-I m4 -I common/m4") 74 75dnl set up gettext 76dnl the version check needs to stay here because autopoint greps for it 77AM_GNU_GETTEXT_VERSION([0.17]) 78AM_GNU_GETTEXT([external]) 79AG_GST_GETTEXT([gstreamer-$GST_API_VERSION]) 80 81dnl *** check for arguments to configure *** 82 83AG_GST_ARG_DISABLE_FATAL_WARNINGS 84AG_GST_ARG_ENABLE_EXTRA_CHECKS 85 86dnl subsystems - can influence other decisions so needs to be high up 87dnl we need to AM_CONDITIONAL them here for automake 1.6.x compatibility 88AG_GST_CHECK_SUBSYSTEM_DISABLE(GST_DEBUG,[debugging subsystem]) 89AM_CONDITIONAL(GST_DISABLE_GST_DEBUG, test "x$GST_DISABLE_GST_DEBUG" = "xyes") 90AG_GST_CHECK_SUBSYSTEM_DISABLE(GST_TRACER_HOOKS,[tracing subsystem hooks]) 91AM_CONDITIONAL(GST_DISABLE_GST_TRACER_HOOKS, test "x$GST_DISABLE_GST_TRACER_HOOKS" = "xyes") 92if test "x$GST_DISABLE_GST_TRACER_HOOKS" = xyes; then 93 AC_DEFINE(GST_DISABLE_GST_TRACER_HOOKS, 1, 94 [Define if tracing subsystem hooks is disabled]) 95fi 96AG_GST_CHECK_SUBSYSTEM_DISABLE(PARSE,[command-line parser]) 97AM_CONDITIONAL(GST_DISABLE_PARSE, test "x$GST_DISABLE_PARSE" = "xyes") 98if test "x$GST_DISABLE_PARSE" = xyes; then 99 AC_DEFINE(GST_DISABLE_PARSE, 1, 100 [Define if pipeline parsing code is disabled]) 101fi 102AG_GST_CHECK_SUBSYSTEM_DISABLE(OPTION_PARSING,[option parsing when gst_init]) 103AM_CONDITIONAL(GST_DISABLE_OPTION_PARSING, test "x$GST_DISABLE_OPTION_PARSING" = "xyes") 104if test "x$GST_DISABLE_OPTION_PARSING" = xyes; then 105 AC_DEFINE(GST_DISABLE_OPTION_PARSING, 1, 106 [Define if option parsing is disabled]) 107fi 108AG_GST_CHECK_SUBSYSTEM_DISABLE(REGISTRY,[plugin registry]) 109AM_CONDITIONAL(GST_DISABLE_REGISTRY, test "x$GST_DISABLE_REGISTRY" = "xyes") 110dnl define a substitution to use in docs/gst/gstreamer.types 111if test "x$GST_DISABLE_REGISTRY" = "xyes" 112then 113 GST_REGISTRY_DOC_TYPES="%" 114else 115 GST_REGISTRY_DOC_TYPES= 116fi 117AC_SUBST(GST_REGISTRY_DOC_TYPES) 118AG_GST_CHECK_SUBSYSTEM_DISABLE(PLUGIN,[plugin]) 119AM_CONDITIONAL(GST_DISABLE_PLUGIN, test "x$GST_DISABLE_PLUGIN" = "xyes") 120 121GST_DISABLE_CAST_CHECKS_DEFINE=0 122AC_SUBST(GST_DISABLE_CAST_CHECKS_DEFINE) 123 124GST_DISABLE_GLIB_ASSERTS_DEFINE=0 125AC_SUBST(GST_DISABLE_GLIB_ASSERTS_DEFINE) 126 127GST_DISABLE_GLIB_CHECKS_DEFINE=0 128AC_SUBST(GST_DISABLE_GLIB_CHECKS_DEFINE) 129 130 131AG_GST_ARG_DEBUG 132AG_GST_ARG_PROFILING 133AG_GST_ARG_VALGRIND 134AG_GST_ARG_GCOV 135 136AG_GST_ARG_EXAMPLES 137 138AG_GST_ARG_WITH_PKG_CONFIG_PATH 139AG_GST_ARG_WITH_PACKAGE_NAME 140AG_GST_ARG_WITH_PACKAGE_ORIGIN 141 142AG_GST_PKG_CONFIG_PATH 143 144AG_GST_SET_PACKAGE_RELEASE_DATETIME_WITH_NANO([$PACKAGE_VERSION_NANO], 145 ["${srcdir}/gstreamer.doap"], 146 [$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_MICRO]) 147 148# We only use this when building with MSVC, which is only done with the 149# alternate Meson build system files 150GSTCONFIG_BUILT_WITH_MSVC=0 151AC_SUBST(GSTCONFIG_BUILT_WITH_MSVC) 152 153dnl check for bash completion 154AC_ARG_WITH([bash-completion-dir], 155 AS_HELP_STRING([--with-bash-completion-dir[=PATH]], 156 [Install the bash auto-completion script in this directory. @<:@default=yes@:>@]), 157 [], 158 [with_bash_completion_dir=yes]) 159 160if test "x$with_bash_completion_dir" = "xyes" 161then 162 extra_args= 163 164 if test "x$prefix" != "xNONE" 165 then 166 extra_args="--define-variable=prefix=\"$prefix\"" 167 fi 168 169 PKG_CHECK_MODULES([BASH_COMPLETION], [bash-completion >= 2.0], 170 [ 171 BASH_COMPLETION_DIR="`eval pkg-config $extra_args --variable=completionsdir bash-completion`" 172 BASH_HELPERS_DIR="`eval pkg-config $extra_args --variable=helpersdir bash-completion`" 173 ], 174 [ 175 BASH_COMPLETION_DIR="$datadir/bash-completion/completions" 176 BASH_HELPERS_DIR="$datadir/bash-completion/helpers" 177 ]) 178else 179 BASH_COMPLETION_DIR="$with_bash_completion_dir/completions" 180 BASH_HELPERS_DIR="$with_bash_completion_dir/helpers" 181fi 182 183AC_SUBST([BASH_COMPLETION_DIR]) 184AC_SUBST([BASH_HELPERS_DIR]) 185AM_CONDITIONAL([ENABLE_BASH_COMPLETION],[test "x$with_bash_completion_dir" != "xno"]) 186 187dnl If only building static libraries, define GST_STATIC_COMPILATION. This is 188dnl needed only on Windows, but it doesn't hurt to have it everywhere. 189if test x$enable_static = xyes -a x$enable_shared = xno; then 190 GST_OBJ_STATIC_CFLAGS="-DGST_STATIC_COMPILATION" 191fi 192 193dnl building of tests 194AC_ARG_ENABLE(tests, 195 AS_HELP_STRING([--disable-tests],[disable building test apps]), 196 [ 197 case "${enableval}" in 198 yes) BUILD_TESTS=yes ;; 199 no) BUILD_TESTS=no ;; 200 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tests) ;; 201 esac 202 ], 203[BUILD_TESTS=yes]) dnl Default value 204AM_CONDITIONAL(BUILD_TESTS, test "x$BUILD_TESTS" = "xyes") 205 206dnl tests known to fail 207AC_ARG_ENABLE(failing-tests, 208 AS_HELP_STRING([--disable-failing-tests],[disable building tests known to fail]), 209 [ 210 case "${enableval}" in 211 yes) BUILD_FAILING_TESTS=yes ;; 212 no) BUILD_FAILING_TESTS=no ;; 213 *) AC_MSG_ERROR(bad value ${enableval} for --disable-failing-tests) ;; 214 esac 215 ], 216 [BUILD_FAILING_TESTS=no]) dnl Default value 217AM_CONDITIONAL(BUILD_FAILING_TESTS, test "x$BUILD_FAILING_TESTS" = "xyes") 218if test x$BUILD_FAILING_TESTS = xyes; then 219 AC_MSG_WARN([building tests known to fail, use --disable-failing-tests to disable]) 220else 221 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.]) 222fi 223 224dnl building of benchmarks 225AC_ARG_ENABLE(benchmarks, 226 AS_HELP_STRING([--disable-benchmarks],[disable building benchmarks apps]), 227 [ 228 case "${enableval}" in 229 yes) BUILD_BENCHMARKS=yes ;; 230 no) BUILD_BENCHMARKS=no ;; 231 *) AC_MSG_ERROR(bad value ${enableval} for --disable-benchmarks) ;; 232 esac 233 ], 234[BUILD_BENCHMARKS=yes]) dnl Default value 235AM_CONDITIONAL(BUILD_BENCHMARKS, test "x$BUILD_BENCHMARKS" = "xyes") 236 237dnl building of tools 238AC_ARG_ENABLE(tools, 239 AS_HELP_STRING([--disable-tools],[disable building tools]), 240 [ 241 case "${enableval}" in 242 yes) BUILD_TOOLS=yes ;; 243 no) BUILD_TOOLS=no ;; 244 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tools) ;; 245 esac 246 ], 247[BUILD_TOOLS=yes]) dnl Default value 248AM_CONDITIONAL(BUILD_TOOLS, test "x$BUILD_TOOLS" = "xyes") 249 250dnl poison destroyed objects 251AC_ARG_ENABLE(poisoning, 252 AS_HELP_STRING([--enable-poisoning],[enable poisoning of deallocated objects]), 253 [ 254 case "${enableval}" in 255 yes) USE_POISONING=yes ;; 256 no) USE_POISONING=no ;; 257 *) AC_MSG_ERROR(bad value ${enableval} for --enable-poisoning) ;; 258 esac 259 ], 260 [USE_POISONING=$GST_GIT]) dnl Default value 261if test "x$USE_POISONING" = xyes; then 262 AC_DEFINE(USE_POISONING, 1, 263 [Define if we should poison deallocated memory]) 264fi 265 266dnl PTP support parts 267AC_MSG_CHECKING([whether PTP support can be enabled]) 268case "$host_os" in 269 *android*) 270 dnl Can't run on Android because of permissions 271 HAVE_PTP=no 272 ;; 273 mingw*|pw32*|cygwin*) 274 dnl Not ported to Windows yet 275 HAVE_PTP=no 276 ;; 277 darwin*) 278 dnl Can't run on iOS because of permissions 279 AC_CHECK_HEADER(MobileCoreServices/MobileCoreServices.h, HAVE_PTP="no", HAVE_PTP="yes", [-]) 280 ;; 281 linux*|darwin*|solaris*|netbsd*|freebsd*|openbsd*|kfreebsd*|dragonfly*|gnu*) 282 HAVE_PTP=yes 283 ;; 284 *) 285 HAVE_PTP=no 286 ;; 287esac 288AC_MSG_RESULT([$HAVE_PTP]) 289 290dnl user/group to change to in gst-ptp-helper 291AC_ARG_WITH([ptp-helper-setuid-user], 292 AS_HELP_STRING([--with-ptp-helper-setuid-user],[User to switch to when installing gst-ptp-helper setuid root]), 293 [ 294 if test "x$withval" != "x" 295 then 296 AC_DEFINE_UNQUOTED(HAVE_PTP_HELPER_SETUID_USER, "$withval", [PTP helper setuid user]) 297 fi 298 ], [] 299) 300 301dnl group/group to change to in gst-ptp-helper 302AC_ARG_WITH([ptp-helper-setuid-group], 303 AS_HELP_STRING([--with-ptp-helper-setuid-group],[Group to switch to when installing gst-ptp-helper setuid root]), 304 [ 305 if test "x$withval" != "x" 306 then 307 AC_DEFINE_UNQUOTED(HAVE_PTP_HELPER_SETUID_GROUP, "$withval", [PTP helper setuid group]) 308 fi 309 ], [] 310) 311 312AC_ARG_WITH( 313 ptp-helper-permissions, 314 AC_HELP_STRING( 315 [--with-ptp-helper-permissions], 316 [how to gain PTP permissions (none, setuid-root, capabilities, auto)]), 317 [], 318 [with_ptp_helper_permissions=auto]) 319 320gst_ptp_have_cap=no 321AG_GST_CHECK_LIBHEADER(CAP, cap, 322 cap_init, , 323 sys/capability.h, 324 CAP_LIBS="-lcap" 325 AC_SUBST(CAP_LIBS) 326 gst_ptp_have_cap=yes) 327 328AC_PATH_PROG([SETCAP], [setcap], [no], [$PATH:/usr/bin:/bin:/usr/sbin:/sbin]) 329 330if test "x$HAVE_PTP" = "xyes"; then 331AC_DEFINE(HAVE_PTP, 1, [PTP support available]) 332 333AC_MSG_CHECKING([for SIOCGIFCONF, SIOCGIFFLAGS and SIOCGIFHWADDR]) 334AC_COMPILE_IFELSE([AC_LANG_PROGRAM( 335 [[ 336 #include <sys/ioctl.h> 337 #include <net/if.h> 338 ]], 339 [[ 340 struct ifreq ifr; 341 struct ifconf ifc; 342 ioctl(0, SIOCGIFCONF, &ifc); 343 ioctl(0, SIOCGIFFLAGS, &ifr); 344 ioctl(0, SIOCGIFHWADDR, &ifr); 345 int dummy = ifr.ifr_hwaddr.sa_data[0]; 346 ]])], [ 347 AC_MSG_RESULT(yes) 348 AC_DEFINE(HAVE_SIOCGIFCONF_SIOCGIFFLAGS_SIOCGIFHWADDR, 1, [SIOCGIFCONF, SIOCGIFFLAGS and SIOCGIFHWADDR is available]) 349 ], [ 350 AC_MSG_RESULT(no) 351]) 352 353AC_MSG_CHECKING([for getifaddrs() and AF_LINK]) 354AC_COMPILE_IFELSE([AC_LANG_PROGRAM( 355 [[ 356 #include <ifaddrs.h> 357 #include <net/if.h> 358 #include <net/if_dl.h> 359 ]], 360 [[ 361 struct ifaddrs *ifaddr; 362 getifaddrs(&ifaddr); 363 int dummy = (ifaddr->ifa_flags & IFF_LOOPBACK) && ifaddr->ifa_addr->sa_family != AF_LINK; 364 ]])], [ 365 AC_MSG_RESULT(yes) 366 AC_DEFINE(HAVE_GETIFADDRS_AF_LINK, 1, [getifaddrs() and AF_LINK is available]) 367 ], [ 368 AC_MSG_RESULT(no) 369 ]) 370 371AC_MSG_CHECKING([how to install gst-ptp-helper]) 372if test "x$with_ptp_helper_permissions" = "xauto"; then 373 if test "x$gst_ptp_have_cap" = "xyes" -a "x$SETCAP" != "xno"; then 374 with_ptp_helper_permissions="capabilities" 375 else 376 with_ptp_helper_permissions="setuid-root" 377 fi 378fi 379AC_MSG_RESULT([$with_ptp_helper_permissions]) 380 381case "$with_ptp_helper_permissions" in 382 none) 383 ;; 384 setuid-root) 385 AC_DEFINE(HAVE_PTP_HELPER_SETUID, 1, 386 [Use setuid-root for permissions in PTP helper]) 387 ;; 388 capabilities) 389 AC_DEFINE(HAVE_PTP_HELPER_CAPABILITIES, 1, 390 [Use capabilities for permissions in PTP helper]) 391 ;; 392 *) 393 AC_MSG_ERROR(Invalid parameter [$with_ptp_helper_permissions]) 394 ;; 395esac 396 397fi 398 399AM_CONDITIONAL(HAVE_PTP, test "x$HAVE_PTP" = "xyes") 400AM_CONDITIONAL(HAVE_PTP_HELPER_SETUID, test "x$with_ptp_helper_permissions" = "xsetuid-root") 401AM_CONDITIONAL(HAVE_PTP_HELPER_CAPABILITIES, test "x$with_ptp_helper_permissions" = "xcapabilities") 402 403dnl *** checks for platform *** 404 405dnl * hardware/architecture * 406 407dnl common/m4/gst-arch.m4 408dnl check CPU type 409AG_GST_ARCH 410 411dnl check for platform specific settings 412AG_GST_PLATFORM 413 414dnl * software * 415 416dnl check for large file support 417dnl affected plugins must include config.h 418AC_SYS_LARGEFILE 419 420dnl *** checks for programs *** 421 422dnl find a compiler 423AC_PROG_CC 424AC_PROG_CC_STDC 425 426dnl check if the compiler supports '-c' and '-o' options 427AM_PROG_CC_C_O 428 429dnl find an assembler 430AM_PROG_AS 431 432dnl determine if c++ is available on this system 433AC_PROG_CXX 434dnl CXX may be set to some default even if no c++ compiler is available 435dnl (thanks autotools!), so just try to compile some c++ code to make sure 436AC_LANG_PUSH([C++]) 437AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ class Foo { int bar; };]], [[]])],[working_cxx=yes],[working_cxx=no]) 438AC_LANG_POP([C++]) 439AC_MSG_NOTICE([working c++ compiler found: $working_cxx]) 440AM_CONDITIONAL(HAVE_CXX, test "x$working_cxx" = "xyes") 441 442dnl Perl is used in building documentation and in the version checks 443AC_PATH_PROG(PERL_PATH, perl, no) 444if test x$PERL_PATH = xno; then 445 AC_MSG_ERROR(Could not find perl) 446fi 447 448dnl we require flex and bison for building the parser 449if test "x$GST_DISABLE_PARSE" != xyes; then 450 AG_GST_BISON_CHECK 451 AG_GST_FLEX_CHECK 452fi 453 454AC_PATH_PROG(VALGRIND_PATH, valgrind, no) 455AM_CONDITIONAL(HAVE_VALGRIND, test ! "x$VALGRIND_PATH" = "xno") 456 457dnl check for gobject-introspection 458GOBJECT_INTROSPECTION_CHECK([1.31.1]) 459 460dnl check for documentation tools 461GTK_DOC_CHECK([1.12]) 462AG_GST_PLUGIN_DOCS([1.12]) 463 464dnl *** checks for libraries *** 465 466dnl check for libm, for sin() 467LT_LIB_M 468AC_SUBST(LIBM) 469 470dnl *** checks for header files *** 471 472dnl check if we have ANSI C header files 473AC_HEADER_STDC 474 475dnl Check for ucontext.h 476AC_CHECK_HEADERS([ucontext.h], [], [], [AC_INCLUDES_DEFAULT]) 477 478dnl Check for sys/socket.h 479AC_CHECK_HEADERS([sys/socket.h], [HAVE_SYS_SOCKET_H=yes], [HAVE_SYS_SOCKET_H=no], [AC_INCLUDES_DEFAULT]) 480AM_CONDITIONAL(HAVE_SYS_SOCKET_H, test "x$HAVE_SYS_SOCKET_H" = "xyes") 481 482dnl check for sys/times.h for tests/examples/adapter/ 483AC_CHECK_HEADERS([sys/times.h], [HAVE_SYS_TIMES_H=yes], [HAVE_SYS_TIME_H=no], [AC_INCLUDES_DEFAULT]) 484AC_CHECK_HEADERS([unistd.h], [HAVE_UNISTD_H=yes], [HAVE_UNISTD_H=no], [AC_INCLUDES_DEFAULT]) 485AM_CONDITIONAL(HAVE_SYS_TIMES_H_AND_UNISTD_H, test "x$HAVE_SYS_TIMES_H" = "xyes" -a "x$HAVE_UNISTD_H" = "xyes") 486 487dnl Check for process.h for getpid() on win32 488AC_CHECK_HEADERS([process.h], [], [], [AC_INCLUDES_DEFAULT]) 489 490dnl Check for sys/utsname.h for uname 491AC_CHECK_HEADERS([sys/utsname.h], [], [], [AC_INCLUDES_DEFAULT]) 492 493dnl Check for stdio_ext.f for __fbufsize 494AC_CHECK_HEADERS([stdio_ext.h], [], [], [AC_INCLUDES_DEFAULT]) 495 496dnl check for pthreads 497dnl without arguments AX_PTHREAD() will do AC_DEFINE(HAVE_PTHREAD) 498dnl which later checks use in their test code 499AX_PTHREAD() 500AM_CONDITIONAL(HAVE_PTHREAD, test "x$ax_pthread_ok" = "xyes") 501 502dnl check for sys/prctl for setting thread name on Linux 503AC_CHECK_HEADERS([sys/prctl.h], [], [], [AC_INCLUDES_DEFAULT]) 504 505dnl check for pthread_setname_np(const char*) 506dnl which is present on OS X 10.6, iOS 3.2 and above 507AC_MSG_CHECKING(for pthread_setname_np(const char*)) 508AC_LINK_IFELSE( 509 [AC_LANG_PROGRAM( 510 [#include <pthread.h>], 511 [pthread_setname_np("example")])], 512 [AC_MSG_RESULT(yes) 513 AC_DEFINE(HAVE_PTHREAD_SETNAME_NP_WITHOUT_TID,1, 514 [Have function pthread_setname_np(const char*)])], 515 [AC_MSG_RESULT(no)]) 516 517dnl check for sys/uio.h for writev() 518AC_CHECK_HEADERS([sys/uio.h], [], [], [AC_INCLUDES_DEFAULT]) 519 520dnl Check for valgrind.h 521dnl separate from HAVE_VALGRIND because you can have the program, but not 522dnl the dev package 523AC_CHECK_HEADERS([valgrind/valgrind.h], [], [], [AC_INCLUDES_DEFAULT]) 524 525dnl used in gst/gstpoll.c 526AC_CHECK_HEADERS([winsock2.h], [HAVE_WINSOCK2_H=yes], [HAVE_WINSOCK2_H=no], [AC_INCLUDES_DEFAULT]) 527AM_CONDITIONAL(HAVE_WINSOCK2_H, test "x$HAVE_WINSOCK2_H" = "xyes") 528if test "x$HAVE_WINSOCK2_H" = "xyes"; then 529 WIN32_LIBS="-lws2_32" 530 AC_SUBST(WIN32_LIBS) 531fi 532 533dnl check for GMP/GSL, used by the gst_util_uint64_scale unit test only 534if test "x$BUILD_TESTS" = "xyes"; then 535 AG_GST_CHECK_LIBHEADER(GMP, gmp, 536 __gmpz_init_set_d, , 537 gmp.h, 538 GMP_LIBS="-lgmp" 539 AC_SUBST(GMP_LIBS) 540 AC_DEFINE(HAVE_GMP, [1],[Have GMP library])) 541 AG_GST_CHECK_LIBHEADER(GSL, gsl, 542 gsl_rng_uniform_int, -lgslcblas, 543 gsl/gsl_rng.h, 544 GSL_LIBS="-lgsl -lgslcblas" 545 AC_SUBST(GSL_LIBS) 546 AC_DEFINE(HAVE_GSL, [1],[Have GSL library])) 547fi 548 549dnl *** checks for types/defines *** 550 551dnl *** checks for structures *** 552 553dnl *** checks for compiler characteristics *** 554 555dnl check if the compiler supports __uint128_t (gcc) 556dnl Actually check for 128-bit division, since that's what we use 557dnl uint128_t for. 558AC_CACHE_CHECK(for __uint128_t, gst_cv_uint128_t, 559 AC_LINK_IFELSE([AC_LANG_PROGRAM([[ ]], [[ 560 static __uint128_t v1 = 100; 561 static __uint128_t v2 = 10; 562 static __uint128_t u; 563 u = v1 / v2; 564 ]])],[ 565 gst_cv_uint128_t=yes 566 ],[ 567 gst_cv_uint128_t=no 568 ]) 569) 570if test x$gst_cv_uint128_t = xyes; then 571 AC_DEFINE(HAVE_UINT128_T, 1, [Have __uint128_t type]) 572fi 573 574dnl *** checking for tm_gmtoff *** 575AC_MSG_CHECKING([for tm_gmtoff]) 576AC_RUN_IFELSE([AC_LANG_SOURCE([[ 577 #include <time.h> 578 int main(void) { 579 struct tm t; 580 t.tm_gmtoff = 0; 581 exit(0); 582 }]])], 583 [have_tm_gmtoff=yes 584 AC_DEFINE(HAVE_TM_GMTOFF,1,[Have tm_gmtoff field in struct tm])], 585 [have_tm_gmtoff=no], 586 [have_tm_gmtoff="no (cross compiling)"]) 587AC_MSG_RESULT($have_tm_gmtoff) 588 589 590dnl *** checks for library functions *** 591 592AC_CHECK_FUNCS([strcasestr]) 593 594AC_CHECK_FUNCS([gmtime_r]) 595AC_CHECK_FUNCS([localtime_r]) 596AC_CHECK_FUNCS([sigaction]) 597AC_CHECK_FUNCS([getrusage]) 598AM_CONDITIONAL(HAVE_GETRUSAGE, test "x$ac_cv_func_getrusage" = "xyes") 599AC_CHECK_HEADERS([sys/resource.h]) 600 601dnl check for fseeko() 602AC_FUNC_FSEEKO 603dnl check for ftello() 604AC_CHECK_FUNCS([ftello]) 605 606AC_CHECK_FUNCS([fgetpos]) 607AC_CHECK_FUNCS([fsetpos]) 608 609dnl check for poll(), ppoll() and pselect() 610AC_CHECK_HEADERS([sys/poll.h], [], [], [AC_INCLUDES_DEFAULT]) 611AC_CHECK_HEADERS([poll.h], [], [], [AC_INCLUDES_DEFAULT]) 612AC_CHECK_FUNCS([poll]) 613AC_CHECK_FUNCS([ppoll]) 614AC_CHECK_FUNCS([pselect]) 615 616dnl check for socketpair() 617AC_CHECK_FUNC(socketpair, [], [ 618 AC_CHECK_LIB(socket, socketpair, [ 619 SOCKET_LIBS="-lsocket" 620 AC_SUBST(SOCKET_LIBS) 621 ]) 622]) 623 624dnl **************************************** 625dnl *** GLib POLL* compatibility defines *** 626dnl **************************************** 627 628AC_MSG_CHECKING([for broken poll]) 629AC_RUN_IFELSE([AC_LANG_SOURCE([[ 630 #include <stdlib.h> 631 #include <fcntl.h> 632 #ifdef HAVE_SYS_POLL_H 633 #include <sys/poll.h> 634 #endif 635 #ifdef HAVE_POLL_H 636 #include <poll.h> 637 #endif 638 int main(void) { 639 struct pollfd fds[1]; 640 int fd; 641 fd = open("/dev/null", 1); 642 fds[0].fd = fd; 643 fds[0].events = POLLIN; 644 fds[0].revents = 0; 645 if (poll(fds, 1, 0) < 0 || (fds[0].revents & POLLNVAL) != 0) { 646 exit(1); /* Does not work for devices -- fail */ 647 } 648 exit(0); 649 }]])], 650 [broken_poll=no], 651 [broken_poll=yes 652 AC_DEFINE(BROKEN_POLL,1,[poll doesn't work on devices])], 653 [broken_poll="no (cross compiling)"]) 654AC_MSG_RESULT($broken_poll) 655 656dnl check for getpagesize() 657AC_CHECK_FUNCS([getpagesize]) 658 659dnl Check for POSIX timers 660CLOCK_GETTIME_FOUND="no" 661AC_CHECK_FUNC(clock_gettime, [CLOCK_GETTIME_FOUND="yes"], [ 662 AC_CHECK_LIB(rt, clock_gettime, [ 663 CLOCK_GETTIME_FOUND="yes" 664 LIBS="$LIBS -lrt" 665 ], [ 666 AC_CHECK_LIB(pthread, clock_gettime, [ 667 CLOCK_GETTIME_FOUND="yes" 668 LIBS="$LIBS -lpthread" 669 ]) 670 ]) 671]) 672 673# With XCode 8, clock_gettime will be incorrectly detected as being available 674# regardless of what version of OS X you target because the symbol is available 675# in the .tbd file as a weak symbol. 676# See: https://bugzilla.gnome.org/show_bug.cgi?id=772451 677# 678# We cannot simply do AC_CHECK_FUNCS with -Wl,-no_weak_imports because the 679# autoconf check does its own prototype declaration that doesn't trigger that 680# compiler flag. 681# 682# It's only starting from macOS 10.12 and iOS 10.0 that clock_gettime is 683# actually available, so we can unconditionally disable it for older versions. 684case "$host_os" in 685 darwin*) 686 AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ 687#include <AvailabilityMacros.h> 688#include <TargetConditionals.h> 689#if defined(TARGET_OS_MAC) 690# if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_12 691# error "Not compiling for OS X 10.12 or later" 692# endif 693#else 694# if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_10_0 695# error "Not compiling for iOS 10.0 or later" 696# endif 697#endif 698 ]])], [], [ 699 if test "$CLOCK_GETTIME_FOUND" = "yes"; then 700 AC_MSG_NOTICE([Disabling incorrectly detected clock_gettime on OS X]) 701 fi 702 CLOCK_GETTIME_FOUND="no" 703 ]) 704 ;; 705esac 706 707if test "$CLOCK_GETTIME_FOUND" = "yes"; then 708 AC_DEFINE(HAVE_CLOCK_GETTIME, 1, [Have clock_gettime]) 709fi 710 711AC_CACHE_CHECK(for posix timers, gst_cv_posix_timers, 712 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ 713#include <time.h> 714#ifdef HAVE_UNISTD_H 715#include <unistd.h> 716#endif 717 ]], [[ 718#if !defined(_POSIX_TIMERS) || _POSIX_TIMERS < 0 || !defined(CLOCK_REALTIME) 719#error Either _POSIX_TIMERS or CLOCK_REALTIME not defined 720#endif 721 ]])],[ 722 gst_cv_posix_timers=yes 723 ],[ 724 gst_cv_posix_timers=no 725 ]) 726) 727 728if test "$gst_cv_posix_timers" = "yes"; then 729 AC_DEFINE(HAVE_POSIX_TIMERS,1,[Have posix timers]) 730 GST_HAVE_POSIX_TIMERS_DEFINE="#define GST_HAVE_POSIX_TIMERS 1" 731else 732 GST_HAVE_POSIX_TIMERS_DEFINE="#define GST_HAVE_POSIX_TIMERS 0" 733fi 734AC_SUBST(GST_HAVE_POSIX_TIMERS_DEFINE) 735AM_CONDITIONAL(GST_HAVE_POSIX_TIMERS, test "$gst_cv_posix_timers" = "yes") 736 737AC_CACHE_CHECK(for monotonic clock, gst_cv_monotonic_clock, 738 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ 739#include <time.h> 740#ifdef HAVE_UNISTD_H 741#include <unistd.h> 742#endif 743 ]], [[ 744#if !defined(_POSIX_MONOTONIC_CLOCK) || _POSIX_MONOTONIC_CLOCK < 0 || !defined(CLOCK_MONOTONIC) 745#error Either _POSIX_MONOTONIC_CLOCK or CLOCK_MONOTONIC not defined 746#endif 747 ]])],[ 748 gst_cv_monotonic_clock=yes 749 ],[ 750 gst_cv_monotonic_clock=no 751 ]) 752) 753 754if test "$gst_cv_monotonic_clock" = "yes"; then 755 AC_DEFINE(HAVE_MONOTONIC_CLOCK,1,[Have a monotonic clock]) 756 GST_HAVE_MONOTONIC_CLOCK_DEFINE="#define GST_HAVE_MONOTONIC_CLOCK 1" 757else 758 GST_HAVE_MONOTONIC_CLOCK_DEFINE="#define GST_HAVE_MONOTONIC_CLOCK 0" 759fi 760AC_SUBST(GST_HAVE_MONOTONIC_CLOCK_DEFINE) 761AM_CONDITIONAL(GST_HAVE_MONOTONIC_CLOCK, test "$gst_cv_monotonic_clock" = "yes") 762 763dnl Check for a way to display the function name in debug output 764AG_GST_CHECK_FUNCTION 765 766dnl test if we have dladdr(); we use it for debugging; see gst/gstinfo.c 767save_cflags="$CFLAGS" 768CFLAGS="$CFLAGS -D_GNU_SOURCE" 769AC_CHECK_LIB(dl, dladdr, 770 AC_DEFINE(HAVE_DLADDR, 1, [Defined if we have dladdr ()]) 771 LIBS="$LIBS -ldl") 772CFLAGS="$save_cflags" 773 774dnl Check printf stuff 775if test "x${GST_DISABLE_GST_DEBUG}" != "xyes"; then 776 AC_TYPE_LONG_LONG_INT 777 AC_TYPE_UNSIGNED_LONG_LONG_INT 778 779 if test x$ac_cv_type_long_long_int$ac_cv_type_unsigned_long_long_int = xyesyes; then 780 AC_DEFINE([HAVE_LONG_LONG], [1], [Define to 1 if the system has the type long long]) 781 fi 782 783 dnl /usr/share/aclocal/inttypes_h.m4 - ships with gettext apparently 784 gl_AC_HEADER_INTTYPES_H 785 786 dnl /usr/share/aclocal/stdint_h.m4 - ships with gettext apparently 787 gl_AC_HEADER_STDINT_H 788 789 AC_CHECK_TYPES(ptrdiff_t) 790 791 AC_TYPE_INTMAX_T 792 AC_TYPE_SIZE_T 793fi 794 795dnl *** checks for dependency libraries *** 796 797dnl GLib 798GLIB_REQ=2.40.0 799AG_GST_GLIB_CHECK([$GLIB_REQ]) 800 801dnl Check for documentation xrefs 802GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`" 803AC_SUBST(GLIB_PREFIX) 804 805dnl GTK is optional and only used in examples 806HAVE_GTK=no 807GTK_REQ=3.10 808if test "x$BUILD_EXAMPLES" = "xyes"; then 809 PKG_CHECK_MODULES(GTK, gtk+-3.0 >= $GTK_REQ, HAVE_GTK=yes, HAVE_GTK=no) 810 AC_SUBST(GTK_LIBS) 811 AC_SUBST(GTK_CFLAGS) 812fi 813AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes") 814 815dnl libunwind is optionally used by the leaks tracer 816AC_ARG_WITH([unwind],[AS_HELP_STRING([--with-unwind=yes|no|auto],[use libunwind])], 817 [], [with_unwind=auto]) 818if [ test "x${with_unwind}" != "xno" ]; then 819 PKG_CHECK_MODULES(UNWIND, [libunwind], 820 [ 821 HAVE_UNWIND=yes 822 AC_DEFINE(HAVE_UNWIND, 1, [libunwind available]) 823 UNWIND_REQUIRE=libunwind 824 AC_SUBST(UNWIND_REQUIRE) 825 ], 826 [ 827 HAVE_UNWIND=no 828 if [ test "x${with_unwind}" = "xyes" ]; then 829 AC_MSG_ERROR([could not find libunwind]) 830 fi 831 ]) 832else 833 HAVE_UNWIND=no 834fi 835 836dnl libdw is optionally used to add source lines and numbers to backtraces 837AC_ARG_WITH([dw],[AS_HELP_STRING([--with-dw=yes|no|auto],[use libdw])], 838 [], [with_dw=auto]) 839if [ test "x${with_dw}" != "xno" ]; then 840 PKG_CHECK_MODULES(DW, [libdw], 841 [ 842 HAVE_DW=yes 843 AC_DEFINE(HAVE_DW, 1, [libdw available]) 844 DW_REQUIRE=libdw 845 AC_SUBST(DW_REQUIRE) 846 ], 847 [ 848 HAVE_DW=no 849 if [ test "x${with_dw}" = "xyes" ]; then 850 AC_MSG_ERROR([could not find libdw]) 851 fi 852 ]) 853else 854 HAVE_DW=no 855fi 856 857dnl Check for backtrace() from libc 858AC_CHECK_FUNC(backtrace, [ 859 AC_CHECK_HEADERS([execinfo.h], [ 860 AC_DEFINE(HAVE_BACKTRACE,1,[Have backtrace]) 861 ], [], []) 862]) 863 864dnl building of unit test libraries 865AC_ARG_ENABLE(check, 866 AS_HELP_STRING([--disable-check],[disable building unit test libraries]), 867 [ 868 case "${enableval}" in 869 yes) BUILD_CHECK=yes ;; 870 no) BUILD_CHECK=no ;; 871 *) AC_MSG_ERROR(bad value ${enableval} for --disable-check) ;; 872 esac 873 ], [ 874 dnl Default value 875 case $host_os in 876 mingw* | msvc* | mks*) BUILD_CHECK=no ;; 877 *) BUILD_CHECK=yes ;; 878 esac 879]) 880dnl bit of a misnomer, but keep the conditional named like this so we don't 881dnl have to change too much elsewhere 882AM_CONDITIONAL(HAVE_CHECK, test "x$BUILD_CHECK" = "xyes") 883 884dnl configure the desired memory alignment 885AC_ARG_WITH([memory-alignment], 886 AS_HELP_STRING([--with-memory-alignment],[8,N,malloc,pagesize (default is 32)]), 887 [ 888 if test "x$withval" = "xyes" 889 then 890 AC_DEFINE(MEMORY_ALIGNMENT, 32, [Memory alignment to use]) 891 else 892 case "${withval}" in 893 malloc) AC_DEFINE(MEMORY_ALIGNMENT_MALLOC, 1, [Memory alignment by malloc default]) ;; 894 pagesize) AC_DEFINE(MEMORY_ALIGNMENT_PAGESIZE, 1, [Memory alignment by pagesize]) ;; 895 *) AC_DEFINE_UNQUOTED(MEMORY_ALIGNMENT, ${withval}, [Memory alignment to use]) ;; 896 esac 897 fi 898 ], [ 899 AC_DEFINE(MEMORY_ALIGNMENT_MALLOC, 1, [Memory alignment by malloc default]) 900 ] 901) 902 903dnl Symbol visibility 904VISIBILITY_CFLAGS="" 905AS_COMPILER_FLAG([-fvisibility=hidden], [ 906 VISIBILITY_CFLAGS="-fvisibility=hidden" 907 AC_DEFINE(GST_API_EXPORT, [extern __attribute__ ((visibility ("default")))], [public symbol export define]) 908], [ 909 VISIBILITY_CFLAGS="" 910 AC_DEFINE(GST_API_EXPORT, [extern], [public symbol export define]) 911]) 912AC_SUBST(VISIBILITY_CFLAGS) 913 914dnl Check for -Bsymbolic-functions linker flag used to avoid 915dnl intra-library PLT jumps, if available. 916AC_ARG_ENABLE(Bsymbolic, 917 [AS_HELP_STRING([--disable-Bsymbolic],[avoid linking with -Bsymbolic])],, 918 [SAVED_LDFLAGS="${LDFLAGS}" SAVED_LIBS="${LIBS}" 919 AC_MSG_CHECKING([for -Bsymbolic-functions linker flag]) 920 LDFLAGS=-Wl,-Bsymbolic-functions 921 LIBS= 922 AC_TRY_LINK([], [return 0], 923 AC_MSG_RESULT(yes) 924 enable_Bsymbolic=yes, 925 AC_MSG_RESULT(no) 926 enable_Bsymbolic=no) 927 LDFLAGS="${SAVED_LDFLAGS}" LIBS="${SAVED_LIBS}"]) 928 929 930dnl *** set variables based on configure arguments 931 932dnl set license and copyright notice 933GST_LICENSE="LGPL" 934AC_DEFINE_UNQUOTED(GST_LICENSE, "$GST_LICENSE", [GStreamer license]) 935AC_SUBST(GST_LICENSE) 936 937dnl define LIBDIR, GST_DATADIR so we can inform people where we live 938AS_AC_EXPAND(LIBDIR, $libdir) 939AC_DEFINE_UNQUOTED(LIBDIR, "$LIBDIR", [library dir]) 940AS_AC_EXPAND(DATADIR, $datadir) 941AC_DEFINE_UNQUOTED(GST_DATADIR, "$DATADIR", [data dir]) 942 943dnl set location of plugin directory 944AG_GST_SET_PLUGINDIR 945 946dnl make sure it doesn't complain about unused variables if debugging is disabled 947NO_WARNINGS="" 948if test "x${GST_DISABLE_GST_DEBUG}" = "xyes"; then 949 NO_WARNINGS="-Wno-unused" 950fi 951 952dnl define an ERROR_CFLAGS Makefile variable 953AG_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]) 954 955dnl special warning flags for gst/printf 956AS_COMPILER_FLAG([-Wno-format-nonliteral], [PRINTF_CFLAGS="-Wno-format-nonliteral"]) 957AC_SUBST(PRINTF_CFLAGS) 958 959dnl disable strict aliasing 960AS_COMPILER_FLAG([-fno-strict-aliasing], [EXTRA_CFLAGS="-fno-strict-aliasing"]) 961AC_SUBST(EXTRA_CFLAGS) 962 963dnl define correct level for debugging messages 964AG_GST_SET_LEVEL_DEFAULT($GST_GIT) 965 966dnl *** finalize CFLAGS, LDFLAGS, LIBS 967 968dnl Overview: 969dnl GST_OPTION_CFLAGS: common cflags for profiling, debugging, errors, ... 970dnl GST_ALL_*: vars shared by all built objects 971dnl GST_LIB_LDFLAGS: additional linker flags for all libraries 972dnl GST_OBJ_*: additional vars to link to the core library 973dnl include GST_ALL_* 974dnl GST_LT_LDFLAGS: library versioning of our libraries 975dnl GST_PLUGIN_LDFLAGS: flags to be used for all plugins 976 977dnl GST_OPTION_CFLAGS 978if test "x$USE_DEBUG" = xyes; then 979 PROFILE_CFLAGS="-g" 980fi 981AC_SUBST(PROFILE_CFLAGS) 982 983# GST_DISABLE_DEPRECATED: hide the visibility of deprecated 984# functionality from the API that gstreamer uses 985# GST_REMOVE_DEPRECATED: don't compile deprecated functionality (breaks ABI) 986if test "x$PACKAGE_VERSION_NANO" = "x1"; then 987 dnl Define _only_ when compiling from git (not for pre-releases or releases) 988 DEPRECATED_CFLAGS="-DGST_DISABLE_DEPRECATED" 989else 990 DEPRECATED_CFLAGS="" 991fi 992AC_SUBST(DEPRECATED_CFLAGS) 993 994dnl every flag in GST_OPTION_CFLAGS can be overridden at make time via e.g. 995dnl make DEPRECATED_CFLAGS='' 996GST_OPTION_CFLAGS="\$(WARNING_CFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)" 997GST_OPTION_CXXFLAGS="\$(WARNING_CXXFLAGS) \$(ERROR_CXXFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)" 998GST_OPTION_CFLAGS="$GST_OPTION_CFLAGS" 999GST_OPTION_CXXFLAGS="$GST_OPTION_CXXFLAGS" 1000AC_SUBST(GST_OPTION_CFLAGS) 1001AC_SUBST(GST_OPTION_CXXFLAGS) 1002 1003dnl GST_ALL_* 1004dnl vars common to for all internal objects (core libs, elements, applications) 1005dnl CFLAGS: 1006dnl - src and build dirs need to be added because every piece that gets built 1007dnl will need the GStreamer source and generated headers 1008dnl LIBS: XML doesn't need to be added because we don't explicitly use symbols 1009dnl from LibXML except for in the core library 1010GST_ALL_CXXFLAGS="-I\$(top_srcdir)/libs -I\$(top_srcdir) -I\$(top_builddir)/libs -I\$(top_builddir) $GLIB_CFLAGS \$(GLIB_EXTRA_CFLAGS) $EXTRA_CFLAGS \$(GST_OPTION_CXXFLAGS) \$(ERROR_CXXFLAGS)" 1011GST_ALL_CFLAGS="-I\$(top_srcdir)/libs -I\$(top_srcdir) -I\$(top_builddir)/libs -I\$(top_builddir) $GLIB_CFLAGS \$(GLIB_EXTRA_CFLAGS) $EXTRA_CFLAGS \$(GST_OPTION_CFLAGS) \$(ERROR_CFLAGS) \$(VISIBILITY_CFLAGS)" 1012 1013dnl FIXME: check if LTLIBINTL is needed everywhere 1014dnl I presume it is given that it contains the symbols that _() stuff maps to 1015GST_ALL_LIBS="$GLIB_LIBS $LTLIBINTL \$(GCOV_LIBS)" 1016 1017dnl LDFLAGS really should only contain flags, not libs - they get added before 1018dnl whatevertarget_LIBS and -L flags here affect the rest of the linking 1019GST_ALL_LDFLAGS="-no-undefined" 1020if test "x${enable_Bsymbolic}" = "xyes"; then 1021 GST_ALL_LDFLAGS="$GST_ALL_LDFLAGS -Wl,-Bsymbolic-functions" 1022fi 1023 1024AC_SUBST(GST_ALL_CFLAGS) 1025AC_SUBST(GST_ALL_CXXFLAGS) 1026AC_SUBST(GST_ALL_LIBS) 1027AC_SUBST(GST_ALL_LDFLAGS) 1028 1029dnl GST_LIB_LDFLAGS 1030dnl linker flags shared by all libraries 1031dnl LDFLAGS modifier defining exported symbols from built libraries 1032GST_LIB_LDFLAGS="" 1033AC_SUBST(GST_LIB_LDFLAGS) 1034 1035dnl GST_OBJ_* 1036dnl default vars for all internal objects built on libgstreamer 1037dnl includes GST_ALL_* 1038GST_OBJ_CFLAGS="\$(GST_ALL_CFLAGS) $GST_OBJ_STATIC_CFLAGS" 1039GST_OBJ_CXXFLAGS="\$(GST_ALL_CXXFLAGS) $GST_OBJ_STATIC_CFLAGS" 1040GST_OBJ_LIBS="\$(top_builddir)/gst/libgstreamer-$GST_API_VERSION.la \$(GST_ALL_LIBS)" 1041AC_SUBST(GST_OBJ_CFLAGS) 1042AC_SUBST(GST_OBJ_CXXFLAGS) 1043AC_SUBST(GST_OBJ_LIBS) 1044 1045dnl GST_PLUGIN_LDFLAGS 1046dnl LDFLAGS for plugins; includes GST_ALL_LDFLAGS 1047GST_PLUGIN_LDFLAGS="-module -avoid-version $GST_ALL_LDFLAGS" 1048AC_SUBST(GST_PLUGIN_LDFLAGS, "$GST_PLUGIN_LDFLAGS") 1049 1050dnl plugin scanner locations 1051AS_AC_EXPAND(GST_PLUGIN_SCANNER_INSTALLED,${libexecdir}/gstreamer-$GST_API_VERSION/gst-plugin-scanner) 1052AC_DEFINE_UNQUOTED(GST_PLUGIN_SCANNER_INSTALLED, 1053 "$GST_PLUGIN_SCANNER_INSTALLED", [location of the installed gst-plugin-scanner]) 1054AC_SUBST(GST_PLUGIN_SCANNER_INSTALLED) 1055 1056case "${libexecdir}" in 1057 *libexec) 1058 GST_PLUGIN_SCANNER_SUBDIR="libexec";; 1059 *lib) 1060 GST_PLUGIN_SCANNER_SUBDIR="lib";; 1061 *) 1062 GST_PLUGIN_SCANNER_SUBDIR=`basename ${libexecdir}`; 1063 if test -z "$GST_PLUGIN_SCANNER_SUBDIR"; then 1064 AC_MSG_WARN([Couldn't determined libexecdir suffix, using "lib"]) 1065 GST_PLUGIN_SCANNER_SUBDIR="lib"; 1066 fi 1067 ;; 1068esac 1069AC_DEFINE_UNQUOTED(GST_PLUGIN_SCANNER_SUBDIR, 1070 "$GST_PLUGIN_SCANNER_SUBDIR", [libexecdir path component, used to find plugin-scanner on relocatable builds on windows]) 1071 1072case "${libdir}" in 1073 *lib64) 1074 GST_PLUGIN_SUBDIR="lib64";; 1075 *lib32) 1076 GST_PLUGIN_SUBDIR="lib32";; 1077 *lib) 1078 GST_PLUGIN_SUBDIR="lib";; 1079 *) 1080 GST_PLUGIN_SUBDIR=`basename ${libdir}`; 1081 if test -z "$GST_PLUGIN_SUBDIR"; then 1082 AC_MSG_WARN([Couldn't determined libdir suffix, using "lib"]) 1083 GST_PLUGIN_SUBDIR="lib"; 1084 fi 1085 ;; 1086esac 1087AC_DEFINE_UNQUOTED(GST_PLUGIN_SUBDIR, 1088 "$GST_PLUGIN_SUBDIR", [plugin directory path component, used to find plugins on relocatable builds on windows]) 1089 1090dnl completion helper locations 1091AS_AC_EXPAND(GST_COMPLETION_HELPER_INSTALLED,${libexecdir}/gstreamer-$GST_API_VERSION/gst-completion-helper) 1092AC_DEFINE_UNQUOTED(GST_COMPLETION_HELPER_INSTALLED, 1093 "$GST_COMPLETION_HELPER_INSTALLED", [location of the installed gst-completion-helper]) 1094AC_SUBST(GST_COMPLETION_HELPER_INSTALLED) 1095 1096dnl ptp helper locations 1097AS_AC_EXPAND(GST_PTP_HELPER_INSTALLED,${libexecdir}/gstreamer-$GST_API_VERSION/gst-ptp-helper) 1098AC_DEFINE_UNQUOTED(GST_PTP_HELPER_INSTALLED, 1099 "$GST_PTP_HELPER_INSTALLED", [location of the installed gst-ptp-helper]) 1100AC_SUBST(GST_PTP_HELPER_INSTALLED) 1101 1102dnl things for our internal libcheck (must be called even if building 1103dnl libcheck is disabled because it defines conditionals) 1104AG_GST_CHECK_CHECKS 1105 1106AC_CONFIG_FILES( 1107Makefile 1108data/Makefile 1109data/bash-completion/helpers/gst 1110gst/Makefile 1111gst/gstconfig.h 1112gst/gstversion.h 1113libs/gst/helpers/libgstreamer-gdb.py 1114gst/parse/Makefile 1115gst/printf/Makefile 1116libs/Makefile 1117libs/gst/Makefile 1118libs/gst/base/Makefile 1119libs/gst/check/Makefile 1120libs/gst/check/libcheck/Makefile 1121libs/gst/check/internal-check.h:libs/gst/check/libcheck/check.h.in 1122libs/gst/controller/Makefile 1123libs/gst/helpers/Makefile 1124libs/gst/net/Makefile 1125plugins/Makefile 1126plugins/elements/Makefile 1127plugins/tracers/Makefile 1128po/Makefile.in 1129tests/Makefile 1130tests/benchmarks/Makefile 1131tests/check/Makefile 1132tests/misc/Makefile 1133tests/examples/Makefile 1134tests/examples/adapter/Makefile 1135tests/examples/controller/Makefile 1136tests/examples/stepping/Makefile 1137tests/examples/helloworld/Makefile 1138tests/examples/memory/Makefile 1139tests/examples/netclock/Makefile 1140tests/examples/ptp/Makefile 1141tests/examples/streamiddemux/Makefile 1142tests/examples/streams/Makefile 1143tools/Makefile 1144common/Makefile 1145common/m4/Makefile 1146docs/Makefile 1147docs/gst/Makefile 1148docs/gst/gstreamer.types 1149docs/libs/Makefile 1150docs/plugins/Makefile 1151docs/version.entities 1152m4/Makefile 1153pkgconfig/Makefile 1154stamp.h 1155pkgconfig/gstreamer.pc 1156pkgconfig/gstreamer-uninstalled.pc 1157pkgconfig/gstreamer-base.pc 1158pkgconfig/gstreamer-base-uninstalled.pc 1159pkgconfig/gstreamer-check.pc 1160pkgconfig/gstreamer-check-uninstalled.pc 1161pkgconfig/gstreamer-controller.pc 1162pkgconfig/gstreamer-controller-uninstalled.pc 1163pkgconfig/gstreamer-net.pc 1164pkgconfig/gstreamer-net-uninstalled.pc 1165) 1166 1167AC_OUTPUT 1168 1169dnl negate for output 1170if test "x${GST_DISABLE_GST_DEBUG}" = "xno"; then enable_gst_debug="yes"; fi 1171if test "x${GST_DISABLE_GST_TRACER_HOOKS}" = "xno"; then enable_gst_tracer_hooks="yes"; fi 1172if test "x${GST_DISABLE_PARSE}" = "xno"; then enable_parse="yes"; fi 1173if test "x${GST_DISABLE_OPTION_PARSING}" = "xno"; then enable_option_parsing="yes"; fi 1174if test "x${GST_DISABLE_PLUGIN}" = "xno"; then enable_plugin="yes"; fi 1175if test "x${GST_DISABLE_REGISTRY}" = "xno"; then enable_registry="yes"; fi 1176 1177echo " 1178 1179Configuration 1180 Version : ${VERSION} 1181 Source code location : ${srcdir} 1182 Prefix : ${prefix} 1183 Compiler : ${CC} 1184 Package name : ${GST_PACKAGE_NAME} 1185 Package origin : ${GST_PACKAGE_ORIGIN} 1186 1187 API Documentation : ${enable_gtk_doc} 1188 1189 Debug logging : ${enable_gst_debug} 1190 Tracing subsystem hooks : ${enable_gst_tracer_hooks} 1191 Command-line parser : ${enable_parse} 1192 Option parsing in gst_init : ${enable_option_parsing} 1193 Plugin registry : ${enable_registry} 1194 Plugin support : ${enable_plugin} 1195 Static plugins : ${enable_static_plugins} 1196 Unit testing support : ${BUILD_CHECK} 1197 PTP clock support : ${HAVE_PTP} 1198 libunwind support : ${HAVE_UNWIND} 1199 libdw support : ${HAVE_DW} 1200 1201 Debug : ${USE_DEBUG} 1202 Profiling : ${USE_PROFILING} 1203 1204 Building benchmarks : ${BUILD_BENCHMARKS} 1205 Building examples : ${BUILD_EXAMPLES} 1206 Building test apps : ${BUILD_TESTS} 1207 Building tests that fail : ${BUILD_FAILING_TESTS} 1208 Building tools : ${BUILD_TOOLS} 1209" 1210