gnomemm r2134 - in gstreamermm/trunk: . tools/extra_defs_gen tools/m4



Author: jaalburqu
Date: Fri Mar 27 21:02:17 2009
New Revision: 2134
URL: http://svn.gnome.org/viewvc/gnomemm?rev=2134&view=rev

Log:
2009-03-27  Josà Alburquerque  <jaalburqu svn gnome org>

	* configure.ac:
	* tools/extra_defs_gen/Makefile.am: Modified build files so that the
	generate_plugins_gmmproc_file plug-in generating utility is installed
	along with a get_plugin_defs library so that other (future)
	gstreamermm modules can also generate plug-ins (a lot is adapted from
	glibmm).
	* tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Modified help
	info to be more general and not specific to gstreamermm module.

	* tools/m4/ctocpp.m4: Modified to just include ctocpp_gstreamermm.m4
	so that other gstreamermm modules can have their own ctocpp.m4 in
	which ctocpp_gstreamermm.m4 can also be included (like what happens
	with convert.m4).
	* tools/m4/Makefile_list_of_sources.am_fragment:
	* tools/m4/ctocpp_gstreamermm.m4: Added C to C++ gstreamermm specific
	translation file which can be included by other gstreamermm modules'
	ctocpp.m4 file.

	* tools/m4/Makefile.am: Made sure that the additional ctocpp*.m4
	files, which are used for plug-in generation, are installed along with
	the other .m4 files so that gstreamermm modules that generate plug-ins
	can also use the macros for generating plug-ins.

Added:
   gstreamermm/trunk/tools/m4/ctocpp_gstreamermm.m4
Modified:
   gstreamermm/trunk/ChangeLog
   gstreamermm/trunk/configure.ac
   gstreamermm/trunk/tools/extra_defs_gen/Makefile.am
   gstreamermm/trunk/tools/extra_defs_gen/generate_plugin_gmmproc_file.cc
   gstreamermm/trunk/tools/m4/Makefile.am
   gstreamermm/trunk/tools/m4/Makefile_list_of_sources.am_fragment
   gstreamermm/trunk/tools/m4/ctocpp.m4

Modified: gstreamermm/trunk/configure.ac
==============================================================================
--- gstreamermm/trunk/configure.ac	(original)
+++ gstreamermm/trunk/configure.ac	Fri Mar 27 21:02:17 2009
@@ -157,6 +157,11 @@
 GMMPROC=$GMMPROC_DIR/gmmproc
 AC_SUBST(GMMPROC)
 
+# location to install generate_plugin_gmmproc_file so other gstreamermm modules
+# can generate plug-ins also.
+GENERATE_PLUGIN_GMMPROC_FILE_DIR=[${libdir}/gstreamermm-0.10/gen]
+AC_SUBST([GENERATE_PLUGIN_GMMPROC_FILE_DIR])
+
 
 #########################################################################
 #  Plug-in processing

Modified: gstreamermm/trunk/tools/extra_defs_gen/Makefile.am
==============================================================================
--- gstreamermm/trunk/tools/extra_defs_gen/Makefile.am	(original)
+++ gstreamermm/trunk/tools/extra_defs_gen/Makefile.am	Fri Mar 27 21:02:17 2009
@@ -1,15 +1,38 @@
-# Build the generate_properties_defs utility executable.
-# This is not used to build the rest of gtkmm.
+# Build the library, to be installed and used by other plug-in generating
+# modules:
+
+files_h = get_plugin_defs.h gst_type_is_a_pointer.h
+files_cc = get_plugin_defs.cc gst_type_is_a_pointer.cc
+
+if PLATFORM_WIN32
+no_undefined = -no-undefined
+else
+no_undefined =
+endif
+
+lib_LTLIBRARIES		= libgstreamermm_get_plugin_defs-0.10.la
+libgstreamermm_get_plugin_defs_0_10_la_SOURCES = $(files_h) $(files_cc)
+libgstreamermm_get_plugin_defs_0_10_la_LDFLAGS = $(no_undefined) -version-info \
+						 $(LIBGSTREAMERMM_SO_VERSION)
+libgstreamermm_get_plugin_defs_0_10_la_LIBADD = $(GSTREAMERMM_LIBS)
+
+sublib_includedir = $(includedir)/gstreamermm-0.10/gstreamermm_get_plugin_defs
+sublib_include_HEADERS	= $(files_h)
+
+# Build the generate_defs_gst utility executable.
+# This is not used to build the rest of gstreamermm.
 
 INCLUDES = $(GSTREAMERMM_CFLAGS)
 LIBS = $(GSTREAMERMM_LIBS) -lglibmm_generate_extra_defs-2.4
 
-EXTRA_DIST = get_plugin_defs.h get_plugin_defs.cc gst_type_is_a_pointer.h \
-	     gst_type_is_a_pointer.cc
+noinst_PROGRAMS = generate_defs_gst
 
-noinst_PROGRAMS = generate_defs_gst generate_plugin_gmmproc_file
+generate_defs_gst_SOURCES = generate_defs_gst.cc
+generate_defs_gst_LDADD = libgstreamermm_get_plugin_defs-0.10.la
 
-generate_defs_gst_SOURCES = generate_defs_gst.cc get_plugin_defs.cc
+# Build and install the generate_plugin_gmmproc_file utility executable so that
+# other gstreamermm modules can also generate plug-ins.
 
-generate_plugin_gmmproc_file_SOURCES = generate_plugin_gmmproc_file.cc \
-				       gst_type_is_a_pointer.cc
+generate_plugin_gmmproc_file_PROGRAMS = generate_plugin_gmmproc_file
+generate_plugin_gmmproc_file_LDADD = libgstreamermm_get_plugin_defs-0.10.la
+generate_plugin_gmmproc_filedir = $(GENERATE_PLUGIN_GMMPROC_FILE_DIR)

Modified: gstreamermm/trunk/tools/extra_defs_gen/generate_plugin_gmmproc_file.cc
==============================================================================
--- gstreamermm/trunk/tools/extra_defs_gen/generate_plugin_gmmproc_file.cc	(original)
+++ gstreamermm/trunk/tools/extra_defs_gen/generate_plugin_gmmproc_file.cc	Fri Mar 27 21:02:17 2009
@@ -584,9 +584,9 @@
   g_option_context_set_summary(gContext, "Outputs a GStreamer plugin's "
     "gmmproc files to be processed by gmmproc for\nwrapping in gstreamermm.  "
     "Use the same syntax for plugin-name as in gst-inspect\nand supply the "
-    "desired C++ class name unless the confirm existence option is\nused.  "
+    "desired C++ class name unless the --confirm-existence option is\nused.  "
     "The .hg file is a preliminary .hg file that needs to be run through "
-    "m4\nincluding the ctocpp*.m4 files in the tools/m4 directory.");
+    "m4\nincluding the macros in the ctocpp*.m4 files.");
 
   g_option_context_add_main_entries(gContext, optionEntries, 0);
   g_option_context_add_group(gContext, gst_init_get_option_group());

Modified: gstreamermm/trunk/tools/m4/Makefile.am
==============================================================================
--- gstreamermm/trunk/tools/m4/Makefile.am	(original)
+++ gstreamermm/trunk/tools/m4/Makefile.am	Fri Mar 27 21:02:17 2009
@@ -5,7 +5,5 @@
 	     $(files_tools_plugin_m4)
 
 # Install the .m4, files:
-
 tools_m4_includedir = $(libdir)/gstreamermm-0.10/proc/m4
-tools_m4_include_HEADERS = $(files_tools_m4)
-
+tools_m4_include_HEADERS = $(files_tools_m4) $(files_tools_plugin_m4)

Modified: gstreamermm/trunk/tools/m4/Makefile_list_of_sources.am_fragment
==============================================================================
--- gstreamermm/trunk/tools/m4/Makefile_list_of_sources.am_fragment	(original)
+++ gstreamermm/trunk/tools/m4/Makefile_list_of_sources.am_fragment	Fri Mar 27 21:02:17 2009
@@ -1,5 +1,4 @@
 files_tools_m4 = convert.m4 convert_gst.m4 class_gstminiobject.m4 \
 		 class_boxedtype_extra.m4 shared.m4
 
-files_tools_plugin_m4 = ctocpp_base.m4 ctocpp.m4
-
+files_tools_plugin_m4 = ctocpp_base.m4 ctocpp.m4 ctocpp_gstreamermm.m4

Modified: gstreamermm/trunk/tools/m4/ctocpp.m4
==============================================================================
--- gstreamermm/trunk/tools/m4/ctocpp.m4	(original)
+++ gstreamermm/trunk/tools/m4/ctocpp.m4	Fri Mar 27 21:02:17 2009
@@ -1,25 +1,4 @@
-#Enums
-_CCONVERSION(`GstFormat',`Gst::Format',`Gst::Format')
-_CCONVERSION(`GstTCPProtocol',`Gst::TCPProtocol',`Gst::TCPProtocol')
+# Other gstreamermm libraries can provide their own ctocpp.m4 file for plug-in
+# generation, maybe also including the same files as this one.
 
-#giomm
-_CCONVERSION(`GFile*',`Gio::File',`const Glib::RefPtr<Gio::File>&',`Glib::RefPtr<Gio::File>',`<giomm/file.h>')
-_CCONVERSION(`GInputStream*',`Gio::InputStream',`const Glib::RefPtr<Gio::InputStream>&',`Glib::RefPtr<Gio::InputStream>',`<giomm/inputstream.h>')
-_CCONVERSION(`GOutputStream*',`Gio::OutputStream',`const Glib::RefPtr<Gio::OutputStream>&',`Glib::RefPtr<Gio::OutputStream>',`<giomm/outputstream.h>')
-
-#gstreamermm
-_CCONVERSION(`GstBuffer*',`Gst::Buffer',`const Glib::RefPtr<Gst::Buffer>&',`Glib::RefPtr<Gst::Buffer>',`<gstreamermm/buffer.h>')
-_CCONVERSION(`GstCaps*',`Gst::Caps',`const Glib::RefPtr<Gst::Caps>&',`Glib::RefPtr<Gst::Caps>',`<gstreamermm/caps.h>')
-_CCONVERSION(`GstElement*',`Gst::Element',`const Glib::RefPtr<Gst::Element>&',`Glib::RefPtr<Gst::Element>',`<gstreamermm/element.h>')
-_CCONVERSION(`GstPad*',`Gst::Pad',`const Glib::RefPtr<Gst::Pad>&',`Glib::RefPtr<Gst::Pad>',`<gstreamermm/pad.h>')
-_CCONVERSION(`GstTagList*',`Gst::TagList',`Gst::TagList',,`<gstreamermm/taglist.h>')
-
-#Interfaces
-_CCONVERSION(`GstColorBalance*',`Gst::ColorBalance',`const Glib::RefPtr<Gst::ColorBalance>&',`Glib::RefPtr<Gst::ColorBalance>',`<gstreamermm/colorbalance.h>')
-_CCONVERSION(`GstImplementsInterface*',`Gst::Interface',`const Glib::RefPtr<Gst::Interface>&',`Glib::RefPtr<Gst::Interface>',`<gstreamermm/interface.h>')
-_CCONVERSION(`GstMixer*',`Gst::Mixer',`const Glib::RefPtr<Gst::Mixer>&',`Glib::RefPtr<Gst::Mixer>',`<gstreamermm/mixer.h>')
-_CCONVERSION(`GstNavigation*',`Gst::Navigation',`const Glib::RefPtr<Gst::Navigation>&',`Glib::RefPtr<Gst::Navigation>',`<gstreamermm/navigation.h>')
-_CCONVERSION(`GstPropertyProbe*',`Gst::PropertyProbe',`const Glib::RefPtr<Gst::PropertyProbe>&',`Glib::RefPtr<Gst::PropertyProbe>',`<gstreamermm/propertyprobe.h>')
-_CCONVERSION(`GstTagSetter*',`Gst::TagSetter',`const Glib::RefPtr<Gst::TagSetter>&',`Glib::RefPtr<Gst::TagSetter>',`<gstreamermm/tagsetter.h>')
-_CCONVERSION(`GstURIHandler*',`Gst::URIHandler',`const Glib::RefPtr<Gst::URIHandler>&',`Glib::RefPtr<Gst::URIHandler>',`<gstreamermm/urihandler.h>')
-_CCONVERSION(`GstXOverlay*',`Gst::XOverlay',`const Glib::RefPtr<Gst::XOverlay>&',`Glib::RefPtr<Gst::XOverlay>',`<gstreamermm/xoverlay.h>')
+include(ctocpp_gstreamermm.m4)

Added: gstreamermm/trunk/tools/m4/ctocpp_gstreamermm.m4
==============================================================================
--- (empty file)
+++ gstreamermm/trunk/tools/m4/ctocpp_gstreamermm.m4	Fri Mar 27 21:02:17 2009
@@ -0,0 +1,25 @@
+#Enums
+_CCONVERSION(`GstFormat',`Gst::Format',`Gst::Format')
+_CCONVERSION(`GstTCPProtocol',`Gst::TCPProtocol',`Gst::TCPProtocol')
+
+#giomm
+_CCONVERSION(`GFile*',`Gio::File',`const Glib::RefPtr<Gio::File>&',`Glib::RefPtr<Gio::File>',`<giomm/file.h>')
+_CCONVERSION(`GInputStream*',`Gio::InputStream',`const Glib::RefPtr<Gio::InputStream>&',`Glib::RefPtr<Gio::InputStream>',`<giomm/inputstream.h>')
+_CCONVERSION(`GOutputStream*',`Gio::OutputStream',`const Glib::RefPtr<Gio::OutputStream>&',`Glib::RefPtr<Gio::OutputStream>',`<giomm/outputstream.h>')
+
+#gstreamermm
+_CCONVERSION(`GstBuffer*',`Gst::Buffer',`const Glib::RefPtr<Gst::Buffer>&',`Glib::RefPtr<Gst::Buffer>',`<gstreamermm/buffer.h>')
+_CCONVERSION(`GstCaps*',`Gst::Caps',`const Glib::RefPtr<Gst::Caps>&',`Glib::RefPtr<Gst::Caps>',`<gstreamermm/caps.h>')
+_CCONVERSION(`GstElement*',`Gst::Element',`const Glib::RefPtr<Gst::Element>&',`Glib::RefPtr<Gst::Element>',`<gstreamermm/element.h>')
+_CCONVERSION(`GstPad*',`Gst::Pad',`const Glib::RefPtr<Gst::Pad>&',`Glib::RefPtr<Gst::Pad>',`<gstreamermm/pad.h>')
+_CCONVERSION(`GstTagList*',`Gst::TagList',`Gst::TagList',,`<gstreamermm/taglist.h>')
+
+#Interfaces
+_CCONVERSION(`GstColorBalance*',`Gst::ColorBalance',`const Glib::RefPtr<Gst::ColorBalance>&',`Glib::RefPtr<Gst::ColorBalance>',`<gstreamermm/colorbalance.h>')
+_CCONVERSION(`GstImplementsInterface*',`Gst::Interface',`const Glib::RefPtr<Gst::Interface>&',`Glib::RefPtr<Gst::Interface>',`<gstreamermm/interface.h>')
+_CCONVERSION(`GstMixer*',`Gst::Mixer',`const Glib::RefPtr<Gst::Mixer>&',`Glib::RefPtr<Gst::Mixer>',`<gstreamermm/mixer.h>')
+_CCONVERSION(`GstNavigation*',`Gst::Navigation',`const Glib::RefPtr<Gst::Navigation>&',`Glib::RefPtr<Gst::Navigation>',`<gstreamermm/navigation.h>')
+_CCONVERSION(`GstPropertyProbe*',`Gst::PropertyProbe',`const Glib::RefPtr<Gst::PropertyProbe>&',`Glib::RefPtr<Gst::PropertyProbe>',`<gstreamermm/propertyprobe.h>')
+_CCONVERSION(`GstTagSetter*',`Gst::TagSetter',`const Glib::RefPtr<Gst::TagSetter>&',`Glib::RefPtr<Gst::TagSetter>',`<gstreamermm/tagsetter.h>')
+_CCONVERSION(`GstURIHandler*',`Gst::URIHandler',`const Glib::RefPtr<Gst::URIHandler>&',`Glib::RefPtr<Gst::URIHandler>',`<gstreamermm/urihandler.h>')
+_CCONVERSION(`GstXOverlay*',`Gst::XOverlay',`const Glib::RefPtr<Gst::XOverlay>&',`Glib::RefPtr<Gst::XOverlay>',`<gstreamermm/xoverlay.h>')



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