* Make ecore_con work on Windows (only the local connections
need a port)
+ * Make ecore_ipc compile on Windows
# core modules
want_ecore_con="yes"
-want_ecore_ipc="no"
+want_ecore_ipc="yes"
want_ecore_file="yes"
#want_ecore_config="no"
want_ecore_imf="no"
case "$host_os" in
mingw32ce* | cegcc*)
want_ecore_con="no"
+ want_ecore_ipc="no"
want_ecore_wince="yes"
want_ecore_evas_software_16_wince="yes"
;;
want_glib="auto"
want_gnutls="auto"
want_openssl="auto"
- want_ecore_ipc="yes"
want_ecore_imf="yes"
want_ecore_cocoa="yes"
want_ecore_evas_software_sdl="yes"
want_inotify="yes"
want_tslib="yes"
want_ecore_fb="yes"
- want_ecore_ipc="yes"
want_ecore_imf="yes"
want_ecore_x="yes"
want_ecore_evas_software_x11="yes"
EFL_ECORE_IMF_EVAS_BUILD="-DEFL_ECORE_IMF_EVAS_BUILD"
EFL_ECORE_INPUT_BUILD="-DEFL_ECORE_INPUT_BUILD"
EFL_ECORE_INPUT_EVAS_BUILD="-DEFL_ECORE_INPUT_EVAS_BUILD"
+ EFL_ECORE_IPC_BUILD="-DEFL_ECORE_IPC_BUILD"
;;
esac
AC_SUBST(EFL_ECORE_IMF_EVAS_BUILD)
AC_SUBST(EFL_ECORE_INPUT_BUILD)
AC_SUBST(EFL_ECORE_INPUT_EVAS_BUILD)
+AC_SUBST(EFL_ECORE_IPC_BUILD)
AC_SUBST(EFL_ECORE_WINCE_BUILD)
AC_SUBST(EFL_ECORE_WIN32_BUILD)
AC_SUBST(EFL_ECORE_SDL_BUILD)
# undef EAPI
#endif
-#ifdef _MSC_VER
-# ifdef BUILDING_DLL
-# define EAPI __declspec(dllexport)
+#ifdef _WIN32
+# ifdef EFL_ECORE_IPC_BUILD
+# ifdef DLL_EXPORT
+# define EAPI __declspec(dllexport)
+# else
+# define EAPI
+# endif
# else
# define EAPI __declspec(dllimport)
# endif
#ifdef __cplusplus
extern "C" {
#endif
-
-#ifndef _ECORE_IPC_PRIVATE_H
- typedef void Ecore_Ipc_Server; /**< An IPC connection handle */
- typedef void Ecore_Ipc_Client; /**< An IPC connection handle */
-#endif
+
+typedef struct _Ecore_Ipc_Server Ecore_Ipc_Server; /**< An IPC connection handle */
+typedef struct _Ecore_Ipc_Client Ecore_Ipc_Client; /**< An IPC connection handle */
/**
* Macros used for generic data packing
-I$(top_srcdir)/src/lib/ecore \
-I$(top_srcdir)/src/lib/ecore_con \
-I$(top_srcdir)/src/lib/ecore_ipc \
-@SSL_CFLAGS@ @EINA_CFLAGS@
+@EFL_ECORE_IPC_BUILD@ \
+@SSL_CFLAGS@ \
+@EINA_CFLAGS@
lib_LTLIBRARIES = libecore_ipc.la
includes_HEADERS = Ecore_Ipc.h
# include <winsock2.h>
#endif
-#include "Ecore.h"
-#include "ecore_private.h"
-#include "Ecore_Con.h"
-#include "ecore_ipc_private.h"
+#if USE_GNUTLS_OPENSSL
+# include <gnutls/openssl.h>
+#elif USE_OPENSSL
+# include <openssl/ssl.h>
+#endif
+
+#include <Ecore.h>
+#include <ecore_private.h>
+#include <Ecore_Con.h>
+
#include "Ecore_Ipc.h"
+#include "ecore_ipc_private.h"
#define DLT_ZERO 0
#define DLT_ONE 1
#endif
#define CRIT(...) EINA_LOG_DOM_CRIT(_ecore_ipc_log_dom, __VA_ARGS__)
-#if USE_GNUTLS_OPENSSL
-# include <gnutls/openssl.h>
-#elif USE_OPENSSL
-# include <openssl/ssl.h>
-#endif
-
#define ECORE_MAGIC_IPC_SERVER 0x87786556
#define ECORE_MAGIC_IPC_CLIENT 0x78875665
-typedef struct _Ecore_Ipc_Client Ecore_Ipc_Client;
-typedef struct _Ecore_Ipc_Server Ecore_Ipc_Server;
typedef struct _Ecore_Ipc_Msg_Head Ecore_Ipc_Msg_Head;
+#if defined (_MSC_VER) || (defined (__SUNPRO_C) && __SUNPRO_C < 0x5100)
+# pragma pack(1)
+# define ECORE_IPC_STRUCT_PACKED
+#elif defined (__GNUC__) || (defined (__SUNPRO_C) && __SUNPRO_C >= 0x5100)
+# define ECORE_IPC_STRUCT_PACKED __attribute__((packed))
+#else
+# define ECORE_IPC_STRUCT_PACKED
+#endif
+
#ifdef __sgi
#pragma pack 4
#endif
int ref_to;
int response;
int size;
-}
-#ifdef _GNU_C_
-__attribute__ ((packed));
-#endif
-;
+} ECORE_IPC_STRUCT_PACKED;
#ifdef __sgi
#pragma pack 0
#endif