summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore53
-rw-r--r--Makefile.am4
-rw-r--r--common.am1
-rw-r--r--configure.ac134
-rw-r--r--data/Makefile.am2
-rw-r--r--doc/Makefile.am84
-rw-r--r--gupnp-dlna-1.1-uninstalled.pc.in11
-rw-r--r--gupnp-dlna-2.0.pc.in12
-rw-r--r--gupnp-dlna-metadata-2.0.pc.in12
-rw-r--r--libgupnp-dlna/Makefile.am195
-rw-r--r--tests/Makefile.am28
-rw-r--r--tools/Makefile.am27
12 files changed, 374 insertions, 189 deletions
diff --git a/.gitignore b/.gitignore
index 070d433..69878c2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,6 +8,53 @@
*.o
*.service
*.stamp
+.dirstamp
+/build-aux
+INSTALL
+doc/version.xml
+doc/gupnp-dlna/gupnp-dlna-decl-list.txt
+doc/gupnp-dlna/gupnp-dlna-decl.txt
+doc/gupnp-dlna/gupnp-dlna-overrides.txt
+doc/gupnp-dlna/gupnp-dlna-sections.txt
+doc/gupnp-dlna/gupnp-dlna-undeclared.txt
+doc/gupnp-dlna/gupnp-dlna-undocumented.txt
+doc/gupnp-dlna/gupnp-dlna-unused.txt
+doc/gupnp-dlna/gupnp-dlna.args
+doc/gupnp-dlna/gupnp-dlna.hierarchy
+doc/gupnp-dlna/gupnp-dlna.interfaces
+doc/gupnp-dlna/gupnp-dlna.prerequisites
+doc/gupnp-dlna/gupnp-dlna.signals
+doc/gupnp-dlna/gupnp-dlna.types
+doc/gupnp-dlna/html/
+doc/gupnp-dlna/xml/
+doc/gupnp-dlna-metadata/gupnp-dlna-metadata-decl-list.txt
+doc/gupnp-dlna-metadata/gupnp-dlna-metadata-decl.txt
+doc/gupnp-dlna-metadata/gupnp-dlna-metadata-overrides.txt
+doc/gupnp-dlna-metadata/gupnp-dlna-metadata-sections.txt
+doc/gupnp-dlna-metadata/gupnp-dlna-metadata-undeclared.txt
+doc/gupnp-dlna-metadata/gupnp-dlna-metadata-undocumented.txt
+doc/gupnp-dlna-metadata/gupnp-dlna-metadata-unused.txt
+doc/gupnp-dlna-metadata/gupnp-dlna-metadata.args
+doc/gupnp-dlna-metadata/gupnp-dlna-metadata.hierarchy
+doc/gupnp-dlna-metadata/gupnp-dlna-metadata.interfaces
+doc/gupnp-dlna-metadata/gupnp-dlna-metadata.prerequisites
+doc/gupnp-dlna-metadata/gupnp-dlna-metadata.signals
+doc/gupnp-dlna-metadata/gupnp-dlna-metadata.types
+doc/gupnp-dlna-metadata/html/
+doc/gupnp-dlna-metadata/xml/
+m4/gtk-doc.m4
+m4/libtool.m4
+m4/ltoptions.m4
+m4/ltsugar.m4
+m4/ltversion.m4
+m4/lt~obsolete.m4
+*.gir
+*.typelib
+tests/dlna-encoding
+tools/gupnp-dlna-info-2.0
+tools/gupnp-dlna-ls-profiles-2.0
+tests/test-discoverer.sh
+tests/sets
aclocal.m4
autom4te.cache
config.guess
@@ -19,8 +66,10 @@ config.sub
configure
depcomp
gtk-doc.make
-gupnp-dlna-1.0.pc
-gupnp-dlna-1.0-uninstalled.pc
+gupnp-dlna-2.0.pc
+gupnp-dlna-metadata-2.0.pc
+gupnp-dlna-2.0-uninstalled.pc
+gupnp-dlna-*.tar.xz
install-sh
libgupnp-dlna/gupnp-dlna-marshal.c
libgupnp-dlna/gupnp-dlna-marshal.h
diff --git a/Makefile.am b/Makefile.am
index 9f707f7..cf8a22b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -2,10 +2,10 @@ ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
SUBDIRS = libgupnp-dlna tools tests data doc vala
-pkgconfig_DATA = gupnp-dlna-1.1.pc
+pkgconfig_DATA = gupnp-dlna-2.0.pc gupnp-dlna-metadata-2.0.pc
pkgconfigdir = $(libdir)/pkgconfig
-DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
+DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --enable-introspection
# Extra clean files so that maintainer-clean removes *everything*
MAINTAINERCLEANFILES = aclocal.m4 compile config.guess config.sub configure depcomp install-sh ltmain.sh Makefile.in missing config.h.in
diff --git a/common.am b/common.am
new file mode 100644
index 0000000..bf8751f
--- /dev/null
+++ b/common.am
@@ -0,0 +1 @@
+shareddir = $(datadir)/gupnp-dlna-2.0
diff --git a/configure.ac b/configure.ac
index 785a6d6..74fd7b5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
AC_PREREQ([2.63])
-AC_INIT([gupnp-dlna],
- [0.7.0],
+AC_INIT([gupnp-dlna-2.0],
+ [2.0.0],
[https://bugzilla.gnome.org/enter_bug.cgi?product=gupnp&component=gupnp-dlna],
[gupnp-dlna],
[http://www.gupnp.org/])
@@ -37,29 +37,104 @@ AC_HEADER_STDC
LT_PREREQ([2.2])
LT_INIT([win32-dll])
-PKG_CHECK_MODULES(LIBXML, libxml-2.0 >= 2.5.0)
+PKG_CHECK_MODULES([LIBXML], [libxml-2.0 >= 2.5.0])
-GST_MAJORMINOR=1.0
-GST_REQ=1.0.0
-GSTPBU_REQ=1.0.0
+AM_PROG_CC_C_O
-PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR >= $GST_REQ)
-PKG_CHECK_MODULES(GST_PBU, gstreamer-pbutils-$GST_MAJORMINOR >= $GSTPBU_REQ)
-AC_SUBST(GST_MAJORMINOR)
+AC_ARG_WITH([default-metadata-backend],
+ [AS_HELP_STRING([--with-default-metadata-backend=your_backend],
+ [set a default metadata backend @<:@default=gstreamer@:>@])])
-GST_CFLAGS="$GST_CFLAGS -DGST_USE_UNSTABLE_API"
-AC_SUBST(GST_CFLAGS)
+if test "x$with_default_metadata_backend" = 'x'
+then
+ with_default_metadata_backend='gstreamer'
+fi
+
+if test "x$with_default_metadata_backend" = 'xyes' || test "x$with_default_metadata_backend" = 'xno'
+then
+ AC_MSG_WARN([Dubious default metadata backend name: $with_default_metadata_backend])
+fi
+
+GUPNP_DLNA_METADATA_BACKEND_CFLAGS="$GUPNP_DLNA_METADATA_BACKEND_CFLAGS -DGUPNP_DLNA_DEFAULT_METADATA_BACKEND=\\\"$with_default_metadata_backend\\\""
+
+AC_ARG_ENABLE([gstreamer-metadata-backend],
+ [AS_HELP_STRING([--enable-gstreamer-metadata-backend],
+ [build a GStreamer metadata backend @<:@default=auto@:>@])],
+ ,
+ [enable_gstreamer_metadata_backend=auto])
+
+if test "x$enable_gstreamer_metadata_backend" != 'xno'
+then
+ gstreamer_found='yes'
+ GST_MAJORMINOR=0.10
+ GST_REQ=0.10.29.2
+ GSTPBU_REQ=0.10.32
+
+ PKG_CHECK_MODULES([GST],
+ [gstreamer-$GST_MAJORMINOR >= $GST_REQ],
+ ,
+ [gstreamer_found='no'])
+ PKG_CHECK_MODULES([GST_PBU],
+ [gstreamer-pbutils-$GST_MAJORMINOR >= $GSTPBU_REQ],
+ ,
+ [gstreamer_found='no'])
+
+ if test "x$gstreamer_found" = 'xyes'
+ then
+ AC_SUBST(GST_MAJORMINOR)
+
+ GST_CFLAGS="$GST_CFLAGS -DGST_USE_UNSTABLE_API"
+ AC_SUBST(GST_CFLAGS)
+ enable_gstreamer_metadata_backend='yes'
+ elif test "x$enable_gstreamer_metadata_backend" = 'xyes'
+ then
+ AC_MSG_ERROR([GStreamer $GST_MAJORMINOR not found.])
+ fi
+fi
+
+if test "x$enable_gstreamer_metadata_backend" = 'xyes'
+then
+ AM_CONDITIONAL(GSTREAMER_METADATA_BACKEND_ENABLED, true)
+else
+ AM_CONDITIONAL(GSTREAMER_METADATA_BACKEND_ENABLED, false)
+fi
+
+AC_ARG_WITH([default-metadata-backend-dir],
+ [AS_HELP_STRING([--with-default-metadata-backend-dir=your_directory],
+ [set a default metadata backend directory @<:@default=$libdir/$PACKAGE_NAME@:>@])])
+
+if test "x$with_default_metadata_backend_dir" = 'x'
+then
+ with_default_metadata_backend_dir="$libdir/$PACKAGE_NAME"
+fi
+
+if test "x$with_default_metadata_backend_dir" = 'xyes' || test "x$with_default_metadata_backend_dir" = 'xno'
+then
+ AC_MSG_WARN([Dubious default metadata backend directory: $with_default_metadata_backend_dir])
+fi
+
+AC_SUBST(METADATA_DIRECTORY, $with_default_metadata_backend_dir)
+
+GUPNP_DLNA_METADATA_BACKEND_CFLAGS="$GUPNP_DLNA_METADATA_BACKEND_CFLAGS -DGUPNP_DLNA_DEFAULT_METADATA_BACKEND_DIR=\\\"$with_default_metadata_backend_dir\\\""
-PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.24)
+AC_SUBST(GUPNP_DLNA_METADATA_BACKEND_CFLAGS)
-# glib-genmarshal
-GLIB_GENMARSHAL=`pkg-config --variable=glib_genmarshal glib-2.0`
-AC_SUBST(GLIB_GENMARSHAL)
+PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.34])
+PKG_CHECK_MODULES([GOBJECT], [gobject-2.0])
+PKG_CHECK_MODULES([GMODULE], [gmodule-2.0])
+
+AC_SUBST(GLIB_CFLAGS)
+AC_SUBST(GLIB_LIBS)
+AC_SUBST(GOBJECT_CFLAGS)
+AC_SUBST(GOBJECT_LIBS)
+AC_SUBST(GMODULE_CFLAGS)
+AC_SUBST(GMODULE_LIBS)
# Debugging
-AC_ARG_ENABLE(debug,
- [ --enable-debug enable debugging],,
- enable_debug=no)
+AC_ARG_ENABLE([debug],
+ AS_HELP_STRING([--enable-debug], [enable debugging @<:@default=no@:>@]),
+ ,
+ [enable_debug=no])
if test "x$enable_debug" = "xyes"; then
CFLAGS="$CFLAGS -g -Wall"
fi
@@ -76,18 +151,31 @@ AS_IF([test "x$found_introspection" = "xyes"],
AM_CONDITIONAL([HAVE_VAPIGEN], [test "x$VAPIGEN" != "x"])
GTK_DOC_CHECK([1.11],[--flavour no-tmpl])
+# for fixxref
+GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
+AC_SUBST(GLIB_PREFIX)
AC_CONFIG_FILES([
Makefile
libgupnp-dlna/Makefile
tools/Makefile
tests/Makefile
-tests/test-discoverer.sh
+data/Makefile
+gupnp-dlna-2.0.pc
+gupnp-dlna-metadata-2.0.pc
doc/Makefile
doc/version.xml
-data/Makefile
-vala/Makefile
-gupnp-dlna-1.1.pc
-gupnp-dlna-1.1-uninstalled.pc
+doc/gupnp-dlna/Makefile
+doc/gupnp-dlna-metadata/Makefile
])
+AC_CONFIG_FILES([tests/test-discoverer.sh],
+ [chmod a+x tests/test-discoverer.sh])
AC_OUTPUT
+
+echo
+echo 'Configuration status:'
+echo
+echo "Default metadata backend: $with_default_metadata_backend"
+echo "Default metadata backend directory: $with_default_metadata_backend_dir"
+echo "Build GStreamer metadata backend: $enable_gstreamer_metadata_backend"
+echo
diff --git a/data/Makefile.am b/data/Makefile.am
index 550d094..0043f46 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -1,4 +1,4 @@
-shareddir = $(datadir)/gupnp-dlna
+include $(top_srcdir)/common.am
dlnaschemas = dlna-profiles.rng
dlnaprofiles = mp3.xml \
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 2dbb80f..eb91538 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -1,83 +1,3 @@
-## Process this file with automake to produce Makefile.in
+SUBDIRS = gupnp-dlna gupnp-dlna-metadata .
-# We require automake 1.6 at least.
-AUTOMAKE_OPTIONS = 1.6
-
-# This is a blank Makefile.am for using gtk-doc.
-# Copy this to your project's API docs directory and modify the variables to
-# suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples
-# of using the various options.
-
-# The name of the module, e.g. 'glib'.
-DOC_MODULE=gupnp-dlna
-
-# The top-level SGML file. You can change this if you want to.
-DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml
-
-# The directory containing the source code. Relative to $(srcdir).
-# gtk-doc will search all .c & .h files beneath here for inline comments
-# documenting the functions and macros.
-# e.g. DOC_SOURCE_DIR=../../../gtk
-DOC_SOURCE_DIR=../libgupnp-dlna
-
-# Extra options to pass to gtkdoc-scangobj. Not normally needed.
-SCANGOBJ_OPTIONS=--type-init-func="gst_init(NULL,NULL)"
-
-# Extra options to supply to gtkdoc-scan.
-# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
-SCAN_OPTIONS=--deprecated-guards="GUPNP_DISABLE_DEPRECATED"
-
-# Extra options to supply to gtkdoc-mkdb.
-# e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml
-MKDB_OPTIONS=--sgml-mode --output-format=xml
-
-# Extra options to supply to gtkdoc-mktmpl
-# e.g. MKTMPL_OPTIONS=--only-section-tmpl
-MKTMPL_OPTIONS=
-
-# Extra options to supply to gtkdoc-fixref. Not normally needed.
-# e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
-FIXXREF_OPTIONS=
-
-# Used for dependencies. The docs will be rebuilt if any of these change.
-# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
-# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
-HFILE_GLOB=$(top_srcdir)/libgupnp-dlna/*.h
-CFILE_GLOB=$(top_srcdir)/libgupnp-dlna/*.c
-
-# Header files to ignore when scanning.
-# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h
-IGNORE_HFILES= xml-util.h \
- gvalue-util.h \
- profile-loading.h \
- gupnp-dlna-marshal.h
-
-# Images to copy into HTML directory.
-# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
-HTML_IMAGES=
-
-# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
-# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
-content_files=version.xml
-
-# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
-# These files must be listed here *and* in content_files
-# e.g. expand_content_files=running.sgml
-expand_content_files=
-
-# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
-# Only needed if you are using gtkdoc-scangobj to dynamically query widget
-# signals and properties.
-# e.g. INCLUDES=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
-# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
-INCLUDES=-I$(top_srcdir) \
- $(GST_CFLAGS)
-GTKDOC_LIBS=$(top_builddir)/libgupnp-dlna/libgupnp-dlna-1.1.la \
- $(GST_LIBS)
-
-# This includes the standard gtk-doc make rules, copied by gtkdocize.
-include $(top_srcdir)/gtk-doc.make
-
-# Other files to distribute
-# e.g. EXTRA_DIST += version.xml.in
-EXTRA_DIST += version.xml.in
+EXTRA_DIST = version.xml.in
diff --git a/gupnp-dlna-1.1-uninstalled.pc.in b/gupnp-dlna-1.1-uninstalled.pc.in
deleted file mode 100644
index 2461511..0000000
--- a/gupnp-dlna-1.1-uninstalled.pc.in
+++ /dev/null
@@ -1,11 +0,0 @@
-prefix=
-exec_prefix=
-libdir=${top_srcdir}/libgupnp-dlna
-includedir=${top_srcdir}/
-
-Name: gupnp-dlna-1.1
-Description: GObject-based AV specific UPnP library
-Version: @VERSION@
-Libs: ${libdir}/libgupnp-dlna-1.1.la
-Cflags: -I${includedir} -I$(top_srcdir)/gst-convenience/gst-libs
-Requires: gstreamer-@GST_MAJORMINOR@ gstreamer-base-@GST_MAJORMINOR@ gstreamer-video-@GST_MAJORMINOR@
diff --git a/gupnp-dlna-2.0.pc.in b/gupnp-dlna-2.0.pc.in
new file mode 100644
index 0000000..3744d16
--- /dev/null
+++ b/gupnp-dlna-2.0.pc.in
@@ -0,0 +1,12 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: gupnp-dlna-2.0
+Description: GObject-based DLNA specific UPnP library
+Version: @VERSION@
+Libs: -L${libdir} -lgupnp-dlna-2.0
+Cflags: -I${includedir}/gupnp-dlna-2.0
+Requires: glib-2.0 gobject-2.0
+Requires.private: gmodule-2.0 \ No newline at end of file
diff --git a/gupnp-dlna-metadata-2.0.pc.in b/gupnp-dlna-metadata-2.0.pc.in
new file mode 100644
index 0000000..c40f95d
--- /dev/null
+++ b/gupnp-dlna-metadata-2.0.pc.in
@@ -0,0 +1,12 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+plugindir=@METADATA_DIRECTORY@
+
+Name: gupnp-dlna-metadata-2.0
+Description: Metadata extractor plugin development files for GUPnP-DLNA
+Version: @VERSION@
+Libs: -L${libdir} -lgupnp-dlna-2.0
+Cflags: -I${includedir}/gupnp-dlna-2.0/metadata
+Requires: glib-2.0 gobject-2.0
diff --git a/libgupnp-dlna/Makefile.am b/libgupnp-dlna/Makefile.am
index 3b22796..1eb6510 100644
--- a/libgupnp-dlna/Makefile.am
+++ b/libgupnp-dlna/Makefile.am
@@ -7,80 +7,177 @@
# increment age.
# If any interfaces have been removed since the last public release, then set
# age to 0.
+AUTOMAKE_OPTIONS=subdir-objects
+
LTVERSION = $(GUPNP_DLNA_VERSION_INFO)
-shareddir = $(datadir)/gupnp-dlna
+include $(top_srcdir)/common.am
+
+noinst_LTLIBRARIES =
+pkglib_LTLIBRARIES =
+lib_LTLIBRARIES =
+dist_noinst_HEADERS =
+
+lib_LTLIBRARIES += libgupnp-dlna-2.0.la
-AM_CFLAGS = -I$(top_srcdir) \
- $(LIBXML_CFLAGS) \
- $(GST_CFLAGS) \
- $(GST_PBU_CFLAGS) \
- -DDATA_DIR='"$(shareddir)"' \
- -DG_LOG_DOMAIN='"gupnp-dlna"'
+general_log_cflags = \
+ -DG_LOG_DOMAIN='"gupnp-dlna"'
-lib_LTLIBRARIES = libgupnp-dlna-1.1.la
+loader_log_cflags = \
+ -DG_LOG_DOMAIN='"gupnp-dlna-loader"'
-gupnp-dlna-marshal.c: gupnp-dlna-marshal.list
- $(AM_V_GEN) \
- $(GLIB_GENMARSHAL) --prefix=gupnp_dlna_marshal $(srcdir)/gupnp-dlna-marshal.list --header --body > gupnp-dlna-marshal.c
+guesser_log_cflags = \
+ -DG_LOG_DOMAIN='"gupnp-dlna-guesser"'
-gupnp-dlna-marshal.h: gupnp-dlna-marshal.list
- $(AM_V_GEN) \
- $(GLIB_GENMARSHAL) --prefix=gupnp_dlna_marshal $(srcdir)/gupnp-dlna-marshal.list --header > gupnp-dlna-marshal.h
+metadata_log_cflags = \
+ -DG_LOG_DOMAIN='"gupnp-dlna-metadata"'
-BUILT_SOURCES = gupnp-dlna-marshal.c gupnp-dlna-marshal.h
+common_cflags = \
+ $(GLIB_CFLAGS) \
+ $(GOBJECT_CFLAGS)
-libgupnp_dlna_incdir = $(includedir)/gupnp-dlna-1.1/libgupnp-dlna
+metadata_cflags = \
+ -I$(top_srcdir)/libgupnp-dlna/metadata
-libgupnp_dlna_1_1_la_LDFLAGS = -version-info $(LTVERSION) -no-undefined
+common_libadd = \
+ $(GLIB_LIBS) \
+ $(GOBJECT_LIBS)
-libgupnp_dlna_inc_HEADERS = gupnp-dlna-profile.h \
- gupnp-dlna-information.h \
- gupnp-dlna-discoverer.h
+# "Profile backend" might add some stuff to variables below.
+gupnp_ldflags = \
+ -version-info $(LTVERSION) \
+ -no-undefined
-noinst_HEADERS = profile-loading.h \
- gupnp-dlna-profile-private.h
+gupnp_cflags = \
+ $(common_cflags)
-introspection_sources = $(libgupnp_dlna_inc_HEADERS) \
- gupnp-dlna-information.c \
- gupnp-dlna-discoverer.c \
- gupnp-dlna-profile.c \
- gupnp-dlna-profiles.c \
- profile-loading.c
+gupnp_libadd = \
+ $(common_libadd)
-libgupnp_dlna_1_1_la_SOURCES = $(introspection_sources) \
- $(BUILT_SOURCES)
+include $(top_srcdir)/libgupnp-dlna/profile-backends/native/native.am
+include $(top_srcdir)/libgupnp-dlna/metadata/metadata.am
-libgupnp_dlna_1_1_la_LIBADD = $(LIBXML_LIBS) \
- $(GST_PBU_LIBS)
+metadatadir=$(METADATA_DIRECTORY)
+metadata_LTLIBRARIES =
+
+if GSTREAMER_METADATA_BACKEND_ENABLED
+include $(top_srcdir)/libgupnp-dlna/metadata-backends/gstreamer/gstreamer.am
+endif
+noinst_LTLIBRARIES += \
+ libloader.la \
+ libguesser.la \
+ libmetadata.la
+
+libloader_la_SOURCES = \
+ gupnp-dlna-profile-loader.c
+libloader_la_LIBADD = \
+ $(common_libadd) \
+ $(LIBXML_LIBS)
+libloader_la_CFLAGS = \
+ $(loader_log_cflags) \
+ $(metadata_cflags) \
+ $(common_cflags) \
+ $(LIBXML_CFLAGS) \
+ -DDATA_DIR='"$(shareddir)"'
+
+libguesser_la_SOURCES = \
+ gupnp-dlna-profile-guesser.c \
+ gupnp-dlna-profile-guesser-impl.c
+libguesser_la_LIBADD = \
+ $(common_libadd)
+libguesser_la_CFLAGS = \
+ $(guesser_log_cflags) \
+ $(metadata_cflags) \
+ $(common_cflags)
+
+libmetadata_la_SOURCES = \
+ gupnp-dlna-metadata-backend.c \
+ $(metadata_metadata_sources)
+libmetadata_la_LIBADD = \
+ $(common_libadd) \
+ $(GMODULE_LIBS)
+libmetadata_la_CFLAGS = \
+ $(metadata_log_cflags) \
+ $(metadata_cflags) \
+ $(GUPNP_DLNA_METADATA_BACKEND_CFLAGS) \
+ $(common_cflags) \
+ $(GMODULE_CFLAGS)
+
+libgupnp_dlna_2_0_la_LDFLAGS = \
+ $(gupnp_ldflags)
+libgupnp_dlna_2_0_la_SOURCES = \
+ $(metadata_general_sources) \
+ gupnp-dlna-field-value.c \
+ gupnp-dlna-profile-backend.c \
+ gupnp-dlna-profile.c
+libgupnp_dlna_2_0_la_LIBADD = \
+ $(gupnp_libadd) \
+ libloader.la \
+ libguesser.la \
+ libmetadata.la
+libgupnp_dlna_2_0_la_CFLAGS = \
+ $(general_log_cflags) \
+ $(metadata_cflags) \
+ $(gupnp_cflags)
+
+libgupnp_dlna_incdir = \
+ $(includedir)/gupnp-dlna-2.0/libgupnp-dlna
+libgupnp_dlna_inc_HEADERS = \
+ gupnp-dlna-profile-guesser.h \
+ gupnp-dlna-profile.h
+
+libgupnp_dlna_metadata_incdir = \
+ $(libgupnp_dlna_incdir)/metadata
+libgupnp_dlna_metadata_inc_HEADERS = \
+ metadata/gupnp-dlna-audio-information.h \
+ metadata/gupnp-dlna-container-information.h \
+ metadata/gupnp-dlna-image-information.h \
+ metadata/gupnp-dlna-video-information.h \
+ metadata/gupnp-dlna-information.h \
+ metadata/gupnp-dlna-metadata-extractor.h \
+ metadata/gupnp-dlna-values.h
+
+dist_noinst_HEADERS += \
+ gupnp-dlna-field-value.h \
+ gupnp-dlna-metadata-backend.h \
+ gupnp-dlna-profile-backend.h \
+ gupnp-dlna-profile-loader.h \
+ gupnp-dlna-profile-guesser-impl.h
+
+
+# INTROSPECTION
-include $(INTROSPECTION_MAKEFILE)
INTROSPECTION_GIRS =
-INTROSPECTION_SCANNER_ARGS = --warn-all \
- --symbol-prefix=gupnp_dlna \
- --identifier-prefix=GUPnPDLNA \
- --add-include-path=$(top_srcdir) \
- --add-init-section="gst_init(NULL, NULL);"
+INTROSPECTION_SCANNER_ARGS =
INTROSPECTION_COMPILER_ARGS = --includedir=$(top_srcdir)
if HAVE_INTROSPECTION
-GUPnPDLNA-1.1.gir: libgupnp-dlna-1.1.la
-GUPnPDLNA_1_1_gir_INCLUDES = libxml2-2.0 GObject-2.0 GstPbutils-1.0
-GUPnPDLNA_1_1_gir_CFLAGS = $(INCLUDES) $(AM_CFLAGS)
-GUPnPDLNA_1_1_gir_LIBS = libgupnp-dlna-1.1.la gstreamer-1.0
-GUPnPDLNA_1_1_gir_FILES = $(introspection_sources)
-GUPnPDLNA_1_1_gir_NAMESPACE = GUPnPDLNA
-GUPnPDLNA_1_1_gir_VERSION = 1.1
-INTROSPECTION_GIRS += GUPnPDLNA-1.1.gir
+girs = GUPnPDLNA-2.0.gir
+
+introspection_sources = \
+ $(libgupnp_dlna_inc_HEADERS) \
+ $(libgupnp_dlna_inc_HEADERS:.h=.c)
+
+GUPnPDLNA-2.0.gir: libgupnp-dlna-2.0.la
+GUPnPDLNA_2_0_gir_FILES = $(introspection_sources)
+GUPnPDLNA_2_0_gir_LIBS = libgupnp-dlna-2.0.la
+GUPnPDLNA_2_0_gir_INCLUDES = GObject-2.0
+GUPnPDLNA_2_0_gir_SCANNERFLAGS = \
+ --warn-all \
+ --symbol-prefix=gupnp_dlna \
+ --identifier-prefix=GUPnPDLNA \
+ --add-include-path=$(top_srcdir)
+
+INTROSPECTION_GIRS += $(girs)
girdir = $(datadir)/gir-1.0
-gir_DATA = GUPnPDLNA-1.1.gir
+gir_DATA = $(girs)
typelibdir = $(libdir)/girepository-1.0/
typelib_DATA = $(gir_DATA:.gir=.typelib)
-endif
-EXTRA_DIST = gupnp-dlna-marshal.list
+CLEANFILES = $(gir_DATA) $(typelib_DATA)
-CLEANFILES = $(BUILT_SOURCES) $(gir_DATA) $(typelib_DATA)
+endif
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 31fb782..81668f3 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,13 +1,17 @@
-noinst_PROGRAMS = dlna-profile-parser dlna-encoding
+noinst_PROGRAMS = sets
-AM_CFLAGS = -I$(top_srcdir) $(GST_CFLAGS) $(GST_PBU_CFLAGS) $(LIBXML_CFLAGS)
-LIBS = $(GST_LIBS) \
- $(LIBXML_LIBS) \
- $(GST_PBU_LIBS) \
- $(top_builddir)/libgupnp-dlna/libgupnp-dlna-1.1.la
-
-dlna_profile_parser_SOURCES = dlna-profile-parser.c
-dlna_encoding_SOURCES = dlna-encoding.c
-
-TESTS_ENVIRONMENT = MEDIA_DIR="$(srcdir)/media" FILE_LIST="$(srcdir)/media/media-list.txt" ${SHELL}
-TESTS = test-discoverer.sh
+sets_SOURCES = \
+ sets.c
+sets_LDADD = \
+ $(GLIB_LIBS) \
+ $(GOBJECT_LIBS) \
+ $(LIBXML_LIBS) \
+ $(GMODULE_LIBS) \
+ $(top_builddir)/libgupnp-dlna/libgupnp-dlna-2.0.la
+sets_CFLAGS = \
+ $(GLIB_CFLAGS) \
+ $(GOBJECT_CFLAGS) \
+ $(LIBXML_CFLAGS) \
+ $(GMODULE_CFLAGS) \
+ -I$(top_srcdir)/libgupnp-dlna/profile-backends/native \
+ -I$(top_srcdir)/libgupnp-dlna/profile-backends/native/sets
diff --git a/tools/Makefile.am b/tools/Makefile.am
index 71f91a1..959bee1 100644
--- a/tools/Makefile.am
+++ b/tools/Makefile.am
@@ -1,9 +1,22 @@
-bin_PROGRAMS = gupnp-dlna-info-1.1 gupnp-dlna-ls-profiles-1.1
+bin_PROGRAMS = \
+ gupnp-dlna-info-2.0 \
+ gupnp-dlna-ls-profiles-2.0
-AM_CFLAGS = -I$(top_srcdir) $(GST_CFLAGS) $(GST_PBU_CFLAGS)
-gupnp_dlna_info_1_1_SOURCES = gupnp-dlna-info.c
-gupnp_dlna_ls_profiles_1_1_SOURCES = gupnp-dlna-ls-profiles.c
+AM_CFLAGS = \
+ -I$(top_srcdir) \
+ $(GLIB_CFLAGS) \
+ $(GOBJECT_CFLAGS) \
+ $(LIBXML_CFLAGS) \
+ $(GMODULE_CFLAGS)
+LIBS = \
+ $(GLIB_LIBS) \
+ $(GOBJECT_LIBS) \
+ $(LIBXML_LIBS) \
+ $(GMODULE_LIBS) \
+ $(top_builddir)/libgupnp-dlna/libgupnp-dlna-2.0.la
-LIBS = $(GST_LIBS) \
- $(GST_PBU_LIBS) \
- $(top_builddir)/libgupnp-dlna/libgupnp-dlna-1.1.la
+gupnp_dlna_info_2_0_SOURCES = \
+ gupnp-dlna-info.c
+
+gupnp_dlna_ls_profiles_2_0_SOURCES = \
+ gupnp-dlna-ls-profiles.c