add winsock support
authorMaksym Veremeyenko <verem@m1stereo.tv>
Mon, 9 Jul 2012 22:10:58 +0000 (01:10 +0300)
committerMaksym Veremeyenko <verem@m1stereo.tv>
Mon, 9 Jul 2012 22:10:58 +0000 (01:10 +0300)
configure.in
src/Makefile.am
src/instance.c
src/player.c

index da70122..e1a0dad 100644 (file)
@@ -12,6 +12,15 @@ AM_PROG_CC_C_O
 AC_HEADER_STDC
 AC_PROG_CXX
 
+LIBDEP="-lpthread"
+case "${host}" in
+    *-*-mingw32*)
+        LIBDEP="$LIBDEP -lws2_32 -lwsock32"
+        ;;
+esac
+AC_SUBST(LIBDEP)
+
+
 PKG_CHECK_MODULES(GTK, [gtk+-2.0 >= 1.3.13])
 AC_SUBST(GTK_CFLAGS)
 AC_SUBST(GTK_LIBS)
index 7633b2e..42dc663 100644 (file)
@@ -30,4 +30,4 @@ melted_gui_SOURCES = \
 $(MVCP_FILES):
        ln -s $(MELTED_PATH)/src/mvcp/$@ $@
 
-melted_gui_LDADD = @GTHREAD_LIBS@ @GTK_LIBS@ @CURL_LIBS@ -lpthread
+melted_gui_LDADD = @GTHREAD_LIBS@ @GTK_LIBS@ @CURL_LIBS@ @LIBDEP@
index 54a4bf6..df64987 100644 (file)
 #include <gdk/gdkkeysyms.h>
 #include <pthread.h>
 
+#if defined(__MINGW32__)
+#include <winsock2.h>
+#endif
+
 #include "instance.h"
 #include "ui.h"
 #include "opts.h"
@@ -321,6 +325,13 @@ void instance_init(instance_t* app)
     int i;
     pthread_mutexattr_t attr;
 
+#if defined(__MINGW32__)
+    WORD wVersionRequested;
+    WSADATA wsaData;
+    wVersionRequested = MAKEWORD(2, 2);
+    WSAStartup(wVersionRequested, &wsaData);
+#endif
+
     gtk_signal_connect( GTK_OBJECT( app->window ), "delete-event",
         GTK_SIGNAL_FUNC(on_main_window_delete_event), app);
 
index 206191b..018661f 100644 (file)
 #include <mvcp/mvcp.h>
 #include <mvcp/mvcp_remote.h>
 
+#if defined(__MINGW32__)
+#include <windows.h>
+#endif
+
 #include "player.h"
 #include "ui.h"
 #include "timecode.h"
@@ -145,12 +149,17 @@ static void* player_thread_proc(void* data)
     /* endless reconnect loop */
     for(; !player->app->f_exit;)
     {
+        r = mvcp_connect(handle->command);
         /* connect */
-        if(mvcp_connect(handle->command) != mvcp_ok)
+        if(mvcp_ok != r)
         {
-            g_warning("player_thread_proc: failed to connect to server %s:%d (player=%d, unit=%d)\n",
-                player->app->players.host, player->app->players.port, player->idx, player->unit);
+            g_warning("player_thread_proc: failed to connect to server %s:%d (player=%d, unit=%d), r=%d\n",
+                player->app->players.host, player->app->players.port, player->idx, player->unit, r);
+#if defined(__MINGW32__)
+            Sleep(1000);
+#else
             sleep(1);
+#endif
             continue;
         };