]> xenbits.xensource.com Git - libvirt.git/commitdiff
build: port qemu to cygwin
authorEric Blake <eblake@redhat.com>
Thu, 30 May 2013 03:00:51 +0000 (21:00 -0600)
committerEric Blake <eblake@redhat.com>
Thu, 30 May 2013 12:39:27 +0000 (06:39 -0600)
A cygwin build of the qemu driver fails with:

qemu/qemu_process.c: In function 'qemuPrepareCpumap':
qemu/qemu_process.c:1803:31: error: 'CPU_SETSIZE' undeclared (first use in this function)

CPU_SETSIZE is a Linux extension in <sched.h>; a bit more portable
is using sysconf if _SC_NPROCESSORS_CONF is defined (several platforms
have it, including Cygwin).  Ultimately, I would have preferred to
use gnulib's 'nproc' module, but it is currently under an incompatible
license.

* src/qemu/qemu_conf.h (QEMUD_CPUMASK_LEN): Provide definition on
cygwin.

Signed-off-by: Eric Blake <eblake@redhat.com>
src/qemu/qemu_conf.h

index df0791ec049d0a112c23793e36c7bed4490d6b2c..42566b41033657afda32ff20e270f4c74d3b99eb 100644 (file)
 # include "locking/lock_manager.h"
 # include "qemu_capabilities.h"
 
-# define QEMUD_CPUMASK_LEN CPU_SETSIZE
+# ifdef CPU_SETSIZE /* Linux */
+#  define QEMUD_CPUMASK_LEN CPU_SETSIZE
+# elif defined(_SC_NPROCESSORS_CONF) /* Cygwin */
+#  define QEMUD_CPUMASK_LEN (sysconf(_SC_NPROCESSORS_CONF))
+# else
+#  error "Port me"
+# endif
 
 typedef struct _virQEMUCloseCallbacks virQEMUCloseCallbacks;
 typedef virQEMUCloseCallbacks *virQEMUCloseCallbacksPtr;