-Subproject commit ed78bee437dcbe22e6eef0031d9a29d157c0461f
+Subproject commit cd1dee06bf07f094677d0cf3eea4a2e8c2636b24
dnl Symbol visibility
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)
dnl Check for -Bsymbolic-functions linker flag used to avoid
#ifndef GST_API
# ifdef BUILDING_GST
-#define GST_API GST_EXPORT
+# define GST_API GST_API_EXPORT /* from config.h */
# else
# define GST_API GST_API_IMPORT
# endif
#ifndef GST_BASE_API
#ifdef BUILDING_GST_BASE
-#define GST_BASE_API GST_EXPORT
+#define GST_BASE_API GST_API_EXPORT /* from config.h */
#else
#define GST_BASE_API GST_API_IMPORT
#endif
* also provides size-related functionality. This object should be used for
* any #GstElement that wishes to provide some sort of queueing functionality.
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
#include <gst/gst.h>
#include "string.h"
*
* Since: 1.4
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
#include <gst/gst.h>
#include "gstflowcombiner.h"
* based on an array instead of linked lists. This reduces the overhead
* caused by memory management by a large factor.
*/
-
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
#include <string.h>
#include <gst/gst.h>
#ifndef GST_CHECK_API
#ifdef BUILDING_GST_CHECK
-#define GST_CHECK_API GST_EXPORT
+#define GST_CHECK_API GST_API_EXPORT /* from config.h */
#else
#define GST_CHECK_API GST_API_IMPORT
#endif
* These macros and functions are for internal use of the unit tests found
* inside the 'check' directories of various GStreamer packages.
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
#include "gstbufferstraw.h"
* These macros and functions are for internal use of the unit tests found
* inside the 'check' directories of various GStreamer packages.
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
#include "gstconsistencychecker.h"
#ifndef GST_CONTROLLER_API
#ifdef BUILDING_GST_CONTROLLER
-#define GST_CONTROLLER_API GST_EXPORT
+#define GST_CONTROLLER_API GST_API_EXPORT /* from config.h */
#else
#define GST_CONTROLLER_API GST_API_IMPORT
#endif
* gobject properties representing a color. A control value of 0.0 will turn the
* color component off and a value of 1.0 will be the color level.
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
#include <glib-object.h>
#include <gst/gst.h>
* will be clipped. An absolute control binding will not do any value
* transformations.
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
#include <glib-object.h>
#include <gst/gst.h>
* All functions are MT-safe.
*
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
#include <glib-object.h>
#include <gst/gst.h>
*
* All functions are MT-safe.
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
#include <float.h>
* All functions are MT-safe.
*
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
#include <glib-object.h>
#include <gst/gst.h>
*
* All functions are MT-safe.
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
#include <glib-object.h>
#include <gst/gst.h>
controller_enums = gnome.mkenums_simple('controller-enumtypes',
sources : controller_mkenum_headers,
header_prefix : '#include <gst/controller/controller-prelude.h>',
+ body_prefix : '#include "config.h"',
decorator : 'GST_CONTROLLER_API',
install_header : true,
install_dir : join_paths(get_option('includedir'), 'gstreamer-1.0/gst/controller'))
* in a #GstBuffer so that it network elements can track the to and from address
* of the buffer.
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
#include <string.h>
* sending and receiving ancillary data such as unix credentials (See
* #GUnixCredentialsMessage) and Unix file descriptions (See #GUnixFDMessage).
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
#include <string.h>
#ifndef GST_NET_API
#ifdef BUILDING_GST_NET
-#define GST_NET_API GST_EXPORT
+#define GST_NET_API GST_API_EXPORT /* from config.h */
#else
#define GST_NET_API GST_API_IMPORT
#endif
cc = meson.get_compiler('c')
+cdata = configuration_data()
+
# Ignore several spurious warnings for things gstreamer does very commonly
# If a warning is completely useless and spammy, use '/wdXXXX' to suppress it
# If a warning is harmless but hard to fix, use '/woXXXX' so it's shown once
endif
# Symbol visibility
-have_visibility_hidden = cc.has_argument('-fvisibility=hidden')
-if have_visibility_hidden
+have_visibility_hidden = false
+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")))'
+ have_visibility_hidden = true
+else
+ export_define = 'extern'
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')
add_project_arguments('-fno-strict-aliasing', language: 'c')
add_project_arguments('-DG_DISABLE_CHECKS', language: 'c')
endif
-cdata = configuration_data()
cdata.set_quoted('GST_API_VERSION', apiversion)
cdata.set_quoted('GST_DATADIR', join_paths(prefix, get_option('datadir')))
cdata.set_quoted('LOCALEDIR', join_paths(prefix, get_option('localedir')))