mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-09 05:10:05 +02:00
qemu: remove outdated recipes and patches (#8583)
This commit is contained in:
@@ -1,108 +0,0 @@
|
||||
From 7eb459b9e4b6ba5ecf3065a603285681f822cc53 Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Duval <jerome.duval@gmail.com>
|
||||
Date: Wed, 26 Feb 2014 17:02:49 +0000
|
||||
Subject: Haiku: adapt configure for x86_64
|
||||
|
||||
* don't hardcode arch/cpu.
|
||||
* define _POSIX_C_SOURCE for memalign.
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index 2f11a10..59ed591 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -583,7 +583,7 @@ Haiku)
|
||||
sysconfdir="${prefix}/etc"
|
||||
bindir="${prefix}"
|
||||
confsuffix=""
|
||||
- CFLAGS="-fno-pic -march=prescott -mtune=core2 $CFLAGS"
|
||||
+ CFLAGS="$CFLAGS -D_POSIX_C_SOURCE"
|
||||
QEMU_CFLAGS="-DB_USE_POSITIVE_POSIX_ERRORS $QEMU_CFLAGS"
|
||||
LIBS="-lposix_error_mapper -lnetwork -lbe -lbsd -lgame -lmedia -lstdc++ $LIBS"
|
||||
;;
|
||||
--
|
||||
1.8.3.4
|
||||
|
||||
|
||||
From d5e0e5b00c84005d8685b5a76d611d1b39f61c06 Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Duval <jerome.duval@gmail.com>
|
||||
Date: Wed, 26 Feb 2014 17:19:05 +0000
|
||||
Subject: Haiku: don't hardcode types.
|
||||
|
||||
|
||||
diff --git a/include/fpu/softfloat.h b/include/fpu/softfloat.h
|
||||
index a445506..f3927e2 100644
|
||||
--- a/include/fpu/softfloat.h
|
||||
+++ b/include/fpu/softfloat.h
|
||||
@@ -55,24 +55,12 @@ these four paragraphs for those parts of this code that are retained.
|
||||
| to the same as `int'.
|
||||
*----------------------------------------------------------------------------*/
|
||||
typedef uint8_t flag;
|
||||
-#ifndef __HAIKU__
|
||||
typedef uint8_t uint8;
|
||||
typedef int8_t int8;
|
||||
typedef unsigned int uint32;
|
||||
typedef signed int int32;
|
||||
typedef uint64_t uint64;
|
||||
typedef int64_t int64;
|
||||
-#else
|
||||
-// Haiku types
|
||||
-typedef signed char int8;
|
||||
-typedef unsigned char uint8;
|
||||
-typedef short int16;
|
||||
-typedef unsigned short uint16;
|
||||
-typedef long int32;
|
||||
-typedef unsigned long uint32;
|
||||
-typedef long long int64;
|
||||
-typedef unsigned long long uint64;
|
||||
-#endif
|
||||
|
||||
#define LIT64( a ) a##LL
|
||||
#define INLINE static inline
|
||||
--
|
||||
1.8.3.4
|
||||
|
||||
|
||||
From 22229911497a93086ea5dff35683cf2f5ac63754 Mon Sep 17 00:00:00 2001
|
||||
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
||||
Date: Sun, 20 Apr 2014 12:59:07 +0200
|
||||
Subject: Avoid redefinition of int32and uint32
|
||||
|
||||
|
||||
diff --git a/include/haiku-include-before.h b/include/haiku-include-before.h
|
||||
index 87cde55..4cdb25e 100644
|
||||
--- a/include/haiku-include-before.h
|
||||
+++ b/include/haiku-include-before.h
|
||||
@@ -16,4 +16,7 @@
|
||||
#undef atomic_and
|
||||
#undef atomic_or
|
||||
|
||||
+#define int32 haiku_int32
|
||||
+#define uint32 haiku_uint32
|
||||
+
|
||||
#endif /* HAIKU_INCLUDE_BEFORE_H */
|
||||
diff --git a/ui/haiku.cpp b/ui/haiku.cpp
|
||||
index 7b6ce41..2106b82 100644
|
||||
--- a/ui/haiku.cpp
|
||||
+++ b/ui/haiku.cpp
|
||||
@@ -57,6 +57,8 @@ static const uint32 kConsoleSelectEvent = 'cons';
|
||||
static const uint32 kShutdownRequest = 'shut';
|
||||
static const uint32 kInvalidationRequest = 'ival';
|
||||
|
||||
+#undef int32
|
||||
+#undef uint32
|
||||
|
||||
// QEMU C interface
|
||||
extern "C" {
|
||||
@@ -84,6 +86,9 @@ static void haiku_refresh(DisplayChangeListener *dcl);
|
||||
void qemu_system_shutdown_request(void);
|
||||
};
|
||||
|
||||
+#define int32 haiku_int32
|
||||
+#define uint32 haiku_uint32
|
||||
+
|
||||
|
||||
// Haiku keycode to scancode table
|
||||
static const uint8
|
||||
--
|
||||
1.8.3.4
|
||||
|
||||
@@ -1,175 +0,0 @@
|
||||
From 28f3a4ce22d729f7de4bd7f50447dc908e49cc23 Mon Sep 17 00:00:00 2001
|
||||
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
||||
Date: Sun, 20 Apr 2014 19:50:07 +0200
|
||||
Subject: Get it to compile on Haiku.
|
||||
|
||||
|
||||
diff --git a/main-loop.c b/main-loop.c
|
||||
index 8a85493..48a4a74 100644
|
||||
--- a/main-loop.c
|
||||
+++ b/main-loop.c
|
||||
@@ -81,7 +81,9 @@ static int qemu_signal_init(void)
|
||||
*/
|
||||
sigemptyset(&set);
|
||||
sigaddset(&set, SIG_IPI);
|
||||
+#ifndef __HAIKU__
|
||||
sigaddset(&set, SIGIO);
|
||||
+#endif
|
||||
sigaddset(&set, SIGALRM);
|
||||
sigaddset(&set, SIGBUS);
|
||||
pthread_sigmask(SIG_BLOCK, &set, NULL);
|
||||
diff --git a/os-posix.c b/os-posix.c
|
||||
index cb2a7f7..ae5b02c 100644
|
||||
--- a/os-posix.c
|
||||
+++ b/os-posix.c
|
||||
@@ -334,6 +334,9 @@ bool is_daemonized(void)
|
||||
|
||||
int os_mlock(void)
|
||||
{
|
||||
+#ifdef __HAIKU__
|
||||
+ return ENOSYS;
|
||||
+#else
|
||||
int ret = 0;
|
||||
|
||||
ret = mlockall(MCL_CURRENT | MCL_FUTURE);
|
||||
@@ -342,4 +345,5 @@ int os_mlock(void)
|
||||
}
|
||||
|
||||
return ret;
|
||||
+#endif
|
||||
}
|
||||
diff --git a/target-xtensa/xtensa-semi.c b/target-xtensa/xtensa-semi.c
|
||||
index 424253d..20a6a86 100644
|
||||
--- a/target-xtensa/xtensa-semi.c
|
||||
+++ b/target-xtensa/xtensa-semi.c
|
||||
@@ -95,59 +95,53 @@ enum {
|
||||
|
||||
static uint32_t errno_h2g(int host_errno)
|
||||
{
|
||||
- static const uint32_t guest_errno[] = {
|
||||
- [EPERM] = TARGET_EPERM,
|
||||
- [ENOENT] = TARGET_ENOENT,
|
||||
- [ESRCH] = TARGET_ESRCH,
|
||||
- [EINTR] = TARGET_EINTR,
|
||||
- [EIO] = TARGET_EIO,
|
||||
- [ENXIO] = TARGET_ENXIO,
|
||||
- [E2BIG] = TARGET_E2BIG,
|
||||
- [ENOEXEC] = TARGET_ENOEXEC,
|
||||
- [EBADF] = TARGET_EBADF,
|
||||
- [ECHILD] = TARGET_ECHILD,
|
||||
- [EAGAIN] = TARGET_EAGAIN,
|
||||
- [ENOMEM] = TARGET_ENOMEM,
|
||||
- [EACCES] = TARGET_EACCES,
|
||||
- [EFAULT] = TARGET_EFAULT,
|
||||
+ switch (host_errno) {
|
||||
+ case 0: return 0;
|
||||
+ case EPERM: return TARGET_EPERM;
|
||||
+ case ENOENT: return TARGET_ENOENT;
|
||||
+ case ESRCH: return TARGET_ESRCH;
|
||||
+ case EINTR: return TARGET_EINTR;
|
||||
+ case EIO: return TARGET_EIO;
|
||||
+ case ENXIO: return TARGET_ENXIO;
|
||||
+ case E2BIG: return TARGET_E2BIG;
|
||||
+ case ENOEXEC: return TARGET_ENOEXEC;
|
||||
+ case EBADF: return TARGET_EBADF;
|
||||
+ case ECHILD: return TARGET_ECHILD;
|
||||
+ case EAGAIN: return TARGET_EAGAIN;
|
||||
+ case ENOMEM: return TARGET_ENOMEM;
|
||||
+ case EACCES: return TARGET_EACCES;
|
||||
+ case EFAULT: return TARGET_EFAULT;
|
||||
#ifdef ENOTBLK
|
||||
- [ENOTBLK] = TARGET_ENOTBLK,
|
||||
+ case ENOTBLK: return TARGET_ENOTBLK;
|
||||
#endif
|
||||
- [EBUSY] = TARGET_EBUSY,
|
||||
- [EEXIST] = TARGET_EEXIST,
|
||||
- [EXDEV] = TARGET_EXDEV,
|
||||
- [ENODEV] = TARGET_ENODEV,
|
||||
- [ENOTDIR] = TARGET_ENOTDIR,
|
||||
- [EISDIR] = TARGET_EISDIR,
|
||||
- [EINVAL] = TARGET_EINVAL,
|
||||
- [ENFILE] = TARGET_ENFILE,
|
||||
- [EMFILE] = TARGET_EMFILE,
|
||||
- [ENOTTY] = TARGET_ENOTTY,
|
||||
+ case EBUSY: return TARGET_EBUSY;
|
||||
+ case EEXIST: return TARGET_EEXIST;
|
||||
+ case EXDEV: return TARGET_EXDEV;
|
||||
+ case ENODEV: return TARGET_ENODEV;
|
||||
+ case ENOTDIR: return TARGET_ENOTDIR;
|
||||
+ case EISDIR: return TARGET_EISDIR;
|
||||
+ case EINVAL: return TARGET_EINVAL;
|
||||
+ case ENFILE: return TARGET_ENFILE;
|
||||
+ case EMFILE: return TARGET_EMFILE;
|
||||
+ case ENOTTY: return TARGET_ENOTTY;
|
||||
#ifdef ETXTBSY
|
||||
- [ETXTBSY] = TARGET_ETXTBSY,
|
||||
+ case ETXTBSY: return TARGET_ETXTBSY;
|
||||
#endif
|
||||
- [EFBIG] = TARGET_EFBIG,
|
||||
- [ENOSPC] = TARGET_ENOSPC,
|
||||
- [ESPIPE] = TARGET_ESPIPE,
|
||||
- [EROFS] = TARGET_EROFS,
|
||||
- [EMLINK] = TARGET_EMLINK,
|
||||
- [EPIPE] = TARGET_EPIPE,
|
||||
- [EDOM] = TARGET_EDOM,
|
||||
- [ERANGE] = TARGET_ERANGE,
|
||||
- [ENOSYS] = TARGET_ENOSYS,
|
||||
+ case EFBIG: return TARGET_EFBIG;
|
||||
+ case ENOSPC: return TARGET_ENOSPC;
|
||||
+ case ESPIPE: return TARGET_ESPIPE;
|
||||
+ case EROFS: return TARGET_EROFS;
|
||||
+ case EMLINK: return TARGET_EMLINK;
|
||||
+ case EPIPE: return TARGET_EPIPE;
|
||||
+ case EDOM: return TARGET_EDOM;
|
||||
+ case ERANGE: return TARGET_ERANGE;
|
||||
+ case ENOSYS: return TARGET_ENOSYS;
|
||||
#ifdef ELOOP
|
||||
- [ELOOP] = TARGET_ELOOP,
|
||||
+ case ELOOP: return TARGET_ELOOP;
|
||||
#endif
|
||||
};
|
||||
|
||||
- if (host_errno == 0) {
|
||||
- return 0;
|
||||
- } else if (host_errno > 0 && host_errno < ARRAY_SIZE(guest_errno) &&
|
||||
- guest_errno[host_errno]) {
|
||||
- return guest_errno[host_errno];
|
||||
- } else {
|
||||
- return TARGET_EINVAL;
|
||||
- }
|
||||
+ return TARGET_EINVAL;
|
||||
}
|
||||
|
||||
void HELPER(simcall)(CPUXtensaState *env)
|
||||
diff --git a/util/compatfd.c b/util/compatfd.c
|
||||
index 341ada6..e50416d 100644
|
||||
--- a/util/compatfd.c
|
||||
+++ b/util/compatfd.c
|
||||
@@ -17,7 +17,9 @@
|
||||
#include "qemu/compatfd.h"
|
||||
#include "qemu/thread.h"
|
||||
|
||||
+#ifndef __HAIKU__
|
||||
#include <sys/syscall.h>
|
||||
+#endif
|
||||
|
||||
struct sigfd_compat_info
|
||||
{
|
||||
diff --git a/util/qemu-openpty.c b/util/qemu-openpty.c
|
||||
index 4febfe9..5579646 100644
|
||||
--- a/util/qemu-openpty.c
|
||||
+++ b/util/qemu-openpty.c
|
||||
@@ -35,7 +35,9 @@
|
||||
#include "config-host.h"
|
||||
#include "qemu-common.h"
|
||||
|
||||
-#if defined(__GLIBC__)
|
||||
+#if defined(__HAIKU__)
|
||||
+# include <termios.h>
|
||||
+#elif defined(__GLIBC__)
|
||||
# include <pty.h>
|
||||
#elif defined CONFIG_BSD
|
||||
# include <termios.h>
|
||||
--
|
||||
1.8.3.4
|
||||
|
||||
@@ -1,238 +0,0 @@
|
||||
From 0548c8431c112193a6fcb7dbac2544705235134d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
|
||||
Date: Sun, 20 Nov 2016 14:04:51 +0100
|
||||
Subject: Haiku patches
|
||||
|
||||
|
||||
diff --git a/os-posix.c b/os-posix.c
|
||||
index 92e9d85..8047238 100644
|
||||
--- a/os-posix.c
|
||||
+++ b/os-posix.c
|
||||
@@ -42,6 +42,15 @@
|
||||
#include <sys/prctl.h>
|
||||
#endif
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+#ifndef MCL_CURRENT
|
||||
+#define MCL_CURRENT 8192
|
||||
+#endif
|
||||
+#ifndef MCL_FUTURE
|
||||
+#define MCL_FUTURE 16384
|
||||
+#endif
|
||||
+#endif
|
||||
+
|
||||
static struct passwd *user_pwd;
|
||||
static const char *chroot_dir;
|
||||
static int daemonize;
|
||||
@@ -328,11 +337,12 @@ bool is_daemonized(void)
|
||||
int os_mlock(void)
|
||||
{
|
||||
int ret = 0;
|
||||
-
|
||||
+#ifndef __HAIKU__
|
||||
ret = mlockall(MCL_CURRENT | MCL_FUTURE);
|
||||
if (ret < 0) {
|
||||
perror("mlockall");
|
||||
}
|
||||
+#endif
|
||||
|
||||
return ret;
|
||||
}
|
||||
diff --git a/target/mips/mips-semi.c b/target/mips/mips-semi.c
|
||||
index a7aefba..16c2336 100644
|
||||
--- a/target/mips/mips-semi.c
|
||||
+++ b/target/mips/mips-semi.c
|
||||
@@ -75,6 +75,7 @@ enum UHIOpenFlags {
|
||||
|
||||
/* Errno values taken from asm-mips/errno.h */
|
||||
static uint16_t host_to_mips_errno[] = {
|
||||
+#ifndef __HAIKU__
|
||||
[ENAMETOOLONG] = 78,
|
||||
#ifdef EOVERFLOW
|
||||
[EOVERFLOW] = 79,
|
||||
@@ -82,6 +83,9 @@ static uint16_t host_to_mips_errno[] = {
|
||||
#ifdef ELOOP
|
||||
[ELOOP] = 90,
|
||||
#endif
|
||||
+#else
|
||||
+NULL
|
||||
+#endif
|
||||
};
|
||||
|
||||
static int errno_mips(int err)
|
||||
diff --git a/target/xtensa/xtensa-semi.c b/target/xtensa/xtensa-semi.c
|
||||
index 7aa1d13..de7b7f5 100644
|
||||
--- a/target/xtensa/xtensa-semi.c
|
||||
+++ b/target/xtensa/xtensa-semi.c
|
||||
@@ -98,59 +98,53 @@ enum {
|
||||
|
||||
static uint32_t errno_h2g(int host_errno)
|
||||
{
|
||||
- static const uint32_t guest_errno[] = {
|
||||
- [EPERM] = TARGET_EPERM,
|
||||
- [ENOENT] = TARGET_ENOENT,
|
||||
- [ESRCH] = TARGET_ESRCH,
|
||||
- [EINTR] = TARGET_EINTR,
|
||||
- [EIO] = TARGET_EIO,
|
||||
- [ENXIO] = TARGET_ENXIO,
|
||||
- [E2BIG] = TARGET_E2BIG,
|
||||
- [ENOEXEC] = TARGET_ENOEXEC,
|
||||
- [EBADF] = TARGET_EBADF,
|
||||
- [ECHILD] = TARGET_ECHILD,
|
||||
- [EAGAIN] = TARGET_EAGAIN,
|
||||
- [ENOMEM] = TARGET_ENOMEM,
|
||||
- [EACCES] = TARGET_EACCES,
|
||||
- [EFAULT] = TARGET_EFAULT,
|
||||
+ switch (host_errno) {
|
||||
+ case 0: return 0;
|
||||
+ case EPERM: return TARGET_EPERM;
|
||||
+ case ENOENT: return TARGET_ENOENT;
|
||||
+ case ESRCH: return TARGET_ESRCH;
|
||||
+ case EINTR: return TARGET_EINTR;
|
||||
+ case EIO: return TARGET_EIO;
|
||||
+ case ENXIO: return TARGET_ENXIO;
|
||||
+ case E2BIG: return TARGET_E2BIG;
|
||||
+ case ENOEXEC: return TARGET_ENOEXEC;
|
||||
+ case EBADF: return TARGET_EBADF;
|
||||
+ case ECHILD: return TARGET_ECHILD;
|
||||
+ case EAGAIN: return TARGET_EAGAIN;
|
||||
+ case ENOMEM: return TARGET_ENOMEM;
|
||||
+ case EACCES: return TARGET_EACCES;
|
||||
+ case EFAULT: return TARGET_EFAULT;
|
||||
#ifdef ENOTBLK
|
||||
- [ENOTBLK] = TARGET_ENOTBLK,
|
||||
+ case ENOTBLK: return TARGET_ENOTBLK;
|
||||
#endif
|
||||
- [EBUSY] = TARGET_EBUSY,
|
||||
- [EEXIST] = TARGET_EEXIST,
|
||||
- [EXDEV] = TARGET_EXDEV,
|
||||
- [ENODEV] = TARGET_ENODEV,
|
||||
- [ENOTDIR] = TARGET_ENOTDIR,
|
||||
- [EISDIR] = TARGET_EISDIR,
|
||||
- [EINVAL] = TARGET_EINVAL,
|
||||
- [ENFILE] = TARGET_ENFILE,
|
||||
- [EMFILE] = TARGET_EMFILE,
|
||||
- [ENOTTY] = TARGET_ENOTTY,
|
||||
+ case EBUSY: return TARGET_EBUSY;
|
||||
+ case EEXIST: return TARGET_EEXIST;
|
||||
+ case EXDEV: return TARGET_EXDEV;
|
||||
+ case ENODEV: return TARGET_ENODEV;
|
||||
+ case ENOTDIR: return TARGET_ENOTDIR;
|
||||
+ case EISDIR: return TARGET_EISDIR;
|
||||
+ case EINVAL: return TARGET_EINVAL;
|
||||
+ case ENFILE: return TARGET_ENFILE;
|
||||
+ case EMFILE: return TARGET_EMFILE;
|
||||
+ case ENOTTY: return TARGET_ENOTTY;
|
||||
#ifdef ETXTBSY
|
||||
- [ETXTBSY] = TARGET_ETXTBSY,
|
||||
+ case ETXTBSY: return TARGET_ETXTBSY;
|
||||
#endif
|
||||
- [EFBIG] = TARGET_EFBIG,
|
||||
- [ENOSPC] = TARGET_ENOSPC,
|
||||
- [ESPIPE] = TARGET_ESPIPE,
|
||||
- [EROFS] = TARGET_EROFS,
|
||||
- [EMLINK] = TARGET_EMLINK,
|
||||
- [EPIPE] = TARGET_EPIPE,
|
||||
- [EDOM] = TARGET_EDOM,
|
||||
- [ERANGE] = TARGET_ERANGE,
|
||||
- [ENOSYS] = TARGET_ENOSYS,
|
||||
+ case EFBIG: return TARGET_EFBIG;
|
||||
+ case ENOSPC: return TARGET_ENOSPC;
|
||||
+ case ESPIPE: return TARGET_ESPIPE;
|
||||
+ case EROFS: return TARGET_EROFS;
|
||||
+ case EMLINK: return TARGET_EMLINK;
|
||||
+ case EPIPE: return TARGET_EPIPE;
|
||||
+ case EDOM: return TARGET_EDOM;
|
||||
+ case ERANGE: return TARGET_ERANGE;
|
||||
+ case ENOSYS: return TARGET_ENOSYS;
|
||||
#ifdef ELOOP
|
||||
- [ELOOP] = TARGET_ELOOP,
|
||||
+ case ELOOP: return TARGET_ELOOP;
|
||||
#endif
|
||||
};
|
||||
|
||||
- if (host_errno == 0) {
|
||||
- return 0;
|
||||
- } else if (host_errno > 0 && host_errno < ARRAY_SIZE(guest_errno) &&
|
||||
- guest_errno[host_errno]) {
|
||||
- return guest_errno[host_errno];
|
||||
- } else {
|
||||
- return TARGET_EINVAL;
|
||||
- }
|
||||
+ return TARGET_EINVAL;
|
||||
}
|
||||
|
||||
void xtensa_sim_open_console(Chardev *chr)
|
||||
diff --git a/tests/Makefile.include b/tests/Makefile.include
|
||||
index 37c1bed..5879713 100644
|
||||
--- a/tests/Makefile.include
|
||||
+++ b/tests/Makefile.include
|
||||
@@ -806,7 +806,7 @@ tests/migration/initrd-stress.img: tests/migration/stress$(EXESUF)
|
||||
rmdir $(INITRD_WORK_DIR)
|
||||
|
||||
ifeq ($(CONFIG_POSIX),y)
|
||||
-LIBS += -lutil
|
||||
+LIBS +=
|
||||
endif
|
||||
|
||||
# QTest rules
|
||||
diff --git a/util/compatfd.c b/util/compatfd.c
|
||||
index 980bd33..31e01d6 100644
|
||||
--- a/util/compatfd.c
|
||||
+++ b/util/compatfd.c
|
||||
@@ -17,7 +17,9 @@
|
||||
#include "qemu-common.h"
|
||||
#include "qemu/thread.h"
|
||||
|
||||
+#ifndef __HAIKU__
|
||||
#include <sys/syscall.h>
|
||||
+#endif
|
||||
|
||||
struct sigfd_compat_info
|
||||
{
|
||||
diff --git a/util/main-loop.c b/util/main-loop.c
|
||||
index 2f48f41..e0350f6 100644
|
||||
--- a/util/main-loop.c
|
||||
+++ b/util/main-loop.c
|
||||
@@ -81,7 +81,9 @@ static int qemu_signal_init(void)
|
||||
*/
|
||||
sigemptyset(&set);
|
||||
sigaddset(&set, SIG_IPI);
|
||||
+#ifdef SIGIO
|
||||
sigaddset(&set, SIGIO);
|
||||
+#endif
|
||||
sigaddset(&set, SIGALRM);
|
||||
sigaddset(&set, SIGBUS);
|
||||
/* SIGINT cannot be handled via signalfd, so that ^C can be used
|
||||
diff --git a/util/oslib-posix.c b/util/oslib-posix.c
|
||||
index cacf0ef..813f7f9 100644
|
||||
--- a/util/oslib-posix.c
|
||||
+++ b/util/oslib-posix.c
|
||||
@@ -36,7 +36,9 @@
|
||||
#include "qapi/error.h"
|
||||
#include "qemu/sockets.h"
|
||||
#include <libgen.h>
|
||||
+#ifndef __HAIKU__
|
||||
#include <sys/signal.h>
|
||||
+#endif
|
||||
#include "qemu/cutils.h"
|
||||
|
||||
#ifdef CONFIG_LINUX
|
||||
diff --git a/util/qemu-openpty.c b/util/qemu-openpty.c
|
||||
index 2e8b43b..adcc732 100644
|
||||
--- a/util/qemu-openpty.c
|
||||
+++ b/util/qemu-openpty.c
|
||||
@@ -35,7 +35,9 @@
|
||||
#include "qemu/osdep.h"
|
||||
#include "qemu-common.h"
|
||||
|
||||
-#if defined(__GLIBC__)
|
||||
+#if defined(__HAIKU__)
|
||||
+# include <termios.h>
|
||||
+#elif defined(__GLIBC__)
|
||||
# include <pty.h>
|
||||
#elif defined CONFIG_BSD
|
||||
# include <termios.h>
|
||||
--
|
||||
2.13.1
|
||||
|
||||
@@ -1,276 +0,0 @@
|
||||
From bb78cb1ea77e985cc2fcc8dd2158c707b1717255 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
|
||||
Date: Sun, 20 Nov 2016 14:04:51 +0100
|
||||
Subject: Haiku patches
|
||||
|
||||
|
||||
diff --git a/os-posix.c b/os-posix.c
|
||||
index b9c2343..74c8418 100644
|
||||
--- a/os-posix.c
|
||||
+++ b/os-posix.c
|
||||
@@ -41,6 +41,15 @@
|
||||
#include <sys/prctl.h>
|
||||
#endif
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+#ifndef MCL_CURRENT
|
||||
+#define MCL_CURRENT 8192
|
||||
+#endif
|
||||
+#ifndef MCL_FUTURE
|
||||
+#define MCL_FUTURE 16384
|
||||
+#endif
|
||||
+#endif
|
||||
+
|
||||
static struct passwd *user_pwd;
|
||||
static const char *chroot_dir;
|
||||
static int daemonize;
|
||||
@@ -327,11 +336,12 @@ bool is_daemonized(void)
|
||||
int os_mlock(void)
|
||||
{
|
||||
int ret = 0;
|
||||
-
|
||||
+#ifndef __HAIKU__
|
||||
ret = mlockall(MCL_CURRENT | MCL_FUTURE);
|
||||
if (ret < 0) {
|
||||
perror("mlockall");
|
||||
}
|
||||
+#endif
|
||||
|
||||
return ret;
|
||||
}
|
||||
diff --git a/target/mips/mips-semi.c b/target/mips/mips-semi.c
|
||||
index a7aefba..16c2336 100644
|
||||
--- a/target/mips/mips-semi.c
|
||||
+++ b/target/mips/mips-semi.c
|
||||
@@ -75,6 +75,7 @@ enum UHIOpenFlags {
|
||||
|
||||
/* Errno values taken from asm-mips/errno.h */
|
||||
static uint16_t host_to_mips_errno[] = {
|
||||
+#ifndef __HAIKU__
|
||||
[ENAMETOOLONG] = 78,
|
||||
#ifdef EOVERFLOW
|
||||
[EOVERFLOW] = 79,
|
||||
@@ -82,6 +83,9 @@ static uint16_t host_to_mips_errno[] = {
|
||||
#ifdef ELOOP
|
||||
[ELOOP] = 90,
|
||||
#endif
|
||||
+#else
|
||||
+NULL
|
||||
+#endif
|
||||
};
|
||||
|
||||
static int errno_mips(int err)
|
||||
diff --git a/target/xtensa/xtensa-semi.c b/target/xtensa/xtensa-semi.c
|
||||
index 7aa1d13..de7b7f5 100644
|
||||
--- a/target/xtensa/xtensa-semi.c
|
||||
+++ b/target/xtensa/xtensa-semi.c
|
||||
@@ -98,59 +98,53 @@ enum {
|
||||
|
||||
static uint32_t errno_h2g(int host_errno)
|
||||
{
|
||||
- static const uint32_t guest_errno[] = {
|
||||
- [EPERM] = TARGET_EPERM,
|
||||
- [ENOENT] = TARGET_ENOENT,
|
||||
- [ESRCH] = TARGET_ESRCH,
|
||||
- [EINTR] = TARGET_EINTR,
|
||||
- [EIO] = TARGET_EIO,
|
||||
- [ENXIO] = TARGET_ENXIO,
|
||||
- [E2BIG] = TARGET_E2BIG,
|
||||
- [ENOEXEC] = TARGET_ENOEXEC,
|
||||
- [EBADF] = TARGET_EBADF,
|
||||
- [ECHILD] = TARGET_ECHILD,
|
||||
- [EAGAIN] = TARGET_EAGAIN,
|
||||
- [ENOMEM] = TARGET_ENOMEM,
|
||||
- [EACCES] = TARGET_EACCES,
|
||||
- [EFAULT] = TARGET_EFAULT,
|
||||
+ switch (host_errno) {
|
||||
+ case 0: return 0;
|
||||
+ case EPERM: return TARGET_EPERM;
|
||||
+ case ENOENT: return TARGET_ENOENT;
|
||||
+ case ESRCH: return TARGET_ESRCH;
|
||||
+ case EINTR: return TARGET_EINTR;
|
||||
+ case EIO: return TARGET_EIO;
|
||||
+ case ENXIO: return TARGET_ENXIO;
|
||||
+ case E2BIG: return TARGET_E2BIG;
|
||||
+ case ENOEXEC: return TARGET_ENOEXEC;
|
||||
+ case EBADF: return TARGET_EBADF;
|
||||
+ case ECHILD: return TARGET_ECHILD;
|
||||
+ case EAGAIN: return TARGET_EAGAIN;
|
||||
+ case ENOMEM: return TARGET_ENOMEM;
|
||||
+ case EACCES: return TARGET_EACCES;
|
||||
+ case EFAULT: return TARGET_EFAULT;
|
||||
#ifdef ENOTBLK
|
||||
- [ENOTBLK] = TARGET_ENOTBLK,
|
||||
+ case ENOTBLK: return TARGET_ENOTBLK;
|
||||
#endif
|
||||
- [EBUSY] = TARGET_EBUSY,
|
||||
- [EEXIST] = TARGET_EEXIST,
|
||||
- [EXDEV] = TARGET_EXDEV,
|
||||
- [ENODEV] = TARGET_ENODEV,
|
||||
- [ENOTDIR] = TARGET_ENOTDIR,
|
||||
- [EISDIR] = TARGET_EISDIR,
|
||||
- [EINVAL] = TARGET_EINVAL,
|
||||
- [ENFILE] = TARGET_ENFILE,
|
||||
- [EMFILE] = TARGET_EMFILE,
|
||||
- [ENOTTY] = TARGET_ENOTTY,
|
||||
+ case EBUSY: return TARGET_EBUSY;
|
||||
+ case EEXIST: return TARGET_EEXIST;
|
||||
+ case EXDEV: return TARGET_EXDEV;
|
||||
+ case ENODEV: return TARGET_ENODEV;
|
||||
+ case ENOTDIR: return TARGET_ENOTDIR;
|
||||
+ case EISDIR: return TARGET_EISDIR;
|
||||
+ case EINVAL: return TARGET_EINVAL;
|
||||
+ case ENFILE: return TARGET_ENFILE;
|
||||
+ case EMFILE: return TARGET_EMFILE;
|
||||
+ case ENOTTY: return TARGET_ENOTTY;
|
||||
#ifdef ETXTBSY
|
||||
- [ETXTBSY] = TARGET_ETXTBSY,
|
||||
+ case ETXTBSY: return TARGET_ETXTBSY;
|
||||
#endif
|
||||
- [EFBIG] = TARGET_EFBIG,
|
||||
- [ENOSPC] = TARGET_ENOSPC,
|
||||
- [ESPIPE] = TARGET_ESPIPE,
|
||||
- [EROFS] = TARGET_EROFS,
|
||||
- [EMLINK] = TARGET_EMLINK,
|
||||
- [EPIPE] = TARGET_EPIPE,
|
||||
- [EDOM] = TARGET_EDOM,
|
||||
- [ERANGE] = TARGET_ERANGE,
|
||||
- [ENOSYS] = TARGET_ENOSYS,
|
||||
+ case EFBIG: return TARGET_EFBIG;
|
||||
+ case ENOSPC: return TARGET_ENOSPC;
|
||||
+ case ESPIPE: return TARGET_ESPIPE;
|
||||
+ case EROFS: return TARGET_EROFS;
|
||||
+ case EMLINK: return TARGET_EMLINK;
|
||||
+ case EPIPE: return TARGET_EPIPE;
|
||||
+ case EDOM: return TARGET_EDOM;
|
||||
+ case ERANGE: return TARGET_ERANGE;
|
||||
+ case ENOSYS: return TARGET_ENOSYS;
|
||||
#ifdef ELOOP
|
||||
- [ELOOP] = TARGET_ELOOP,
|
||||
+ case ELOOP: return TARGET_ELOOP;
|
||||
#endif
|
||||
};
|
||||
|
||||
- if (host_errno == 0) {
|
||||
- return 0;
|
||||
- } else if (host_errno > 0 && host_errno < ARRAY_SIZE(guest_errno) &&
|
||||
- guest_errno[host_errno]) {
|
||||
- return guest_errno[host_errno];
|
||||
- } else {
|
||||
- return TARGET_EINVAL;
|
||||
- }
|
||||
+ return TARGET_EINVAL;
|
||||
}
|
||||
|
||||
void xtensa_sim_open_console(Chardev *chr)
|
||||
diff --git a/tests/Makefile.include b/tests/Makefile.include
|
||||
index c002352..a2f09be 100644
|
||||
--- a/tests/Makefile.include
|
||||
+++ b/tests/Makefile.include
|
||||
@@ -820,7 +820,7 @@ tests/migration/initrd-stress.img: tests/migration/stress$(EXESUF)
|
||||
rmdir $(INITRD_WORK_DIR)
|
||||
|
||||
ifeq ($(CONFIG_POSIX),y)
|
||||
-LIBS += -lutil
|
||||
+LIBS +=
|
||||
endif
|
||||
|
||||
# QTest rules
|
||||
diff --git a/util/compatfd.c b/util/compatfd.c
|
||||
index 980bd33..31e01d6 100644
|
||||
--- a/util/compatfd.c
|
||||
+++ b/util/compatfd.c
|
||||
@@ -17,7 +17,9 @@
|
||||
#include "qemu-common.h"
|
||||
#include "qemu/thread.h"
|
||||
|
||||
+#ifndef __HAIKU__
|
||||
#include <sys/syscall.h>
|
||||
+#endif
|
||||
|
||||
struct sigfd_compat_info
|
||||
{
|
||||
diff --git a/util/main-loop.c b/util/main-loop.c
|
||||
index 7558eb5..54832d9 100644
|
||||
--- a/util/main-loop.c
|
||||
+++ b/util/main-loop.c
|
||||
@@ -82,7 +82,9 @@ static int qemu_signal_init(void)
|
||||
*/
|
||||
sigemptyset(&set);
|
||||
sigaddset(&set, SIG_IPI);
|
||||
+#ifdef SIGIO
|
||||
sigaddset(&set, SIGIO);
|
||||
+#endif
|
||||
sigaddset(&set, SIGALRM);
|
||||
sigaddset(&set, SIGBUS);
|
||||
/* SIGINT cannot be handled via signalfd, so that ^C can be used
|
||||
diff --git a/util/oslib-posix.c b/util/oslib-posix.c
|
||||
index 77369c9..bc58448 100644
|
||||
--- a/util/oslib-posix.c
|
||||
+++ b/util/oslib-posix.c
|
||||
@@ -36,7 +36,9 @@
|
||||
#include "qapi/error.h"
|
||||
#include "qemu/sockets.h"
|
||||
#include <libgen.h>
|
||||
+#ifndef __HAIKU__
|
||||
#include <sys/signal.h>
|
||||
+#endif
|
||||
#include "qemu/cutils.h"
|
||||
|
||||
#ifdef CONFIG_LINUX
|
||||
diff --git a/util/qemu-openpty.c b/util/qemu-openpty.c
|
||||
index 2e8b43b..adcc732 100644
|
||||
--- a/util/qemu-openpty.c
|
||||
+++ b/util/qemu-openpty.c
|
||||
@@ -35,7 +35,9 @@
|
||||
#include "qemu/osdep.h"
|
||||
#include "qemu-common.h"
|
||||
|
||||
-#if defined(__GLIBC__)
|
||||
+#if defined(__HAIKU__)
|
||||
+# include <termios.h>
|
||||
+#elif defined(__GLIBC__)
|
||||
# include <pty.h>
|
||||
#elif defined CONFIG_BSD
|
||||
# include <termios.h>
|
||||
--
|
||||
2.16.1
|
||||
|
||||
|
||||
From 8c3f5e7ef24596ff85377eeb54df3538ede6dc3c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
|
||||
Date: Fri, 9 Feb 2018 18:00:24 +0100
|
||||
Subject: Haiku build fix
|
||||
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index 0c6e757..4d131f0 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -776,8 +776,8 @@ SunOS)
|
||||
;;
|
||||
Haiku)
|
||||
haiku="yes"
|
||||
- QEMU_CFLAGS="-DB_USE_POSITIVE_POSIX_ERRORS $QEMU_CFLAGS"
|
||||
- LIBS="-lposix_error_mapper -lnetwork $LIBS"
|
||||
+ QEMU_CFLAGS="-DB_USE_POSITIVE_POSIX_ERRORS -D_BSD_SOURCE $QEMU_CFLAGS"
|
||||
+ LIBS="-lposix_error_mapper -lnetwork -lbsd $LIBS"
|
||||
;;
|
||||
Linux)
|
||||
audio_drv_list="oss"
|
||||
diff --git a/include/qemu/bswap.h b/include/qemu/bswap.h
|
||||
index 09c78fd..71daedb 100644
|
||||
--- a/include/qemu/bswap.h
|
||||
+++ b/include/qemu/bswap.h
|
||||
@@ -8,6 +8,8 @@
|
||||
# include <machine/bswap.h>
|
||||
#elif defined(__FreeBSD__)
|
||||
# include <sys/endian.h>
|
||||
+#elif defined(__HAIKU__)
|
||||
+# include <endian.h>
|
||||
#elif defined(CONFIG_BYTESWAP_H)
|
||||
# include <byteswap.h>
|
||||
|
||||
--
|
||||
2.16.1
|
||||
|
||||
@@ -1,248 +0,0 @@
|
||||
From 3f9885e579adb971b7d7c3a0512c420cf8eadc69 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
|
||||
Date: Sun, 20 Nov 2016 14:04:51 +0100
|
||||
Subject: [PATCH] Haiku patches
|
||||
|
||||
---
|
||||
main-loop.c | 2 ++
|
||||
os-posix.c | 12 ++++++-
|
||||
target-mips/mips-semi.c | 4 +++
|
||||
target-xtensa/xtensa-semi.c | 84 +++++++++++++++++++++------------------------
|
||||
tests/Makefile.include | 2 +-
|
||||
util/compatfd.c | 2 ++
|
||||
util/oslib-posix.c | 2 ++
|
||||
util/qemu-openpty.c | 4 ++-
|
||||
8 files changed, 64 insertions(+), 48 deletions(-)
|
||||
|
||||
diff --git a/main-loop.c b/main-loop.c
|
||||
index 6a7f8d3..f84ad04 100644
|
||||
--- a/main-loop.c
|
||||
+++ b/main-loop.c
|
||||
@@ -83,7 +83,9 @@ static int qemu_signal_init(void)
|
||||
*/
|
||||
sigemptyset(&set);
|
||||
sigaddset(&set, SIG_IPI);
|
||||
+#ifdef SIGIO
|
||||
sigaddset(&set, SIGIO);
|
||||
+#endif
|
||||
sigaddset(&set, SIGALRM);
|
||||
sigaddset(&set, SIGBUS);
|
||||
/* SIGINT cannot be handled via signalfd, so that ^C can be used
|
||||
diff --git a/os-posix.c b/os-posix.c
|
||||
index c6ddb7d..ffbc08e 100644
|
||||
--- a/os-posix.c
|
||||
+++ b/os-posix.c
|
||||
@@ -43,6 +43,15 @@
|
||||
#include <sys/prctl.h>
|
||||
#endif
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+#ifndef MCL_CURRENT
|
||||
+#define MCL_CURRENT 8192
|
||||
+#endif
|
||||
+#ifndef MCL_FUTURE
|
||||
+#define MCL_FUTURE 16384
|
||||
+#endif
|
||||
+#endif
|
||||
+
|
||||
static struct passwd *user_pwd;
|
||||
static const char *chroot_dir;
|
||||
static int daemonize;
|
||||
@@ -330,11 +339,12 @@ bool is_daemonized(void)
|
||||
int os_mlock(void)
|
||||
{
|
||||
int ret = 0;
|
||||
-
|
||||
+#ifndef __HAIKU__
|
||||
ret = mlockall(MCL_CURRENT | MCL_FUTURE);
|
||||
if (ret < 0) {
|
||||
perror("mlockall");
|
||||
}
|
||||
+#endif
|
||||
|
||||
return ret;
|
||||
}
|
||||
diff --git a/target-mips/mips-semi.c b/target-mips/mips-semi.c
|
||||
index a7aefba..16c2336 100644
|
||||
--- a/target-mips/mips-semi.c
|
||||
+++ b/target-mips/mips-semi.c
|
||||
@@ -75,6 +75,7 @@ enum UHIOpenFlags {
|
||||
|
||||
/* Errno values taken from asm-mips/errno.h */
|
||||
static uint16_t host_to_mips_errno[] = {
|
||||
+#ifndef __HAIKU__
|
||||
[ENAMETOOLONG] = 78,
|
||||
#ifdef EOVERFLOW
|
||||
[EOVERFLOW] = 79,
|
||||
@@ -82,6 +83,9 @@ static uint16_t host_to_mips_errno[] = {
|
||||
#ifdef ELOOP
|
||||
[ELOOP] = 90,
|
||||
#endif
|
||||
+#else
|
||||
+NULL
|
||||
+#endif
|
||||
};
|
||||
|
||||
static int errno_mips(int err)
|
||||
diff --git a/target-xtensa/xtensa-semi.c b/target-xtensa/xtensa-semi.c
|
||||
index 370e365..74bd60e 100644
|
||||
--- a/target-xtensa/xtensa-semi.c
|
||||
+++ b/target-xtensa/xtensa-semi.c
|
||||
@@ -92,59 +92,53 @@ enum {
|
||||
|
||||
static uint32_t errno_h2g(int host_errno)
|
||||
{
|
||||
- static const uint32_t guest_errno[] = {
|
||||
- [EPERM] = TARGET_EPERM,
|
||||
- [ENOENT] = TARGET_ENOENT,
|
||||
- [ESRCH] = TARGET_ESRCH,
|
||||
- [EINTR] = TARGET_EINTR,
|
||||
- [EIO] = TARGET_EIO,
|
||||
- [ENXIO] = TARGET_ENXIO,
|
||||
- [E2BIG] = TARGET_E2BIG,
|
||||
- [ENOEXEC] = TARGET_ENOEXEC,
|
||||
- [EBADF] = TARGET_EBADF,
|
||||
- [ECHILD] = TARGET_ECHILD,
|
||||
- [EAGAIN] = TARGET_EAGAIN,
|
||||
- [ENOMEM] = TARGET_ENOMEM,
|
||||
- [EACCES] = TARGET_EACCES,
|
||||
- [EFAULT] = TARGET_EFAULT,
|
||||
+ switch (host_errno) {
|
||||
+ case 0: return 0;
|
||||
+ case EPERM: return TARGET_EPERM;
|
||||
+ case ENOENT: return TARGET_ENOENT;
|
||||
+ case ESRCH: return TARGET_ESRCH;
|
||||
+ case EINTR: return TARGET_EINTR;
|
||||
+ case EIO: return TARGET_EIO;
|
||||
+ case ENXIO: return TARGET_ENXIO;
|
||||
+ case E2BIG: return TARGET_E2BIG;
|
||||
+ case ENOEXEC: return TARGET_ENOEXEC;
|
||||
+ case EBADF: return TARGET_EBADF;
|
||||
+ case ECHILD: return TARGET_ECHILD;
|
||||
+ case EAGAIN: return TARGET_EAGAIN;
|
||||
+ case ENOMEM: return TARGET_ENOMEM;
|
||||
+ case EACCES: return TARGET_EACCES;
|
||||
+ case EFAULT: return TARGET_EFAULT;
|
||||
#ifdef ENOTBLK
|
||||
- [ENOTBLK] = TARGET_ENOTBLK,
|
||||
+ case ENOTBLK: return TARGET_ENOTBLK;
|
||||
#endif
|
||||
- [EBUSY] = TARGET_EBUSY,
|
||||
- [EEXIST] = TARGET_EEXIST,
|
||||
- [EXDEV] = TARGET_EXDEV,
|
||||
- [ENODEV] = TARGET_ENODEV,
|
||||
- [ENOTDIR] = TARGET_ENOTDIR,
|
||||
- [EISDIR] = TARGET_EISDIR,
|
||||
- [EINVAL] = TARGET_EINVAL,
|
||||
- [ENFILE] = TARGET_ENFILE,
|
||||
- [EMFILE] = TARGET_EMFILE,
|
||||
- [ENOTTY] = TARGET_ENOTTY,
|
||||
+ case EBUSY: return TARGET_EBUSY;
|
||||
+ case EEXIST: return TARGET_EEXIST;
|
||||
+ case EXDEV: return TARGET_EXDEV;
|
||||
+ case ENODEV: return TARGET_ENODEV;
|
||||
+ case ENOTDIR: return TARGET_ENOTDIR;
|
||||
+ case EISDIR: return TARGET_EISDIR;
|
||||
+ case EINVAL: return TARGET_EINVAL;
|
||||
+ case ENFILE: return TARGET_ENFILE;
|
||||
+ case EMFILE: return TARGET_EMFILE;
|
||||
+ case ENOTTY: return TARGET_ENOTTY;
|
||||
#ifdef ETXTBSY
|
||||
- [ETXTBSY] = TARGET_ETXTBSY,
|
||||
+ case ETXTBSY: return TARGET_ETXTBSY;
|
||||
#endif
|
||||
- [EFBIG] = TARGET_EFBIG,
|
||||
- [ENOSPC] = TARGET_ENOSPC,
|
||||
- [ESPIPE] = TARGET_ESPIPE,
|
||||
- [EROFS] = TARGET_EROFS,
|
||||
- [EMLINK] = TARGET_EMLINK,
|
||||
- [EPIPE] = TARGET_EPIPE,
|
||||
- [EDOM] = TARGET_EDOM,
|
||||
- [ERANGE] = TARGET_ERANGE,
|
||||
- [ENOSYS] = TARGET_ENOSYS,
|
||||
+ case EFBIG: return TARGET_EFBIG;
|
||||
+ case ENOSPC: return TARGET_ENOSPC;
|
||||
+ case ESPIPE: return TARGET_ESPIPE;
|
||||
+ case EROFS: return TARGET_EROFS;
|
||||
+ case EMLINK: return TARGET_EMLINK;
|
||||
+ case EPIPE: return TARGET_EPIPE;
|
||||
+ case EDOM: return TARGET_EDOM;
|
||||
+ case ERANGE: return TARGET_ERANGE;
|
||||
+ case ENOSYS: return TARGET_ENOSYS;
|
||||
#ifdef ELOOP
|
||||
- [ELOOP] = TARGET_ELOOP,
|
||||
+ case ELOOP: return TARGET_ELOOP;
|
||||
#endif
|
||||
};
|
||||
|
||||
- if (host_errno == 0) {
|
||||
- return 0;
|
||||
- } else if (host_errno > 0 && host_errno < ARRAY_SIZE(guest_errno) &&
|
||||
- guest_errno[host_errno]) {
|
||||
- return guest_errno[host_errno];
|
||||
- } else {
|
||||
- return TARGET_EINVAL;
|
||||
- }
|
||||
+ return TARGET_EINVAL;
|
||||
}
|
||||
|
||||
void HELPER(simcall)(CPUXtensaState *env)
|
||||
diff --git a/tests/Makefile.include b/tests/Makefile.include
|
||||
index 14be491..0975898 100644
|
||||
--- a/tests/Makefile.include
|
||||
+++ b/tests/Makefile.include
|
||||
@@ -645,7 +645,7 @@ tests/migration/initrd-stress.img: tests/migration/stress$(EXESUF)
|
||||
rmdir $(INITRD_WORK_DIR)
|
||||
|
||||
ifeq ($(CONFIG_POSIX),y)
|
||||
-LIBS += -lutil
|
||||
+LIBS +=
|
||||
endif
|
||||
|
||||
# QTest rules
|
||||
diff --git a/util/compatfd.c b/util/compatfd.c
|
||||
index 9a43042..3ead6c5 100644
|
||||
--- a/util/compatfd.c
|
||||
+++ b/util/compatfd.c
|
||||
@@ -18,7 +18,9 @@
|
||||
#include "qemu/compatfd.h"
|
||||
#include "qemu/thread.h"
|
||||
|
||||
+#ifndef __HAIKU__
|
||||
#include <sys/syscall.h>
|
||||
+#endif
|
||||
|
||||
struct sigfd_compat_info
|
||||
{
|
||||
diff --git a/util/oslib-posix.c b/util/oslib-posix.c
|
||||
index f2d4e9e..303b6df 100644
|
||||
--- a/util/oslib-posix.c
|
||||
+++ b/util/oslib-posix.c
|
||||
@@ -37,7 +37,9 @@
|
||||
#include "qapi/error.h"
|
||||
#include "qemu/sockets.h"
|
||||
#include <libgen.h>
|
||||
+#ifndef __HAIKU__
|
||||
#include <sys/signal.h>
|
||||
+#endif
|
||||
#include "qemu/cutils.h"
|
||||
|
||||
#ifdef CONFIG_LINUX
|
||||
diff --git a/util/qemu-openpty.c b/util/qemu-openpty.c
|
||||
index 2e8b43b..adcc732 100644
|
||||
--- a/util/qemu-openpty.c
|
||||
+++ b/util/qemu-openpty.c
|
||||
@@ -35,7 +35,9 @@
|
||||
#include "qemu/osdep.h"
|
||||
#include "qemu-common.h"
|
||||
|
||||
-#if defined(__GLIBC__)
|
||||
+#if defined(__HAIKU__)
|
||||
+# include <termios.h>
|
||||
+#elif defined(__GLIBC__)
|
||||
# include <pty.h>
|
||||
#elif defined CONFIG_BSD
|
||||
# include <termios.h>
|
||||
--
|
||||
2.10.2
|
||||
|
||||
@@ -1,248 +0,0 @@
|
||||
From 3f9885e579adb971b7d7c3a0512c420cf8eadc69 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
|
||||
Date: Sun, 20 Nov 2016 14:04:51 +0100
|
||||
Subject: [PATCH] Haiku patches
|
||||
|
||||
---
|
||||
main-loop.c | 2 ++
|
||||
os-posix.c | 12 ++++++-
|
||||
target-mips/mips-semi.c | 4 +++
|
||||
target-xtensa/xtensa-semi.c | 84 +++++++++++++++++++++------------------------
|
||||
tests/Makefile.include | 2 +-
|
||||
util/compatfd.c | 2 ++
|
||||
util/oslib-posix.c | 2 ++
|
||||
util/qemu-openpty.c | 4 ++-
|
||||
8 files changed, 64 insertions(+), 48 deletions(-)
|
||||
|
||||
diff --git a/main-loop.c b/main-loop.c
|
||||
index 6a7f8d3..f84ad04 100644
|
||||
--- a/main-loop.c
|
||||
+++ b/main-loop.c
|
||||
@@ -83,7 +83,9 @@ static int qemu_signal_init(void)
|
||||
*/
|
||||
sigemptyset(&set);
|
||||
sigaddset(&set, SIG_IPI);
|
||||
+#ifdef SIGIO
|
||||
sigaddset(&set, SIGIO);
|
||||
+#endif
|
||||
sigaddset(&set, SIGALRM);
|
||||
sigaddset(&set, SIGBUS);
|
||||
/* SIGINT cannot be handled via signalfd, so that ^C can be used
|
||||
diff --git a/os-posix.c b/os-posix.c
|
||||
index c6ddb7d..ffbc08e 100644
|
||||
--- a/os-posix.c
|
||||
+++ b/os-posix.c
|
||||
@@ -43,6 +43,15 @@
|
||||
#include <sys/prctl.h>
|
||||
#endif
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+#ifndef MCL_CURRENT
|
||||
+#define MCL_CURRENT 8192
|
||||
+#endif
|
||||
+#ifndef MCL_FUTURE
|
||||
+#define MCL_FUTURE 16384
|
||||
+#endif
|
||||
+#endif
|
||||
+
|
||||
static struct passwd *user_pwd;
|
||||
static const char *chroot_dir;
|
||||
static int daemonize;
|
||||
@@ -330,11 +339,12 @@ bool is_daemonized(void)
|
||||
int os_mlock(void)
|
||||
{
|
||||
int ret = 0;
|
||||
-
|
||||
+#ifndef __HAIKU__
|
||||
ret = mlockall(MCL_CURRENT | MCL_FUTURE);
|
||||
if (ret < 0) {
|
||||
perror("mlockall");
|
||||
}
|
||||
+#endif
|
||||
|
||||
return ret;
|
||||
}
|
||||
diff --git a/target-mips/mips-semi.c b/target-mips/mips-semi.c
|
||||
index a7aefba..16c2336 100644
|
||||
--- a/target-mips/mips-semi.c
|
||||
+++ b/target-mips/mips-semi.c
|
||||
@@ -75,6 +75,7 @@ enum UHIOpenFlags {
|
||||
|
||||
/* Errno values taken from asm-mips/errno.h */
|
||||
static uint16_t host_to_mips_errno[] = {
|
||||
+#ifndef __HAIKU__
|
||||
[ENAMETOOLONG] = 78,
|
||||
#ifdef EOVERFLOW
|
||||
[EOVERFLOW] = 79,
|
||||
@@ -82,6 +83,9 @@ static uint16_t host_to_mips_errno[] = {
|
||||
#ifdef ELOOP
|
||||
[ELOOP] = 90,
|
||||
#endif
|
||||
+#else
|
||||
+NULL
|
||||
+#endif
|
||||
};
|
||||
|
||||
static int errno_mips(int err)
|
||||
diff --git a/target-xtensa/xtensa-semi.c b/target-xtensa/xtensa-semi.c
|
||||
index 370e365..74bd60e 100644
|
||||
--- a/target-xtensa/xtensa-semi.c
|
||||
+++ b/target-xtensa/xtensa-semi.c
|
||||
@@ -92,59 +92,53 @@ enum {
|
||||
|
||||
static uint32_t errno_h2g(int host_errno)
|
||||
{
|
||||
- static const uint32_t guest_errno[] = {
|
||||
- [EPERM] = TARGET_EPERM,
|
||||
- [ENOENT] = TARGET_ENOENT,
|
||||
- [ESRCH] = TARGET_ESRCH,
|
||||
- [EINTR] = TARGET_EINTR,
|
||||
- [EIO] = TARGET_EIO,
|
||||
- [ENXIO] = TARGET_ENXIO,
|
||||
- [E2BIG] = TARGET_E2BIG,
|
||||
- [ENOEXEC] = TARGET_ENOEXEC,
|
||||
- [EBADF] = TARGET_EBADF,
|
||||
- [ECHILD] = TARGET_ECHILD,
|
||||
- [EAGAIN] = TARGET_EAGAIN,
|
||||
- [ENOMEM] = TARGET_ENOMEM,
|
||||
- [EACCES] = TARGET_EACCES,
|
||||
- [EFAULT] = TARGET_EFAULT,
|
||||
+ switch (host_errno) {
|
||||
+ case 0: return 0;
|
||||
+ case EPERM: return TARGET_EPERM;
|
||||
+ case ENOENT: return TARGET_ENOENT;
|
||||
+ case ESRCH: return TARGET_ESRCH;
|
||||
+ case EINTR: return TARGET_EINTR;
|
||||
+ case EIO: return TARGET_EIO;
|
||||
+ case ENXIO: return TARGET_ENXIO;
|
||||
+ case E2BIG: return TARGET_E2BIG;
|
||||
+ case ENOEXEC: return TARGET_ENOEXEC;
|
||||
+ case EBADF: return TARGET_EBADF;
|
||||
+ case ECHILD: return TARGET_ECHILD;
|
||||
+ case EAGAIN: return TARGET_EAGAIN;
|
||||
+ case ENOMEM: return TARGET_ENOMEM;
|
||||
+ case EACCES: return TARGET_EACCES;
|
||||
+ case EFAULT: return TARGET_EFAULT;
|
||||
#ifdef ENOTBLK
|
||||
- [ENOTBLK] = TARGET_ENOTBLK,
|
||||
+ case ENOTBLK: return TARGET_ENOTBLK;
|
||||
#endif
|
||||
- [EBUSY] = TARGET_EBUSY,
|
||||
- [EEXIST] = TARGET_EEXIST,
|
||||
- [EXDEV] = TARGET_EXDEV,
|
||||
- [ENODEV] = TARGET_ENODEV,
|
||||
- [ENOTDIR] = TARGET_ENOTDIR,
|
||||
- [EISDIR] = TARGET_EISDIR,
|
||||
- [EINVAL] = TARGET_EINVAL,
|
||||
- [ENFILE] = TARGET_ENFILE,
|
||||
- [EMFILE] = TARGET_EMFILE,
|
||||
- [ENOTTY] = TARGET_ENOTTY,
|
||||
+ case EBUSY: return TARGET_EBUSY;
|
||||
+ case EEXIST: return TARGET_EEXIST;
|
||||
+ case EXDEV: return TARGET_EXDEV;
|
||||
+ case ENODEV: return TARGET_ENODEV;
|
||||
+ case ENOTDIR: return TARGET_ENOTDIR;
|
||||
+ case EISDIR: return TARGET_EISDIR;
|
||||
+ case EINVAL: return TARGET_EINVAL;
|
||||
+ case ENFILE: return TARGET_ENFILE;
|
||||
+ case EMFILE: return TARGET_EMFILE;
|
||||
+ case ENOTTY: return TARGET_ENOTTY;
|
||||
#ifdef ETXTBSY
|
||||
- [ETXTBSY] = TARGET_ETXTBSY,
|
||||
+ case ETXTBSY: return TARGET_ETXTBSY;
|
||||
#endif
|
||||
- [EFBIG] = TARGET_EFBIG,
|
||||
- [ENOSPC] = TARGET_ENOSPC,
|
||||
- [ESPIPE] = TARGET_ESPIPE,
|
||||
- [EROFS] = TARGET_EROFS,
|
||||
- [EMLINK] = TARGET_EMLINK,
|
||||
- [EPIPE] = TARGET_EPIPE,
|
||||
- [EDOM] = TARGET_EDOM,
|
||||
- [ERANGE] = TARGET_ERANGE,
|
||||
- [ENOSYS] = TARGET_ENOSYS,
|
||||
+ case EFBIG: return TARGET_EFBIG;
|
||||
+ case ENOSPC: return TARGET_ENOSPC;
|
||||
+ case ESPIPE: return TARGET_ESPIPE;
|
||||
+ case EROFS: return TARGET_EROFS;
|
||||
+ case EMLINK: return TARGET_EMLINK;
|
||||
+ case EPIPE: return TARGET_EPIPE;
|
||||
+ case EDOM: return TARGET_EDOM;
|
||||
+ case ERANGE: return TARGET_ERANGE;
|
||||
+ case ENOSYS: return TARGET_ENOSYS;
|
||||
#ifdef ELOOP
|
||||
- [ELOOP] = TARGET_ELOOP,
|
||||
+ case ELOOP: return TARGET_ELOOP;
|
||||
#endif
|
||||
};
|
||||
|
||||
- if (host_errno == 0) {
|
||||
- return 0;
|
||||
- } else if (host_errno > 0 && host_errno < ARRAY_SIZE(guest_errno) &&
|
||||
- guest_errno[host_errno]) {
|
||||
- return guest_errno[host_errno];
|
||||
- } else {
|
||||
- return TARGET_EINVAL;
|
||||
- }
|
||||
+ return TARGET_EINVAL;
|
||||
}
|
||||
|
||||
void HELPER(simcall)(CPUXtensaState *env)
|
||||
diff --git a/tests/Makefile.include b/tests/Makefile.include
|
||||
index 14be491..0975898 100644
|
||||
--- a/tests/Makefile.include
|
||||
+++ b/tests/Makefile.include
|
||||
@@ -645,7 +645,7 @@ tests/migration/initrd-stress.img: tests/migration/stress$(EXESUF)
|
||||
rmdir $(INITRD_WORK_DIR)
|
||||
|
||||
ifeq ($(CONFIG_POSIX),y)
|
||||
-LIBS += -lutil
|
||||
+LIBS +=
|
||||
endif
|
||||
|
||||
# QTest rules
|
||||
diff --git a/util/compatfd.c b/util/compatfd.c
|
||||
index 9a43042..3ead6c5 100644
|
||||
--- a/util/compatfd.c
|
||||
+++ b/util/compatfd.c
|
||||
@@ -18,7 +18,9 @@
|
||||
#include "qemu/compatfd.h"
|
||||
#include "qemu/thread.h"
|
||||
|
||||
+#ifndef __HAIKU__
|
||||
#include <sys/syscall.h>
|
||||
+#endif
|
||||
|
||||
struct sigfd_compat_info
|
||||
{
|
||||
diff --git a/util/oslib-posix.c b/util/oslib-posix.c
|
||||
index f2d4e9e..303b6df 100644
|
||||
--- a/util/oslib-posix.c
|
||||
+++ b/util/oslib-posix.c
|
||||
@@ -37,7 +37,9 @@
|
||||
#include "qapi/error.h"
|
||||
#include "qemu/sockets.h"
|
||||
#include <libgen.h>
|
||||
+#ifndef __HAIKU__
|
||||
#include <sys/signal.h>
|
||||
+#endif
|
||||
#include "qemu/cutils.h"
|
||||
|
||||
#ifdef CONFIG_LINUX
|
||||
diff --git a/util/qemu-openpty.c b/util/qemu-openpty.c
|
||||
index 2e8b43b..adcc732 100644
|
||||
--- a/util/qemu-openpty.c
|
||||
+++ b/util/qemu-openpty.c
|
||||
@@ -35,7 +35,9 @@
|
||||
#include "qemu/osdep.h"
|
||||
#include "qemu-common.h"
|
||||
|
||||
-#if defined(__GLIBC__)
|
||||
+#if defined(__HAIKU__)
|
||||
+# include <termios.h>
|
||||
+#elif defined(__GLIBC__)
|
||||
# include <pty.h>
|
||||
#elif defined CONFIG_BSD
|
||||
# include <termios.h>
|
||||
--
|
||||
2.10.2
|
||||
|
||||
@@ -1,238 +0,0 @@
|
||||
From 5fcd78684ebda7ceef776b141ae5a91093ad810c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
|
||||
Date: Sun, 20 Nov 2016 14:04:51 +0100
|
||||
Subject: Haiku patches
|
||||
|
||||
|
||||
diff --git a/os-posix.c b/os-posix.c
|
||||
index c6ddb7d..ffbc08e 100644
|
||||
--- a/os-posix.c
|
||||
+++ b/os-posix.c
|
||||
@@ -43,6 +43,15 @@
|
||||
#include <sys/prctl.h>
|
||||
#endif
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+#ifndef MCL_CURRENT
|
||||
+#define MCL_CURRENT 8192
|
||||
+#endif
|
||||
+#ifndef MCL_FUTURE
|
||||
+#define MCL_FUTURE 16384
|
||||
+#endif
|
||||
+#endif
|
||||
+
|
||||
static struct passwd *user_pwd;
|
||||
static const char *chroot_dir;
|
||||
static int daemonize;
|
||||
@@ -330,11 +339,12 @@ bool is_daemonized(void)
|
||||
int os_mlock(void)
|
||||
{
|
||||
int ret = 0;
|
||||
-
|
||||
+#ifndef __HAIKU__
|
||||
ret = mlockall(MCL_CURRENT | MCL_FUTURE);
|
||||
if (ret < 0) {
|
||||
perror("mlockall");
|
||||
}
|
||||
+#endif
|
||||
|
||||
return ret;
|
||||
}
|
||||
diff --git a/target/mips/mips-semi.c b/target/mips/mips-semi.c
|
||||
index a7aefba..16c2336 100644
|
||||
--- a/target/mips/mips-semi.c
|
||||
+++ b/target/mips/mips-semi.c
|
||||
@@ -75,6 +75,7 @@ enum UHIOpenFlags {
|
||||
|
||||
/* Errno values taken from asm-mips/errno.h */
|
||||
static uint16_t host_to_mips_errno[] = {
|
||||
+#ifndef __HAIKU__
|
||||
[ENAMETOOLONG] = 78,
|
||||
#ifdef EOVERFLOW
|
||||
[EOVERFLOW] = 79,
|
||||
@@ -82,6 +83,9 @@ static uint16_t host_to_mips_errno[] = {
|
||||
#ifdef ELOOP
|
||||
[ELOOP] = 90,
|
||||
#endif
|
||||
+#else
|
||||
+NULL
|
||||
+#endif
|
||||
};
|
||||
|
||||
static int errno_mips(int err)
|
||||
diff --git a/target/xtensa/xtensa-semi.c b/target/xtensa/xtensa-semi.c
|
||||
index a888a9d..32ba32d 100644
|
||||
--- a/target/xtensa/xtensa-semi.c
|
||||
+++ b/target/xtensa/xtensa-semi.c
|
||||
@@ -93,59 +93,53 @@ enum {
|
||||
|
||||
static uint32_t errno_h2g(int host_errno)
|
||||
{
|
||||
- static const uint32_t guest_errno[] = {
|
||||
- [EPERM] = TARGET_EPERM,
|
||||
- [ENOENT] = TARGET_ENOENT,
|
||||
- [ESRCH] = TARGET_ESRCH,
|
||||
- [EINTR] = TARGET_EINTR,
|
||||
- [EIO] = TARGET_EIO,
|
||||
- [ENXIO] = TARGET_ENXIO,
|
||||
- [E2BIG] = TARGET_E2BIG,
|
||||
- [ENOEXEC] = TARGET_ENOEXEC,
|
||||
- [EBADF] = TARGET_EBADF,
|
||||
- [ECHILD] = TARGET_ECHILD,
|
||||
- [EAGAIN] = TARGET_EAGAIN,
|
||||
- [ENOMEM] = TARGET_ENOMEM,
|
||||
- [EACCES] = TARGET_EACCES,
|
||||
- [EFAULT] = TARGET_EFAULT,
|
||||
+ switch (host_errno) {
|
||||
+ case 0: return 0;
|
||||
+ case EPERM: return TARGET_EPERM;
|
||||
+ case ENOENT: return TARGET_ENOENT;
|
||||
+ case ESRCH: return TARGET_ESRCH;
|
||||
+ case EINTR: return TARGET_EINTR;
|
||||
+ case EIO: return TARGET_EIO;
|
||||
+ case ENXIO: return TARGET_ENXIO;
|
||||
+ case E2BIG: return TARGET_E2BIG;
|
||||
+ case ENOEXEC: return TARGET_ENOEXEC;
|
||||
+ case EBADF: return TARGET_EBADF;
|
||||
+ case ECHILD: return TARGET_ECHILD;
|
||||
+ case EAGAIN: return TARGET_EAGAIN;
|
||||
+ case ENOMEM: return TARGET_ENOMEM;
|
||||
+ case EACCES: return TARGET_EACCES;
|
||||
+ case EFAULT: return TARGET_EFAULT;
|
||||
#ifdef ENOTBLK
|
||||
- [ENOTBLK] = TARGET_ENOTBLK,
|
||||
+ case ENOTBLK: return TARGET_ENOTBLK;
|
||||
#endif
|
||||
- [EBUSY] = TARGET_EBUSY,
|
||||
- [EEXIST] = TARGET_EEXIST,
|
||||
- [EXDEV] = TARGET_EXDEV,
|
||||
- [ENODEV] = TARGET_ENODEV,
|
||||
- [ENOTDIR] = TARGET_ENOTDIR,
|
||||
- [EISDIR] = TARGET_EISDIR,
|
||||
- [EINVAL] = TARGET_EINVAL,
|
||||
- [ENFILE] = TARGET_ENFILE,
|
||||
- [EMFILE] = TARGET_EMFILE,
|
||||
- [ENOTTY] = TARGET_ENOTTY,
|
||||
+ case EBUSY: return TARGET_EBUSY;
|
||||
+ case EEXIST: return TARGET_EEXIST;
|
||||
+ case EXDEV: return TARGET_EXDEV;
|
||||
+ case ENODEV: return TARGET_ENODEV;
|
||||
+ case ENOTDIR: return TARGET_ENOTDIR;
|
||||
+ case EISDIR: return TARGET_EISDIR;
|
||||
+ case EINVAL: return TARGET_EINVAL;
|
||||
+ case ENFILE: return TARGET_ENFILE;
|
||||
+ case EMFILE: return TARGET_EMFILE;
|
||||
+ case ENOTTY: return TARGET_ENOTTY;
|
||||
#ifdef ETXTBSY
|
||||
- [ETXTBSY] = TARGET_ETXTBSY,
|
||||
+ case ETXTBSY: return TARGET_ETXTBSY;
|
||||
#endif
|
||||
- [EFBIG] = TARGET_EFBIG,
|
||||
- [ENOSPC] = TARGET_ENOSPC,
|
||||
- [ESPIPE] = TARGET_ESPIPE,
|
||||
- [EROFS] = TARGET_EROFS,
|
||||
- [EMLINK] = TARGET_EMLINK,
|
||||
- [EPIPE] = TARGET_EPIPE,
|
||||
- [EDOM] = TARGET_EDOM,
|
||||
- [ERANGE] = TARGET_ERANGE,
|
||||
- [ENOSYS] = TARGET_ENOSYS,
|
||||
+ case EFBIG: return TARGET_EFBIG;
|
||||
+ case ENOSPC: return TARGET_ENOSPC;
|
||||
+ case ESPIPE: return TARGET_ESPIPE;
|
||||
+ case EROFS: return TARGET_EROFS;
|
||||
+ case EMLINK: return TARGET_EMLINK;
|
||||
+ case EPIPE: return TARGET_EPIPE;
|
||||
+ case EDOM: return TARGET_EDOM;
|
||||
+ case ERANGE: return TARGET_ERANGE;
|
||||
+ case ENOSYS: return TARGET_ENOSYS;
|
||||
#ifdef ELOOP
|
||||
- [ELOOP] = TARGET_ELOOP,
|
||||
+ case ELOOP: return TARGET_ELOOP;
|
||||
#endif
|
||||
};
|
||||
|
||||
- if (host_errno == 0) {
|
||||
- return 0;
|
||||
- } else if (host_errno > 0 && host_errno < ARRAY_SIZE(guest_errno) &&
|
||||
- guest_errno[host_errno]) {
|
||||
- return guest_errno[host_errno];
|
||||
- } else {
|
||||
- return TARGET_EINVAL;
|
||||
- }
|
||||
+ return TARGET_EINVAL;
|
||||
}
|
||||
|
||||
void HELPER(simcall)(CPUXtensaState *env)
|
||||
diff --git a/tests/Makefile.include b/tests/Makefile.include
|
||||
index f3de81f..b1fbbf5 100644
|
||||
--- a/tests/Makefile.include
|
||||
+++ b/tests/Makefile.include
|
||||
@@ -765,7 +765,7 @@ tests/migration/initrd-stress.img: tests/migration/stress$(EXESUF)
|
||||
rmdir $(INITRD_WORK_DIR)
|
||||
|
||||
ifeq ($(CONFIG_POSIX),y)
|
||||
-LIBS += -lutil
|
||||
+LIBS +=
|
||||
endif
|
||||
|
||||
# QTest rules
|
||||
diff --git a/util/compatfd.c b/util/compatfd.c
|
||||
index 980bd33..31e01d6 100644
|
||||
--- a/util/compatfd.c
|
||||
+++ b/util/compatfd.c
|
||||
@@ -17,7 +17,9 @@
|
||||
#include "qemu-common.h"
|
||||
#include "qemu/thread.h"
|
||||
|
||||
+#ifndef __HAIKU__
|
||||
#include <sys/syscall.h>
|
||||
+#endif
|
||||
|
||||
struct sigfd_compat_info
|
||||
{
|
||||
diff --git a/util/main-loop.c b/util/main-loop.c
|
||||
index 19cad6b..e449a66 100644
|
||||
--- a/util/main-loop.c
|
||||
+++ b/util/main-loop.c
|
||||
@@ -81,7 +81,9 @@ static int qemu_signal_init(void)
|
||||
*/
|
||||
sigemptyset(&set);
|
||||
sigaddset(&set, SIG_IPI);
|
||||
+#ifdef SIGIO
|
||||
sigaddset(&set, SIGIO);
|
||||
+#endif
|
||||
sigaddset(&set, SIGALRM);
|
||||
sigaddset(&set, SIGBUS);
|
||||
/* SIGINT cannot be handled via signalfd, so that ^C can be used
|
||||
diff --git a/util/oslib-posix.c b/util/oslib-posix.c
|
||||
index 4d9189e..4c49e47 100644
|
||||
--- a/util/oslib-posix.c
|
||||
+++ b/util/oslib-posix.c
|
||||
@@ -36,7 +36,9 @@
|
||||
#include "qapi/error.h"
|
||||
#include "qemu/sockets.h"
|
||||
#include <libgen.h>
|
||||
+#ifndef __HAIKU__
|
||||
#include <sys/signal.h>
|
||||
+#endif
|
||||
#include "qemu/cutils.h"
|
||||
|
||||
#ifdef CONFIG_LINUX
|
||||
diff --git a/util/qemu-openpty.c b/util/qemu-openpty.c
|
||||
index 2e8b43b..adcc732 100644
|
||||
--- a/util/qemu-openpty.c
|
||||
+++ b/util/qemu-openpty.c
|
||||
@@ -35,7 +35,9 @@
|
||||
#include "qemu/osdep.h"
|
||||
#include "qemu-common.h"
|
||||
|
||||
-#if defined(__GLIBC__)
|
||||
+#if defined(__HAIKU__)
|
||||
+# include <termios.h>
|
||||
+#elif defined(__GLIBC__)
|
||||
# include <pty.h>
|
||||
#elif defined CONFIG_BSD
|
||||
# include <termios.h>
|
||||
--
|
||||
2.12.2
|
||||
|
||||
@@ -1,72 +0,0 @@
|
||||
SUMMARY="A generic and open source machine emulator and virtualizer"
|
||||
DESCRIPTION="QEMU is a generic and open source machine emulator and virtualizer.
|
||||
|
||||
QEMU can run OSes and programs made for one machine (e.g. an ARM board) on a \
|
||||
different machine (e.g. your own PC). By using dynamic translation, it \
|
||||
achieves very good performance."
|
||||
HOMEPAGE="http://wiki.qemu.org/"
|
||||
COPYRIGHT="2003-2008 Fabrice Bellard"
|
||||
LICENSE="GNU GPL v2"
|
||||
REVISION="1"
|
||||
SOURCE_URI="git+https://github.com/mmlr/qemu-haiku.git#1b50193d3b850f1e64b76e9a0ee7b007387ac99b"
|
||||
CHECKSUM_MD5="489f26907f807bde3c4579e4d11e1195"
|
||||
|
||||
ARCHITECTURES="x86"
|
||||
|
||||
PROVIDES="
|
||||
qemu = $portVersion
|
||||
cmd:qemu = $portVersion
|
||||
cmd:qemu_img = $portVersion
|
||||
cmd:qemu_io = $portVersion
|
||||
cmd:qemu_system_arm = $portVersion
|
||||
cmd:qemu_system_cris = $portVersion
|
||||
cmd:qemu_system_lm32 = $portVersion
|
||||
cmd:qemu_system_m68k = $portVersion
|
||||
cmd:qemu_system_microblaze = $portVersion
|
||||
cmd:qemu_system_microblazeel = $portVersion
|
||||
cmd:qemu_system_mips = $portVersion
|
||||
cmd:qemu_system_mips64 = $portVersion
|
||||
cmd:qemu_system_mips64el = $portVersion
|
||||
cmd:qemu_system_mipsel = $portVersion
|
||||
cmd:qemu_system_ppc = $portVersion
|
||||
cmd:qemu_system_ppc64 = $portVersion
|
||||
cmd:qemu_system_ppcemb = $portVersion
|
||||
cmd:qemu_system_s390x = $portVersion
|
||||
cmd:qemu_system_sh4 = $portVersion
|
||||
cmd:qemu_system_sh4eb = $portVersion
|
||||
cmd:qemu_system_sparc = $portVersion
|
||||
cmd:qemu_system_sparc64 = $portVersion
|
||||
cmd:qemu_system_x86_64 = $portVersion
|
||||
"
|
||||
REQUIRES="
|
||||
haiku
|
||||
lib:libz
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku_devel
|
||||
devel:libz
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:gcc
|
||||
cmd:ld
|
||||
cmd:make
|
||||
"
|
||||
|
||||
GLOBAL_WRITABLE_FILES="
|
||||
settings/etc/qemu/target-x86_64.conf keep-old
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
chmod +x configure
|
||||
./configure --prefix=$prefix --mandir=$manDir --datadir=$dataDir \
|
||||
--docdir=$docDir --bindir=$binDir --libdir=$libDir \
|
||||
--sysconfdir=$settingsDir/etc
|
||||
make $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
make install
|
||||
}
|
||||
@@ -1,92 +0,0 @@
|
||||
SUMMARY="A generic and open source machine emulator and virtualizer"
|
||||
DESCRIPTION="QEMU is a generic and open source machine emulator and virtualizer.
|
||||
|
||||
QEMU can run OSes and programs made for one machine (e.g. an ARM board) on a \
|
||||
different machine (e.g. your own PC). By using dynamic translation, it \
|
||||
achieves very good performance."
|
||||
HOMEPAGE="http://wiki.qemu.org/"
|
||||
COPYRIGHT="2003-2008 Fabrice Bellard"
|
||||
LICENSE="GNU GPL v2"
|
||||
REVISION="1"
|
||||
SOURCE_URI="git+https://github.com/mmlr/qemu-haiku.git#e57972be33c91222a580d47c68b135aa8fa7b4c3"
|
||||
PATCHES="qemu-1.7.0.patchset"
|
||||
|
||||
ARCHITECTURES="all !x86_gcc2"
|
||||
SECONDARY_ARCHITECTURES="x86"
|
||||
|
||||
PROVIDES="
|
||||
qemu$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_img$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_io$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_alpha$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_arm$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_cris$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_i386$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_lm32$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_m68k$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_microblaze$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_microblazeel$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_mips$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_mips64$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_mips64el$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_mipsel$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_moxie$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_or32$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_ppc$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_ppc64$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_ppcemb$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_s390x$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_sh4$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_sh4eb$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_sparc$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_sparc64$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_unicore32$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_x86_64$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_xtensa$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_xtensaeb$secondaryArchSuffix = $portVersion
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
glib2$secondaryArchSuffix >= 2.12
|
||||
pixman$secondaryArchSuffix
|
||||
lib:libintl$secondaryArchSuffix
|
||||
lib:libz$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
glib2${secondaryArchSuffix}_devel >= 2.12
|
||||
pixman${secondaryArchSuffix}_devel
|
||||
devel:libfdt$secondaryArchSuffix
|
||||
devel:libz$secondaryArchSuffix
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
cmd:awk
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
cmd:pod2man
|
||||
cmd:python
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
chmod +x configure
|
||||
./configure --prefix=$prefix --mandir=$manDir --datadir=$dataDir/qemu \
|
||||
--docdir=$docDir --bindir=$binDir --libdir=$libDir \
|
||||
--sysconfdir=$settingsDir/qemu
|
||||
make $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
make install
|
||||
|
||||
# provide convenience symlink to just "qemu"
|
||||
ln -s qemu-system-i386 $binDir/qemu
|
||||
|
||||
# remove empty target config file
|
||||
rm $settingsDir/qemu/target-x86_64.conf
|
||||
}
|
||||
@@ -1,94 +0,0 @@
|
||||
SUMMARY="A generic and open source machine emulator and virtualizer"
|
||||
DESCRIPTION="QEMU is a generic and open source machine emulator and virtualizer.
|
||||
|
||||
QEMU can run OSes and programs made for one machine (e.g. an ARM board) on a \
|
||||
different machine (e.g. your own PC). By using dynamic translation, it \
|
||||
achieves very good performance."
|
||||
HOMEPAGE="http://wiki.qemu.org/"
|
||||
COPYRIGHT="2003-2014 Fabrice Bellard"
|
||||
LICENSE="GNU GPL v2"
|
||||
REVISION="1"
|
||||
SOURCE_URI="http://wiki.qemu-project.org/download/qemu-2.0.0.tar.bz2"
|
||||
CHECKSUM_SHA256="60cc1aa0cad39cec891f970bed60ca8a484f071adad4943123599ac223543a3b"
|
||||
PATCHES="qemu-$portVersion.patchset"
|
||||
|
||||
ARCHITECTURES="all !x86_gcc2"
|
||||
SECONDARY_ARCHITECTURES="x86"
|
||||
|
||||
PROVIDES="
|
||||
qemu$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_img$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_io$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_aarch64$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_alpha$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_arm$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_cris$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_i386$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_lm32$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_m68k$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_microblaze$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_microblazeel$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_mips$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_mips64$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_mips64el$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_mipsel$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_moxie$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_or32$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_ppc$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_ppc64$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_ppcemb$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_s390x$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_sh4$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_sh4eb$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_sparc$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_sparc64$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_unicore32$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_x86_64$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_xtensa$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_xtensaeb$secondaryArchSuffix = $portVersion
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
glib2$secondaryArchSuffix >= 2.12
|
||||
pixman$secondaryArchSuffix
|
||||
lib:libintl$secondaryArchSuffix
|
||||
lib:libsdl$secondaryArchSuffix
|
||||
lib:libz$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
glib2${secondaryArchSuffix}_devel >= 2.12
|
||||
pixman${secondaryArchSuffix}_devel
|
||||
devel:libfdt$secondaryArchSuffix
|
||||
devel:libsdl$secondaryArchSuffix
|
||||
devel:libz$secondaryArchSuffix
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
cmd:awk
|
||||
cmd:find
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
cmd:pod2man
|
||||
cmd:python
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
runConfigure --omit-buildspec ./configure
|
||||
make $jobArgs LDFLAGS=-lbsd
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
make install
|
||||
|
||||
# provide convenience symlink to just "qemu"
|
||||
ln -s qemu-system-i386 $binDir/qemu
|
||||
|
||||
# Remove empty config file.
|
||||
rm $settingsDir/qemu/target-x86_64.conf
|
||||
}
|
||||
@@ -1,90 +0,0 @@
|
||||
SUMMARY="A generic and open source machine emulator and virtualizer"
|
||||
DESCRIPTION="QEMU is a generic and open source machine emulator and virtualizer.
|
||||
|
||||
QEMU can run OSes and programs made for one machine (e.g. an ARM board) on a \
|
||||
different machine (e.g. your own PC). By using dynamic translation, it \
|
||||
achieves very good performance."
|
||||
HOMEPAGE="http://wiki.qemu.org/"
|
||||
COPYRIGHT="2003-2014 Fabrice Bellard"
|
||||
LICENSE="GNU GPL v2"
|
||||
REVISION="3"
|
||||
SOURCE_URI="git+https://github.com/mmlr/qemu-haiku.git#4444401842251c18147f83c7d960ec3a82f2b9cb"
|
||||
|
||||
ARCHITECTURES="all !x86_gcc2"
|
||||
SECONDARY_ARCHITECTURES="x86"
|
||||
|
||||
PROVIDES="
|
||||
qemu$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_img$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_io$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_aarch64$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_alpha$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_arm$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_cris$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_i386$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_lm32$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_m68k$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_microblaze$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_microblazeel$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_mips$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_mips64$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_mips64el$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_mipsel$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_moxie$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_or32$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_ppc$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_ppc64$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_ppcemb$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_s390x$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_sh4$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_sh4eb$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_sparc$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_sparc64$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_unicore32$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_x86_64$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_xtensa$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_xtensaeb$secondaryArchSuffix = $portVersion
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libglib_2.0$secondaryArchSuffix >= 0.38
|
||||
lib:libintl$secondaryArchSuffix
|
||||
lib:libpixman_1$secondaryArchSuffix
|
||||
lib:libz$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
devel:libfdt$secondaryArchSuffix
|
||||
devel:libglib_2.0$secondaryArchSuffix >= 0.38
|
||||
devel:libpixman_1${secondaryArchSuffix}
|
||||
devel:libz$secondaryArchSuffix
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
cmd:awk
|
||||
cmd:find
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
cmd:pod2man
|
||||
cmd:python
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
runConfigure --omit-buildspec ./configure
|
||||
make $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
make install
|
||||
|
||||
# provide convenience symlink to just "qemu"
|
||||
ln -s qemu-system-i386 $binDir/qemu
|
||||
|
||||
# Remove empty config file.
|
||||
rm $settingsDir/target-x86_64.conf
|
||||
}
|
||||
@@ -1,97 +0,0 @@
|
||||
SUMMARY="A generic and open source machine emulator and virtualizer"
|
||||
DESCRIPTION="QEMU is a generic and open source machine emulator and virtualizer.
|
||||
|
||||
QEMU can run OSes and programs made for one machine (e.g. an ARM board) on a \
|
||||
different machine (e.g. your own PC). By using dynamic translation, it \
|
||||
achieves very good performance."
|
||||
HOMEPAGE="http://wiki.qemu.org/"
|
||||
COPYRIGHT="2003-2014 Fabrice Bellard"
|
||||
LICENSE="GNU GPL v2"
|
||||
REVISION="3"
|
||||
srcGitRev="d1b55862305d1eac5c7ca7cc56ec379bbc452d74"
|
||||
SOURCE_URI="https://github.com/mmlr/qemu-haiku/archive/$srcGitRev.tar.gz"
|
||||
CHECKSUM_SHA256="014175cedf18d09f9b004672394f2c1ac760eb086fbfde83485c4493d7024c89"
|
||||
SOURCE_DIR="qemu-haiku-$srcGitRev"
|
||||
|
||||
ARCHITECTURES="all !x86_gcc2"
|
||||
SECONDARY_ARCHITECTURES="x86"
|
||||
|
||||
PROVIDES="
|
||||
qemu$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_img$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_io$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_aarch64$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_alpha$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_arm$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_cris$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_i386$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_lm32$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_m68k$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_microblaze$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_microblazeel$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_mips$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_mips64$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_mips64el$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_mipsel$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_moxie$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_or32$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_ppc$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_ppc64$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_ppcemb$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_s390x$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_sh4$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_sh4eb$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_sparc$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_sparc64$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_unicore32$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_x86_64$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_xtensa$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_xtensaeb$secondaryArchSuffix = $portVersion
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libglib_2.0$secondaryArchSuffix >= 0.38
|
||||
lib:libintl$secondaryArchSuffix
|
||||
lib:libpixman_1$secondaryArchSuffix
|
||||
lib:libz$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
devel:libfdt$secondaryArchSuffix
|
||||
devel:libglib_2.0$secondaryArchSuffix >= 0.38
|
||||
devel:libpixman_1${secondaryArchSuffix}
|
||||
devel:libz$secondaryArchSuffix
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
cmd:awk
|
||||
cmd:find
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
cmd:pod2man
|
||||
cmd:python
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
runConfigure --omit-buildspec ./configure --disable-stack-protector
|
||||
make $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
make install
|
||||
|
||||
# provide convenience symlink to just "qemu"
|
||||
if [ $effectiveTargetArchitecture == x86_64 ]; then
|
||||
ln -s qemu-system-x86_64 $binDir/qemu
|
||||
else
|
||||
ln -s qemu-system-i386 $binDir/qemu
|
||||
fi
|
||||
|
||||
# Remove empty config file.
|
||||
rm $settingsDir/target-x86_64.conf
|
||||
}
|
||||
@@ -1,133 +0,0 @@
|
||||
SUMMARY="A generic and open source machine emulator and virtualizer"
|
||||
DESCRIPTION="QEMU is a generic and open source machine emulator and virtualizer.
|
||||
|
||||
QEMU can run OSes and programs made for one machine (e.g. an ARM board) on a \
|
||||
different machine (e.g. your own PC). By using dynamic translation, it \
|
||||
achieves very good performance."
|
||||
HOMEPAGE="http://wiki.qemu.org/"
|
||||
COPYRIGHT="2003-2017 Fabrice Bellard"
|
||||
LICENSE="GNU GPL v2"
|
||||
REVISION="5"
|
||||
SOURCE_URI="https://github.com/qemu/qemu/archive/v$portVersion.tar.gz"
|
||||
CHECKSUM_SHA256="45b4637f370590cbdeca2b6d49f48b6cf5434baaf289831476d13423001fb571"
|
||||
SOURCE_DIR="qemu-$portVersion"
|
||||
PATCHES="qemu-$portVersion.patchset"
|
||||
|
||||
ARCHITECTURES="all !x86_gcc2 ?x86"
|
||||
SECONDARY_ARCHITECTURES="?x86"
|
||||
|
||||
PROVIDES="
|
||||
qemu$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_img$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_io$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_aarch64$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_alpha$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_arm$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_cris$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_i386$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_lm32$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_m68k$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_microblaze$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_microblazeel$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_mips$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_mips64$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_mips64el$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_mipsel$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_moxie$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_or32$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_ppc$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_ppc64$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_ppcemb$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_s390x$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_sh4$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_sh4eb$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_sparc$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_sparc64$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_unicore32$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_x86_64$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_xtensa$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_xtensaeb$secondaryArchSuffix = $portVersion
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libbz2$secondaryArchSuffix
|
||||
lib:libcurl$secondaryArchSuffix
|
||||
lib:libfdt$secondaryArchSuffix
|
||||
#lib:libgcrypt$secondaryArchSuffix
|
||||
lib:libGL$secondaryArchSuffix
|
||||
lib:libglib_2.0$secondaryArchSuffix
|
||||
lib:libgnutls$secondaryArchSuffix
|
||||
lib:libintl$secondaryArchSuffix
|
||||
lib:libjpeg$secondaryArchSuffix
|
||||
lib:liblzo2$secondaryArchSuffix
|
||||
lib:libncursesw$secondaryArchSuffix
|
||||
lib:libnettle$secondaryArchSuffix
|
||||
lib:libpixman_1$secondaryArchSuffix
|
||||
lib:libpng16$secondaryArchSuffix
|
||||
lib:libsdl2_2.0$secondaryArchSuffix
|
||||
lib:libsnappy$secondaryArchSuffix
|
||||
lib:libssh2$secondaryArchSuffix
|
||||
lib:libtasn1$secondaryArchSuffix
|
||||
lib:libusb_1.0$secondaryArchSuffix
|
||||
lib:libz$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
devel:libbz2$secondaryArchSuffix
|
||||
devel:libcurl$secondaryArchSuffix
|
||||
devel:libfdt$secondaryArchSuffix
|
||||
#devel:libgcrypt$secondaryArchSuffix
|
||||
devel:libGL$secondaryArchSuffix
|
||||
devel:libglib_2.0$secondaryArchSuffix
|
||||
devel:libgnutls$secondaryArchSuffix
|
||||
devel:libintl$secondaryArchSuffix
|
||||
devel:libjpeg$secondaryArchSuffix
|
||||
devel:liblzo2$secondaryArchSuffix
|
||||
devel:libncursesw$secondaryArchSuffix
|
||||
devel:libnettle$secondaryArchSuffix
|
||||
devel:libpixman_1$secondaryArchSuffix
|
||||
devel:libpng16$secondaryArchSuffix
|
||||
devel:libsdl2_2.0$secondaryArchSuffix
|
||||
devel:libsnappy$secondaryArchSuffix
|
||||
devel:libssh2$secondaryArchSuffix
|
||||
devel:libtasn1$secondaryArchSuffix
|
||||
devel:libusb_1.0$secondaryArchSuffix
|
||||
devel:libz$secondaryArchSuffix
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
cmd:awk
|
||||
cmd:find
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:gcov$secondaryArchSuffix
|
||||
cmd:gprof$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
cmd:pod2man
|
||||
cmd:python
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
export CFLAGS="-lbsd -lnetwork"
|
||||
runConfigure --omit-buildspec ./configure \
|
||||
--disable-stack-protector \
|
||||
--target-list=i386-softmmu,x86_64-softmmu
|
||||
# remove the line above to get all the supported targets
|
||||
# aarch64-softmmu broken with --disable-stack-protector
|
||||
make $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
make install $jobArgs
|
||||
|
||||
# provide convenience symlink to just "qemu"
|
||||
if [ $effectiveTargetArchitecture == x86_64 ]; then
|
||||
ln -s qemu-system-x86_64 $binDir/qemu
|
||||
else
|
||||
ln -s qemu-system-i386 $binDir/qemu
|
||||
fi
|
||||
}
|
||||
@@ -1,181 +0,0 @@
|
||||
SUMMARY="A generic and open source machine emulator and virtualizer"
|
||||
DESCRIPTION="QEMU is a generic and open source machine emulator and virtualizer.
|
||||
|
||||
QEMU can run OSes and programs made for one machine (e.g. an ARM board) on a \
|
||||
different machine (e.g. your own PC). By using dynamic translation, it \
|
||||
achieves very good performance."
|
||||
HOMEPAGE="http://wiki.qemu.org/"
|
||||
COPYRIGHT="2003-2017 Fabrice Bellard"
|
||||
LICENSE="GNU GPL v2"
|
||||
REVISION="4"
|
||||
SOURCE_URI="https://download.qemu.org/qemu-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256="8a5145d1f8bd2eadc6776f3e13c68cd28d01349e30639bdbcb26ac588d668686"
|
||||
SOURCE_DIR="qemu-$portVersion"
|
||||
PATCHES="qemu-$portVersion.patchset"
|
||||
ADDITIONAL_FILES="qemu.rdef.in"
|
||||
|
||||
ARCHITECTURES="?all !x86_gcc2"
|
||||
SECONDARY_ARCHITECTURES="?x86"
|
||||
|
||||
# On x86_gcc2 we don't want to install the commands in bin/<arch>/, but in bin/.
|
||||
commandSuffix=$secondaryArchSuffix
|
||||
commandBinDir=$binDir
|
||||
if [ "$targetArchitecture" = x86_gcc2 ]; then
|
||||
commandSuffix=
|
||||
commandBinDir=$prefix/bin
|
||||
fi
|
||||
|
||||
PROVIDES="
|
||||
qemu$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu$commandSuffix = $portVersion
|
||||
cmd:qemu_img$commandSuffix = $portVersion
|
||||
cmd:qemu_io$commandSuffix = $portVersion
|
||||
# cmd:qemu_system_aarch64$commandSuffix = $portVersion
|
||||
# cmd:qemu_system_alpha$commandSuffix = $portVersion
|
||||
# cmd:qemu_system_arm$commandSuffix = $portVersion
|
||||
# cmd:qemu_system_cris$commandSuffix = $portVersion
|
||||
cmd:qemu_system_i386$commandSuffix = $portVersion
|
||||
# cmd:qemu_system_lm32$commandSuffix = $portVersion
|
||||
# cmd:qemu_system_m68k$commandSuffix = $portVersion
|
||||
# cmd:qemu_system_microblaze$commandSuffix = $portVersion
|
||||
# cmd:qemu_system_microblazeel$commandSuffix = $portVersion
|
||||
# cmd:qemu_system_mips$commandSuffix = $portVersion
|
||||
# cmd:qemu_system_mips64$commandSuffix = $portVersion
|
||||
# cmd:qemu_system_mips64el$commandSuffix = $portVersion
|
||||
# cmd:qemu_system_mipsel$commandSuffix = $portVersion
|
||||
# cmd:qemu_system_moxie$commandSuffix = $portVersion
|
||||
# cmd:qemu_system_or32$commandSuffix = $portVersion
|
||||
# cmd:qemu_system_ppc$commandSuffix = $portVersion
|
||||
# cmd:qemu_system_ppc64$commandSuffix = $portVersion
|
||||
# cmd:qemu_system_ppcemb$commandSuffix = $portVersion
|
||||
# cmd:qemu_system_s390x$commandSuffix = $portVersion
|
||||
# cmd:qemu_system_sh4$commandSuffix = $portVersion
|
||||
# cmd:qemu_system_sh4eb$commandSuffix = $portVersion
|
||||
# cmd:qemu_system_sparc$commandSuffix = $portVersion
|
||||
# cmd:qemu_system_sparc64$commandSuffix = $portVersion
|
||||
# cmd:qemu_system_unicore32$commandSuffix = $portVersion
|
||||
cmd:qemu_system_x86_64$commandSuffix = $portVersion
|
||||
# cmd:qemu_system_xtensa$commandSuffix = $portVersion
|
||||
# cmd:qemu_system_xtensaeb$commandSuffix = $portVersion
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
cmd:iasl$secondaryArchSuffix
|
||||
lib:libbz2$secondaryArchSuffix
|
||||
lib:libcapstone$secondaryArchSuffix
|
||||
lib:libcurl$secondaryArchSuffix
|
||||
lib:libfdt$secondaryArchSuffix
|
||||
lib:libgcrypt$secondaryArchSuffix
|
||||
lib:libGL$secondaryArchSuffix
|
||||
lib:libglib_2.0$secondaryArchSuffix
|
||||
lib:libgnutls$secondaryArchSuffix
|
||||
lib:libgpg_error$secondaryArchSuffix
|
||||
lib:libintl$secondaryArchSuffix
|
||||
lib:libjpeg$secondaryArchSuffix
|
||||
lib:liblzo2$secondaryArchSuffix
|
||||
lib:libncursesw$secondaryArchSuffix
|
||||
lib:libnettle$secondaryArchSuffix
|
||||
lib:libpixman_1$secondaryArchSuffix
|
||||
lib:libpng16$secondaryArchSuffix
|
||||
lib:libsdl2_2.0$secondaryArchSuffix
|
||||
lib:libsnappy$secondaryArchSuffix
|
||||
lib:libssh2$secondaryArchSuffix
|
||||
lib:libssp$secondaryArchSuffix
|
||||
lib:libtasn1$secondaryArchSuffix
|
||||
lib:libusb_1.0$secondaryArchSuffix
|
||||
lib:libz$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
devel:libbz2$secondaryArchSuffix
|
||||
devel:libcapstone$secondaryArchSuffix
|
||||
devel:libcurl$secondaryArchSuffix
|
||||
devel:libfdt$secondaryArchSuffix
|
||||
devel:libgcrypt$secondaryArchSuffix
|
||||
devel:libGL$secondaryArchSuffix
|
||||
devel:libglib_2.0$secondaryArchSuffix
|
||||
devel:libgnutls$secondaryArchSuffix
|
||||
devel:libgpg_error$secondaryArchSuffix
|
||||
devel:libintl$secondaryArchSuffix
|
||||
devel:libjpeg$secondaryArchSuffix
|
||||
devel:liblzo2$secondaryArchSuffix
|
||||
devel:libncursesw$secondaryArchSuffix
|
||||
devel:libnettle$secondaryArchSuffix
|
||||
devel:libpixman_1$secondaryArchSuffix
|
||||
devel:libpng16$secondaryArchSuffix
|
||||
devel:libsdl2_2.0$secondaryArchSuffix
|
||||
devel:libsnappy$secondaryArchSuffix
|
||||
devel:libssh2$secondaryArchSuffix
|
||||
devel:libtasn1$secondaryArchSuffix
|
||||
devel:libusb_1.0$secondaryArchSuffix
|
||||
devel:libz$secondaryArchSuffix
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
cmd:awk
|
||||
cmd:cmp
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:gcov$secondaryArchSuffix
|
||||
cmd:gprof$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:find
|
||||
cmd:iasl$secondaryArchSuffix
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
cmd:pod2man
|
||||
cmd:python
|
||||
"
|
||||
|
||||
defineDebugInfoPackage qemu$secondaryArchSuffix \
|
||||
"$commandBinDir"/qemu-img \
|
||||
"$commandBinDir"/qemu-io \
|
||||
"$commandBinDir"/qemu-system-i386 \
|
||||
"$commandBinDir"/qemu-system-x86_64
|
||||
|
||||
BUILD()
|
||||
{
|
||||
export CFLAGS="-I`finddir B_SYSTEM_HEADERS_DIRECTORY`/capstone"
|
||||
|
||||
runConfigure --omit-dirs "binDir sbinDir" \
|
||||
--omit-buildspec ./configure \
|
||||
--bindir="$commandBinDir" --sbindir="$commandBinDir" \
|
||||
--enable-capstone=system \
|
||||
--enable-gcrypt \
|
||||
--disable-tpm \
|
||||
--disable-strip \
|
||||
--target-list=i386-softmmu,x86_64-softmmu
|
||||
# remove the line above to get all the supported targets
|
||||
# aarch64-softmmu broken with --disable-stack-protector
|
||||
|
||||
make $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
make install $jobArgs
|
||||
|
||||
local APP_SIGNATURE="application/x-vnd.qemu"
|
||||
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
|
||||
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
|
||||
local MINOR="`echo "$portVersion" | cut -d. -f3`"
|
||||
local LONG_INFO="$SUMMARY"
|
||||
sed \
|
||||
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
|
||||
-e "s|@MAJOR@|$MAJOR|" \
|
||||
-e "s|@MIDDLE@|$MIDDLE|" \
|
||||
-e "s|@MINOR@|$MINOR|" \
|
||||
-e "s|@LONG_INFO@|$LONG_INFO|" \
|
||||
$portDir/additional-files/qemu.rdef.in > qemu.rdef
|
||||
|
||||
addResourcesToBinaries qemu.rdef $commandBinDir/qemu-system-i386
|
||||
if [ "$effectiveTargetArchitecture" = x86_64 ]; then
|
||||
addResourcesToBinaries qemu.rdef $commandBinDir/qemu-system-x86_64
|
||||
fi
|
||||
|
||||
# provide convenience symlink to just "qemu"
|
||||
if [ "$effectiveTargetArchitecture" = x86_64 ]; then
|
||||
ln -s qemu-system-x86_64 $commandBinDir/qemu
|
||||
else
|
||||
ln -s qemu-system-i386 $commandBinDir/qemu
|
||||
fi
|
||||
}
|
||||
@@ -1,97 +0,0 @@
|
||||
SUMMARY="A generic and open source machine emulator and virtualizer"
|
||||
DESCRIPTION="QEMU is a generic and open source machine emulator and virtualizer.
|
||||
|
||||
QEMU can run OSes and programs made for one machine (e.g. an ARM board) on a \
|
||||
different machine (e.g. your own PC). By using dynamic translation, it \
|
||||
achieves very good performance."
|
||||
HOMEPAGE="http://wiki.qemu.org/"
|
||||
COPYRIGHT="2003-2014 Fabrice Bellard"
|
||||
LICENSE="GNU GPL v2"
|
||||
REVISION="1"
|
||||
SOURCE_URI="https://github.com/qemu/qemu/archive/v$portVersion.tar.gz"
|
||||
CHECKSUM_SHA256="57b7d5ec68e364dc0f1b2fd1e15f04505f2e5c8159624ae73921ca4bc010d836"
|
||||
SOURCE_DIR="qemu-$portVersion"
|
||||
PATCHES="qemu-$portVersion.patchset"
|
||||
|
||||
ARCHITECTURES="all !x86_gcc2"
|
||||
SECONDARY_ARCHITECTURES="x86"
|
||||
|
||||
PROVIDES="
|
||||
qemu$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_img$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_io$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_aarch64$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_alpha$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_arm$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_cris$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_i386$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_lm32$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_m68k$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_microblaze$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_microblazeel$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_mips$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_mips64$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_mips64el$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_mipsel$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_moxie$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_or32$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_ppc$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_ppc64$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_ppcemb$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_s390x$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_sh4$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_sh4eb$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_sparc$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_sparc64$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_unicore32$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_x86_64$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_xtensa$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_xtensaeb$secondaryArchSuffix = $portVersion
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libglib_2.0$secondaryArchSuffix >= 0.38
|
||||
lib:libintl$secondaryArchSuffix
|
||||
lib:libpixman_1$secondaryArchSuffix
|
||||
lib:libz$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
devel:libfdt$secondaryArchSuffix
|
||||
devel:libglib_2.0$secondaryArchSuffix >= 0.38
|
||||
devel:libpixman_1${secondaryArchSuffix}
|
||||
devel:libz$secondaryArchSuffix
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
cmd:awk
|
||||
cmd:find
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
cmd:pod2man
|
||||
cmd:python
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
runConfigure --omit-buildspec ./configure
|
||||
make $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
make install
|
||||
|
||||
# provide convenience symlink to just "qemu"
|
||||
if [ $effectiveTargetArchitecture == x86_64 ]; then
|
||||
ln -s qemu-system-x86_64 $binDir/qemu
|
||||
else
|
||||
ln -s qemu-system-i386 $binDir/qemu
|
||||
fi
|
||||
|
||||
# Remove empty config file.
|
||||
rm $settingsDir/target-x86_64.conf
|
||||
}
|
||||
@@ -1,133 +0,0 @@
|
||||
SUMMARY="A generic and open source machine emulator and virtualizer"
|
||||
DESCRIPTION="QEMU is a generic and open source machine emulator and virtualizer.
|
||||
|
||||
QEMU can run OSes and programs made for one machine (e.g. an ARM board) on a \
|
||||
different machine (e.g. your own PC). By using dynamic translation, it \
|
||||
achieves very good performance."
|
||||
HOMEPAGE="http://wiki.qemu.org/"
|
||||
COPYRIGHT="2003-2017 Fabrice Bellard"
|
||||
LICENSE="GNU GPL v2"
|
||||
REVISION="6"
|
||||
SOURCE_URI="https://github.com/qemu/qemu/archive/v$portVersion.tar.gz"
|
||||
CHECKSUM_SHA256="c479779da59023fe679587fa7b4ae363be171f95c4849318b710730fe6d75f1a"
|
||||
SOURCE_DIR="qemu-$portVersion"
|
||||
PATCHES="qemu-$portVersion.patchset"
|
||||
|
||||
ARCHITECTURES="all !x86_gcc2"
|
||||
SECONDARY_ARCHITECTURES="x86"
|
||||
|
||||
PROVIDES="
|
||||
qemu$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_img$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_io$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_aarch64$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_alpha$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_arm$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_cris$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_i386$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_lm32$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_m68k$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_microblaze$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_microblazeel$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_mips$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_mips64$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_mips64el$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_mipsel$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_moxie$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_or32$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_ppc$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_ppc64$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_ppcemb$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_s390x$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_sh4$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_sh4eb$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_sparc$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_sparc64$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_unicore32$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_x86_64$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_xtensa$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_xtensaeb$secondaryArchSuffix = $portVersion
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libbz2$secondaryArchSuffix
|
||||
lib:libcurl$secondaryArchSuffix
|
||||
lib:libfdt$secondaryArchSuffix
|
||||
#lib:libgcrypt$secondaryArchSuffix
|
||||
lib:libGL$secondaryArchSuffix
|
||||
lib:libglib_2.0$secondaryArchSuffix
|
||||
lib:libgnutls$secondaryArchSuffix
|
||||
lib:libintl$secondaryArchSuffix
|
||||
lib:libjpeg$secondaryArchSuffix
|
||||
lib:liblzo2$secondaryArchSuffix
|
||||
lib:libncursesw$secondaryArchSuffix
|
||||
lib:libnettle$secondaryArchSuffix
|
||||
lib:libpixman_1$secondaryArchSuffix
|
||||
lib:libpng16$secondaryArchSuffix
|
||||
lib:libsdl2_2.0$secondaryArchSuffix
|
||||
lib:libsnappy$secondaryArchSuffix
|
||||
lib:libssh2$secondaryArchSuffix
|
||||
lib:libtasn1$secondaryArchSuffix
|
||||
lib:libusb_1.0$secondaryArchSuffix
|
||||
lib:libz$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
devel:libbz2$secondaryArchSuffix
|
||||
devel:libcurl$secondaryArchSuffix
|
||||
devel:libfdt$secondaryArchSuffix
|
||||
#devel:libgcrypt$secondaryArchSuffix
|
||||
devel:libGL$secondaryArchSuffix
|
||||
devel:libglib_2.0$secondaryArchSuffix
|
||||
devel:libgnutls$secondaryArchSuffix
|
||||
devel:libintl$secondaryArchSuffix
|
||||
devel:libjpeg$secondaryArchSuffix
|
||||
devel:liblzo2$secondaryArchSuffix
|
||||
devel:libncursesw$secondaryArchSuffix
|
||||
devel:libnettle$secondaryArchSuffix
|
||||
devel:libpixman_1$secondaryArchSuffix
|
||||
devel:libpng16$secondaryArchSuffix
|
||||
devel:libsdl2_2.0$secondaryArchSuffix
|
||||
devel:libsnappy$secondaryArchSuffix
|
||||
devel:libssh2$secondaryArchSuffix
|
||||
devel:libtasn1$secondaryArchSuffix
|
||||
devel:libusb_1.0$secondaryArchSuffix
|
||||
devel:libz$secondaryArchSuffix
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
cmd:awk
|
||||
cmd:find
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:gcov$secondaryArchSuffix
|
||||
cmd:gprof$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
cmd:pod2man
|
||||
cmd:python
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
export CFLAGS="-lbsd -lnetwork"
|
||||
runConfigure --omit-buildspec ./configure \
|
||||
--disable-stack-protector \
|
||||
--target-list=i386-softmmu,x86_64-softmmu
|
||||
# remove the line above to get all the supported targets
|
||||
# aarch64-softmmu broken with --disable-stack-protector
|
||||
make $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
make install $jobArgs
|
||||
|
||||
# provide convenience symlink to just "qemu"
|
||||
if [ $effectiveTargetArchitecture == x86_64 ]; then
|
||||
ln -s qemu-system-x86_64 $binDir/qemu
|
||||
else
|
||||
ln -s qemu-system-i386 $binDir/qemu
|
||||
fi
|
||||
}
|
||||
@@ -1,133 +0,0 @@
|
||||
SUMMARY="A generic and open source machine emulator and virtualizer"
|
||||
DESCRIPTION="QEMU is a generic and open source machine emulator and virtualizer.
|
||||
|
||||
QEMU can run OSes and programs made for one machine (e.g. an ARM board) on a \
|
||||
different machine (e.g. your own PC). By using dynamic translation, it \
|
||||
achieves very good performance."
|
||||
HOMEPAGE="http://wiki.qemu.org/"
|
||||
COPYRIGHT="2003-2017 Fabrice Bellard"
|
||||
LICENSE="GNU GPL v2"
|
||||
REVISION="5"
|
||||
SOURCE_URI="https://github.com/qemu/qemu/archive/v$portVersion.tar.gz"
|
||||
CHECKSUM_SHA256="4f80eb491db11edff6d66355bf35929a87d811b4b6a2dad97ac9fd1d5f797519"
|
||||
SOURCE_DIR="qemu-$portVersion"
|
||||
PATCHES="qemu-$portVersion.patchset"
|
||||
|
||||
ARCHITECTURES="?all !x86_gcc2"
|
||||
SECONDARY_ARCHITECTURES="?x86"
|
||||
|
||||
PROVIDES="
|
||||
qemu$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_img$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_io$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_aarch64$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_alpha$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_arm$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_cris$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_i386$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_lm32$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_m68k$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_microblaze$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_microblazeel$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_mips$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_mips64$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_mips64el$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_mipsel$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_moxie$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_or32$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_ppc$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_ppc64$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_ppcemb$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_s390x$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_sh4$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_sh4eb$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_sparc$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_sparc64$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_unicore32$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_x86_64$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_xtensa$secondaryArchSuffix = $portVersion
|
||||
cmd:qemu_system_xtensaeb$secondaryArchSuffix = $portVersion
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libbz2$secondaryArchSuffix
|
||||
lib:libcurl$secondaryArchSuffix
|
||||
lib:libfdt$secondaryArchSuffix
|
||||
#lib:libgcrypt$secondaryArchSuffix
|
||||
lib:libGL$secondaryArchSuffix
|
||||
lib:libglib_2.0$secondaryArchSuffix
|
||||
lib:libgnutls$secondaryArchSuffix
|
||||
lib:libintl$secondaryArchSuffix
|
||||
lib:libjpeg$secondaryArchSuffix
|
||||
lib:liblzo2$secondaryArchSuffix
|
||||
lib:libncursesw$secondaryArchSuffix
|
||||
lib:libnettle$secondaryArchSuffix
|
||||
lib:libpixman_1$secondaryArchSuffix
|
||||
lib:libpng16$secondaryArchSuffix
|
||||
lib:libsdl2_2.0$secondaryArchSuffix
|
||||
lib:libsnappy$secondaryArchSuffix
|
||||
lib:libssh2$secondaryArchSuffix
|
||||
lib:libtasn1$secondaryArchSuffix
|
||||
lib:libusb_1.0$secondaryArchSuffix
|
||||
lib:libz$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
devel:libbz2$secondaryArchSuffix
|
||||
devel:libcurl$secondaryArchSuffix
|
||||
devel:libfdt$secondaryArchSuffix
|
||||
#devel:libgcrypt$secondaryArchSuffix
|
||||
devel:libGL$secondaryArchSuffix
|
||||
devel:libglib_2.0$secondaryArchSuffix
|
||||
devel:libgnutls$secondaryArchSuffix
|
||||
devel:libintl$secondaryArchSuffix
|
||||
devel:libjpeg$secondaryArchSuffix
|
||||
devel:liblzo2$secondaryArchSuffix
|
||||
devel:libncursesw$secondaryArchSuffix
|
||||
devel:libnettle$secondaryArchSuffix
|
||||
devel:libpixman_1$secondaryArchSuffix
|
||||
devel:libpng16$secondaryArchSuffix
|
||||
devel:libsdl2_2.0$secondaryArchSuffix
|
||||
devel:libsnappy$secondaryArchSuffix
|
||||
devel:libssh2$secondaryArchSuffix
|
||||
devel:libtasn1$secondaryArchSuffix
|
||||
devel:libusb_1.0$secondaryArchSuffix
|
||||
devel:libz$secondaryArchSuffix
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
cmd:awk
|
||||
cmd:find
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:gcov$secondaryArchSuffix
|
||||
cmd:gprof$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
cmd:pod2man
|
||||
cmd:python
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
export CFLAGS="-lbsd -lnetwork"
|
||||
runConfigure --omit-buildspec ./configure \
|
||||
--disable-stack-protector \
|
||||
--target-list=i386-softmmu,x86_64-softmmu
|
||||
# remove the line above to get all the supported targets
|
||||
# aarch64-softmmu broken with --disable-stack-protector
|
||||
make $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
make install $jobArgs
|
||||
|
||||
# provide convenience symlink to just "qemu"
|
||||
if [ $effectiveTargetArchitecture == x86_64 ]; then
|
||||
ln -s qemu-system-x86_64 $binDir/qemu
|
||||
else
|
||||
ln -s qemu-system-i386 $binDir/qemu
|
||||
fi
|
||||
}
|
||||
Reference in New Issue
Block a user