commit 0b5f750767337cc3b74d7e319e55409a216446a8
Author: Johannes Berg <johannes@sipsolutions.net>
Date:   Fri Aug 21 16:15:14 2009 +0200

    Use only one copy of pygstminiobject. Fixes #590348.
    
    Instead of linking pygstminiobject.c into all the modules,
    we can link it only into _gst and export the symbols for
    the other modules. This fixes bug #590348 because now the
    class key/id is common for all modules as a side-effect.
    Also makes the modules smaller.

diff --git a/gst/Makefile.am b/gst/Makefile.am
index db8d91c..a61275b 100644
--- a/gst/Makefile.am
+++ b/gst/Makefile.am
@@ -48,7 +48,7 @@ GEN_FILES = arg-types.py gst-types.defs libs.defs base.defs pbutils.defs
 # GStreamer bindings
 _gst_la_CFLAGS = $(common_cflags)
 _gst_la_LIBADD = $(common_libadd) $(GST_BASE_LIBS)
-_gst_la_LDFLAGS = $(common_ldflags) -export-symbols-regex "^(init_gst|_PyGObject_API).*" \
+_gst_la_LDFLAGS = $(common_ldflags) -export-symbols-regex "^(init_gst|_PyGObject_API|pygstminiobject_).*" \
 	$(GST_BASE_LIBS) $(GST_CONTROLLER_LIBS) $(GST_NET_LIBS) $(GST_DP_LIBS)
 _gst_la_SOURCES = 		\
 	gst-argtypes.c 		\
@@ -100,7 +100,7 @@ pbutils_la_CFLAGS = $(common_cflags) $(GST_PLUGINS_BASE_CFLAGS)
 pbutils_la_LIBADD = $(common_libadd) $(GST_PLUGINS_BASE_LIBS) -lgstpbutils-0.10
 pbutils_la_LDFLAGS = $(common_ldflags) \
 	-export-symbols-regex "^(initpbutils|_PyGObject_API).*" $(GST_PLUGINS_BASE_LIBS)
-pbutils_la_SOURCES = pbutilsmodule.c gst-argtypes.c pygstminiobject.c
+pbutils_la_SOURCES = pbutilsmodule.c gst-argtypes.c
 nodist_pbutils_la_SOURCES = pbutils.c
 PBUTILS_OVERRIDES = pbutils.override
 PBUTILS_DEFS = pbutils.defs
@@ -124,7 +124,7 @@ if HAVE_GST_AUDIO
  audio_la_LIBADD = $(common_libadd) $(GST_PLUGINS_BASE_LIBS) -lgstaudio-0.10
  audio_la_LDFLAGS = $(common_ldflags) \
 	-export-symbols-regex "^(initaudio|_PyGObject_API).*" $(GST_PLUGINS_BASE_LIBS)
- audio_la_SOURCES = audiomodule.c gst-argtypes.c pygstminiobject.c
+ audio_la_SOURCES = audiomodule.c gst-argtypes.c
  nodist_audio_la_SOURCES = audio.c
 audio.c: $(AUDIO_DEFS) $(AUDIO_OVERRIDES) $(GEN_FILES)
 
@@ -146,7 +146,7 @@ if HAVE_GST_VIDEO
  video_la_LIBADD = $(common_libadd) $(GST_PLUGINS_BASE_LIBS) -lgstvideo-0.10
  video_la_LDFLAGS = $(common_ldflags) \
 	-export-symbols-regex "^(initvideo|_PyGObject_API).*" $(GST_PLUGINS_BASE_LIBS)
- video_la_SOURCES = videomodule.c gst-argtypes.c pygstminiobject.c
+ video_la_SOURCES = videomodule.c gst-argtypes.c
  nodist_video_la_SOURCES = video.c
 video.c: $(VIDEO_DEFS) $(VIDEO_OVERRIDES) $(GEN_FILES)
 
@@ -168,7 +168,7 @@ if HAVE_GST_TAG
  tag_la_LIBADD = $(common_libadd) $(GST_PLUGINS_BASE_LIBS) -lgsttag-0.10
  tag_la_LDFLAGS = $(common_ldflags) \
 	-export-symbols-regex "^(inittag|_PyGObject_API).*" $(GST_PLUGINS_BASE_LIBS)
- tag_la_SOURCES = tagmodule.c gst-argtypes.c pygstminiobject.c
+ tag_la_SOURCES = tagmodule.c gst-argtypes.c
  nodist_tag_la_SOURCES = tag.c
 tag.c: $(TAG_DEFS) $(TAG_OVERRIDES) $(GEN_FILES)
 
@@ -190,7 +190,7 @@ if HAVE_GST_APP
  app_la_LIBADD = $(common_libadd) $(GST_PLUGINS_BASE_LIBS) -lgstapp-0.10
  app_la_LDFLAGS = $(common_ldflags) \
 	-export-symbols-regex "^(initapp|_PyGObject_API).*" $(GST_PLUGINS_BASE_LIBS)
- app_la_SOURCES = appmodule.c gst-argtypes.c pygstminiobject.c
+ app_la_SOURCES = appmodule.c gst-argtypes.c
  nodist_app_la_SOURCES = app.c
 app.c: $(APP_DEFS) $(APP_OVERRIDES) $(GEN_FILES)
 
