summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
m---------common0
-rw-r--r--configure.ac8
-rw-r--r--gst-libs/gst/adaptivedemux/Makefile.am1
-rw-r--r--gst-libs/gst/adaptivedemux/adaptive-demux-prelude.h6
-rw-r--r--gst-libs/gst/adaptivedemux/meson.build2
-rw-r--r--gst-libs/gst/audio/Makefile.am1
-rw-r--r--gst-libs/gst/audio/audio-bad-prelude.h6
-rw-r--r--gst-libs/gst/audio/gstplanaraudioadapter.c3
-rw-r--r--gst-libs/gst/audio/meson.build2
-rw-r--r--gst-libs/gst/basecamerabinsrc/Makefile.am1
-rw-r--r--gst-libs/gst/basecamerabinsrc/basecamerabinsrc-prelude.h6
-rw-r--r--gst-libs/gst/basecamerabinsrc/gstcamerabin-enum.c3
-rw-r--r--gst-libs/gst/basecamerabinsrc/gstcamerabinpreview.c4
-rw-r--r--gst-libs/gst/basecamerabinsrc/meson.build2
-rw-r--r--gst-libs/gst/codecparsers/Makefile.am1
-rw-r--r--gst-libs/gst/codecparsers/codecparsers-prelude.h6
-rw-r--r--gst-libs/gst/codecparsers/dboolhuff.c4
-rw-r--r--gst-libs/gst/codecparsers/gstjpeg2000sampling.c3
-rw-r--r--gst-libs/gst/codecparsers/gstjpegparser.c3
-rw-r--r--gst-libs/gst/codecparsers/gstvp8rangedecoder.c3
-rw-r--r--gst-libs/gst/codecparsers/meson.build1
-rw-r--r--gst-libs/gst/codecparsers/parserutils.c3
-rw-r--r--gst-libs/gst/codecparsers/vp8utils.c3
-rw-r--r--gst-libs/gst/insertbin/Makefile.am1
-rw-r--r--gst-libs/gst/insertbin/gstinsertbin.h6
-rw-r--r--gst-libs/gst/insertbin/meson.build2
-rw-r--r--gst-libs/gst/interfaces/Makefile.am1
-rw-r--r--gst-libs/gst/interfaces/meson.build3
-rw-r--r--gst-libs/gst/interfaces/photography-prelude.h6
-rw-r--r--gst-libs/gst/isoff/Makefile.am1
-rw-r--r--gst-libs/gst/isoff/gstisoff.c3
-rw-r--r--gst-libs/gst/isoff/gstisoff.h6
-rw-r--r--gst-libs/gst/isoff/meson.build2
-rw-r--r--gst-libs/gst/mpegts/Makefile.am1
-rw-r--r--gst-libs/gst/mpegts/gst-atsc-section.c3
-rw-r--r--gst-libs/gst/mpegts/gst-dvb-descriptor.c4
-rw-r--r--gst-libs/gst/mpegts/gst-dvb-section.c3
-rw-r--r--gst-libs/gst/mpegts/gstmpegtsdescriptor.c4
-rw-r--r--gst-libs/gst/mpegts/gstmpegtssection.c3
-rw-r--r--gst-libs/gst/mpegts/meson.build3
-rw-r--r--gst-libs/gst/mpegts/mpegts-prelude.h6
-rw-r--r--gst-libs/gst/opencv/Makefile.am1
-rw-r--r--gst-libs/gst/opencv/meson.build2
-rw-r--r--gst-libs/gst/opencv/opencv-prelude.h6
-rw-r--r--gst-libs/gst/player/Makefile.am1
-rw-r--r--gst-libs/gst/player/meson.build2
-rw-r--r--gst-libs/gst/player/player-prelude.h6
-rw-r--r--gst-libs/gst/sctp/Makefile.am1
-rw-r--r--gst-libs/gst/sctp/meson.build2
-rw-r--r--gst-libs/gst/sctp/sctp-prelude.h6
-rw-r--r--gst-libs/gst/sctp/sctpreceivemeta.c3
-rw-r--r--gst-libs/gst/sctp/sctpsendmeta.c3
-rw-r--r--gst-libs/gst/uridownloader/Makefile.am1
-rw-r--r--gst-libs/gst/uridownloader/gstfragment.c3
-rw-r--r--gst-libs/gst/uridownloader/gsturidownloader.c3
-rw-r--r--gst-libs/gst/uridownloader/meson.build2
-rw-r--r--gst-libs/gst/uridownloader/uridownloader-prelude.h6
-rw-r--r--gst-libs/gst/video/Makefile.am1
-rw-r--r--gst-libs/gst/video/meson.build2
-rw-r--r--gst-libs/gst/video/video-bad-prelude.h6
-rw-r--r--gst-libs/gst/wayland/Makefile.am1
-rw-r--r--gst-libs/gst/wayland/meson.build2
-rw-r--r--gst-libs/gst/wayland/wayland.h6
-rw-r--r--gst-libs/gst/webrtc/Makefile.am1
-rw-r--r--gst-libs/gst/webrtc/meson.build3
-rw-r--r--gst-libs/gst/webrtc/webrtc_fwd.h6
-rw-r--r--meson.build16
67 files changed, 186 insertions, 36 deletions
diff --git a/common b/common
-Subproject ed78bee437dcbe22e6eef0031d9a29d157c0461
+Subproject cd1dee06bf07f094677d0cf3eea4a2e8c2636b2
diff --git a/configure.ac b/configure.ac
index 326db3be7..1a27f917d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2485,7 +2485,13 @@ fi
AC_SUBST(DEPRECATED_CFLAGS)
VISIBILITY_CFLAGS=""
-AS_COMPILER_FLAG([-fvisibility=hidden], [VISIBILITY_CFLAGS="-fvisibility=hidden"])
+AS_COMPILER_FLAG([-fvisibility=hidden], [
+ VISIBILITY_CFLAGS="-fvisibility=hidden"
+ AC_DEFINE(GST_API_EXPORT, [extern __attribute__ ((visibility ("default")))], [public symbol export define])
+], [
+ VISIBILITY_CFLAGS=""
+ AC_DEFINE(GST_API_EXPORT, [extern], [public symbol export define])
+])
AC_SUBST(VISIBILITY_CFLAGS)
VISIBILITY_CXXFLAGS=""
diff --git a/gst-libs/gst/adaptivedemux/Makefile.am b/gst-libs/gst/adaptivedemux/Makefile.am
index 2af05173a..05b2198c1 100644
--- a/gst-libs/gst/adaptivedemux/Makefile.am
+++ b/gst-libs/gst/adaptivedemux/Makefile.am
@@ -14,6 +14,7 @@ libgstadaptivedemux_@GST_API_VERSION@_la_CFLAGS = \
$(GST_PLUGINS_BAD_CFLAGS) \
$(GST_PLUGINS_BASE_CFLAGS) \
-DGST_USE_UNSTABLE_API \
+ -DBUILDING_GST_ADAPTIVE_DEMUX \
$(GST_CFLAGS)
libgstadaptivedemux_@GST_API_VERSION@_la_LIBADD = \
$(top_builddir)/gst-libs/gst/uridownloader/libgsturidownloader-$(GST_API_VERSION).la \
diff --git a/gst-libs/gst/adaptivedemux/adaptive-demux-prelude.h b/gst-libs/gst/adaptivedemux/adaptive-demux-prelude.h
index 402a78fa5..04104cffe 100644
--- a/gst-libs/gst/adaptivedemux/adaptive-demux-prelude.h
+++ b/gst-libs/gst/adaptivedemux/adaptive-demux-prelude.h
@@ -25,7 +25,11 @@
#include <gst/gst.h>
#ifndef GST_ADAPTIVE_DEMUX_API
-#define GST_ADAPTIVE_DEMUX_API GST_EXPORT
+# ifdef BUILDING_GST_ADAPTIVE_DEMUX
+# define GST_ADAPTIVE_DEMUX_API GST_API_EXPORT /* from config.h */
+# else
+# define GST_ADAPTIVE_DEMUX_API GST_API_IMPORT
+# endif
#endif
#endif /* __GST_ADAPTIVE_DEMUX_PRELUDE_H__ */
diff --git a/gst-libs/gst/adaptivedemux/meson.build b/gst-libs/gst/adaptivedemux/meson.build
index 5f8eac32d..de64a271b 100644
--- a/gst-libs/gst/adaptivedemux/meson.build
+++ b/gst-libs/gst/adaptivedemux/meson.build
@@ -1,6 +1,6 @@
gstadaptivedemux = library('gstadaptivedemux-' + api_version,
'gstadaptivedemux.c',
- c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API'],
+ c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API', '-DBUILDING_GST_ADAPTIVE_DEMUX'],
include_directories : [configinc, libsinc],
version : libversion,
soversion : soversion,
diff --git a/gst-libs/gst/audio/Makefile.am b/gst-libs/gst/audio/Makefile.am
index 0ad482d71..6615bfc89 100644
--- a/gst-libs/gst/audio/Makefile.am
+++ b/gst-libs/gst/audio/Makefile.am
@@ -11,6 +11,7 @@ nodist_libgstbadaudio_@GST_API_VERSION@_la_SOURCES = $(BUILT_SOURCES)
libgstbadaudio_@GST_API_VERSION@_la_CFLAGS = \
-DGST_USE_UNSTABLE_API \
+ -DBUILDING_GST_AUDIO_BAD \
-I$(top_srcdir)/gst-libs \
-I$(top_builddir)/gst-libs \
$(GST_CFLAGS) $(ORC_CFLAGS) \
diff --git a/gst-libs/gst/audio/audio-bad-prelude.h b/gst-libs/gst/audio/audio-bad-prelude.h
index 71b326c33..ceb4d9515 100644
--- a/gst-libs/gst/audio/audio-bad-prelude.h
+++ b/gst-libs/gst/audio/audio-bad-prelude.h
@@ -25,7 +25,11 @@
#include <gst/gst.h>
#ifndef GST_AUDIO_BAD_API
-#define GST_AUDIO_BAD_API GST_EXPORT
+# ifdef BUILDING_GST_AUDIO_BAD
+# define GST_AUDIO_BAD_API GST_API_EXPORT /* from config.h */
+# else
+# define GST_AUDIO_BAD_API GST_API_IMPORT
+# endif
#endif
#endif /* __GST_AUDIO_BAD_PRELUDE_H__ */
diff --git a/gst-libs/gst/audio/gstplanaraudioadapter.c b/gst-libs/gst/audio/gstplanaraudioadapter.c
index 87a4f128b..758c1c925 100644
--- a/gst-libs/gst/audio/gstplanaraudioadapter.c
+++ b/gst-libs/gst/audio/gstplanaraudioadapter.c
@@ -27,6 +27,9 @@
* non-interleaved (planar) audio buffers. Before using, an audio format
* must be configured with gst_planar_audio_adapter_configure()
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
#include "gstplanaraudioadapter.h"
diff --git a/gst-libs/gst/audio/meson.build b/gst-libs/gst/audio/meson.build
index b8b7bd592..b0f11a72a 100644
--- a/gst-libs/gst/audio/meson.build
+++ b/gst-libs/gst/audio/meson.build
@@ -5,7 +5,7 @@ install_headers(badaudio_headers, subdir : 'gstreamer-1.0/gst/audio')
gstbadaudio = library('gstbadaudio-' + api_version,
badaudio_sources,
- c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API'],
+ c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API', '-DBUILDING_GST_AUDIO_BAD'],
include_directories : [configinc, libsinc],
version : libversion,
soversion : soversion,
diff --git a/gst-libs/gst/basecamerabinsrc/Makefile.am b/gst-libs/gst/basecamerabinsrc/Makefile.am
index 5c68f0fbb..3a669ad62 100644
--- a/gst-libs/gst/basecamerabinsrc/Makefile.am
+++ b/gst-libs/gst/basecamerabinsrc/Makefile.am
@@ -19,6 +19,7 @@ libgstbasecamerabinsrc_@GST_API_VERSION@_la_CFLAGS = \
$(GST_PLUGINS_BAD_CFLAGS) \
$(GST_PLUGINS_BASE_CFLAGS) \
-DGST_USE_UNSTABLE_API \
+ -DBUILDING_GST_BASE_CAMERA_BIN_SRC \
$(GST_CFLAGS)
libgstbasecamerabinsrc_@GST_API_VERSION@_la_LIBADD = \
-lgstapp-$(GST_API_VERSION) $(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GST_LIBS)
diff --git a/gst-libs/gst/basecamerabinsrc/basecamerabinsrc-prelude.h b/gst-libs/gst/basecamerabinsrc/basecamerabinsrc-prelude.h
index 6dc1477e1..ec9a76608 100644
--- a/gst-libs/gst/basecamerabinsrc/basecamerabinsrc-prelude.h
+++ b/gst-libs/gst/basecamerabinsrc/basecamerabinsrc-prelude.h
@@ -25,7 +25,11 @@
#include <gst/gst.h>
#ifndef GST_BASE_CAMERA_BIN_SRC_API
-#define GST_BASE_CAMERA_BIN_SRC_API GST_EXPORT
+# ifdef BUILDING_GST_BASE_CAMERA_BIN_SRC
+# define GST_BASE_CAMERA_BIN_SRC_API GST_API_EXPORT /* from config.h */
+# else
+# define GST_BASE_CAMERA_BIN_SRC_API GST_API_IMPORT
+# endif
#endif
#endif /* __GST_BASE_CAMERA_BIN_SRC_PRELUDE_H__ */
diff --git a/gst-libs/gst/basecamerabinsrc/gstcamerabin-enum.c b/gst-libs/gst/basecamerabinsrc/gstcamerabin-enum.c
index bd9088c94..f55680627 100644
--- a/gst-libs/gst/basecamerabinsrc/gstcamerabin-enum.c
+++ b/gst-libs/gst/basecamerabinsrc/gstcamerabin-enum.c
@@ -17,6 +17,9 @@
* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
#include "gstcamerabin-enum.h"
diff --git a/gst-libs/gst/basecamerabinsrc/gstcamerabinpreview.c b/gst-libs/gst/basecamerabinsrc/gstcamerabinpreview.c
index 48ec2fec8..6d8545f12 100644
--- a/gst-libs/gst/basecamerabinsrc/gstcamerabinpreview.c
+++ b/gst-libs/gst/basecamerabinsrc/gstcamerabinpreview.c
@@ -26,6 +26,10 @@
* #GstCameraBinVideo.
*
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
#include <gst/app/gstappsrc.h>
#include <gst/app/gstappsink.h>
#include <gst/glib-compat-private.h>
diff --git a/gst-libs/gst/basecamerabinsrc/meson.build b/gst-libs/gst/basecamerabinsrc/meson.build
index b1ba10689..830e9157a 100644
--- a/gst-libs/gst/basecamerabinsrc/meson.build
+++ b/gst-libs/gst/basecamerabinsrc/meson.build
@@ -13,7 +13,7 @@ install_headers(camerabin_headers, subdir : 'gstreamer-1.0/gst/basecamerabinsrc'
gstbasecamerabin = library('gstbasecamerabinsrc-' + api_version,
camerabin_sources,
- c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API'],
+ c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API', '-DBUILDING_GST_BASE_CAMERA_BIN_SRC'],
include_directories : [configinc, libsinc],
version : libversion,
soversion : soversion,
diff --git a/gst-libs/gst/codecparsers/Makefile.am b/gst-libs/gst/codecparsers/Makefile.am
index 47ad21d21..081deead2 100644
--- a/gst-libs/gst/codecparsers/Makefile.am
+++ b/gst-libs/gst/codecparsers/Makefile.am
@@ -26,6 +26,7 @@ libgstcodecparsers_@GST_API_VERSION@include_HEADERS = \
libgstcodecparsers_@GST_API_VERSION@_la_CFLAGS = \
$(GST_PLUGINS_BAD_CFLAGS) \
-DGST_USE_UNSTABLE_API \
+ -DBUILDING_GST_CODEC_PARSERS \
$(GST_CFLAGS) \
-Dvp8_norm=gst_codecparsers_vp8_norm \
-Dvp8dx_start_decode=gst_codecparsers_vp8dx_start_decode \
diff --git a/gst-libs/gst/codecparsers/codecparsers-prelude.h b/gst-libs/gst/codecparsers/codecparsers-prelude.h
index 6fe11d304..b056c6489 100644
--- a/gst-libs/gst/codecparsers/codecparsers-prelude.h
+++ b/gst-libs/gst/codecparsers/codecparsers-prelude.h
@@ -25,7 +25,11 @@
#include <gst/gst.h>
#ifndef GST_CODEC_PARSERS_API
-#define GST_CODEC_PARSERS_API GST_EXPORT
+# ifdef BUILDING_GST_CODEC_PARSERS
+# define GST_CODEC_PARSERS_API GST_API_EXPORT /* from config.h */
+# else
+# define GST_CODEC_PARSERS_API GST_API_IMPORT
+# endif
#endif
#endif /* __GST_CODEC_PARSERS_PRELUDE_H__ */
diff --git a/gst-libs/gst/codecparsers/dboolhuff.c b/gst-libs/gst/codecparsers/dboolhuff.c
index 692d78be6..15e6c7cf3 100644
--- a/gst-libs/gst/codecparsers/dboolhuff.c
+++ b/gst-libs/gst/codecparsers/dboolhuff.c
@@ -7,7 +7,9 @@
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
-
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
#include "dboolhuff.h"
diff --git a/gst-libs/gst/codecparsers/gstjpeg2000sampling.c b/gst-libs/gst/codecparsers/gstjpeg2000sampling.c
index 543282d49..526a7ecce 100644
--- a/gst-libs/gst/codecparsers/gstjpeg2000sampling.c
+++ b/gst-libs/gst/codecparsers/gstjpeg2000sampling.c
@@ -24,6 +24,9 @@
* @short_description: Manage JPEG 2000 sampling and colorspace fields
*
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
#include "gstjpeg2000sampling.h"
diff --git a/gst-libs/gst/codecparsers/gstjpegparser.c b/gst-libs/gst/codecparsers/gstjpegparser.c
index bbc1f181e..64110763f 100644
--- a/gst-libs/gst/codecparsers/gstjpegparser.c
+++ b/gst-libs/gst/codecparsers/gstjpegparser.c
@@ -26,6 +26,9 @@
* Provides useful functions for parsing JPEG images
*
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
#include <string.h>
#include <stdlib.h>
diff --git a/gst-libs/gst/codecparsers/gstvp8rangedecoder.c b/gst-libs/gst/codecparsers/gstvp8rangedecoder.c
index 4d381c5a7..9bf1035f9 100644
--- a/gst-libs/gst/codecparsers/gstvp8rangedecoder.c
+++ b/gst-libs/gst/codecparsers/gstvp8rangedecoder.c
@@ -7,6 +7,9 @@
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
#include "gstvp8rangedecoder.h"
#include "dboolhuff.h"
diff --git a/gst-libs/gst/codecparsers/meson.build b/gst-libs/gst/codecparsers/meson.build
index 12168ec53..c08803db2 100644
--- a/gst-libs/gst/codecparsers/meson.build
+++ b/gst-libs/gst/codecparsers/meson.build
@@ -34,6 +34,7 @@ install_headers(codecparser_headers, subdir : 'gstreamer-1.0/gst/codecparsers')
cp_args = [
'-DGST_USE_UNSTABLE_API',
+ '-DBUILDING_GST_CODEC_PARSERS',
'-Dvp8_norm=gst_codecparsers_vp8_norm',
'-Dvp8dx_start_decode=gst_codecparsers_vp8dx_start_decode',
'-Dvp8dx_bool_decoder_fill=gst_codecparsers_vp8dx_bool_decoder_fill',
diff --git a/gst-libs/gst/codecparsers/parserutils.c b/gst-libs/gst/codecparsers/parserutils.c
index d4a3f40ce..098f43644 100644
--- a/gst-libs/gst/codecparsers/parserutils.c
+++ b/gst-libs/gst/codecparsers/parserutils.c
@@ -18,6 +18,9 @@
* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
#include "parserutils.h"
diff --git a/gst-libs/gst/codecparsers/vp8utils.c b/gst-libs/gst/codecparsers/vp8utils.c
index c2e7d238c..2905beb0f 100644
--- a/gst-libs/gst/codecparsers/vp8utils.c
+++ b/gst-libs/gst/codecparsers/vp8utils.c
@@ -7,6 +7,9 @@
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
#include <string.h>
#include "vp8utils.h"
diff --git a/gst-libs/gst/insertbin/Makefile.am b/gst-libs/gst/insertbin/Makefile.am
index 330af8338..57b24a114 100644
--- a/gst-libs/gst/insertbin/Makefile.am
+++ b/gst-libs/gst/insertbin/Makefile.am
@@ -9,6 +9,7 @@ libgstinsertbin_@GST_API_VERSION@include_HEADERS = gstinsertbin.h
libgstinsertbin_@GST_API_VERSION@_la_CFLAGS = \
$(GST_PLUGINS_BAD_CFLAGS) \
+ -DBUILDING_GST_INSERT_BIN \
$(GST_CFLAGS)
libgstinsertbin_@GST_API_VERSION@_la_LIBADD = \
diff --git a/gst-libs/gst/insertbin/gstinsertbin.h b/gst-libs/gst/insertbin/gstinsertbin.h
index d5539a405..705ae309c 100644
--- a/gst-libs/gst/insertbin/gstinsertbin.h
+++ b/gst-libs/gst/insertbin/gstinsertbin.h
@@ -34,7 +34,11 @@
#include <gst/gst.h>
#ifndef GST_INSERT_BIN_API
-#define GST_INSERT_BIN_API GST_EXPORT
+# ifdef BUILDING_GST_INSERT_BIN
+# define GST_INSERT_BIN_API GST_API_EXPORT /* from config.h */
+# else
+# define GST_INSERT_BIN_API GST_API_IMPORT
+# endif
#endif
G_BEGIN_DECLS
diff --git a/gst-libs/gst/insertbin/meson.build b/gst-libs/gst/insertbin/meson.build
index 8c9e1f5a8..ac8f2b350 100644
--- a/gst-libs/gst/insertbin/meson.build
+++ b/gst-libs/gst/insertbin/meson.build
@@ -4,7 +4,7 @@ install_headers(insert_headers, subdir : 'gstreamer-1.0/gst/insertbin')
gstinsertbin = library('gstinsertbin-' + api_version,
insert_sources,
- c_args : gst_plugins_bad_args + [ '-DGST_USE_UNSTABLE_API' ],
+ c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API', '-DBUILDING_GST_INSERT_BIN'],
include_directories : [configinc, libsinc],
version : libversion,
soversion : soversion,
diff --git a/gst-libs/gst/interfaces/Makefile.am b/gst-libs/gst/interfaces/Makefile.am
index de9d2a664..660853ab1 100644
--- a/gst-libs/gst/interfaces/Makefile.am
+++ b/gst-libs/gst/interfaces/Makefile.am
@@ -34,6 +34,7 @@ nodist_libgstphotography_@GST_API_VERSION@_la_SOURCES = \
libgstphotography_@GST_API_VERSION@_la_CFLAGS = \
-DGST_USE_UNSTABLE_API \
+ -DBUILDING_GST_PHOTOGRAPHY \
$(GST_PLUGINS_BAD_CFLAGS) \
$(GST_CFLAGS)
libgstphotography_@GST_API_VERSION@_la_LIBADD = $(GST_LIBS)
diff --git a/gst-libs/gst/interfaces/meson.build b/gst-libs/gst/interfaces/meson.build
index 4e2fb4305..52284715b 100644
--- a/gst-libs/gst/interfaces/meson.build
+++ b/gst-libs/gst/interfaces/meson.build
@@ -4,6 +4,7 @@ install_headers(photo_headers, subdir : 'gstreamer-1.0/gst/interfaces')
photo_enums = gnome.mkenums_simple('photography-enumtypes',
sources : photo_headers,
+ body_prefix : '#ifdef HAVE_CONFIG_H\n#include "config.h"\n#endif',
header_prefix : '#include <gst/interfaces/photography-prelude.h>',
decorator: 'GST_PHOTOGRAPHY_API',
install_header: true,
@@ -14,7 +15,7 @@ photoenum_h = photo_enums[1]
gstphotography = library('gstphotography-' + api_version,
photography_sources, photoenum_h, photoenum_c,
- c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API'],
+ c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API', '-DBUILDING_GST_PHOTOGRAPHY'],
include_directories : [configinc, libsinc],
version : libversion,
soversion : soversion,
diff --git a/gst-libs/gst/interfaces/photography-prelude.h b/gst-libs/gst/interfaces/photography-prelude.h
index 7e300e60a..dbb7f13f9 100644
--- a/gst-libs/gst/interfaces/photography-prelude.h
+++ b/gst-libs/gst/interfaces/photography-prelude.h
@@ -25,7 +25,11 @@
#include <gst/gst.h>
#ifndef GST_PHOTOGRAPHY_API
-#define GST_PHOTOGRAPHY_API GST_EXPORT
+# ifdef BUILDING_GST_PHOTOGRAPHY
+# define GST_PHOTOGRAPHY_API GST_API_EXPORT /* from config.h */
+# else
+# define GST_PHOTOGRAPHY_API GST_API_IMPORT
+# endif
#endif
#endif /* __GST_PHOTOGRAPHY_PRELUDE_H__ */
diff --git a/gst-libs/gst/isoff/Makefile.am b/gst-libs/gst/isoff/Makefile.am
index b99acaed6..a375089ab 100644
--- a/gst-libs/gst/isoff/Makefile.am
+++ b/gst-libs/gst/isoff/Makefile.am
@@ -12,6 +12,7 @@ libgstisoff_@GST_API_VERSION@include_HEADERS = \
libgstisoff_@GST_API_VERSION@_la_CFLAGS = \
$(GST_PLUGINS_BAD_CFLAGS) \
-DGST_USE_UNSTABLE_API \
+ -DBUILDING_GST_ISOFF \
$(GST_CFLAGS)
libgstisoff_@GST_API_VERSION@_la_LIBADD = \
diff --git a/gst-libs/gst/isoff/gstisoff.c b/gst-libs/gst/isoff/gstisoff.c
index e6f0cfbcb..56e2a064d 100644
--- a/gst-libs/gst/isoff/gstisoff.c
+++ b/gst-libs/gst/isoff/gstisoff.c
@@ -21,6 +21,9 @@
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
#include "gstisoff.h"
#include <gst/base/gstbytereader.h>
diff --git a/gst-libs/gst/isoff/gstisoff.h b/gst-libs/gst/isoff/gstisoff.h
index 437859b2e..43d337516 100644
--- a/gst-libs/gst/isoff/gstisoff.h
+++ b/gst-libs/gst/isoff/gstisoff.h
@@ -31,7 +31,11 @@
G_BEGIN_DECLS
#ifndef GST_ISOFF_API
-#define GST_ISOFF_API GST_EXPORT
+# ifdef BUILDING_GST_ISOFF
+# define GST_ISOFF_API GST_API_EXPORT /* from config.h */
+# else
+# define GST_ISOFF_API GST_API_IMPORT
+# endif
#endif
typedef enum {
diff --git a/gst-libs/gst/isoff/meson.build b/gst-libs/gst/isoff/meson.build
index d468a5a67..4cb75426c 100644
--- a/gst-libs/gst/isoff/meson.build
+++ b/gst-libs/gst/isoff/meson.build
@@ -8,7 +8,7 @@ install_headers(isoff_headers, subdir : 'gstreamer-1.0/gst/isoff')
gstisoff = library('gstisoff-' + api_version,
isoff_sources,
- c_args : gst_plugins_bad_args + [ '-DGST_USE_UNSTABLE_API' ],
+ c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API', '-DBUILDING_GST_ISOFF'],
include_directories : [configinc, libsinc],
version : libversion,
soversion : soversion,
diff --git a/gst-libs/gst/mpegts/Makefile.am b/gst-libs/gst/mpegts/Makefile.am
index 70498209b..59a3ddd4b 100644
--- a/gst-libs/gst/mpegts/Makefile.am
+++ b/gst-libs/gst/mpegts/Makefile.am
@@ -28,6 +28,7 @@ nodist_libgstmpegts_@GST_API_VERSION@include_HEADERS = \
libgstmpegts_@GST_API_VERSION@_la_CFLAGS = \
$(GST_PLUGINS_BAD_CFLAGS) \
-DGST_USE_UNSTABLE_API \
+ -DBUILDING_GST_MPEGTS \
$(GST_CFLAGS)
libgstmpegts_@GST_API_VERSION@_la_LIBADD = \
diff --git a/gst-libs/gst/mpegts/gst-atsc-section.c b/gst-libs/gst/mpegts/gst-atsc-section.c
index 753254895..a67863f8b 100644
--- a/gst-libs/gst/mpegts/gst-atsc-section.c
+++ b/gst-libs/gst/mpegts/gst-atsc-section.c
@@ -19,6 +19,9 @@
* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
#include <string.h>
#include <stdlib.h>
diff --git a/gst-libs/gst/mpegts/gst-dvb-descriptor.c b/gst-libs/gst/mpegts/gst-dvb-descriptor.c
index 8410a898f..bd8a069b5 100644
--- a/gst-libs/gst/mpegts/gst-dvb-descriptor.c
+++ b/gst-libs/gst/mpegts/gst-dvb-descriptor.c
@@ -20,6 +20,10 @@
* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
#include <stdlib.h>
#include <string.h>
diff --git a/gst-libs/gst/mpegts/gst-dvb-section.c b/gst-libs/gst/mpegts/gst-dvb-section.c
index 46fc63449..58f71f610 100644
--- a/gst-libs/gst/mpegts/gst-dvb-section.c
+++ b/gst-libs/gst/mpegts/gst-dvb-section.c
@@ -28,6 +28,9 @@
* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
#include <string.h>
#include <stdlib.h>
diff --git a/gst-libs/gst/mpegts/gstmpegtsdescriptor.c b/gst-libs/gst/mpegts/gstmpegtsdescriptor.c
index 588413239..a553c9493 100644
--- a/gst-libs/gst/mpegts/gstmpegtsdescriptor.c
+++ b/gst-libs/gst/mpegts/gstmpegtsdescriptor.c
@@ -20,6 +20,10 @@
* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
#include <stdlib.h>
#include <string.h>
diff --git a/gst-libs/gst/mpegts/gstmpegtssection.c b/gst-libs/gst/mpegts/gstmpegtssection.c
index 62657da61..41c970ac1 100644
--- a/gst-libs/gst/mpegts/gstmpegtssection.c
+++ b/gst-libs/gst/mpegts/gstmpegtssection.c
@@ -28,6 +28,9 @@
* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
#include <string.h>
#include <stdlib.h>
diff --git a/gst-libs/gst/mpegts/meson.build b/gst-libs/gst/mpegts/meson.build
index 6c3758e0a..f017e86a0 100644
--- a/gst-libs/gst/mpegts/meson.build
+++ b/gst-libs/gst/mpegts/meson.build
@@ -20,6 +20,7 @@ install_headers(mpegts_headers, subdir : 'gstreamer-1.0/gst/mpegts')
mpegts_enums = gnome.mkenums_simple('gstmpegts-enumtypes',
sources : mpegts_headers,
+ body_prefix : '#ifdef HAVE_CONFIG_H\n#include "config.h"\n#endif',
header_prefix : '#include <gst/mpegts/mpegts-prelude.h>',
decorator : 'GST_MPEGTS_API',
install_header: true,
@@ -31,7 +32,7 @@ gen_sources = [mpegtsenumtypes_h]
gstmpegts = library('gstmpegts-' + api_version,
mpegts_sources, mpegts_enums,
- c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API'],
+ c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API', '-DBUILDING_GST_MPEGTS'],
include_directories : [configinc, libsinc],
version : libversion,
soversion : soversion,
diff --git a/gst-libs/gst/mpegts/mpegts-prelude.h b/gst-libs/gst/mpegts/mpegts-prelude.h
index 26c00a4b1..2b66e26d9 100644
--- a/gst-libs/gst/mpegts/mpegts-prelude.h
+++ b/gst-libs/gst/mpegts/mpegts-prelude.h
@@ -25,7 +25,11 @@
#include <gst/gst.h>
#ifndef GST_MPEGTS_API
-#define GST_MPEGTS_API GST_EXPORT
+# ifdef BUILDING_GST_MPEGTS
+# define GST_MPEGTS_API GST_API_EXPORT /* from config.h */
+# else
+# define GST_MPEGTS_API GST_API_IMPORT
+# endif
#endif
#endif /* __GST_MPEGTS_PRELUDE_H__ */
diff --git a/gst-libs/gst/opencv/Makefile.am b/gst-libs/gst/opencv/Makefile.am
index cc0d67f44..5c36a92b7 100644
--- a/gst-libs/gst/opencv/Makefile.am
+++ b/gst-libs/gst/opencv/Makefile.am
@@ -7,6 +7,7 @@ libgstopencv_@GST_API_VERSION@_la_SOURCES = \
libgstopencv_@GST_API_VERSION@_la_CXXFLAGS = \
$(GST_PLUGINS_BAD_CFLAGS) \
$(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CXXFLAGS) \
+ -DBUILDING_GST_OPENCV \
$(OPENCV_CFLAGS)
libgstopencv_@GST_API_VERSION@_la_LIBADD = $(GST_LIBS) $(GST_BASE_LIBS) \
diff --git a/gst-libs/gst/opencv/meson.build b/gst-libs/gst/opencv/meson.build
index 848aac4b3..2babdec85 100644
--- a/gst-libs/gst/opencv/meson.build
+++ b/gst-libs/gst/opencv/meson.build
@@ -13,7 +13,7 @@ opencv_dep = dependency('opencv', version : '>= 3.0.0', required : get_option('o
if opencv_dep.found()
gstopencv = library('gstopencv-' + api_version,
opencv_sources,
- c_args : gst_plugins_bad_args,
+ c_args : gst_plugins_bad_args + ['-DBUILDING_GST_OPENCV'],
include_directories : [configinc, libsinc],
version : libversion,
soversion : soversion,
diff --git a/gst-libs/gst/opencv/opencv-prelude.h b/gst-libs/gst/opencv/opencv-prelude.h
index 2cbea56f9..fe719d48f 100644
--- a/gst-libs/gst/opencv/opencv-prelude.h
+++ b/gst-libs/gst/opencv/opencv-prelude.h
@@ -25,7 +25,11 @@
#include <gst/gst.h>
#ifndef GST_OPENCV_API
-#define GST_OPENCV_API GST_EXPORT
+# ifdef BUILDING_GST_OPENCV
+# define GST_OPENCV_API GST_API_EXPORT /* from config.h */
+# else
+# define GST_OPENCV_API GST_API_IMPORT
+# endif
#endif
#endif /* __GST_OPENCV_PRELUDE_H__ */
diff --git a/gst-libs/gst/player/Makefile.am b/gst-libs/gst/player/Makefile.am
index 2f3a59a6a..46b194b07 100644
--- a/gst-libs/gst/player/Makefile.am
+++ b/gst-libs/gst/player/Makefile.am
@@ -12,6 +12,7 @@ libgstplayer_@GST_API_VERSION@_la_SOURCES = \
libgstplayer_@GST_API_VERSION@_la_CFLAGS = \
-I$(top_srcdir)/gst-libs \
-I$(top_builddir)/gst-libs \
+ -DBUILDING_GST_PLAYER \
$(GST_PLUGINS_BASE_CFLAGS) \
$(GST_BASE_CFLAGS) \
$(GST_CFLAGS)
diff --git a/gst-libs/gst/player/meson.build b/gst-libs/gst/player/meson.build
index 3619de559..a615bcd96 100644
--- a/gst-libs/gst/player/meson.build
+++ b/gst-libs/gst/player/meson.build
@@ -25,7 +25,7 @@ install_headers(gstplayer_headers, subdir : 'gstreamer-' + api_version + '/gst/p
gstplayer = library('gstplayer-' + api_version,
gstplayer_sources,
- c_args : gst_plugins_bad_args,
+ c_args : gst_plugins_bad_args + ['-DBUILDING_GST_PLAYER'],
include_directories : [configinc, libsinc],
version : libversion,
soversion : soversion,
diff --git a/gst-libs/gst/player/player-prelude.h b/gst-libs/gst/player/player-prelude.h
index a24010a4b..2a8b87e66 100644
--- a/gst-libs/gst/player/player-prelude.h
+++ b/gst-libs/gst/player/player-prelude.h
@@ -25,7 +25,11 @@
#include <gst/gst.h>
#ifndef GST_PLAYER_API
-#define GST_PLAYER_API GST_EXPORT
+# ifdef BUILDING_GST_PLAYER
+# define GST_PLAYER_API GST_API_EXPORT /* from config.h */
+# else
+# define GST_PLAYER_API GST_API_IMPORT
+# endif
#endif
#endif /* __GST_PLAYER_PRELUDE_H__ */
diff --git a/gst-libs/gst/sctp/Makefile.am b/gst-libs/gst/sctp/Makefile.am
index 56ef20867..4648e9c87 100644
--- a/gst-libs/gst/sctp/Makefile.am
+++ b/gst-libs/gst/sctp/Makefile.am
@@ -7,6 +7,7 @@ libgstsctp_1_0_la_SOURCES = \
libgstsctp_1_0_la_CFLAGS = \
-I$(top_srcdir)/gst-libs \
-I$(top_builddir)/gst-libs \
+ -DBUILDING_GST_SCTP \
$(GST_PLUGINS_BASE_CFLAGS) \
$(GST_BASE_CFLAGS) \
$(GST_CFLAGS)
diff --git a/gst-libs/gst/sctp/meson.build b/gst-libs/gst/sctp/meson.build
index b3d12a454..876f990e8 100644
--- a/gst-libs/gst/sctp/meson.build
+++ b/gst-libs/gst/sctp/meson.build
@@ -13,7 +13,7 @@ install_headers(sctp_headers, subdir : 'gstreamer-1.0/gst/sctp')
libgstsctp = library('gstsctp-' + api_version,
sctp_sources,
- c_args : gst_plugins_bad_args,
+ c_args : gst_plugins_bad_args + ['-DBUILDING_GST_SCTP'],
include_directories : [configinc, libsinc],
version : libversion,
soversion : soversion,
diff --git a/gst-libs/gst/sctp/sctp-prelude.h b/gst-libs/gst/sctp/sctp-prelude.h
index b89984c2f..ac16e9d7f 100644
--- a/gst-libs/gst/sctp/sctp-prelude.h
+++ b/gst-libs/gst/sctp/sctp-prelude.h
@@ -25,7 +25,11 @@
#include <gst/gst.h>
#ifndef GST_SCTP_API
-#define GST_SCTP_API GST_EXPORT
+# ifdef BUILDING_GST_SCTP
+# define GST_SCTP_API GST_API_EXPORT /* from config.h */
+# else
+# define GST_SCTP_API GST_API_IMPORT
+# endif
#endif
#endif /* __GST_SCTP_PRELUDE_H__ */
diff --git a/gst-libs/gst/sctp/sctpreceivemeta.c b/gst-libs/gst/sctp/sctpreceivemeta.c
index 9fcff236f..e1c77d466 100644
--- a/gst-libs/gst/sctp/sctpreceivemeta.c
+++ b/gst-libs/gst/sctp/sctpreceivemeta.c
@@ -22,6 +22,9 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
* OF SUCH DAMAGE.
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
#include "sctpreceivemeta.h"
diff --git a/gst-libs/gst/sctp/sctpsendmeta.c b/gst-libs/gst/sctp/sctpsendmeta.c
index e2083af9b..d8ce14fc9 100644
--- a/gst-libs/gst/sctp/sctpsendmeta.c
+++ b/gst-libs/gst/sctp/sctpsendmeta.c
@@ -22,6 +22,9 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
* OF SUCH DAMAGE.
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
#include "sctpsendmeta.h"
diff --git a/gst-libs/gst/uridownloader/Makefile.am b/gst-libs/gst/uridownloader/Makefile.am
index d12257aed..7447e43bf 100644
--- a/gst-libs/gst/uridownloader/Makefile.am
+++ b/gst-libs/gst/uridownloader/Makefile.am
@@ -12,6 +12,7 @@ libgsturidownloader_@GST_API_VERSION@include_HEADERS = \
libgsturidownloader_@GST_API_VERSION@_la_CFLAGS = \
$(GST_PLUGINS_BAD_CFLAGS) \
-DGST_USE_UNSTABLE_API \
+ -DBUILDING_GST_URI_DOWNLOADER \
$(GST_CFLAGS)
libgsturidownloader_@GST_API_VERSION@_la_LIBADD = \
diff --git a/gst-libs/gst/uridownloader/gstfragment.c b/gst-libs/gst/uridownloader/gstfragment.c
index dd9c615ed..570375a4b 100644
--- a/gst-libs/gst/uridownloader/gstfragment.c
+++ b/gst-libs/gst/uridownloader/gstfragment.c
@@ -18,6 +18,9 @@
* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
#include <glib.h>
#include <gst/base/gsttypefindhelper.h>
diff --git a/gst-libs/gst/uridownloader/gsturidownloader.c b/gst-libs/gst/uridownloader/gsturidownloader.c
index afc7c01dd..d33d85124 100644
--- a/gst-libs/gst/uridownloader/gsturidownloader.c
+++ b/gst-libs/gst/uridownloader/gsturidownloader.c
@@ -18,6 +18,9 @@
* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
#include <glib.h>
#include "gstfragment.h"
diff --git a/gst-libs/gst/uridownloader/meson.build b/gst-libs/gst/uridownloader/meson.build
index cccb3b61e..7bea2fbcc 100644
--- a/gst-libs/gst/uridownloader/meson.build
+++ b/gst-libs/gst/uridownloader/meson.build
@@ -12,7 +12,7 @@ install_headers(urid_headers, subdir : 'gstreamer-1.0/gst/uridownloader')
gsturidownloader = library('gsturidownloader-' + api_version,
urid_sources,
- c_args : gst_plugins_bad_args + [ '-DGST_USE_UNSTABLE_API' ],
+ c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API', '-DBUILDING_GST_URI_DOWNLOADER'],
include_directories : [configinc, libsinc],
version : libversion,
soversion : soversion,
diff --git a/gst-libs/gst/uridownloader/uridownloader-prelude.h b/gst-libs/gst/uridownloader/uridownloader-prelude.h
index f5ad5843c..92a6abbf6 100644
--- a/gst-libs/gst/uridownloader/uridownloader-prelude.h
+++ b/gst-libs/gst/uridownloader/uridownloader-prelude.h
@@ -25,7 +25,11 @@
#include <gst/gst.h>
#ifndef GST_URI_DOWNLOADER_API
-#define GST_URI_DOWNLOADER_API GST_EXPORT
+# ifdef BUILDING_GST_URI_DOWNLOADER
+# define GST_URI_DOWNLOADER_API GST_API_EXPORT /* from config.h */
+# else
+# define GST_URI_DOWNLOADER_API GST_API_IMPORT
+# endif
#endif
#endif /* __GST_URI_DOWNLOADER_PRELUDE_H__ */
diff --git a/gst-libs/gst/video/Makefile.am b/gst-libs/gst/video/Makefile.am
index c8d2eb636..481d2654e 100644
--- a/gst-libs/gst/video/Makefile.am
+++ b/gst-libs/gst/video/Makefile.am
@@ -10,6 +10,7 @@ nodist_libgstbadvideo_@GST_API_VERSION@_la_SOURCES = $(BUILT_SOURCES)
libgstbadvideo_@GST_API_VERSION@_la_CFLAGS = \
-DGST_USE_UNSTABLE_API \
+ -DBUILDING_GST_VIDEO_BAD \
-I$(top_srcdir)/gst-libs \
-I$(top_builddir)/gst-libs \
$(GST_CFLAGS) $(ORC_CFLAGS) \
diff --git a/gst-libs/gst/video/meson.build b/gst-libs/gst/video/meson.build
index a1432db25..58e1cd6fb 100644
--- a/gst-libs/gst/video/meson.build
+++ b/gst-libs/gst/video/meson.build
@@ -10,7 +10,7 @@ install_headers(badvideo_headers, subdir : 'gstreamer-1.0/gst/video')
gstbadvideo = library('gstbadvideo-' + api_version,
badvideo_sources,
- c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API'],
+ c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API', '-DBUILDING_GST_VIDEO_BAD'],
include_directories : [configinc, libsinc],
version : libversion,
soversion : soversion,
diff --git a/gst-libs/gst/video/video-bad-prelude.h b/gst-libs/gst/video/video-bad-prelude.h
index 3638a421f..8303b5022 100644
--- a/gst-libs/gst/video/video-bad-prelude.h
+++ b/gst-libs/gst/video/video-bad-prelude.h
@@ -25,7 +25,11 @@
#include <gst/gst.h>
#ifndef GST_VIDEO_BAD_API
-#define GST_VIDEO_BAD_API GST_EXPORT
+# ifdef BUILDING_GST_VIDEO_BAD
+# define GST_VIDEO_BAD_API GST_API_EXPORT /* from config.h */
+# else
+# define GST_VIDEO_BAD_API GST_API_IMPORT
+# endif
#endif
#endif /* __GST_VIDEO_BAD_PRELUDE_H__ */
diff --git a/gst-libs/gst/wayland/Makefile.am b/gst-libs/gst/wayland/Makefile.am
index 743a48960..a9f3f7b57 100644
--- a/gst-libs/gst/wayland/Makefile.am
+++ b/gst-libs/gst/wayland/Makefile.am
@@ -9,6 +9,7 @@ libgstwayland_@GST_API_VERSION@_la_CFLAGS = \
$(GST_PLUGINS_BAD_CFLAGS) \
$(GST_PLUGINS_BASE_CFLAGS) \
$(GST_CFLAGS) \
+ -DBUILDING_GST_WAYLAND \
$(WAYLAND_CFLAGS)
libgstwayland_@GST_API_VERSION@_la_LIBADD = \
diff --git a/gst-libs/gst/wayland/meson.build b/gst-libs/gst/wayland/meson.build
index ddade69cd..8bfefcb3b 100644
--- a/gst-libs/gst/wayland/meson.build
+++ b/gst-libs/gst/wayland/meson.build
@@ -9,7 +9,7 @@ use_wayland = wl_protocol_dep.found() and wl_client_dep.found() and wl_scanner.f
if use_wayland
gstwayland = library('gstwayland-' + api_version,
'wayland.c',
- c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API'],
+ c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API', '-DBUILDING_GST_WAYLAND'],
include_directories : [configinc, libsinc],
version : libversion,
soversion : soversion,
diff --git a/gst-libs/gst/wayland/wayland.h b/gst-libs/gst/wayland/wayland.h
index 5cc0e5f74..c60c57ccd 100644
--- a/gst-libs/gst/wayland/wayland.h
+++ b/gst-libs/gst/wayland/wayland.h
@@ -30,7 +30,11 @@
#include <wayland-client.h>
#ifndef GST_WAYLAND_API
-#define GST_WAYLAND_API GST_EXPORT
+# ifdef BUILDING_GST_WAYLAND
+# define GST_WAYLAND_API GST_API_EXPORT /* from config.h */
+# else
+# define GST_WAYLAND_API GST_API_IMPORT
+# endif
#endif
G_BEGIN_DECLS
diff --git a/gst-libs/gst/webrtc/Makefile.am b/gst-libs/gst/webrtc/Makefile.am
index 945c4c079..edc9de0aa 100644
--- a/gst-libs/gst/webrtc/Makefile.am
+++ b/gst-libs/gst/webrtc/Makefile.am
@@ -38,6 +38,7 @@ nodist_libgstwebrtc_@GST_API_VERSION@include_HEADERS = $(built_headers)
libgstwebrtc_@GST_API_VERSION@_la_CFLAGS = \
-I$(top_builddir)/gst-libs \
-I$(top_srcdir)/gst-libs \
+ -DBUILDING_GST_WEBRTC \
$(GST_PLUGINS_BASE_CFLAGS) \
$(GST_BASE_CFLAGS) \
$(GST_CFLAGS) \
diff --git a/gst-libs/gst/webrtc/meson.build b/gst-libs/gst/webrtc/meson.build
index 24e43765e..a9f11dc59 100644
--- a/gst-libs/gst/webrtc/meson.build
+++ b/gst-libs/gst/webrtc/meson.build
@@ -27,6 +27,7 @@ webrtc_enumtypes_headers = [
webrtc_enums = gnome.mkenums_simple('webrtc-enumtypes',
sources : webrtc_enumtypes_headers,
+ body_prefix : '#ifdef HAVE_CONFIG_H\n#include "config.h"\n#endif',
header_prefix : '#include <gst/webrtc/webrtc_fwd.h>',
decorator: 'GST_WEBRTC_API',
install_header: true,
@@ -41,7 +42,7 @@ gstwebrtc_dependencies = [gstbase_dep, gstsdp_dep]
gstwebrtc = library('gstwebrtc-' + api_version,
webrtc_sources, gstwebrtc_c, gstwebrtc_h,
- c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API'],
+ c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API', '-DBUILDING_GST_WEBRTC'],
include_directories : [configinc, libsinc],
version : libversion,
soversion : soversion,
diff --git a/gst-libs/gst/webrtc/webrtc_fwd.h b/gst-libs/gst/webrtc/webrtc_fwd.h
index 2e50125f5..e7309e36d 100644
--- a/gst-libs/gst/webrtc/webrtc_fwd.h
+++ b/gst-libs/gst/webrtc/webrtc_fwd.h
@@ -28,7 +28,11 @@
#include <gst/gst.h>
#ifndef GST_WEBRTC_API
-#define GST_WEBRTC_API GST_EXPORT
+# ifdef BUILDING_GST_WEBRTC
+# define GST_WEBRTC_API GST_API_EXPORT /* from config.h */
+# else
+# define GST_WEBRTC_API GST_API_IMPORT
+# endif
#endif
#include <gst/webrtc/webrtc-enumtypes.h>
diff --git a/meson.build b/meson.build
index b52c0cd1c..b36a32d1b 100644
--- a/meson.build
+++ b/meson.build
@@ -32,6 +32,8 @@ plugins_install_dir = '@0@/gstreamer-1.0'.format(get_option('libdir'))
cc = meson.get_compiler('c')
cxx = meson.get_compiler('cpp')
+cdata = configuration_data()
+
if cc.get_id() == 'msvc'
# Ignore several spurious warnings for things gstreamer does very commonly
# If a warning is completely useless and spammy, use '/wdXXXX' to suppress it
@@ -61,12 +63,17 @@ if cc.has_link_argument('-Wl,-Bsymbolic-functions')
endif
# Symbol visibility
-if cc.has_argument('-fvisibility=hidden')
+if cc.get_id() == 'msvc'
+ export_define = '__declspec(dllexport) extern'
+elif cc.has_argument('-fvisibility=hidden')
add_project_arguments('-fvisibility=hidden', language: 'c')
+ export_define = 'extern __attribute__ ((visibility ("default")))'
+else
+ export_define = 'extern'
endif
-if cxx.has_argument('-fvisibility=hidden')
- add_project_arguments('-fvisibility=hidden', language: 'cpp')
-endif
+
+# Passing this through the command line would be too messy
+cdata.set('GST_API_EXPORT', export_define)
# Disable strict aliasing
if cc.has_argument('-fno-strict-aliasing')
@@ -100,7 +107,6 @@ if glib_checks.disabled() or (glib_checks.auto() and not gst_version_is_dev)
add_project_arguments('-DG_DISABLE_CHECKS', language: 'c')
endif
-cdata = configuration_data()
check_headers = [
['HAVE_DLFCN_H', 'dlfcn.h'],
['HAVE_FCNTL_H', 'fcntl.h'],