4 [https://bugzilla.gnome.org/enter_bug.cgi?product=gupnp&component=gupnp-dlna],
6 [http://www.gupnp.org/])
8 AC_CONFIG_HEADERS([config.h])
9 AC_CONFIG_SRCDIR(libgupnp-dlna/gupnp-dlna-profile.h)
10 AC_CONFIG_MACRO_DIR([m4])
11 AC_CONFIG_AUX_DIR([build-aux])
13 AM_INIT_AUTOMAKE([1.11 tar-ustar no-dist-gzip dist-xz])
14 AM_MAINTAINER_MODE([enable])
16 AM_SILENT_RULES([yes])
18 dnl library versioning
19 dnl Increase when changing the API
22 dnl Update when changing implementation of current API,
23 dnl reset to 0 when changing CURRENT. This is the revision of
24 dnl current API version
27 dnl Increase if API change is ABI compatible, otherwise reset to 0
30 GUPNP_DLNA_VERSION_INFO="$GUPNP_DLNA_CURRENT:$GUPNP_DLNA_REVISION:$GUPNP_DLNA_AGE"
31 AC_SUBST(GUPNP_DLNA_VERSION_INFO)
41 PKG_CHECK_MODULES([LIBXML], [libxml-2.0 >= 2.5.0])
45 AC_ARG_WITH([default-metadata-backend],
46 [AS_HELP_STRING([--with-default-metadata-backend=your_backend],
47 [set a default metadata backend @<:@default=gstreamer@:>@])])
49 if test "x$with_default_metadata_backend" = 'x'
51 with_default_metadata_backend='gstreamer'
54 if test "x$with_default_metadata_backend" = 'xyes' || test "x$with_default_metadata_backend" = 'xno'
56 AC_MSG_WARN([Dubious default metadata backend name: $with_default_metadata_backend])
59 GUPNP_DLNA_METADATA_BACKEND_CFLAGS="$GUPNP_DLNA_METADATA_BACKEND_CFLAGS -DGUPNP_DLNA_DEFAULT_METADATA_BACKEND=\\\"$with_default_metadata_backend\\\""
61 AC_ARG_ENABLE([gstreamer-metadata-backend],
62 [AS_HELP_STRING([--enable-gstreamer-metadata-backend],
63 [build a GStreamer metadata backend @<:@default=auto@:>@])],
65 [enable_gstreamer_metadata_backend=auto])
67 if test "x$enable_gstreamer_metadata_backend" != 'xno'
74 PKG_CHECK_MODULES([GST],
75 [gstreamer-$GST_MAJORMINOR >= $GST_REQ],
77 [gstreamer_found='no'])
78 PKG_CHECK_MODULES([GST_PBU],
79 [gstreamer-pbutils-$GST_MAJORMINOR >= $GSTPBU_REQ],
81 [gstreamer_found='no'])
83 if test "x$gstreamer_found" = 'xyes'
85 AC_SUBST(GST_MAJORMINOR)
87 GST_CFLAGS="$GST_CFLAGS -DGST_USE_UNSTABLE_API"
89 enable_gstreamer_metadata_backend='yes'
90 elif test "x$enable_gstreamer_metadata_backend" = 'xyes'
92 AC_MSG_ERROR([GStreamer $GST_MAJORMINOR not found.])
94 enable_gstreamer_metadata_backend='no'
98 if test "x$enable_gstreamer_metadata_backend" = 'xyes'
100 AM_CONDITIONAL(GSTREAMER_METADATA_BACKEND_ENABLED, true)
102 AM_CONDITIONAL(GSTREAMER_METADATA_BACKEND_ENABLED, false)
105 AC_ARG_ENABLE([legacy-gstreamer-metadata-backend],
106 [AS_HELP_STRING([--enable-legacy-gstreamer-metadata-backend],
107 [build a GStreamer 0.10 metadata backend @<:@default=no@:>@])],
109 [enable_legacy_gstreamer_metadata_backend=no])
111 if test "x$enable_legacy_gstreamer_metadata_backend" != 'xno'
113 gstreamer_found='yes'
114 GST_LEGACY_MAJORMINOR=0.10
115 GST_LEGACY_REQ=0.10.36
116 GSTPBU_LEGACY_REQ=0.10.36
118 PKG_CHECK_MODULES([GST_LEGACY],
119 [gstreamer-$GST_LEGACY_MAJORMINOR >= $GST_LEGACY_REQ],
121 [gstreamer_found='no'])
122 PKG_CHECK_MODULES([GST_PBU_LEGACY],
123 [gstreamer-pbutils-$GST_LEGACY_MAJORMINOR >= $GSTPBU_LEGACY_REQ],
125 [gstreamer_found='no'])
127 if test "x$gstreamer_found" = 'xyes'
129 AC_SUBST(GST_LEGACY_MAJORMINOR)
130 enable_legacy_gstreamer_metadata_backend='yes'
131 elif test "x$enable_legacy_gstreamer_metadata_backend" = 'xyes'
133 AC_MSG_ERROR([GStreamer $GST_LEGACY_MAJORMINOR not found.])
135 enable_legacy_gstreamer_metadata_backend='no'
139 if test "x$enable_legacy_gstreamer_metadata_backend" = 'xyes'
141 AM_CONDITIONAL(GSTREAMER_LEGACY_METADATA_BACKEND_ENABLED, true)
143 AM_CONDITIONAL(GSTREAMER_LEGACY_METADATA_BACKEND_ENABLED, false)
146 AC_ARG_WITH([default-metadata-backend-dir],
147 [AS_HELP_STRING([--with-default-metadata-backend-dir=your_directory],
148 [set a default metadata backend directory @<:@default=$libdir/$PACKAGE_NAME@:>@])])
150 if test "x$with_default_metadata_backend_dir" = 'x'
152 with_default_metadata_backend_dir="$libdir/$PACKAGE_NAME"
155 if test "x$with_default_metadata_backend_dir" = 'xyes' || test "x$with_default_metadata_backend_dir" = 'xno'
157 AC_MSG_WARN([Dubious default metadata backend directory: $with_default_metadata_backend_dir])
160 AC_SUBST(METADATA_DIRECTORY, $with_default_metadata_backend_dir)
162 GUPNP_DLNA_METADATA_BACKEND_CFLAGS="$GUPNP_DLNA_METADATA_BACKEND_CFLAGS -DGUPNP_DLNA_DEFAULT_METADATA_BACKEND_DIR=\\\"$with_default_metadata_backend_dir\\\""
164 AC_SUBST(GUPNP_DLNA_METADATA_BACKEND_CFLAGS)
166 PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.32])
167 PKG_CHECK_MODULES([GOBJECT], [gobject-2.0])
168 PKG_CHECK_MODULES([GMODULE], [gmodule-2.0])
170 # Check for g_clear_pointer
171 have_g_clear_pointer='no'
172 PKG_CHECK_EXISTS([glib-2.0 >= 2.34],
173 [have_g_clear_pointer='yes'])
174 AS_VAR_IF([have_g_clear_pointer], [no],
175 [AC_MSG_CHECKING([for g_clear_pointer])
176 GUPNP_DLNA_TEMP_CFLAGS="$CFLAGS"
177 CFLAGS="$CFLAGS $GLIB_CFLAGS"
178 GUPNP_DLNA_TEMP_LIBS="$LIBS"
179 LIBS="$LIBS $GLIB_LIBS"
181 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
185 gchar *test = g_malloc (2);
186 g_clear_pointer (&test, g_free);
187 return (test == NULL)
189 [have_g_clear_pointer='yes'])
190 LIBS="$GUPNP_DLNA_TEMP_LIBS"
191 CFLAGS="$GUPNP_DLNA_TEMP_CFLAGS"
192 AC_MSG_RESULT([$have_g_clear_pointer])])
194 AS_VAR_IF([have_g_clear_pointer], [no],
195 [AC_DEFINE([g_clear_pointer(ptr, func)],
198 if (ptr != NULL && func != NULL) { \
199 gpointer g_clear_pointer_tmp_var = *ptr; \
201 func (g_clear_pointer_tmp_var); \
204 [Naive g_clear_pointer implementation.])])
207 AC_ARG_ENABLE([debug],
208 AS_HELP_STRING([--enable-debug], [enable debugging @<:@default=no@:>@]),
211 if test "x$enable_debug" = "xyes"; then
212 CFLAGS="$CFLAGS -g -Wall"
215 GOBJECT_INTROSPECTION_CHECK([0.6.4])
219 AS_IF([test "x$found_introspection" = "xyes"],
221 dnl output of g-i >= 1.36.0 needs vapigen >= 0.20 to process
222 AC_MSG_CHECKING([whether G-I is 1.36 or newer])
223 VAPIGEN_MIN_VERSION=0.18
224 AS_IF([pkg-config --atleast-version=1.36.0 gobject-introspection-1.0],
227 VAPIGEN_MIN_VERSION=0.20
228 ],[AC_MSG_RESULT([no])]
230 GUPNP_PROG_VAPIGEN([$VAPIGEN_MIN_VERSION])
233 AS_IF([test "x$VAPIGEN" != "x"], [have_vapigen=yes])
234 AM_CONDITIONAL([HAVE_VAPIGEN], [test "x$VAPIGEN" != "x"])
236 GTK_DOC_CHECK([1.11],[--flavour no-tmpl])
238 GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
239 AC_SUBST(GLIB_PREFIX)
241 dnl xmllint for schema validation
242 AC_PATH_PROG([XMLLINT],[xmllint])
243 AM_CONDITIONAL([HAVE_XMLLINT], [test "x$XMLLINT" != "x"])
247 libgupnp-dlna/Makefile
252 gupnp-dlna-metadata-2.0.pc
253 gupnp-dlna-gst-2.0.pc
254 gupnp-dlna-gst-legacy-2.0.pc
257 doc/gupnp-dlna/Makefile
258 doc/gupnp-dlna-metadata/Makefile
259 doc/gupnp-dlna-gst/Makefile
262 AC_CONFIG_FILES([tests/test-discoverer.sh],
263 [chmod a+x tests/test-discoverer.sh])
267 echo 'Configuration status:'
269 echo "GObject-Introspection: $found_introspection"
270 echo "VALA bindings: $have_vapigen"
271 echo "Default metadata backend: $with_default_metadata_backend"
272 echo "Default metadata backend directory: $with_default_metadata_backend_dir"
273 echo "Build GStreamer metadata backend: $enable_gstreamer_metadata_backend"
274 echo "Build legacy GStreamer metadata backend: $enable_legacy_gstreamer_metadata_backend"