xaos: fix x86_64 build.

* disable cffe on x86_64 which only builds on i386.
* depends on libgsl instead.
This commit is contained in:
Jerome Duval
2017-01-28 15:23:23 +01:00
parent 92f9dccdf3
commit 909a983aa2
2 changed files with 186 additions and 36 deletions

View File

@@ -1,4 +1,4 @@
From aa4a5127a0d1a0b3b81de73eb65d41f9e592e82e Mon Sep 17 00:00:00 2001
From 2da9ae191566cee555b74494f52f650f4fecfaa5 Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net>
Date: Fri, 20 Mar 2015 15:06:37 +0300
Subject: Haiku: add support to configure
@@ -17,10 +17,10 @@ index 38ff586..931222d 100644
if test "$win32_driver_test" = yes; then
win32_driver=no
--
2.2.2
2.10.2
From 7890610393ac8627173cf1552f51095ce72d16d0 Mon Sep 17 00:00:00 2001
From c745bbd005aec60aafb5d7f0f2d0e3c4acf87a9e Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net>
Date: Fri, 20 Mar 2015 15:07:27 +0300
Subject: Haiku: replace __BEOS__ with __HAIKU__
@@ -53,10 +53,10 @@ index 8553574..28b8dbf 100644
#ifdef __POWERPC__
# define SLOWCACHESYNC
--
2.2.2
2.10.2
From 4ca84e137cc980f8808b28deadd8368c94137700 Mon Sep 17 00:00:00 2001
From 1689da8ff5983ed4556b76f792a0c29e781aa349 Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net>
Date: Fri, 20 Mar 2015 15:08:40 +0300
Subject: Haiku: add missing resource file
@@ -686,10 +686,10 @@ literal 0
HcmV?d00001
--
2.2.2
2.10.2
From 9610901c27a5952cb00e03a6260cbe7a7b822b65 Mon Sep 17 00:00:00 2001
From 65921b1d1f1e9bf2aceb34f89f4cac9d044330c0 Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net>
Date: Fri, 20 Mar 2015 15:12:48 +0300
Subject: Haiku: add missing includes
@@ -753,10 +753,10 @@ index 57882f6..7fe1436 100644
#include "XaoSWindow.h"
#include "XaoSDirectWindow.h"
--
2.2.2
2.10.2
From 203f66d1669158e089564df2a0d88ccccc764dcf Mon Sep 17 00:00:00 2001
From bab379bdbe734527cf365f7b6eb3f49234fafcb8 Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net>
Date: Fri, 20 Mar 2015 15:13:31 +0300
Subject: Haiku: replace mwbres with xres
@@ -776,10 +776,10 @@ index bbcac17..3ad574a 100644
clean:
rm -f $(TLIB)
--
2.2.2
2.10.2
From 4d7b16ec12d7c2cd25a4d76b0ea044a70bf40760 Mon Sep 17 00:00:00 2001
From 22f0ec430251b17c4803908744868463e972361b Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net>
Date: Fri, 20 Mar 2015 15:15:05 +0300
Subject: Haiku: fix duplicate type qualifiers
@@ -852,10 +852,10 @@ index 16ff1fb..0293b33 100644
return mFontHeight.ascent + mFontHeight.descent + mFontHeight.leading;
}
--
2.2.2
2.10.2
From 126762116c74e86dd5e05b4c0e2fdfd3a0836954 Mon Sep 17 00:00:00 2001
From a4e46814862ae952468b9c7ea3bc05e2a2d5cb60 Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net>
Date: Fri, 20 Mar 2015 15:15:49 +0300
Subject: Haiku: comment out XaoSMenu::EnableDisable for now as it crashes XaoS
@@ -884,10 +884,10 @@ index ba830f6..b30fbce 100644
void XaoSMenu::AddToList(XaoSMenu *m)
{
--
2.2.2
2.10.2
From 6e776ac97be5d7ce357b7ad345376501d06f3f26 Mon Sep 17 00:00:00 2001
From 288000c8f3034b109ce3377c543995caee1645fb Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net>
Date: Fri, 20 Mar 2015 15:16:34 +0300
Subject: Fix png.c for compatibility with libpng >= 1.5
@@ -1029,10 +1029,10 @@ index ef2ecb3..26f2e8c 100644
+}
#endif
--
2.2.2
2.10.2
From 1c66696b54286c72183b8c5db26b1b94f043c117 Mon Sep 17 00:00:00 2001
From 24af71516ca293282c773219581df075aea4e7c6 Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net>
Date: Fri, 20 Mar 2015 15:18:04 +0300
Subject: Fix multiple definition of globaluih link error
@@ -1065,5 +1065,139 @@ index f49ec81..4f202fc 100644
{"-delay", P_NUMBER, &delaytime,
"Delay screen updates (milliseconds)"},
--
2.2.2
2.10.2
From a7fa4442f585954d6bd4fa234ef18404455d62c3 Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Sat, 28 Jan 2017 14:33:55 +0100
Subject: fix some warnings and errors on gcc5
diff --git a/src/ui/ui-drv/BeOS/XaoSApplication.cpp b/src/ui/ui-drv/BeOS/XaoSApplication.cpp
index 9b82fd2..753b36d 100644
--- a/src/ui/ui-drv/BeOS/XaoSApplication.cpp
+++ b/src/ui/ui-drv/BeOS/XaoSApplication.cpp
@@ -17,6 +17,7 @@
#include <cstring>
#include <stdio.h>
+#include <stdlib.h>
#include <Application.h>
#include <Archivable.h>
@@ -120,7 +121,7 @@ void XaoSApplication::InstallMimeTypes()
BBitmap xpfsmall(BRect(0, 0, B_MINI_ICON - 1, B_MINI_ICON - 1), B_COLOR_8_BIT);
xpfsmall.SetBits(pResource, xpfsmall.BitsLength(),0,B_COLOR_8_BIT);
- delete pResource;
+ free(pResource);
pResource = resources.FindResource('ICON', (int32) 0, &length);
@@ -130,7 +131,7 @@ void XaoSApplication::InstallMimeTypes()
}
BBitmap xpflarge(BRect(0, 0, B_LARGE_ICON - 1, B_LARGE_ICON - 1), B_COLOR_8_BIT);
xpflarge.SetBits(pResource, xpflarge.BitsLength(),0,B_COLOR_8_BIT);
- delete pResource;
+ free(pResource);
pResource = resources.FindResource((type_code) 'MICN', (int32) 1, &length);
if (!pResource) {
@@ -140,7 +141,7 @@ void XaoSApplication::InstallMimeTypes()
BBitmap xafsmall(BRect(0, 0, B_MINI_ICON - 1, B_MINI_ICON - 1), B_COLOR_8_BIT);
xafsmall.SetBits(pResource, xafsmall.BitsLength(),0,B_COLOR_8_BIT);
- delete pResource;
+ free(pResource);
pResource = resources.FindResource('ICON', (int32) 1, &length);
@@ -150,7 +151,7 @@ void XaoSApplication::InstallMimeTypes()
}
BBitmap xaflarge(BRect(0, 0, B_LARGE_ICON - 1, B_LARGE_ICON - 1), B_COLOR_8_BIT);
xaflarge.SetBits(pResource, xpflarge.BitsLength(),0,B_COLOR_8_BIT);
- delete pResource;
+ free(pResource);
mime.SetType("image/x-xaos-position");
mime.GetShortDescription(name);
if (!mime.IsInstalled() || strcmp(name,xpfdesc)) {
@@ -366,7 +367,7 @@ XaoSApplication::ReadyToRun(void)
}
}
-long
+status_t
XaoSApplication::MainThread(void *data)
{
XaoSApplication *pApp = (XaoSApplication *)data;
@@ -412,7 +413,7 @@ XaoSApplication::MakeSplashBitmap(void)
// Unflatten the resource.
BMessage archived;
status_t status = archived.Unflatten((const char *)pResource);
- delete pResource;
+ free(pResource);
if (status != B_NO_ERROR) {
return 0;
}
diff --git a/src/ui/ui-drv/BeOS/XaoSApplication.h b/src/ui/ui-drv/BeOS/XaoSApplication.h
index 6521069..f56d8e8 100644
--- a/src/ui/ui-drv/BeOS/XaoSApplication.h
+++ b/src/ui/ui-drv/BeOS/XaoSApplication.h
@@ -49,7 +49,7 @@ private:
void InstallMimeTypes (void);
// Auxiliary methods.
- static long MainThread (void *data);
+ static status_t MainThread (void *data);
BBitmap *MakeSplashBitmap (void);
// Data members.
diff --git a/src/ui/ui-drv/BeOS/XaoSDirectScreen.h b/src/ui/ui-drv/BeOS/XaoSDirectScreen.h
index 7461590..c8b45a8 100644
--- a/src/ui/ui-drv/BeOS/XaoSDirectScreen.h
+++ b/src/ui/ui-drv/BeOS/XaoSDirectScreen.h
@@ -18,6 +18,7 @@
#ifndef XAOSDIRECTSCREEN_H
#define XAOSDIRECTSCREEN_H
+#include <DirectWindow.h>
#include <View.h>
#include <WindowScreen.h>
#include "XaoSEvent.h"
diff --git a/src/ui/ui-drv/BeOS/be_possitionio.cpp b/src/ui/ui-drv/BeOS/be_possitionio.cpp
index 0e0bf10..14bf199 100644
--- a/src/ui/ui-drv/BeOS/be_possitionio.cpp
+++ b/src/ui/ui-drv/BeOS/be_possitionio.cpp
@@ -3,6 +3,7 @@
Hopefully IO is not the major problem in replaying XaoS files :)*/
#include <TranslationKit.h>
#include <malloc.h>
+#include <string.h>
#include "xio.h"
struct bfile {
BPositionIO *f;
diff --git a/src/ui/ui-drv/BeOS/ui_be.cpp b/src/ui/ui-drv/BeOS/ui_be.cpp
index 7fe1436..94d23cc 100644
--- a/src/ui/ui-drv/BeOS/ui_be.cpp
+++ b/src/ui/ui-drv/BeOS/ui_be.cpp
@@ -24,6 +24,7 @@
#include <cstdio>
#include <cstring>
+#include <stdlib.h>
#include <string>
#include <malloc.h>
@@ -91,7 +92,7 @@ static char *gpFractalBuffers[2] = // fractal buffers
static int gCurrentBuffer;
extern int be_noalert;
-extern struct ui_driver be_driver, be_direct_driver, be_screen_driver;
+extern "C" struct ui_driver be_driver, be_direct_driver, be_screen_driver;
static int color8bit = 0; // parameters settable from command line
static int bitmap = 0;
static int truecolor = 0;
--
2.10.2

View File

@@ -23,18 +23,41 @@ Thomas Marsh and Jan Hubicka, and it is currently maintained by Zoltan Kovacs \
and J.B. Langston. Countless other improvements have been contributed by \
volunteers around the world. You can help improve XaoS, too."
HOMEPAGE="http://xaos.sf.net"
SOURCE_URI="https://github.com/xaos-project/XaoS/archive/release-$portVersion.zip"
CHECKSUM_SHA256="7b2a802c638ed880a86db4b2feccc7fc949599916329b799807758dca61d6eb8"
ARCHITECTURES="x86_gcc2 ?x86 ?x86_64"
REVISION="1"
LICENSE="GNU GPL v2"
COPYRIGHT="2008 GNU XaoS Contributors"
REVISION="1"
SOURCE_URI="https://github.com/xaos-project/XaoS/archive/release-$portVersion.zip"
CHECKSUM_SHA256="7b2a802c638ed880a86db4b2feccc7fc949599916329b799807758dca61d6eb8"
SOURCE_DIR="XaoS-release-$portVersion"
PATCHES="xaos-$portVersion.patchset"
ARCHITECTURES="x86_gcc2 ?x86 x86_64"
PROVIDES="
xaos
app:XaoS = $portVersion
"
REQUIRES="
lib:libgsl$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
"
if [ $effectiveTargetArchitecture == x86_64 ]; then
REQUIRES+="
lib:libgsl$secondaryArchSuffix
"
fi
BUILD_REQUIRES="
devel:libgsl$secondaryArchSuffix
devel:libiconv$secondaryArchSuffix
devel:libintl$secondaryArchSuffix
"
if [ $effectiveTargetArchitecture == x86_64 ]; then
BUILD_REQUIRES+="
devel:libgsl$secondaryArchSuffix
"
fi
BUILD_PREREQUIRES="
haiku_devel
cmd:gcc
@@ -42,24 +65,17 @@ BUILD_PREREQUIRES="
cmd:make
cmd:nasm
"
BUILD_REQUIRES="
devel:libiconv$secondaryArchSuffix
devel:libintl$secondaryArchSuffix
"
REQUIRES="
lib:libiconv$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
"
SOURCE_DIR="XaoS-release-$portVersion"
PATCHES="xaos-$portVersion.patchset"
BUILD()
{
libtoolize --force --copy --install
LDFLAGS="-lintl -liconv" sh configure
ldflags="-lintl -liconv"
configureFlags=
if [ $effectiveTargetArchitecture == x86_64 ]; then
ldflags="$ldflags -lstdc++"
configureFlags=--disable-cffe
fi
LDFLAGS=$ldflags sh configure $configureFlags
make $jobArgs
}