[gstreamermm/devel-other-plugins] gstreamermm-plugins-bad: create build infrastructure for gst-plugins-bad



commit b044889813b48f3e268cbfae1f28b52af1df3732
Author: Marcin Kolny <marcin kolny flytronic pl>
Date:   Tue Jul 21 13:58:17 2015 +0200

    gstreamermm-plugins-bad: create build infrastructure for gst-plugins-bad
    
        * .gitignore
        * Makefile.am
        * configure.ac
        * examples/Makefile.am
        * gst-plugins-bad/gstreamermm-plugins-bad-uninstalled.pc.in
        * gst-plugins-bad/gstreamermm-plugins-bad.pc.in
        * gst-plugins-bad/gstreamermm-plugins-bad/Makefile.am
        * gst-plugins-bad/gstreamermm-plugins-bad/filelist.am
        * gst-plugins-bad/gstreamermm-plugins-bad/private/.gitignore
        * gst-plugins-bad/gstreamermm-plugins-bad/wrap_init.h
        * gst-plugins-bad/src/Makefile.am
        * gst-plugins-bad/src/filelist.am
        * gstreamer/src/glbasefilter.ccg -> gst-plugins-bad/src/glbasefilter.ccg
        * gstreamer/src/glbasefilter.hg -> gst-plugins-bad/src/glbasefilter.hg
        * gstreamer/src/glfilter.ccg -> gst-plugins-bad/src/glfilter.ccg
        * gstreamer/src/glfilter.hg -> gst-plugins-bad/src/glfilter.hg
        * gst-plugins-bad/src/gst.defs
        * gstreamer/src/filelist.am

 .gitignore                                         |   12 +++++++-
 Makefile.am                                        |    8 +++--
 configure.ac                                       |   17 ++++++++---
 examples/Makefile.am                               |    2 +-
 .../gstreamermm-plugins-bad-uninstalled.pc.in      |   10 +++++++
 gst-plugins-bad/gstreamermm-plugins-bad.pc.in      |   19 +++++++++++++
 .../gstreamermm-plugins-bad/Makefile.am            |   29 ++++++++++++++++++++
 .../gstreamermm-plugins-bad/filelist.am            |    6 ++++
 .../gstreamermm-plugins-bad/private/.gitignore     |    1 +
 .../gstreamermm-plugins-bad/wrap_init.h            |   20 ++++++++++++-
 gst-plugins-bad/src/Makefile.am                    |   24 ++++++++++++++++
 gst-plugins-bad/src/filelist.am                    |   16 +++++++++++
 .../src/glbasefilter.ccg                           |    0
 {gstreamer => gst-plugins-bad}/src/glbasefilter.hg |    8 +++++-
 {gstreamer => gst-plugins-bad}/src/glfilter.ccg    |    8 +++--
 {gstreamer => gst-plugins-bad}/src/glfilter.hg     |   10 +++++-
 gstreamer/src/filelist.am                          |    2 +-
 17 files changed, 172 insertions(+), 20 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index d81afb0..c5851e1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -496,12 +496,20 @@ gstreamer/src/ximagesink.hg
 gstreamer/src/xvimagesink.ccg
 gstreamer/src/xvimagesink.hg
 
+#gst-plugins-bad/
+gst-plugins-bad/gstreamermm-plugins-bad/glbasefilter.cc
+gst-plugins-bad/gstreamermm-plugins-bad/glbasefilter.h
+gst-plugins-bad/gstreamermm-plugins-bad/glfilter.cc
+gst-plugins-bad/gstreamermm-plugins-bad/glfilter.h
+gst-plugins-bad/gstreamermm-plugins-bad/wrap_init.cc
+gst-plugins-bad/gstreamermm-*.pc
+
 #tests/
 tests/test-allocator
 tests/test-atomicqueue
 tests/test-bin
-tests/test-buffer
-tests/test-bus
+tests/test-buffert
+ests/test-bus
 tests/test-caps
 tests/test-capsfeatures
 tests/test-ghostpad
diff --git a/Makefile.am b/Makefile.am
index 6ff51c0..07be4d0 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -19,7 +19,7 @@ DISTCHECK_CONFIGURE_FLAGS = --enable-warnings=fatal
 EXTRA_DIST =  tests/plugins/test-foo.h tests/regression/utils.h tests/regression/pluginbin.h 
tests/resources/input-image.png
 
 if MAINTAINER_MODE
-src_subdirs = gstreamer/src
+src_subdirs = gstreamer/src gst-plugins-bad/src
 else
 src_subdirs =
 endif
@@ -28,7 +28,9 @@ doc_subdirs = docs
 else
 doc_subdirs =
 endif
-SUBDIRS = tools $(src_subdirs) gstreamer/gstreamermm tests examples $(doc_subdirs)
+SUBDIRS = tools $(src_subdirs) gstreamer/gstreamermm \
+          gst-plugins-bad/gstreamermm-plugins-bad \
+          tests examples $(doc_subdirs)
 
 gstreamermm_includedir = $(includedir)/$(GSTREAMERMM_MODULE_NAME)
 gstreamermm_include_HEADERS = gstreamer/gstreamermm.h
@@ -36,7 +38,7 @@ gstreamermm_libincludedir = $(libdir)/$(GSTREAMERMM_MODULE_NAME)/include
 nodist_gstreamermm_libinclude_HEADERS = gstreamer/gstreamermmconfig.h
 
 pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = gstreamer/$(GSTREAMERMM_MODULE_NAME).pc
+pkgconfig_DATA = gstreamer/$(GSTREAMERMM_MODULE_NAME).pc 
gst-plugins-bad/$(GSTREAMERMM_PLUGINS_BAD_MODULE_NAME).pc
 
 dist_noinst_SCRIPTS = autogen.sh
 
diff --git a/configure.ac b/configure.ac
index 2cbf696..0c8f14e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -13,9 +13,9 @@
 ## You should have received a copy of the GNU Lesser General Public License
 ## along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-m4_define([GSTREAMERMM_VERSION], [1.4.3])
+m4_define([GSTMM_VERSION], [1.4.3])
 
-AC_INIT([gstreamermm], GSTREAMERMM_VERSION,
+AC_INIT([gstreamermm], [1.4.3],
         [http://bugzilla.gnome.org/enter_bug.cgi?product=gstreamermm],
         [gstreamermm], [http://www.gtkmm.org/])
 AC_PREREQ([2.59])
@@ -27,6 +27,7 @@ AC_CONFIG_HEADERS([config.h gstreamer/gstreamermmconfig.h])
 
 MM_PREREQ([0.9.6])
 MM_INIT_MODULE([gstreamermm-1.0])
+MM_INIT_MODULE([gstreamermm-plugins-bad-1.0])
 
 # Copy the mm-common .pl scripts into docs/,
 # and use them from there,
@@ -56,6 +57,7 @@ AC_PROG_SED
 AS_IF([test "x$enable_static" = xyes],
 [
   AC_DEFINE([GSTREAMERMM_STATIC_LIB], [1], [Define if gstreamermm is built as a static library])
+  AC_DEFINE([GSTREAMERMM_PLUGINS_BAD_STATIC_LIB], [1], [Define if gstreamermm-plugins-bad is built as a 
static library])
 ])
 
 # The format below is used so that the requirements appear nicely in the .pc
@@ -65,11 +67,12 @@ AC_SUBST([GSTREAMERMM_MODULES],
          [[], [-app], [-audio], [-base], [-check],
            [-controller], [-fft], [-net], [-pbutils], [-plugins-base],
            [-riff], [-rtp], [-sdp], [-tag], [-video], [-gl]],
-         [ gstreamer[]m4_defn([gstmm_mod])[]-1.0 >= GSTREAMERMM_VERSION])'])
+         [ gstreamer[]m4_defn([gstmm_mod])[]-1.0 >= GSTMM_VERSION])'])
 PKG_CHECK_MODULES([GSTREAMERMM], [$GSTREAMERMM_MODULES])
 
-
-PKG_CHECK_MODULES([GSTREAMERMM_PLUGINS_BAD], gstreamer-plugins-bad-1.0 >= GSTREAMERMM_VERSION,
+AC_SUBST([GSTREAMERMM_PLUGINS_BAD_MODULES],
+         ["gstreamer-plugins-bad-1.0 >= GSTMM_VERSION $GSTREAMERMM_MODULES"])
+PKG_CHECK_MODULES([GSTREAMERMM_PLUGINS_BAD], ,
                   [
                     gstmm_bad_version=$(pkg-config --modversion gstreamer-plugins-bad-1.0)
                     gstmm_enable_bad=yes
@@ -211,6 +214,10 @@ AC_CONFIG_FILES([Makefile
                  gstreamer/${GSTREAMERMM_MODULE_NAME}-uninstalled.pc:gstreamer/gstreamermm-uninstalled.pc.in
                  gstreamer/src/Makefile
                  gstreamer/gstreamermm/Makefile
+                 
gst-plugins-bad/${GSTREAMERMM_PLUGINS_BAD_MODULE_NAME}.pc:gst-plugins-bad/gstreamermm-plugins-bad.pc.in
+                 
gst-plugins-bad/${GSTREAMERMM_PLUGINS_BAD_MODULE_NAME}-uninstalled.pc:gst-plugins-bad/gstreamermm-plugins-bad-uninstalled.pc.in
+                 gst-plugins-bad/src/Makefile
+                 gst-plugins-bad/gstreamermm-plugins-bad/Makefile
                  examples/Makefile
                  tests/Makefile
                  docs/Makefile
diff --git a/examples/Makefile.am b/examples/Makefile.am
index 9c40c43..b8ff986 100644
--- a/examples/Makefile.am
+++ b/examples/Makefile.am
@@ -23,7 +23,7 @@ examples_cppflags = $(GUI_EXAMPLES_CFLAGS) $(examples_cppflags)
 endif
 
 if ENABLE_GSTREAMERMM_GL
-gl_examples = opengl_filter/example
+#gl_examples = opengl_filter/example
 endif
 
 noinst_PROGRAMS =                                              \
diff --git a/gst-plugins-bad/gstreamermm-plugins-bad-uninstalled.pc.in 
b/gst-plugins-bad/gstreamermm-plugins-bad-uninstalled.pc.in
new file mode 100644
index 0000000..c8cd503
--- /dev/null
+++ b/gst-plugins-bad/gstreamermm-plugins-bad-uninstalled.pc.in
@@ -0,0 +1,10 @@
+doxytagfile=${pc_top_builddir}/docs/reference/@GSTREAMERMM_MODULE_NAME  tag
+htmlrefpub=http://library.gnome.org/@PACKAGE_TARNAME@/unstable/
+
+Name: gstreamermm-plugins-bad
+Description: C++ binding for GStreamer, not installed
+Version: @GSTREAMERMM_VERSION@
+URL: http://www.gtkmm.org/
+Requires: @GSTREAMERMM_MODULES@
+Libs: ${pc_top_builddir}/${pcfiledir}/gstreamermm/libgstreamermm- GSTREAMERMM_API_VERSION@.la
+Cflags: -I${pc_top_builddir}/${pcfiledir} -I${pc_top_builddir}/${pcfiledir}/@srcdir@
diff --git a/gst-plugins-bad/gstreamermm-plugins-bad.pc.in b/gst-plugins-bad/gstreamermm-plugins-bad.pc.in
new file mode 100644
index 0000000..b537645
--- /dev/null
+++ b/gst-plugins-bad/gstreamermm-plugins-bad.pc.in
@@ -0,0 +1,19 @@
+prefix= prefix@
+exec_prefix= exec_prefix@
+libdir= libdir@
+datarootdir= datarootdir@
+datadir= datadir@
+includedir= includedir@
+
+docdir=${datarootdir}/doc/@GSTREAMERMM_MODULE_NAME@
+doxytagfile=${docdir}/reference/@GSTREAMERMM_MODULE_NAME  tag
+htmlrefdir=${docdir}/reference/html
+htmlrefpub=http://library.gnome.org/@PACKAGE_TARNAME@/unstable/
+
+Name: gstreamermm-plugins-bad
+Description: C++ binding for gstreamer
+Version: @GSTREAMERMM_VERSION@
+URL: http://www.gtkmm.org/
+Requires: @GSTREAMERMM_PLUGINS_BAD_MODULES@ gstreamermm-1.0 >= @GSTREAMERMM_VERSION@
+Libs: -L${libdir} -lgstreamermm-plugins-bad- GSTREAMERMM_API_VERSION@
+Cflags: -I${includedir}/@GSTREAMERMM_MODULE_NAME@ -I${libdir}/@GSTREAMERMM_MODULE_NAME@/include
diff --git a/gst-plugins-bad/gstreamermm-plugins-bad/Makefile.am 
b/gst-plugins-bad/gstreamermm-plugins-bad/Makefile.am
new file mode 100644
index 0000000..4f8b18e
--- /dev/null
+++ b/gst-plugins-bad/gstreamermm-plugins-bad/Makefile.am
@@ -0,0 +1,29 @@
+## Copyright 2009 The gstreamermm Development Team
+##
+## This library is free software: you can redistribute it and/or modify it
+## under the terms of the GNU Lesser General Public License as published
+## by the Free Software Foundation, either version 2.1 of the License,
+## or (at your option) any later version.
+##
+## This library is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+## Lesser General Public License for more details.
+##
+## You should have received a copy of the GNU Lesser General Public License
+## along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+lib_LTLIBRARIES = libgstreamermm-plugins-bad- GSTREAMERMM_API_VERSION@.la
+
+include $(srcdir)/../src/filelist.am
+include $(srcdir)/filelist.am
+include $(top_srcdir)/build/compile-binding.am
+
+local_cppflags = -I$(top_srcdir)/gstreamer $(binding_includes) $(binding_cppflags) -DGSTREAMERMM_BUILD=1
+
+AM_CPPFLAGS = $(local_cppflags) $(GSTREAMERMM_CFLAGS)
+AM_CXXFLAGS = $(GSTREAMERMM_WXXFLAGS)
+
+libgstreamermm_plugins_bad_ GSTREAMERMM_API_VERSION@_la_SOURCES = $(binding_sources)
+libgstreamermm_plugins_bad_ GSTREAMERMM_API_VERSION@_la_LDFLAGS = -no-undefined -version-info 
$(GSTREAMERMM_SO_VERSION)
+libgstreamermm_plugins_bad_ GSTREAMERMM_API_VERSION@_la_LIBADD  = $(GSTREAMERMM_LIBS)
diff --git a/gst-plugins-bad/gstreamermm-plugins-bad/filelist.am 
b/gst-plugins-bad/gstreamermm-plugins-bad/filelist.am
new file mode 100644
index 0000000..d02bd27
--- /dev/null
+++ b/gst-plugins-bad/gstreamermm-plugins-bad/filelist.am
@@ -0,0 +1,6 @@
+## Copyright 2009 The gstreamermm Development Team
+
+files_built_cc = $(files_hg:.hg=.cc) wrap_init.cc
+files_built_h  = $(files_hg:.hg=.h)
+files_built_ph = $(patsubst %.hg,private/%_p.h,$(files_hg))
+files_extra_ph = 
diff --git a/gst-plugins-bad/gstreamermm-plugins-bad/private/.gitignore 
b/gst-plugins-bad/gstreamermm-plugins-bad/private/.gitignore
new file mode 100644
index 0000000..c3d1f64
--- /dev/null
+++ b/gst-plugins-bad/gstreamermm-plugins-bad/private/.gitignore
@@ -0,0 +1 @@
+*_p.h
diff --git a/gstreamer/src/glbasefilter.ccg b/gst-plugins-bad/gstreamermm-plugins-bad/wrap_init.h
similarity index 67%
copy from gstreamer/src/glbasefilter.ccg
copy to gst-plugins-bad/gstreamermm-plugins-bad/wrap_init.h
index 96989b1..2561128 100644
--- a/gstreamer/src/glbasefilter.ccg
+++ b/gst-plugins-bad/gstreamermm-plugins-bad/wrap_init.h
@@ -1,6 +1,8 @@
+// -*- c++ -*-
+
 /* gstreamermm - a C++ wrapper for gstreamer
  *
- * Copyright 2008-2015 The gstreamermm Development Team
+ * Copyright 2008 The gstreamermm Development Team
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -17,4 +19,18 @@
  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 
-_PINCLUDE(gstreamermm/private/basetransform_p.h)
+#ifndef _GSTREAMERMM_WRAP_INIT_H
+#define _GSTREAMERMM_WRAP_INIT_H
+
+// wrap_init.cc is generated by tools/generate_wrap_init.pl
+
+#include <gstreamermmconfig.h>
+
+namespace GstBad
+{
+  /** Initializes the gstreamermm-plugins-bad wrapping system.
+   */
+  void wrap_init();
+}
+
+#endif //_GSTREAMERMM_WRAP_INIT_H
diff --git a/gst-plugins-bad/src/Makefile.am b/gst-plugins-bad/src/Makefile.am
new file mode 100644
index 0000000..01a5a29
--- /dev/null
+++ b/gst-plugins-bad/src/Makefile.am
@@ -0,0 +1,24 @@
+## Copyright 2015 The gstreamermm Development Team
+##
+## This library is free software: you can redistribute it and/or modify it
+## under the terms of the GNU Lesser General Public License as published
+## by the Free Software Foundation, either version 2.1 of the License,
+## or (at your option) any later version.
+##
+## This library is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+## Lesser General Public License for more details.
+##
+## You should have received a copy of the GNU Lesser General Public License
+## along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+binding_name    = gstreamermm-plugins-bad
+# generate_wrap_init.pl should support nested namespaces
+wrap_init_flags = --namespace=Gst --parent_dir=gstreamermm-plugins-bad 
+codegen_srcdir  = $(top_srcdir)/tools
+
+
+include $(srcdir)/filelist.am
+include $(top_srcdir)/tools/m4/filelist.am
+include $(top_srcdir)/build/generate-binding.am
diff --git a/gst-plugins-bad/src/filelist.am b/gst-plugins-bad/src/filelist.am
new file mode 100644
index 0000000..4da70c8
--- /dev/null
+++ b/gst-plugins-bad/src/filelist.am
@@ -0,0 +1,16 @@
+## Copyright 2009 The gstreamermm Development Team
+
+#files_defs =                    \
+#        gst.defs                \
+#        gst_enums.defs          \
+#        gst_extra_objects.defs  \
+#        gst_methods.defs        \
+#        gst_others.defs         \
+#        gst_signals.defs        \
+#        gst_vfuncs.defs         \
+#        gst_docs.xml            \
+#        gst_docs_override.xml
+
+files_hg = glbasefilter.hg glfilter.hg
+
+files_ccg = $(files_hg:.hg=.ccg)
diff --git a/gstreamer/src/glbasefilter.ccg b/gst-plugins-bad/src/glbasefilter.ccg
similarity index 100%
rename from gstreamer/src/glbasefilter.ccg
rename to gst-plugins-bad/src/glbasefilter.ccg
diff --git a/gstreamer/src/glbasefilter.hg b/gst-plugins-bad/src/glbasefilter.hg
similarity index 93%
rename from gstreamer/src/glbasefilter.hg
rename to gst-plugins-bad/src/glbasefilter.hg
index ea02ace..55e1bf1 100644
--- a/gstreamer/src/glbasefilter.hg
+++ b/gst-plugins-bad/src/glbasefilter.hg
@@ -17,13 +17,18 @@
  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
  
-_DEFS(gstreamermm,gst)
+_DEFS(gstreamermm-plugins-bad,gst)
 
 #include <gst/gl/gl.h>
 #include <gstreamermm/basetransform.h>
 
 namespace Gst
 {
+namespace Bad
+{
+
+_GMMPROC_EXTRA_NAMESPACE(Bad)
+
 class GLBaseFilter
 : public BaseTransform
 {
@@ -36,3 +41,4 @@ public:
 };
 
 }
+}
diff --git a/gstreamer/src/glfilter.ccg b/gst-plugins-bad/src/glfilter.ccg
similarity index 86%
rename from gstreamer/src/glfilter.ccg
rename to gst-plugins-bad/src/glfilter.ccg
index 87e2795..8cee240 100644
--- a/gstreamer/src/glfilter.ccg
+++ b/gst-plugins-bad/src/glfilter.ccg
@@ -17,22 +17,24 @@
  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 
-_PINCLUDE(gstreamermm/private/glbasefilter_p.h)
+_PINCLUDE(gstreamermm-plugins-bad/private/glbasefilter_p.h)
 
 static void Slot_Texture_Operation_gstreamermm_callback(gint param1, gint param2, guint param3, gpointer 
stuff)
 {
-  Gst::GLFilter::SlotTextureOperation* the_slot = static_cast<Gst::GLFilter::SlotTextureOperation*>(stuff);
+  Gst::Bad::GLFilter::SlotTextureOperation* the_slot = 
static_cast<Gst::Bad::GLFilter::SlotTextureOperation*>(stuff);
   (*the_slot)(param1, param2, param3);
   delete the_slot;
 }
 
 namespace Gst
 {
-
+namespace Bad
+{
 void GLFilter::render_to_target(bool resize, GLuint input, GLuint target, const SlotTextureOperation& slot)
 {
   SlotTextureOperation* slot_copy = new SlotTextureOperation(slot);
   gst_gl_filter_render_to_target(gobj(), resize, input, target, 
&Slot_Texture_Operation_gstreamermm_callback, slot_copy);
 }
 
+} // namespace Bad
 } //namespace Gst
diff --git a/gstreamer/src/glfilter.hg b/gst-plugins-bad/src/glfilter.hg
similarity index 95%
rename from gstreamer/src/glfilter.hg
rename to gst-plugins-bad/src/glfilter.hg
index 76f5d8f..0df6a71 100644
--- a/gstreamer/src/glfilter.hg
+++ b/gst-plugins-bad/src/glfilter.hg
@@ -17,15 +17,20 @@
  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 
-_DEFS(gstreamermm,gst)
+_DEFS(gstreamermm-plugins-bad,gst)
 
 #include <gst/gl/gl.h>
-#include <gstreamermm/glbasefilter.h>
+#include <gstreamermm-plugins-bad/glbasefilter.h>
 #include <gstreamermm/videoinfo.h>
 #include <gstreamermm/buffer.h>
 
 namespace Gst
 {
+namespace Bad
+{
+
+_GMMPROC_EXTRA_NAMESPACE(Bad)
+
 class GLFilter
 : public GLBaseFilter
 {
@@ -74,3 +79,4 @@ public:
 };
 
 }
+}
diff --git a/gst-plugins-bad/src/gst.defs b/gst-plugins-bad/src/gst.defs
new file mode 100644
index 0000000..e69de29
diff --git a/gstreamer/src/filelist.am b/gstreamer/src/filelist.am
index 7f0feb9..c8cdece 100644
--- a/gstreamer/src/filelist.am
+++ b/gstreamer/src/filelist.am
@@ -163,7 +163,7 @@ files_hg  =                     \
         $(plugins_hg)
 
 if ENABLE_GSTREAMERMM_GL
-files_hg += $(gl_files_hg)
+#iles_hg += $(gl_files_hg)
 endif
 
 files_ccg = $(files_hg:.hg=.ccg)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]