[vlc-devel] commit: Win32: compile fix ( Rémi Denis-Courmont )
git version control
git at videolan.org
Tue Jan 12 23:02:16 CET 2010
vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Tue Jan 12 23:54:48 2010 +0200| [5b4fe3ad4c2f740dfd5af3c9102751d400682a4a] | committer: Rémi Denis-Courmont
Win32: compile fix
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=5b4fe3ad4c2f740dfd5af3c9102751d400682a4a
---
src/misc/cpu.c | 39 ++++++++++++++++++---------------------
1 files changed, 18 insertions(+), 21 deletions(-)
diff --git a/src/misc/cpu.c b/src/misc/cpu.c
index b1ff295..11dd5cf 100644
--- a/src/misc/cpu.c
+++ b/src/misc/cpu.c
@@ -50,9 +50,9 @@
#if defined( __i386__ ) || defined( __x86_64__ ) || defined( __powerpc__ ) \
|| defined( __ppc__ ) || defined( __ppc64__ ) || defined( __powerpc64__ )
+# ifndef WIN32
static bool check_OS_capability( const char *psz_capability, pid_t pid )
{
-#ifndef WIN32
int status;
if( pid == -1 )
@@ -68,14 +68,24 @@ static bool check_OS_capability( const char *psz_capability, pid_t pid )
fprintf( stderr, " some optimizations will be disabled unless "
"you upgrade your OS\n" );
return false;
-#else
-# warning FIXME!
-# define fork() (errno = ENOSYS, -1)
- (void)pid;
- (void)psz_capability;
- return true;
-#endif
}
+
+# define check_capability(name, flag, code) \
+ do { \
+ pid_t pid = fork(); \
+ if( pid == 0 ) \
+ { \
+ signal(SIGILL, SIG_DFL); \
+ __asm__ __volatile__ ( code : : ); \
+ _exit(0); \
+ } \
+ if( check_OS_capability((name), pid )) \
+ i_capabilities |= (flag); \
+ } while(0)
+
+# else /* WIN32 */
+# define check_capability(name, flag, code) (void)0
+# endif
#endif
/*****************************************************************************
@@ -116,19 +126,6 @@ uint32_t CPUCapabilities( void )
: "cc" );
# endif
/* Check if the OS really supports the requested instructions */
-# define check_capability(name, flag, code) \
- do { \
- pid_t pid = fork(); \
- if( pid == 0 ) \
- { \
- signal(SIGILL, SIG_DFL); \
- __asm__ __volatile__ ( code : : ); \
- _exit(0); \
- } \
- if( check_OS_capability((name), pid )) \
- i_capabilities |= (flag); \
- } while(0)
-
# if defined (__i386__) && !defined (__i486__) && !defined (__i586__) \
&& !defined (__i686__) && !defined (__pentium4__) \
&& !defined (__k6__) && !defined (__athlon__) && !defined (__k8__)
More information about the vlc-devel
mailing list