1
dnl configure-time options shared among gstreamer modules
4
dnl AG_GST_ARG_PROFILING
5
dnl AG_GST_ARG_VALGRIND
8
dnl AG_GST_ARG_EXAMPLES
10
dnl AG_GST_ARG_WITH_PKG_CONFIG_PATH
11
dnl AG_GST_ARG_WITH_PACKAGE_NAME
12
dnl AG_GST_ARG_WITH_PACKAGE_ORIGIN
14
dnl AG_GST_ARG_WITH_PLUGINS
15
dnl AG_GST_CHECK_PLUGIN
16
dnl AG_GST_DISABLE_PLUGIN
18
dnl AG_GST_ARG_ENABLE_EXTERNAL
19
dnl AG_GST_ARG_ENABLE_EXPERIMENTAL
20
dnl AG_GST_ARG_ENABLE_BROKEN
22
AC_DEFUN([AG_GST_ARG_DEBUG],
26
AC_HELP_STRING([--disable-debug],[disable addition of -g debugging info]),
28
case "${enableval}" in
31
*) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
34
[USE_DEBUG=yes]) dnl Default value
37
AC_DEFUN([AG_GST_ARG_PROFILING],
39
AC_ARG_ENABLE(profiling,
40
AC_HELP_STRING([--enable-profiling],
41
[adds -pg to compiler commandline, for profiling]),
43
case "${enableval}" in
44
yes) USE_PROFILING=yes ;;
45
no) USE_PROFILING=no ;;
46
*) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
49
[USE_PROFILING=no]) dnl Default value
52
AC_DEFUN([AG_GST_ARG_VALGRIND],
54
dnl valgrind inclusion
55
AC_ARG_ENABLE(valgrind,
56
AC_HELP_STRING([--disable-valgrind],[disable run-time valgrind detection]),
58
case "${enableval}" in
59
yes) USE_VALGRIND="$USE_DEBUG" ;;
60
no) USE_VALGRIND=no ;;
61
*) AC_MSG_ERROR(bad value ${enableval} for --enable-valgrind) ;;
64
[USE_VALGRIND="$USE_DEBUG"]) dnl Default value
66
if test "x$USE_VALGRIND" = xyes; then
67
PKG_CHECK_MODULES(VALGRIND, valgrind >= $VALGRIND_REQ,
74
if test "x$USE_VALGRIND" = xyes; then
75
AC_DEFINE(HAVE_VALGRIND, 1, [Define if valgrind should be used])
76
AC_MSG_NOTICE(Using extra code paths for valgrind)
80
AC_DEFUN([AG_GST_ARG_GCOV],
83
AC_HELP_STRING([--enable-gcov],
84
[compile with coverage profiling instrumentation (gcc only)]),
85
enable_gcov=$enableval,
87
if test x$enable_gcov = xyes ; then
88
if test "x$GCC" != "xyes"
90
AC_MSG_ERROR([gcov only works if gcc is used])
93
AS_COMPILER_FLAG(["-fprofile-arcs"],
94
[GCOV_CFLAGS="$GCOV_CFLAGS -fprofile-arcs"],
96
AS_COMPILER_FLAG(["-ftest-coverage"],
97
[GCOV_CFLAGS="$GCOV_CFLAGS -ftest-coverage"],
99
dnl remove any -O flags - FIXME: is this needed ?
100
GCOV_CFLAGS=`echo "$GCOV_CFLAGS" | sed -e 's/-O[[0-9]]*//g'`
101
dnl libtool 1.5.22 and lower strip -fprofile-arcs from the flags
102
dnl passed to the linker, which is a bug; -fprofile-arcs implicitly
103
dnl links in -lgcov, so we do it explicitly here for the same effect
105
AC_SUBST(GCOV_CFLAGS)
107
GCOV=`echo $CC | sed s/gcc/gcov/g`
111
AC_DEFINE_UNQUOTED(GST_GCOV_ENABLED, 1,
112
[Defined if gcov is enabled to force a rebuild due to config.h changing])
113
dnl if gcov is used, we do not want default -O2 CFLAGS
114
if test "x$GST_GCOV_ENABLED" = "xyes"
124
AC_MSG_NOTICE([gcov enabled, setting CFLAGS and friends to $CFLAGS])
127
AM_CONDITIONAL(GST_GCOV_ENABLED, test x$enable_gcov = xyes)
130
AC_DEFUN([AG_GST_ARG_EXAMPLES],
132
AC_ARG_ENABLE(examples,
133
AC_HELP_STRING([--disable-examples], [disable building examples]),
135
case "${enableval}" in
136
yes) BUILD_EXAMPLES=yes ;;
137
no) BUILD_EXAMPLES=no ;;
138
*) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;;
141
[BUILD_EXAMPLES=yes]) dnl Default value
142
AM_CONDITIONAL(BUILD_EXAMPLES, test "x$BUILD_EXAMPLES" = "xyes")
145
AC_DEFUN([AG_GST_ARG_WITH_PKG_CONFIG_PATH],
147
dnl possibly modify pkg-config path
148
AC_ARG_WITH(pkg-config-path,
149
AC_HELP_STRING([--with-pkg-config-path],
150
[colon-separated list of pkg-config(1) dirs]),
152
export PKG_CONFIG_PATH=${withval}
153
AC_MSG_NOTICE(Set PKG_CONFIG_PATH to $PKG_CONFIG_PATH)
158
dnl This macro requires that GST_CVS is set to yes or no (release)
159
AC_DEFUN([AG_GST_ARG_WITH_PACKAGE_NAME],
161
dnl package name in plugins
162
AC_ARG_WITH(package-name,
163
AC_HELP_STRING([--with-package-name],
164
[specify package name to use in plugins]),
167
yes) AC_MSG_ERROR(bad value ${withval} for --with-package-name) ;;
168
no) AC_MSG_ERROR(bad value ${withval} for --with-package-name) ;;
169
*) GST_PACKAGE_NAME="${withval}" ;;
180
if test "x$GST_CVS" = "xyes"
183
GST_PACKAGE_NAME="$P CVS/prerelease"
185
GST_PACKAGE_NAME="$P source release"
189
AC_MSG_NOTICE(Using $GST_PACKAGE_NAME as package name)
190
AC_DEFINE_UNQUOTED(GST_PACKAGE_NAME, "$GST_PACKAGE_NAME",
191
[package name in plugins])
192
AC_SUBST(GST_PACKAGE_NAME)
195
AC_DEFUN([AG_GST_ARG_WITH_PACKAGE_ORIGIN],
197
dnl package origin URL
198
AC_ARG_WITH(package-origin,
199
AC_HELP_STRING([--with-package-origin],
200
[specify package origin URL to use in plugins]),
203
yes) AC_MSG_ERROR(bad value ${withval} for --with-package-origin) ;;
204
no) AC_MSG_ERROR(bad value ${withval} for --with-package-origin) ;;
205
*) GST_PACKAGE_ORIGIN="${withval}" ;;
208
[GST_PACKAGE_ORIGIN="[Unknown package origin]"] dnl Default value
210
AC_MSG_NOTICE(Using $GST_PACKAGE_ORIGIN as package origin)
211
AC_DEFINE_UNQUOTED(GST_PACKAGE_ORIGIN, "$GST_PACKAGE_ORIGIN",
213
AC_SUBST(GST_PACKAGE_ORIGIN)
216
dnl sets WITH_PLUGINS to the list of plug-ins given as an argument
217
dnl also clears GST_PLUGINS_ALL and GST_PLUGINS_SELECTED
218
AC_DEFUN([AG_GST_ARG_WITH_PLUGINS],
221
AC_HELP_STRING([--with-plugins],
222
[comma-separated list of dependencyless plug-ins to compile]),
223
[WITH_PLUGINS=$withval],
227
GST_PLUGINS_SELECTED=""
229
AC_SUBST(GST_PLUGINS_ALL)
230
AC_SUBST(GST_PLUGINS_SELECTED)
233
dnl AG_GST_CHECK_PLUGIN(PLUGIN-NAME)
235
dnl This macro adds the plug-in <PLUGIN-NAME> to GST_PLUGINS_ALL. Then it
236
dnl checks if WITH_PLUGINS is empty or the plugin is present in WITH_PLUGINS,
237
dnl and if so adds it to GST_PLUGINS_SELECTED. Then it checks if the plugin
238
dnl is present in WITHOUT_PLUGINS (ie. was disabled specifically) and if so
239
dnl removes it from GST_PLUGINS_SELECTED.
241
dnl The macro will call AM_CONDITIONAL(USE_PLUGIN_<PLUGIN-NAME>, ...) to allow
242
dnl control of what is built in Makefile.ams.
243
AC_DEFUN([AG_GST_CHECK_PLUGIN],
245
GST_PLUGINS_ALL="$GST_PLUGINS_ALL [$1]"
247
define([pname_def],translit([$1], -a-z, _a-z))
250
AC_HELP_STRING([--disable-[$1]], [disable dependency-less $1 plugin]),
252
case "${enableval}" in
253
yes) [gst_use_]pname_def=yes ;;
254
no) [gst_use_]pname_def=no ;;
255
*) AC_MSG_ERROR([bad value ${enableval} for --enable-$1]) ;;
258
[[gst_use_]pname_def=yes]) dnl Default value
260
if test x$[gst_use_]pname_def = xno; then
261
AC_MSG_NOTICE(disabling dependency-less plugin $1)
262
WITHOUT_PLUGINS="$WITHOUT_PLUGINS [$1]"
264
undefine([pname_def])
266
if [[ -z "$WITH_PLUGINS" ]] || echo " [$WITH_PLUGINS] " | tr , ' ' | grep -i " [$1] " > /dev/null; then
267
GST_PLUGINS_SELECTED="$GST_PLUGINS_SELECTED [$1]"
269
if echo " [$WITHOUT_PLUGINS] " | tr , ' ' | grep -i " [$1] " > /dev/null; then
270
GST_PLUGINS_SELECTED=`echo " $GST_PLUGINS_SELECTED " | $SED -e 's/ [$1] / /'`
272
AM_CONDITIONAL([USE_PLUGIN_]translit([$1], a-z, A-Z), echo " $GST_PLUGINS_SELECTED " | grep -i " [$1] " > /dev/null)
275
dnl AG_GST_DISABLE_PLUGIN(PLUGIN-NAME)
277
dnl This macro disables the plug-in <PLUGIN-NAME> by removing it from
278
dnl GST_PLUGINS_SELECTED.
279
AC_DEFUN([AG_GST_DISABLE_PLUGIN],
281
GST_PLUGINS_SELECTED=`echo " $GST_PLUGINS_SELECTED " | $SED -e 's/ [$1] / /'`
282
AM_CONDITIONAL([USE_PLUGIN_]translit([$1], a-z, A-Z), false)
285
AC_DEFUN([AG_GST_ARG_ENABLE_EXTERNAL],
287
AG_GST_CHECK_FEATURE(EXTERNAL, [building of plug-ins with external deps],,
288
HAVE_EXTERNAL=yes, enabled,
290
AC_MSG_NOTICE(building external plug-ins)
293
AC_MSG_WARN(all plug-ins with external dependencies will not be built)
296
# make BUILD_EXTERNAL available to Makefile.am
297
AM_CONDITIONAL(BUILD_EXTERNAL, test "x$BUILD_EXTERNAL" = "xyes")
300
dnl experimental plug-ins; stuff that hasn't had the dust settle yet
301
dnl read 'builds, but might not work'
302
AC_DEFUN([AG_GST_ARG_ENABLE_EXPERIMENTAL],
304
AG_GST_CHECK_FEATURE(EXPERIMENTAL, [building of experimental plug-ins],,
305
HAVE_EXPERIMENTAL=yes, disabled,
307
AC_MSG_WARN(building experimental plug-ins)
308
BUILD_EXPERIMENTAL="yes"
310
AC_MSG_NOTICE(not building experimental plug-ins)
311
BUILD_EXPERIMENTAL="no"
313
# make BUILD_EXPERIMENTAL available to Makefile.am
314
AM_CONDITIONAL(BUILD_EXPERIMENTAL, test "x$BUILD_EXPERIMENTAL" = "xyes")
317
dnl broken plug-ins; stuff that doesn't seem to build at the moment
318
AC_DEFUN([AG_GST_ARG_ENABLE_BROKEN],
320
AG_GST_CHECK_FEATURE(BROKEN, [building of broken plug-ins],,
321
HAVE_BROKEN=yes, disabled,
323
AC_MSG_WARN([building broken plug-ins -- no bug reports on these, only patches ...])
325
AC_MSG_NOTICE([not building broken plug-ins])