[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