qemu: hybrid build support.

This commit is contained in:
Adrien Destugues
2014-04-20 12:59:53 +02:00
parent 8e52e33c01
commit f8cbe868d0
2 changed files with 97 additions and 45 deletions

View File

@@ -1,4 +1,4 @@
From 4656339211c608955f9dbbabf4c6a9456f20fd64 Mon Sep 17 00:00:00 2001
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
@@ -23,7 +23,7 @@ index 2f11a10..59ed591 100755
1.8.3.4
From 8d6f0e83ae6e429a1407b991772e3be40df292a0 Mon Sep 17 00:00:00 2001
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.
@@ -61,3 +61,48 @@ index a445506..f3927e2 100644
--
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

View File

@@ -8,64 +8,71 @@ COPYRIGHT="2003-2008 Fabrice Bellard"
LICENSE="GNU GPL v2"
REVISION="1"
ARCHITECTURES="x86 x86_64"
if [ $effectiveTargetArchitecture != x86_gcc2 ]; then
# x86_gcc2 is fine as primary target architecture as long as we're building
# for a different secondary architecture.
ARCHITECTURES="$ARCHITECTURES x86_gcc2"
fi
SECONDARY_ARCHITECTURES="x86"
PATCHES="qemu-1.7.0.patchset"
PROVIDES="
qemu = $portVersion
cmd:qemu = $portVersion
cmd:qemu_img = $portVersion
cmd:qemu_io = $portVersion
cmd:qemu_system_alpha = $portVersion
cmd:qemu_system_arm = $portVersion
cmd:qemu_system_cris = $portVersion
cmd:qemu_system_i386 = $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_moxie = $portVersion
cmd:qemu_system_or32 = $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_unicore32 = $portVersion
cmd:qemu_system_x86_64 = $portVersion
cmd:qemu_system_xtensa = $portVersion
cmd:qemu_system_xtensaeb = $portVersion
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 >= $haikuVersion
lib:libz
lib:libintl
glib2 >= 2.12
pixman
haiku$secondaryArchSuffix >= $haikuVersion
lib:libz$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
lib:libstdc++$secondaryArchSuffix
glib2$secondaryArchSuffix >= 2.12
pixman$secondaryArchSuffix
"
BUILD_REQUIRES="
devel:libz
devel:libfdt
glib2_devel >= 2.12
pixman_devel
devel:libz$secondaryArchSuffix
devel:libfdt$secondaryArchSuffix
glib2${secondaryArchSuffix}_devel >= 2.12
pixman${secondaryArchSuffix}_devel
"
BUILD_PREREQUIRES="
haiku_devel >= $haikuVersion
haiku${secondaryArchSuffix}_devel >= $haikuVersion
cmd:awk
cmd:gcc
cmd:ld
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:pkg_config
cmd:pkg_config$secondaryArchSuffix
cmd:pod2man
cmd:python
"