gstreamer/gst
Tim-Philipp Müller 46ed0f0489 libs: fix 'inconsistent DLL linkage' warnings on Windows
For each lib we build export its own API in headers when we're
building it, otherwise import the API from the headers.

This fixes linker warnings on Windows when building with MSVC.

The problem was that we had defined all GST_*_API decorators
unconditionally to GST_EXPORT. This was intentional and only
supposed to be temporary, but caused linker warnings because
we tell the linker that we want to export all symbols even
those from externall DLLs, and when the linker notices that
they were in external DLLS and not present locally it warns.

What we need to do when building each library is: export
the library's own symbols and import all other symbols. To
this end we define e.g. BUILDING_GST_FOO and then we define
the GST_FOO_API decorator either to export or to import
symbols depending on whether BUILDING_GST_FOO is set or not.
That way external users of each library API automatically
get the import.

https://bugzilla.gnome.org/show_bug.cgi?id=797185
2018-09-23 23:23:01 +01:00
..
parse libs: fix 'inconsistent DLL linkage' warnings on Windows 2018-09-23 23:23:01 +01:00
printf autotools: stop controlling symbol visibility with -export-symbols-regex 2018-08-12 23:26:25 +01:00
.gitignore gstbase: Add gobject-introspection support 2009-09-05 10:28:46 +02:00
gettext.h Fix FSF address 2012-11-03 20:44:48 +00:00
glib-compat-private.h Fix FSF address 2012-11-03 20:44:48 +00:00
glib-compat.c Whenever we include windows.h, also define WIN32_LEAN_AND_MEAN 2016-02-20 10:07:42 +00:00
glib-compat.h Headers: add missing includes. 2015-08-15 13:17:07 +02:00
gst-i18n-app.h Fix FSF address 2012-11-03 20:44:48 +00:00
gst-i18n-lib.h Fix FSF address 2012-11-03 20:44:48 +00:00
gst.c Fix typos in comments and docs 2018-05-01 11:18:03 +01:00
gst.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gst_private.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstallocator.c Update for g_type_class_add_private() deprecation in recent GLib 2018-06-24 12:49:14 +02:00
gstallocator.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstatomicqueue.c introspection: add missing (nullable) annotations to return values 2014-06-26 18:56:38 +02:00
gstatomicqueue.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstbin.c bin: Fix use-after-free issue in gst_bin_add() 2018-09-08 19:15:41 +01:00
gstbin.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstbuffer.c miniobject: Add parent pointers to the miniobject to influence writability 2018-07-09 09:45:45 +02:00
gstbuffer.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstbufferlist.c gst: Add poisoning to more types 2018-08-03 14:31:34 +03:00
gstbufferlist.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstbufferpool.c Update for g_type_class_add_private() deprecation in recent GLib 2018-06-24 12:49:14 +02:00
gstbufferpool.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstbus.c bus: add missing (out) annotation to get_poll_fd() 2018-07-20 23:52:01 +02:00
gstbus.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstcaps.c gst: Add poisoning to more types 2018-08-03 14:31:34 +03:00
gstcaps.h caps: Add a macro based variant of gst_caps_copy 2018-04-17 14:00:20 -03:00
gstcapsfeatures.c Fix typos in comments and docs 2018-05-01 11:18:03 +01:00
gstcapsfeatures.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstchildproxy.c gst: Fix compilation with latest GLib 2018-03-20 16:11:01 +02:00
gstchildproxy.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstclock.c Update for g_type_class_add_private() deprecation in recent GLib 2018-06-24 12:49:14 +02:00
gstclock.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstcompat.h Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstconfig.h.in libs: fix 'inconsistent DLL linkage' warnings on Windows 2018-09-23 23:23:01 +01:00
gstcontext.c gst: Add poisoning to more types 2018-08-03 14:31:34 +03:00
gstcontext.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstcontrolbinding.c Update for g_type_class_add_private() deprecation in recent GLib 2018-06-24 12:49:14 +02:00
gstcontrolbinding.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstcontrolsource.c gst: Don't ref_sink() GstObject subclasses in instance_init/constructor 2017-05-17 10:40:37 +03:00
gstcontrolsource.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstdatetime.c gst: Add poisoning to more types 2018-08-03 14:31:34 +03:00
gstdatetime.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstdebugutils.c Fix typos in comments and docs 2018-05-01 11:18:03 +01:00
gstdebugutils.h debugutils: Update configure option in documentation 2018-05-04 15:25:24 +03:00
gstdevice.c Update for g_type_class_add_private() deprecation in recent GLib 2018-06-24 12:49:14 +02:00
gstdevice.h Fix typos in comments and docs 2018-05-01 11:18:03 +01:00
gstdevicemonitor.c Update for g_type_class_add_private() deprecation in recent GLib 2018-06-24 12:49:14 +02:00
gstdevicemonitor.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstdeviceprovider.c Update for g_type_class_add_private() deprecation in recent GLib 2018-06-24 12:49:14 +02:00
gstdeviceprovider.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstdeviceproviderfactory.c Don't use deprecated g_object_newv() 2017-04-08 09:49:59 +01:00
gstdeviceproviderfactory.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstdynamictypefactory.c Don't use deprecated g_object_newv() 2017-04-08 09:49:59 +01:00
gstdynamictypefactory.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstelement.c Source code typo fixes 2018-05-01 11:25:21 +01:00
gstelement.h Fix typos in comments and docs 2018-05-01 11:18:03 +01:00
gstelementfactory.c Don't use deprecated g_object_newv() 2017-04-08 09:49:59 +01:00
gstelementfactory.h elementfactory: GST_ELEMENT_FACTORY_TYPE_DECODABLE had DECRYPTOR added, update g-i annotation value 2018-03-21 10:11:30 +02:00
gstelementmetadata.h Headers: add missing includes. 2015-08-15 13:17:07 +02:00
gsterror.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gsterror.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstevent.c gst: Add poisoning to more types 2018-08-03 14:31:34 +03:00
gstevent.h gstevent: Add some FIXME: 2.0 about removing the timestamp 2018-05-07 01:33:16 +10:00
gstformat.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstformat.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstghostpad.c Update for g_type_class_add_private() deprecation in recent GLib 2018-06-24 12:49:14 +02:00
gstghostpad.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstinfo.c debug: Make PADS debug background blue 2018-04-17 13:36:26 -03:00
gstinfo.h Fix typos in comments and docs 2018-05-01 11:18:03 +01:00
gstiterator.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstiterator.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstmacros.h Headers: add missing includes. 2015-08-15 13:17:07 +02:00
gstmemory.c gst: Add poisoning to more types 2018-08-03 14:31:34 +03:00
gstmemory.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstmessage.c gst: Add poisoning to more types 2018-08-03 14:31:34 +03:00
gstmessage.h Fix typos in comments and docs 2018-05-01 11:18:03 +01:00
gstmeta.c gst: add some GIR array annotations 2018-05-21 09:15:09 +02:00
gstmeta.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstminiobject.c miniobject: Add parent pointers to the miniobject to influence writability 2018-07-09 09:45:45 +02:00
gstminiobject.h miniobject: Add parent pointers to the miniobject to influence writability 2018-07-09 09:45:45 +02:00
gstobject.c Fix typos in comments and docs 2018-05-01 11:18:03 +01:00
gstobject.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstpad.c Revert "pad: Don't drop LATENCY queries with default implementation" 2018-08-31 12:16:43 +03:00
gstpad.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstpadtemplate.c gst: Simplify some boolean expressions 2018-07-24 09:58:31 +03:00
gstpadtemplate.h gst: Add an example to GST_STATIC_PAD_TEMPLATE macro 2018-05-21 11:17:30 +02:00
gstparamspecs.c gst: Fix up a bunch of GIR annotations 2018-01-27 10:41:24 +00:00
gstparamspecs.h gst: Documentation fixes 2018-04-02 12:42:30 +02:00
gstparse.c gst: Simplify some boolean expressions 2018-07-24 09:58:31 +03:00
gstparse.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstpipeline.c Update for g_type_class_add_private() deprecation in recent GLib 2018-06-24 12:49:14 +02:00
gstpipeline.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstplugin.c Update for g_type_class_add_private() deprecation in recent GLib 2018-06-24 12:49:14 +02:00
gstplugin.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstpluginfeature.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstpluginfeature.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstpluginloader.c plugin: API: GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_RELATIVE_TO_EXE 2017-09-26 13:12:00 +02:00
gstpluginloader.h Headers: add missing includes. 2015-08-15 13:17:07 +02:00
gstpoll.c poll: minor docs clarification 2018-06-08 17:58:43 +01:00
gstpoll.h poll: add API to watch for POLLPRI 2018-06-08 11:53:55 -04:00
gstpreset.c Fix typos in comments and docs 2018-05-01 11:18:03 +01:00
gstpreset.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstpromise.c gst: Add poisoning to more types 2018-08-03 14:31:34 +03:00
gstpromise.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstprotection.c protection: Release decryptors list, even if it's empty 2018-06-25 16:38:13 +01:00
gstprotection.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstquark.c events: Implement the stream-group-done event 2016-07-25 20:22:20 +10:00
gstquark.h events: Implement the stream-group-done event 2016-07-25 20:22:20 +10:00
gstquery.c gst: Add poisoning to more types 2018-08-03 14:31:34 +03:00
gstquery.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstregistry.c Update for g_type_class_add_private() deprecation in recent GLib 2018-06-24 12:49:14 +02:00
gstregistry.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstregistrybinary.c gst: Use memcpy() instead of strncpy() where appropriate 2018-05-07 17:05:36 +02:00
gstregistrybinary.h tracer: initial prototype for the tracing subsystem 2015-10-05 20:59:39 +02:00
gstregistrychunks.c Fix typos in comments and docs 2018-05-01 11:18:03 +01:00
gstregistrychunks.h dynamic types: Implement dynamic types in the registry 2016-11-02 11:21:37 +11:00
gstsample.c gst: Add poisoning to more types 2018-08-03 14:31:34 +03:00
gstsample.h sample: Update documentation 2018-05-21 11:36:42 +02:00
gstsegment.c gstsegment: Handle positions before the segment properly 2018-08-28 01:54:02 +10:00
gstsegment.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gststreamcollection.c Update for g_type_class_add_private() deprecation in recent GLib 2018-06-24 12:49:14 +02:00
gststreamcollection.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gststreams.c Update for g_type_class_add_private() deprecation in recent GLib 2018-06-24 12:49:14 +02:00
gststreams.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gststructure.c structure: Update doc error in ARRAY/LIST helpers 2018-07-04 14:00:35 -04:00
gststructure.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstsystemclock.c Update for g_type_class_add_private() deprecation in recent GLib 2018-06-24 12:49:14 +02:00
gstsystemclock.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gsttaglist.c gst: Add poisoning to more types 2018-08-03 14:31:34 +03:00
gsttaglist.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gsttagsetter.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gsttagsetter.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gsttask.c Update for g_type_class_add_private() deprecation in recent GLib 2018-06-24 12:49:14 +02:00
gsttask.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gsttaskpool.c gst: Don't ref_sink() GstObject subclasses in instance_init/constructor 2017-05-17 10:40:37 +03:00
gsttaskpool.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gsttoc.c gst: Add poisoning to more types 2018-08-03 14:31:34 +03:00
gsttoc.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gsttocsetter.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gsttocsetter.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gsttracer.c Update for g_type_class_add_private() deprecation in recent GLib 2018-06-24 12:49:14 +02:00
gsttracer.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gsttracerfactory.c docs: include tracers in the documentation 2017-12-14 14:46:46 +11:00
gsttracerfactory.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gsttracerrecord.c gst: Clear floating flag in constructor of all GstObject subclasses that are not owned by any parent 2017-05-17 10:40:37 +03:00
gsttracerrecord.h Fix typos in comments and docs 2018-05-01 11:18:03 +01:00
gsttracerutils.c Fix typos in comments and docs 2018-05-01 11:18:03 +01:00
gsttracerutils.h gst: Documentation fixes 2018-04-02 12:42:30 +02:00
gsttypefind.c Don't use deprecated g_object_newv() 2017-04-08 09:49:59 +01:00
gsttypefind.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gsttypefindfactory.c Fix typos in comments and docs 2018-05-01 11:18:03 +01:00
gsttypefindfactory.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gsturi.c gst: Add poisoning to more types 2018-08-03 14:31:34 +03:00
gsturi.h gsturi: include gstconfig.h earlier for GST_API define 2018-04-09 14:19:19 +01:00
gstutils.c utils: Set default values for position and duration query results 2018-09-03 12:06:35 +01:00
gstutils.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstvalue.c Fix typos in comments and docs 2018-05-01 11:18:03 +01:00
gstvalue.h gst: GST_EXPORT -> GST_API 2018-03-13 00:45:35 +00:00
gstversion.h.in gstversion: Add missing include in .in file. 2015-08-15 13:26:12 +02:00
Makefile.am libs: fix 'inconsistent DLL linkage' warnings on Windows 2018-09-23 23:23:01 +01:00
math-compat.h Fix FSF address 2012-11-03 20:44:48 +00:00
meson.build libs: fix 'inconsistent DLL linkage' warnings on Windows 2018-09-23 23:23:01 +01:00