]> git.sesse.net Git - vlc/commitdiff
* Win32 plugin support by Gildas Bazin <gbazin@netcourrier.com>.
authorSam Hocevar <sam@videolan.org>
Thu, 31 May 2001 12:45:39 +0000 (12:45 +0000)
committerSam Hocevar <sam@videolan.org>
Thu, 31 May 2001 12:45:39 +0000 (12:45 +0000)
Makefile.opts.in
include/modules_core.h
plugins/gtk/intf_gtk.c
src/input/input.c
src/misc/modules.c
src/misc/mtime.c

index 11771982d019f15f350ff3e1e0e197d463e1dee2..cbd594dfb1eaaac8d2840b675454640316c3729e 100644 (file)
@@ -212,6 +212,9 @@ DCFLAGS += -MM
 LCFLAGS += @LCFLAGS@ $(LIB)
 LCFLAGS += -Wall
 #LCFLAGS += -s
+ifneq (,$(findstring mingw32,$(SYS)))
+LCFLAGS += -Xlinker --force-exe-suffix
+endif
 
 #
 # Debugging and profiling support
index ed15f3a460d08ad07a8dde1967f6339022c01927..c56bc0fc286f372fa10858566f4300dc8ae9d4f8 100644 (file)
@@ -2,7 +2,7 @@
  * modules_core.h : Module management functions used by the core application.
  *****************************************************************************
  * Copyright (C) 2001 VideoLAN
- * $Id: modules_core.h,v 1.5 2001/03/21 13:42:33 sam Exp $
+ * $Id: modules_core.h,v 1.6 2001/05/31 12:45:39 sam Exp $
  *
  * Authors: Samuel Hocevar <sam@zoy.org>
  *
@@ -37,12 +37,17 @@ module_load( char * psz_filename, module_handle_t * handle )
 #ifdef SYS_BEOS
     *handle = load_add_on( psz_filename );
     return( *handle < 0 );
+
+#elif defined(WIN32)
+    *handle = LoadLibrary( psz_filename );
+    return( *handle == NULL ); 
+
 #else
     /* Do not open modules with RTLD_GLOBAL, or we are going to get namespace
      * collisions when two modules have common public symbols */
     *handle = dlopen( psz_filename, RTLD_NOW );
-
     return( *handle == NULL );
+
 #endif
 }
 
@@ -58,8 +63,13 @@ module_unload( module_handle_t handle )
 {
 #ifdef SYS_BEOS
     unload_add_on( handle );
+
+#elif defined(WIN32)
+    FreeLibrary( handle );
+
 #else
     dlclose( handle );
+
 #endif
     return;
 }
@@ -101,6 +111,9 @@ module_getsymbol( module_handle_t handle, char * psz_function )
     free( psz_call );
     return( p_return );
 
+#elif defined(WIN32)
+    return( (void *)GetProcAddress( handle, psz_function ) );
+
 #else
     return( dlsym( handle, psz_function ) );
 #endif
@@ -116,10 +129,12 @@ module_getsymbol( module_handle_t handle, char * psz_function )
 static __inline__ const char *
 module_error( void )
 {
-#ifdef SYS_BEOS
+#if defined(SYS_BEOS) || defined(WIN32)
     return( "failed" );
+
 #else
     return( dlerror() );
+
 #endif
 }
 
index 447d09688221134fb5fe117c77692ec057ce8c67..79aeade9a6c27028d67d35c186160e980c46d7ac 100644 (file)
@@ -2,7 +2,7 @@
  * intf_gtk.c: Gtk+ interface
  *****************************************************************************
  * Copyright (C) 1999, 2000 VideoLAN
- * $Id: intf_gtk.c,v 1.24 2001/05/31 03:23:24 sam Exp $
+ * $Id: intf_gtk.c,v 1.25 2001/05/31 12:45:39 sam Exp $
  *
  * Authors: Samuel Hocevar <sam@zoy.org>
  *          Stéphane Borel <stef@via.ecp.fr>
@@ -35,7 +35,6 @@
 #include <string.h>                                            /* strerror() */
 #include <stdio.h>
 
-#include <glib/glib.h>
 #include <gtk/gtk.h>
 
 #include "config.h"
index 950f11556b2cd5302b8988b7ba58a5edec274ee0..a06c5510d0ff87cc761c2d60220828b5605304f5 100644 (file)
@@ -4,7 +4,7 @@
  * decoders.
  *****************************************************************************
  * Copyright (C) 1998, 1999, 2000 VideoLAN
- * $Id: input.c,v 1.117 2001/05/31 03:57:54 sam Exp $
+ * $Id: input.c,v 1.118 2001/05/31 12:45:39 sam Exp $
  *
  * Authors: Christophe Massiot <massiot@via.ecp.fr>
  *
@@ -519,7 +519,7 @@ static void FileOpen( input_thread_t * p_input )
             psz_name += 4;
             i_stat = stat( psz_name, &stat_info );
 #if defined( WIN32 )
-            snprintf( buf, 7, "\\\\.\\%c:", psz_name[0] );
+            _snprintf( buf, 7, "\\\\.\\%c:", psz_name[0] );
 #endif
         }
         else if( ( i_size > 5 )
index d31f7dde76362f4597f25543e85d5cbf7cfd5dcd..fc1560abb6da90d215b645dd0b972710750dd13f 100644 (file)
@@ -2,7 +2,7 @@
  * modules.c : Built-in and plugin modules management functions
  *****************************************************************************
  * Copyright (C) 2001 VideoLAN
- * $Id: modules.c,v 1.32 2001/05/31 01:37:08 sam Exp $
+ * $Id: modules.c,v 1.33 2001/05/31 12:45:39 sam Exp $
  *
  * Authors: Samuel Hocevar <sam@zoy.org>
  *          Ethan C. Baldridge <BaldridgeE@cadmus.com>
@@ -45,6 +45,8 @@
 #elif defined(HAVE_IMAGE_H)                                          /* BeOS */
 #   include <image.h>
 #   define HAVE_DYNAMIC_PLUGINS
+#elif defined(WIN32)
+#   define HAVE_DYNAMIC_PLUGINS
 #else
 #   undef HAVE_DYNAMIC_PLUGINS
 #endif
index a391c6e41231f6f014c0c28d812a4c5e83ba44d3..2afe4289fd672cab2398faffe9fa7e721bc25167 100644 (file)
@@ -3,7 +3,7 @@
  * Functions are prototyped in mtime.h.
  *****************************************************************************
  * Copyright (C) 1998, 1999, 2000 VideoLAN
- * $Id: mtime.c,v 1.20 2001/05/31 03:12:49 sam Exp $
+ * $Id: mtime.c,v 1.21 2001/05/31 12:45:39 sam Exp $
  *
  * Authors: Vincent Seguin <seguin@via.ecp.fr>
  *
@@ -68,13 +68,13 @@ static __inline__ void usleep( unsigned int i_useconds )
     {
         QueryPerformanceCounter( (LARGE_INTEGER *) &i_cur );
 
-        i_now = ( cur * 1000 * 1000 / i_freq );
+        i_now = ( i_cur * 1000 * 1000 / i_freq );
         i_then = i_now + i_useconds;
 
         while( i_now < i_then )
         {
             QueryPerformanceCounter( (LARGE_INTEGER *) &i_cur );
-            now = cur * 1000 * 1000 / i_freq;
+            i_now = i_cur * 1000 * 1000 / i_freq;
         }
     }
     else