Commit a7347ca8 authored by Tim-Philipp Müller's avatar Tim-Philipp Müller 🐠 Committed by Thibault Saunier
Browse files

WIP: ges: fix API export/import and 'inconsistent linkage' on MSVC

Export GES library API in headers when we're building the
library itself, otherwise import the API from the headers.

This fixes linker warnings on Windows when building with MSVC.

Fix up some missing config.h includes when building the lib which
is needed to get the export api define from config.h

Fixes #42
parent 059af7ba
Pipeline #12906 passed with stages
in 31 minutes and 22 seconds
......@@ -353,7 +353,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)
dnl disable strict aliasing
......
......@@ -155,7 +155,7 @@ noinst_HEADERS = \
libges_@GST_API_VERSION@_la_CFLAGS = -I$(top_srcdir) $(GST_PBUTILS_CFLAGS) \
$(GST_VIDEO_CFLAGS) $(GST_CONTROLLER_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) \
$(GST_CFLAGS) $(XML_CFLAGS) $(GIO_CFLAGS) $(GST_VALIDATE_CFLAGS) \
-DG_LOG_DOMAIN=\"GES\"
-DG_LOG_DOMAIN=\"GES\" -DBUILDING_GES
libges_@GST_API_VERSION@_la_LIBADD = $(GST_PBUTILS_LIBS) \
$(GST_VIDEO_LIBS) $(GST_CONTROLLER_LIBS) $(GST_PLUGINS_BASE_LIBS) \
$(GST_BASE_LIBS) $(GST_LIBS) $(XML_LIBS) $(GIO_LIBS) $(GST_VALIDATE_LIBS)
......
......@@ -82,6 +82,9 @@
* ges_asset_request_async(). All the #GESAssets are cached and thus any asset that has already
* been created can be requested again without overhead.
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "ges.h"
#include "ges-internal.h"
......
......@@ -48,6 +48,9 @@
* </tgroup>
* </informaltable>
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "ges-internal.h"
#include "ges/ges-meta-container.h"
......
......@@ -27,6 +27,9 @@
* output silence. Useful for testing pipelines, or to fill gaps in an audio
* track.
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "ges-internal.h"
#include "ges-track-element.h"
......
......@@ -36,6 +36,9 @@
* - rate: 44100
* - layout: interleaved
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "ges-internal.h"
#include "ges-smart-adder.h"
......
......@@ -23,6 +23,9 @@
* @title: GESAudioTransition
* @short_description: implements audio crossfade transition
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "ges-internal.h"
#include "ges-track-element.h"
......
......@@ -23,6 +23,9 @@
* @title: GESAudioUriSource
* @short_description: outputs a single audio stream from a given file
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "ges-utils.h"
#include "ges-internal.h"
......
......@@ -22,6 +22,9 @@
*
* NOTE: This is for internal use exclusively
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "ges-auto-transition.h"
#include "ges-internal.h"
......
......@@ -25,6 +25,9 @@
* The effect will be applied on the sources that have lower priorities
* (higher number) between the inpoint and the end of it.
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include <ges/ges.h>
#include "ges-internal.h"
......
......@@ -23,6 +23,9 @@
* @short_description: adds an effect to a stream in a GESSourceClip or a
* GESLayer
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include <glib/gprintf.h>
......
......@@ -23,6 +23,9 @@
* @title: GESBaseTransitionClip
* @short_description: Base classes for transitions
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include <ges/ges.h>
#include "ges-internal.h"
......
......@@ -17,6 +17,9 @@
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "ges.h"
#include "ges-internal.h"
......
......@@ -26,6 +26,9 @@
* it is mostly used to get information about the #GESTrackType-s the objects extracted
* from it can potentialy create #GESTrackElement for.
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "ges-clip-asset.h"
......
......@@ -31,6 +31,9 @@
* Keeps a reference to the #GESTrackElement(s) it created and
* sets/updates their properties.
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "ges-clip.h"
#include "ges.h"
......
......@@ -17,6 +17,9 @@
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "ges-command-line-formatter.h"
......
......@@ -24,6 +24,9 @@
* @short_description: Base Class for objects responsible for controlling other
* GESTimelineElement-s
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "ges-container.h"
#include "ges.h"
......
......@@ -24,6 +24,9 @@
* This is internal, and implementation details, so we are not showing it in the
* documentation
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "ges-effect-asset.h"
#include "ges-track-element.h"
......
......@@ -26,6 +26,9 @@
* The effect will be applied on the sources that have lower priorities
* (higher number) between the inpoint and the end of it.
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include <ges/ges.h>
#include "ges-internal.h"
......
......@@ -23,6 +23,9 @@
* @short_description: adds an effect build from a parse-launch style
* bin description to a stream in a GESSourceClip or a GESLayer
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "ges-internal.h"
#include "ges-extractable.h"
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment