Files
haikuports/app-text/ghostscript_gpl/patches/ghostscript_gpl-9.25.patchset
Adrien Destugues 9541fd1e77 ghostscript: fix build on x86 32bit + enable libgs.so
There seem to e support in unix-lib.mak for building a shared lib, but
somehow it is not being used. So there are some ugly hacks.
2019-03-10 20:12:36 +01:00

73 lines
2.8 KiB
Plaintext

From a75adcb0ccfd3dba5a465d426c00f273906356e6 Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Sun, 10 Mar 2019 13:45:11 +0100
Subject: Fix build on x86 32bit
Conflict of macro name with a struct field in one of our headers.
diff --git a/psi/estack.h b/psi/estack.h
index f48c726..4a59ff9 100644
--- a/psi/estack.h
+++ b/psi/estack.h
@@ -18,6 +18,8 @@
#ifndef estack_INCLUDED
# define estack_INCLUDED
+#include <signal.h> /* before we #define esp, which prevents it from building */
+
#include "iestack.h"
#include "icstate.h" /* for access to exec_stack */
--
2.19.1
From d3eb5678711e49002b17cc2e4e619cccebc90129 Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Sun, 10 Mar 2019 15:45:05 +0100
Subject: Fix linking of shared lib.
diff --git a/base/ugcclib.mak b/base/ugcclib.mak
index f3c5005..0da7d74 100644
--- a/base/ugcclib.mak
+++ b/base/ugcclib.mak
@@ -171,7 +171,7 @@ include $(GLSRCDIR)/unix-aux.mak
LIB_ONLY=$(GLOBJ)gsnogc.$(OBJ) $(GLOBJ)gconfig.$(OBJ) $(GLOBJ)gscdefs.$(OBJ) $(GLOBJ)gsromfs$(COMPILE_INITS).$(OBJ)
ldt_tr=$(GLOBJ)ldt.tr
$(GS_XE): $(ld_tr) $(ECHOGS_XE) $(LIB_ALL) $(DEVS_ALL) $(GLOBJ)gslib.$(OBJ) $(LIB_ONLY)
- $(ECHOGS_XE) -w $(ldt_tr) -n - $(CCLD) $(LDFLAGS) -o $(GS_XE)
+ $(ECHOGS_XE) -w $(ldt_tr) -n - $(CCLD) $(LDFLAGS_SO) -o $(GS_XE)
$(ECHOGS_XE) -a $(ldt_tr) -n -s $(GLOBJ)gslib.$(OBJ) -s
$(ECHOGS_XE) -a $(ldt_tr) -n -s $(LIB_ONLY) -s
cat $(ld_tr) >>$(ldt_tr)
diff --git a/base/unix-dll.mak b/base/unix-dll.mak
index 8d22a1d..2afb94e 100644
--- a/base/unix-dll.mak
+++ b/base/unix-dll.mak
@@ -82,7 +82,7 @@ GPDL_SONAME=$(GPDL_SONAME_BASE)$(GS_SOEXT)$(GS_DLLEXT)
GPDL_SONAME_MAJOR=$(GPDL_SONAME_BASE)$(GS_SOEXT)$(SO_LIB_VERSION_SEPARATOR)$(GS_VERSION_MAJOR)$(GS_DLLEXT)
GPDL_SONAME_MAJOR_MINOR=$(GPDL_SONAME_BASE)$(GS_SOEXT)$(SO_LIB_VERSION_SEPARATOR)$(GS_VERSION_MAJOR)$(SO_LIB_VERSION_SEPARATOR)$(GS_VERSION_MINOR)$(GS_DLLEXT)
-#LDFLAGS_SO=-shared -Wl,-soname=$(GS_SONAME_MAJOR)
+LDFLAGS_SO=-shared -Wl,-soname=$(GS_SONAME_MAJOR)
# NOTE: the value of LD_SET_DT_SONAME for, for example, Solaris ld, must contain the
# trailing space to separation it from the value of the option. For GNU ld and
diff --git a/base/unixlink.mak b/base/unixlink.mak
index 86be8a3..2320578 100644
--- a/base/unixlink.mak
+++ b/base/unixlink.mak
@@ -156,7 +156,7 @@ ldt_tr=$(PSOBJ)ldt.tr
$(GS_XE): $(ld_tr) $(gs_tr) $(ECHOGS_XE) $(XE_ALL) $(PSOBJ)gsromfs$(COMPILE_INITS).$(OBJ) \
$(UNIXLINK_MAK)
- $(ECHOGS_XE) -w $(ldt_tr) -n - $(CCLD) $(GS_LDFLAGS) -o $(GS_XE)
+ $(ECHOGS_XE) -w $(ldt_tr) -n - $(CCLD) $(GS_LDFLAGS) -shared -Wl,-soname=libgs.so.9.25 -o $(GS_XE)
$(ECHOGS_XE) -a $(ldt_tr) -n -s $(PSOBJ)gsromfs$(COMPILE_INITS).$(OBJ) $(GS_DOT_O) -s
cat $(gsld_tr) >> $(ldt_tr)
$(ECHOGS_XE) -a $(ldt_tr) -s - $(EXTRALIBS) $(STDLIBS)
--
2.19.1