ghostscript8: actually build the BeOS code

This commit is contained in:
Adrien Destugues
2019-03-23 08:34:29 +01:00
parent 8c49c4036c
commit bf8925cd19
3 changed files with 360 additions and 52 deletions

View File

@@ -1,4 +1,4 @@
From 54854058708ca5ce832673657d11740e438d1c06 Mon Sep 17 00:00:00 2001
From bbf663ff8712fd4dbf53ac5a277dfb0daa142afe Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Fri, 15 Mar 2019 08:17:45 +0100
Subject: Fix build on Haiku using Unix makefiles.
@@ -49,7 +49,7 @@ index 2570d69..8626ba4 100644
2.19.1
From 5bd1c298bc8323529c3b4643a476985ae50e2f2a Mon Sep 17 00:00:00 2001
From 755d5a40ca11958285eec7b23b374f534d035e9b Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Fri, 15 Mar 2019 10:16:42 +0100
Subject: Import the BeOS patches.
@@ -2597,38 +2597,78 @@ index f0d4944..e4e3113 100644
2.19.1
From 19af04b33eb441990280602f1939d05455cbb8ff Mon Sep 17 00:00:00 2001
From fce66044f86a06f28def6a45ae043b7aae9010aa Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Fri, 15 Mar 2019 19:30:01 +0100
Subject: Fix the build.
Not in the cleanest way...
Move some of the BeOS changes into configure.ac/Makefile.in
diff --git a/src/Makefile.in b/src/Makefile.in
index 22c7773..5151451 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -282,6 +282,8 @@ XLIBDIR=
#XLIBS=Xt Xext X11
XLIBS=@XLIBS@
+BELIBS=@BELIBS@
+
# Define whether this platform has floating point hardware:
# FPU_TYPE=2 means floating point is faster than fixed point.
# (This is the case on some RISCs with multiple instruction dispatch.)
@@ -353,7 +355,7 @@ EXTEND_NAMES=0
# devs.mak and contrib.mak for the list of available devices.
#DEVICE_DEVS=$(DISPLAY_DEV) $(DD)x11.dev $(DD)x11alpha.dev $(DD)x11cmyk.dev $(DD)x11gray2.dev $(DD)x11gray4.dev $(DD)x11mono.dev
-DEVICE_DEVS=$(DISPLAY_DEV) @X11DEVS@
+DEVICE_DEVS=$(DISPLAY_DEV) @X11DEVS@ @BEDEVS@
DEVICE_DEVS1=$(DD)bmpmono.dev $(DD)bmpgray.dev $(DD)bmpsep1.dev $(DD)bmpsep8.dev $(DD)bmp16.dev $(DD)bmp256.dev $(DD)bmp16m.dev $(DD)bmp32b.dev
DEVICE_DEVS2=
diff --git a/src/configure.ac b/src/configure.ac
index a18f4d0..e145051 100644
--- a/src/configure.ac
+++ b/src/configure.ac
@@ -308,6 +308,12 @@ fi
AC_SUBST(X11DEVS)
AC_SUBST(XLIBS)
+BELIBS='-lbe'
+AC_SUBST(BELIBS)
+
+BEDEVS='$(DD)beos.dev $(DD)bealpha2.dev $(DD)bealpha4.dev $(DD)bealpht2.dev $(DD)bealpht4.dev'
+AC_SUBST(BEDEVS)
+
dnl executible name
AC_ARG_WITH(gs, AC_HELP_STRING([--with-gs=NAME],
[name of the ghostscript executible [[gs]]]),
diff --git a/src/contrib.mak b/src/contrib.mak
index bc889fb..1a9069a 100644
index bc889fb..a9eba37 100644
--- a/src/contrib.mak
+++ b/src/contrib.mak
@@ -863,20 +863,20 @@ $(GLOBJ)gdevsunr.$(OBJ) : $(GLSRC)gdevsunr.c $(PDEVH)
### by Michael Pfeiffer <michael.pfeiffer@utanet.at>; ###
### anti-aliasing drivers by Michael Pfeiffer. ###
@@ -865,18 +865,23 @@ $(GLOBJ)gdevsunr.$(OBJ) : $(GLSRC)gdevsunr.c $(PDEVH)
-$(DD)beos.dev: $(GLOBJ)gdevbe.$(OBJ)
- $(SETDEV) $(DD)beos $(GLOBJ)gdevbe.$(OBJ)
+$(DD)unix.dev: $(GLOBJ)gdevbe.$(OBJ)
+ $(SETDEV) $(DD)unix $(GLOBJ)gdevbe.$(OBJ)
$(DD)beos.dev: $(GLOBJ)gdevbe.$(OBJ)
$(SETDEV) $(DD)beos $(GLOBJ)gdevbe.$(OBJ)
+ $(ADDMOD) $(DD)beos -lib $(BELIBS)
$(DD)bealpha2.dev: $(GLOBJ)gdevbe.$(OBJ)
$(SETDEV) $(DD)bealpha2 $(GLOBJ)gdevbe.$(OBJ)
+ $(ADDMOD) $(DD)bealpha2 -lib $(BELIBS)
$(DD)bealpha4.dev: $(GLOBJ)gdevbe.$(OBJ)
$(SETDEV) $(DD)bealpha4 $(GLOBJ)gdevbe.$(OBJ)
-
+ $(ADDMOD) $(DD)bealpha4 -lib $(BELIBS)
+
$(DD)bealpht2.dev: $(GLOBJ)gdevbe.$(OBJ)
$(SETDEV) $(DD)bealpht2 $(GLOBJ)gdevbe.$(OBJ)
+ $(ADDMOD) $(DD)bealpht2 -lib $(BELIBS)
$(DD)bealpht4.dev: $(GLOBJ)gdevbe.$(OBJ)
$(SETDEV) $(DD)bealpht4 $(GLOBJ)gdevbe.$(OBJ)
+ $(ADDMOD) $(DD)bealpht4 -lib $(BELIBS)
- $(GLOBJ)gdevbe.$(OBJ): $(GLSRC)gdevbe.cpp $(GLSRC)gdevbe.h $(GDEV)
+$(GLOBJ)gdevbe.$(OBJ): $(GLSRC)gdevbe.cpp $(GLSRC)gdevbe.h $(GDEV)
@@ -2659,19 +2699,25 @@ index db03cd6..ee3848a 100644
path->Append(kPreferencesFile) == B_OK;
}
diff --git a/src/ugcclib.mak b/src/ugcclib.mak
index faca15d..1d5e256 100644
--- a/src/ugcclib.mak
+++ b/src/ugcclib.mak
@@ -93,7 +93,7 @@ CFLAGS_PROFILE=-pg -O2
CFLAGS=$(CFLAGS_DEBUG) $(GCFLAGS) $(XCFLAGS)
LDFLAGS=$(XLDFLAGS)
STDLIBS=-lm
-EXTRALIBS=
+EXTRALIBS=-lbe
XINCLUDE=-I/usr/X11R6/include
XLIBDIRS=-L/usr/X11R6/lib
XLIBDIR=
diff --git a/src/stdpre.h b/src/stdpre.h
index 101d4b9..932b678 100644
--- a/src/stdpre.h
+++ b/src/stdpre.h
@@ -281,13 +281,7 @@ typedef unsigned long ulong;
* and the MetroWerks C++ compiler insists that bool be equivalent to
* unsigned char.
*/
-#ifndef __cplusplus
-#ifdef __BEOS__
-typedef unsigned char bool;
-#else
-typedef int bool;
-#endif
-#endif
+#include <stdbool.h>
/*
* Older versions of MetroWerks CodeWarrior defined true and false, but they're now
* an enum in the (MacOS) Universal Interfaces. The only way around this is to escape
diff --git a/src/unix-aux.mak b/src/unix-aux.mak
index 6aded32..29c585d 100644
--- a/src/unix-aux.mak
@@ -2711,31 +2757,26 @@ index ab84c1b..0c9c04a 100644
# ------------------------- Recursive make targets ------------------------- #
diff --git a/src/unix-gcc.mak b/src/unix-gcc.mak
index e4e3113..943c5af 100644
index e4e3113..1d14d0a 100644
--- a/src/unix-gcc.mak
+++ b/src/unix-gcc.mak
@@ -367,7 +367,7 @@ EXTEND_NAMES=0
@@ -256,7 +256,7 @@ LDFLAGS=$(XLDFLAGS)
# Solaris may need -lnsl -lsocket -lposix4.
# (Libraries required by individual drivers are handled automatically.)
-EXTRALIBS=-lbe
+EXTRALIBS=
# Define the standard libraries to search at the end of linking.
# Most platforms require -lpthread for the POSIX threads library;
@@ -367,7 +367,6 @@ EXTEND_NAMES=0
# Choose the device(s) to include. See devs.mak for details,
# devs.mak and contrib.mak for the list of available devices.
-DEVICE_DEVS=$(DISPLAY_DEV) $(DD)beos.dev $(DD)bealpha2.dev $(DD)bealpha4.dev $(DD)bealpht2.dev $(DD)bealpht4.dev
+DEVICE_DEVS=$(DISPLAY_DEV) $(DD)unix.dev $(DD)bealpha2.dev $(DD)bealpha4.dev $(DD)bealpht2.dev $(DD)bealpht4.dev
#DEVICE_DEVS=$(DISPLAY_DEV) $(DD)x11.dev $(DD)x11alpha.dev $(DD)x11cmyk.dev $(DD)x11gray2.dev $(DD)x11gray4.dev $(DD)x11mono.dev
#DEVICE_DEVS1=
diff --git a/src/unixansi.mak b/src/unixansi.mak
index 3425785..cc7a8a7 100644
--- a/src/unixansi.mak
+++ b/src/unixansi.mak
@@ -237,7 +237,7 @@ LDFLAGS=$(XLDFLAGS)
# Solaris may need -lnsl -lsocket -lposix4.
# (Libraries required by individual drivers are handled automatically.)
-EXTRALIBS=
+EXTRALIBS=-lbe
# Define the standard libraries to search at the end of linking.
# Most platforms require -lpthread for the POSIX threads library;
diff --git a/src/unixlink.mak b/src/unixlink.mak
index e8b122e..bcaf1a8 100644
--- a/src/unixlink.mak