X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gst%2Fgstconfig.h.in;h=7be1b194afdced1285fa0a12e66c1e38e5dd0829;hb=92b38d2a001d6a3d4be154cd541589c66b3c92e1;hp=25b50f2202daffe0492eae53adee44db0d73ef7e;hpb=0abb6e1a42332335c139a44b86054c0d8df2541f;p=platform%2Fupstream%2Fgstreamer.git diff --git a/gst/gstconfig.h.in b/gst/gstconfig.h.in index 25b50f2..7be1b19 100644 --- a/gst/gstconfig.h.in +++ b/gst/gstconfig.h.in @@ -91,6 +91,28 @@ */ @GST_DISABLE_REGISTRY_DEFINE@ +/** + * GST_DISABLE_CAST_CHECKS: + * + * Disable run-time GObject cast checks + */ +#define GST_DISABLE_CAST_CHECKS @GST_DISABLE_CAST_CHECKS_DEFINE@ + +/** + * GST_DISABLE_GLIB_ASSERTS: + * + * Disable GLib assertion + */ +#define GST_DISABLE_GLIB_ASSERTS @GST_DISABLE_GLIB_ASSERTS_DEFINE@ + +/** + * GST_DISABLE_GLIB_CHECKS: + * + * Disable GLib checks such as API guards + */ +#define GST_DISABLE_GLIB_CHECKS @GST_DISABLE_GLIB_CHECKS_DEFINE@ + + /* FIXME: test and document these! */ /* Configures the use of external plugins */ @GST_DISABLE_PLUGIN_DEFINE@ @@ -104,9 +126,9 @@ * http://docs.oracle.com/cd/E19205-01/820-4155/c++_faq.html#Vers6 * https://software.intel.com/en-us/node/583402 */ -#if defined(__alpha__) || defined(__arm__) || defined(__aarch64__) || defined(__bfin) || defined(__hppa__) || defined(__mips__) || defined(__sh__) || defined(__sparc__) || defined(__sparc) || defined(__ia64__) || defined(_M_ALPHA) || defined(_M_ARM) || defined(_M_IA64) +#if defined(__alpha__) || defined(__arc__) || defined(__arm__) || defined(__aarch64__) || defined(__bfin) || defined(__hppa__) || defined(__nios2__) || defined(__MICROBLAZE__) || defined(__mips__) || defined(__or1k__) || defined(__sh__) || defined(__SH4__) || defined(__sparc__) || defined(__sparc) || defined(__ia64__) || defined(_M_ALPHA) || defined(_M_ARM) || defined(_M_IA64) || defined(__xtensa__) || defined(__e2k__) || defined(__riscv) # define GST_HAVE_UNALIGNED_ACCESS 0 -#elif defined(__i386__) || defined(__i386) || defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__ppc__) || defined(__ppc64__) || defined(__powerpc__) || defined(__powerpc64__) || defined(__m68k__) || defined(_M_IX86) || defined(_M_AMD64) || defined(_M_X64) || defined(__s390__) || defined(__zarch__) +#elif defined(__i386__) || defined(__i386) || defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__ppc__) || defined(__ppc64__) || defined(__powerpc__) || defined(__powerpc64__) || defined(__m68k__) || defined(_M_IX86) || defined(_M_AMD64) || defined(_M_X64) || defined(__s390__) || defined(__s390x__) || defined(__zarch__) # define GST_HAVE_UNALIGNED_ACCESS 1 #else # error "Could not detect architecture; don't know whether it supports unaligned access! Please file a bug." @@ -128,14 +150,17 @@ * On Windows, this exports the plugin definition from the DLL. * On other platforms, this gets defined as a no-op. */ -/* Only use __declspec(dllexport/import) when we have been built with MSVC. - * With MinGW we still rely on the linker to auto-export/import symbols. +/* Only use __declspec(dllexport/import) when we have been built with MSVC or + * the user is linking to us with MSVC. The only remaining case is when we were + * built with MinGW and are linking with MinGW in which case we rely on the + * linker to auto-export/import symbols. Of course all this is only used when + * not linking statically. * * NOTE: To link to GStreamer statically on Windows, you must define * GST_STATIC_COMPILATION or the prototypes will cause the compiler to search * for the symbol inside a DLL. */ -#if @GSTCONFIG_USE_MSVC_DECLSPEC@ && !defined(GST_STATIC_COMPILATION) +#if (@GSTCONFIG_BUILT_WITH_MSVC@ || defined(_MSC_VER)) && !defined(GST_STATIC_COMPILATION) # define GST_PLUGIN_EXPORT __declspec(dllexport) # ifdef GST_EXPORTS # define GST_EXPORT __declspec(dllexport) @@ -143,12 +168,39 @@ # define GST_EXPORT __declspec(dllimport) extern # endif #else -# define GST_PLUGIN_EXPORT -# if (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)) +# if defined(__GNUC__) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)) +# define GST_PLUGIN_EXPORT __attribute__ ((visibility ("default"))) # define GST_EXPORT extern __attribute__ ((visibility ("default"))) # else +# define GST_PLUGIN_EXPORT # define GST_EXPORT extern # endif #endif +#if defined(_MSC_VER) && !defined(GST_STATIC_COMPILATION) +# define GST_API_IMPORT __declspec(dllimport) extern +#else +# define GST_API_IMPORT extern +#endif + +#ifndef GST_API +# ifdef BUILDING_GST +# define GST_API GST_API_EXPORT /* from config.h */ +# else +# define GST_API GST_API_IMPORT +# endif +#endif + +/* These macros are used to mark deprecated functions in GStreamer headers, + * and thus have to be exposed in installed headers. But please + * do *not* use them in other projects. Instead, use G_DEPRECATED + * or define your own wrappers around it. */ +#ifndef GST_DISABLE_DEPRECATED +#define GST_DEPRECATED GST_API +#define GST_DEPRECATED_FOR(f) GST_API +#else +#define GST_DEPRECATED G_DEPRECATED GST_API +#define GST_DEPRECATED_FOR(f) G_DEPRECATED_FOR(f) GST_API +#endif + #endif /* __GST_CONFIG_H__ */