mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-21 19:20:08 +02:00
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.
73 lines
2.8 KiB
Plaintext
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
|
|
|