ghostscript: cleaner/working fix for building shared libs

The previous patch built the executable as shared libs as well, oops.
This commit is contained in:
Adrien Destugues
2019-03-13 21:16:18 +01:00
parent 5985e94226
commit a4b9721266
2 changed files with 20 additions and 43 deletions

View File

@@ -96,6 +96,7 @@ BUILD_REQUIRES="
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:autoconf
cmd:awk
cmd:find
cmd:gcc$secondaryArchSuffix
@@ -125,6 +126,8 @@ BUILD()
# Force configure to use system-libs
rm -rf {freetype,jbig2dec,jpeg,lcms2,libpng,tiff,zlib}
autoconf
# Do configure
runConfigure --omit-dirs binDir ./configure \
--bindir=$commandBinDir \

View File

@@ -1,4 +1,4 @@
From a75adcb0ccfd3dba5a465d426c00f273906356e6 Mon Sep 17 00:00:00 2001
From 476a63ad1478ae24038f38edf61ef26c18a9c5f9 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
@@ -22,51 +22,25 @@ index f48c726..4a59ff9 100644
2.19.1
From d3eb5678711e49002b17cc2e4e619cccebc90129 Mon Sep 17 00:00:00 2001
From 0e065ed8df55ba2742d6567f8e4148edf0f17bea 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.
Date: Wed, 13 Mar 2019 21:14:28 +0100
Subject: fix building shared libs
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 -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)
diff --git a/configure.ac b/configure.ac
index 8ecaccc..c52a2c3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2396,7 +2396,7 @@ else
DLL_EXT=".dll"
SO_LIB_VERSION_SEPARATOR="-"
;;
- *BSD)
+ *BSD|Haiku*)
DYNAMIC_CFLAGS="-fPIC"
GS_DYNAMIC_LDFLAGS="-shared -Wl,\$(LD_SET_DT_SONAME)\$(LDFLAGS_SO_PREFIX)\$(GS_SONAME_MAJOR)"
PCL_DYNAMIC_LDFLAGS="-shared -Wl,\$(LD_SET_DT_SONAME)\$(LDFLAGS_SO_PREFIX)\$(PCL_SONAME_MAJOR)"
--
2.19.1