version_info=`expr $VMAJ + $VMIN`":$VMIC:$VMIN"
AC_SUBST(version_info)
+EFL_EMOTION_BUILD=""
+case "$host_os" in
+ mingw* | cegcc*)
+ EFL_EMOTION_BUILD="-DEFL_EMOTION_BUILD"
+ ;;
+esac
+AC_SUBST(EFL_EMOTION_BUILD)
+
+### Checks for linker characteristics
+
+# use --enable-auto-import on Windows
+
+lt_enable_auto_import=""
+case "$host_os" in
+ mingw* | cegcc*)
+ lt_enable_auto_import="-Wl,--enable-auto-import"
+ ;;
+esac
+AC_SUBST(lt_enable_auto_import)
+
PKG_CHECK_MODULES(EVAS, [evas >= 0.9.9])
PKG_CHECK_MODULES(EDJE, [edje >= 0.5.0])
PKG_CHECK_MODULES(ECORE, [ecore >= 0.9.9 ecore-evas >= 0.9.9 ecore-job >= 0.9.9])
#ifndef EMOTION_H
#define EMOTION_H
+#include <Evas.h>
+
#ifdef EAPI
-#undef EAPI
+# undef EAPI
#endif
-#ifdef WIN32
-# ifdef BUILDING_DLL
-# define EAPI __declspec(dllexport)
+
+#ifdef _WIN32
+# ifdef EFL_EMOTION_BUILD
+# ifdef DLL_EXPORT
+# define EAPI __declspec(dllexport)
+# else
+# define EAPI
+# endif /* ! DLL_EXPORT */
# else
# define EAPI __declspec(dllimport)
-# endif
+# endif /* ! EFL_EMOTION_BUILD */
#else
# ifdef __GNUC__
# if __GNUC__ >= 4
# else
# define EAPI
# endif
-#endif
-
-#include <Evas.h>
+#endif /* ! _WIN32 */
enum _Emotion_Module
{
-DPACKAGE_LIB_DIR=\"$(libdir)\" \
-DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \
@EVAS_CFLAGS@ \
-@ECORE_CFLAGS@
+@ECORE_CFLAGS@ \
+@EFL_EMOTION_BUILD@
lib_LTLIBRARIES = libemotion.la
include_HEADERS = Emotion.h
libemotion_la_LIBADD = @EVAS_LIBS@ @ECORE_LIBS@
libemotion_la_DEPENDENCIES = $(top_builddir)/config.h
-libemotion_la_LDFLAGS = -version-info @version_info@
+libemotion_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@
-#include "Emotion.h"
#include "emotion_private.h"
+#include "Emotion.h"
#define E_SMART_OBJ_GET(smart, o, type) \
{ \
-DPACKAGE_BIN_DIR=\"$(bindir)\" \
-DPACKAGE_LIB_DIR=\"$(libdir)\" \
-DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \
+@EFL_EMOTION_BUILD@ \
@EVAS_CFLAGS@ \
@ECORE_CFLAGS@ \
@GST_CFLAGS@
emotion_gstreamer_pipeline_uri.c \
emotion_gstreamer_pipeline_v4l.c
gstreamer_la_LIBADD = @EVAS_LIBS@ @ECORE_LIBS@ @GST_LIBS@ $(top_builddir)/src/lib/libemotion.la
-gstreamer_la_LDFLAGS = -module -avoid-version
+gstreamer_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
gstreamer_la_LIBTOOLFLAGS = --tag=disable-static
gstreamer_la_DEPENDENCIES = $(top_builddir)/config.h
#include <Eina.h>
-#include "Emotion.h"
#include "emotion_private.h"
#include "emotion_gstreamer.h"
#include "emotion_gstreamer_pipeline.h"
-
+#include "Emotion.h"
/* Callbacks to get the eos */
static int _eos_timer_fct (void *data);
emotion_vlc.c \
emotion_vlc.h
vlc_la_LIBADD = @EVAS_LIBS@ @ECORE_LIBS@ @VLC_LIBS@ $(top_builddir)/src/lib/libemotion.la -lpthread
-vlc_la_LDFLAGS = -module -avoid-version
+vlc_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
vlc_la_LIBTOOLFLAGS = --tag=disable-static
vlc_la_DEPENDENCIES = $(top_builddir)/config.h
emotion_xine.h \
emotion_xine_vo_out.c
xine_la_LIBADD = @EVAS_LIBS@ @ECORE_LIBS@ @XINE_LIBS@ $(top_builddir)/src/lib/libemotion.la -lpthread
-xine_la_LDFLAGS = -module -avoid-version
+xine_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
xine_la_LIBTOOLFLAGS = --tag=disable-static
xine_la_DEPENDENCIES = $(top_builddir)/config.h