Commit 1d066ee3 authored by Sam Hocevar's avatar Sam Hocevar

  * Win32 plugin support by Gildas Bazin <gbazin@netcourrier.com>.
parent 0c128d47
...@@ -212,6 +212,9 @@ DCFLAGS += -MM ...@@ -212,6 +212,9 @@ DCFLAGS += -MM
LCFLAGS += @LCFLAGS@ $(LIB) LCFLAGS += @LCFLAGS@ $(LIB)
LCFLAGS += -Wall LCFLAGS += -Wall
#LCFLAGS += -s #LCFLAGS += -s
ifneq (,$(findstring mingw32,$(SYS)))
LCFLAGS += -Xlinker --force-exe-suffix
endif
# #
# Debugging and profiling support # Debugging and profiling support
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* modules_core.h : Module management functions used by the core application. * modules_core.h : Module management functions used by the core application.
***************************************************************************** *****************************************************************************
* Copyright (C) 2001 VideoLAN * 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> * Authors: Samuel Hocevar <sam@zoy.org>
* *
...@@ -37,12 +37,17 @@ module_load( char * psz_filename, module_handle_t * handle ) ...@@ -37,12 +37,17 @@ module_load( char * psz_filename, module_handle_t * handle )
#ifdef SYS_BEOS #ifdef SYS_BEOS
*handle = load_add_on( psz_filename ); *handle = load_add_on( psz_filename );
return( *handle < 0 ); return( *handle < 0 );
#elif defined(WIN32)
*handle = LoadLibrary( psz_filename );
return( *handle == NULL );
#else #else
/* Do not open modules with RTLD_GLOBAL, or we are going to get namespace /* Do not open modules with RTLD_GLOBAL, or we are going to get namespace
* collisions when two modules have common public symbols */ * collisions when two modules have common public symbols */
*handle = dlopen( psz_filename, RTLD_NOW ); *handle = dlopen( psz_filename, RTLD_NOW );
return( *handle == NULL ); return( *handle == NULL );
#endif #endif
} }
...@@ -58,8 +63,13 @@ module_unload( module_handle_t handle ) ...@@ -58,8 +63,13 @@ module_unload( module_handle_t handle )
{ {
#ifdef SYS_BEOS #ifdef SYS_BEOS
unload_add_on( handle ); unload_add_on( handle );
#elif defined(WIN32)
FreeLibrary( handle );
#else #else
dlclose( handle ); dlclose( handle );
#endif #endif
return; return;
} }
...@@ -101,6 +111,9 @@ module_getsymbol( module_handle_t handle, char * psz_function ) ...@@ -101,6 +111,9 @@ module_getsymbol( module_handle_t handle, char * psz_function )
free( psz_call ); free( psz_call );
return( p_return ); return( p_return );
#elif defined(WIN32)
return( (void *)GetProcAddress( handle, psz_function ) );
#else #else
return( dlsym( handle, psz_function ) ); return( dlsym( handle, psz_function ) );
#endif #endif
...@@ -116,10 +129,12 @@ module_getsymbol( module_handle_t handle, char * psz_function ) ...@@ -116,10 +129,12 @@ module_getsymbol( module_handle_t handle, char * psz_function )
static __inline__ const char * static __inline__ const char *
module_error( void ) module_error( void )
{ {
#ifdef SYS_BEOS #if defined(SYS_BEOS) || defined(WIN32)
return( "failed" ); return( "failed" );
#else #else
return( dlerror() ); return( dlerror() );
#endif #endif
} }
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* intf_gtk.c: Gtk+ interface * intf_gtk.c: Gtk+ interface
***************************************************************************** *****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN * 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> * Authors: Samuel Hocevar <sam@zoy.org>
* Stphane Borel <stef@via.ecp.fr> * Stphane Borel <stef@via.ecp.fr>
...@@ -35,7 +35,6 @@ ...@@ -35,7 +35,6 @@
#include <string.h> /* strerror() */ #include <string.h> /* strerror() */
#include <stdio.h> #include <stdio.h>
#include <glib/glib.h>
#include <gtk/gtk.h> #include <gtk/gtk.h>
#include "config.h" #include "config.h"
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* decoders. * decoders.
***************************************************************************** *****************************************************************************
* Copyright (C) 1998, 1999, 2000 VideoLAN * 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> * Authors: Christophe Massiot <massiot@via.ecp.fr>
* *
...@@ -519,7 +519,7 @@ static void FileOpen( input_thread_t * p_input ) ...@@ -519,7 +519,7 @@ static void FileOpen( input_thread_t * p_input )
psz_name += 4; psz_name += 4;
i_stat = stat( psz_name, &stat_info ); i_stat = stat( psz_name, &stat_info );
#if defined( WIN32 ) #if defined( WIN32 )
snprintf( buf, 7, "\\\\.\\%c:", psz_name[0] ); _snprintf( buf, 7, "\\\\.\\%c:", psz_name[0] );
#endif #endif
} }
else if( ( i_size > 5 ) else if( ( i_size > 5 )
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* modules.c : Built-in and plugin modules management functions * modules.c : Built-in and plugin modules management functions
***************************************************************************** *****************************************************************************
* Copyright (C) 2001 VideoLAN * 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> * Authors: Samuel Hocevar <sam@zoy.org>
* Ethan C. Baldridge <BaldridgeE@cadmus.com> * Ethan C. Baldridge <BaldridgeE@cadmus.com>
...@@ -45,6 +45,8 @@ ...@@ -45,6 +45,8 @@
#elif defined(HAVE_IMAGE_H) /* BeOS */ #elif defined(HAVE_IMAGE_H) /* BeOS */
# include <image.h> # include <image.h>
# define HAVE_DYNAMIC_PLUGINS # define HAVE_DYNAMIC_PLUGINS
#elif defined(WIN32)
# define HAVE_DYNAMIC_PLUGINS
#else #else
# undef HAVE_DYNAMIC_PLUGINS # undef HAVE_DYNAMIC_PLUGINS
#endif #endif
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
* Functions are prototyped in mtime.h. * Functions are prototyped in mtime.h.
***************************************************************************** *****************************************************************************
* Copyright (C) 1998, 1999, 2000 VideoLAN * 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> * Authors: Vincent Seguin <seguin@via.ecp.fr>
* *
...@@ -68,13 +68,13 @@ static __inline__ void usleep( unsigned int i_useconds ) ...@@ -68,13 +68,13 @@ static __inline__ void usleep( unsigned int i_useconds )
{ {
QueryPerformanceCounter( (LARGE_INTEGER *) &i_cur ); 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; i_then = i_now + i_useconds;
while( i_now < i_then ) while( i_now < i_then )
{ {
QueryPerformanceCounter( (LARGE_INTEGER *) &i_cur ); QueryPerformanceCounter( (LARGE_INTEGER *) &i_cur );
now = cur * 1000 * 1000 / i_freq; i_now = i_cur * 1000 * 1000 / i_freq;
} }
} }
else else
......
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