changeset 5994:1b032dd75db2

adjusted version of ghostscript-8.70-make.patch, plus small fixes for linking gsc/gsx
author Hin-Tak Leung <HinTak.Leung@gmail.com>
date Fri, 27 Aug 2010 03:14:01 +0100
parents 583e49a656ee
children 00328ff601cd
files patches/ghostscript-9.00-make.patch
diffstat 1 files changed, 109 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/ghostscript-9.00-make.patch	Fri Aug 27 03:14:01 2010 +0100
@@ -0,0 +1,109 @@
+diff --git a/base/unix-dll.mak b/base/unix-dll.mak
+index 8625f99..0d238ba 100644
+--- a/base/unix-dll.mak
++++ b/base/unix-dll.mak
+@@ -31,6 +31,11 @@ SOBINRELDIR=../sobin
+ 
+ # Shared object names
+ 
++ifeq ($(TARGET),mingw)
++GS=gs
++XE=.exe
++endif
++
+ # simple loader (no support for display device)
+ GSSOC_XENAME=$(GS)c$(XE)
+ GSSOC_XE=$(BINDIR)/$(GSSOC_XENAME)
+@@ -51,14 +51,27 @@ GS_SONAME_MAJOR=$(GS_SONAME).$(GS_VERSION_MAJOR)
+ GS_SONAME_MAJOR_MINOR=$(GS_SONAME).$(GS_VERSION_MAJOR).$(GS_VERSION_MINOR)
+ LDFLAGS_SO=-shared -Wl,-soname=$(GS_SONAME_MAJOR)
+ 
++ifeq ($(TARGET),darwin)
+ # MacOS X
+-#GS_SOEXT=dylib
+-#GS_SONAME=$(GS_SONAME_BASE).$(GS_SOEXT)
+-#GS_SONAME_MAJOR=$(GS_SONAME_BASE).$(GS_VERSION_MAJOR).$(GS_SOEXT)
+-#GS_SONAME_MAJOR_MINOR=$(GS_SONAME_BASE).$(GS_VERSION_MAJOR).$(GS_VERSION_MINOR).$(GS_SOEXT)
++GS_SOEXT=dylib
++GS_SONAME=$(GS_SONAME_BASE).$(GS_SOEXT)
++GS_SONAME_MAJOR=$(GS_SONAME_BASE).$(GS_VERSION_MAJOR).$(GS_SOEXT)
++GS_SONAME_MAJOR_MINOR=$(GS_SONAME_BASE).$(GS_VERSION_MAJOR).$(GS_VERSION_MINOR).$(GS_SOEXT)
+ #LDFLAGS_SO=-dynamiclib -flat_namespace
+ #LDFLAGS_SO=-dynamiclib -install_name $(GS_SONAME_MAJOR_MINOR)
+ #LDFLAGS_SO=-dynamiclib -install_name $(FRAMEWORK_NAME)
++LDFLAGS_SO=-dynamiclib
++endif
++
++ifeq ($(TARGET),mingw)
++# Mingw
++GS_SONAME_BASE=gs
++GS_SOEXT=dll
++GS_SONAME=$(GS_SONAME_BASE).$(GS_SOEXT)
++GS_SONAME_MAJOR=$(GS_SONAME_BASE)-$(GS_VERSION_MAJOR).$(GS_SOEXT)
++GS_SONAME_MAJOR_MINOR=$(GS_SONAME_BASE)-$(GS_VERSION_MAJOR).$(GS_VERSION_MINOR).$(GS_SOEXT)
++LDFLAGS_SO=-shared -Wl,-soname=$(GS_SONAME_MAJOR_MINOR)
++endif
+ 
+ GS_SO=$(BINDIR)/$(GS_SONAME)
+ GS_SO_MAJOR=$(BINDIR)/$(GS_SONAME_MAJOR) 
+@@ -87,6 +100,8 @@ $(GSSOX_XE): $(GS_SO) $(PSSRC)$(SOC_LOADER)
+ 
+ # ------------------------- Recursive make targets ------------------------- #
+ 
++# Help -rpath $ORIGIN survive the $(MAKE) command line expansion
++MAKE_LDFLAGS=$(subst $$,\$$$$,$(LDFLAGS))
+ SODEFS=\
+  GS_XE=$(BINDIR)/$(SOBINRELDIR)/$(GS_SONAME_MAJOR_MINOR)\
+  STDIO_IMPLEMENTATION=c\
+@@ -103,11 +118,11 @@ so: SODIRS
+ 	@if test -z "$(MAKE)" -o -z "`$(MAKE) --version 2>&1 | grep GNU`";\
+ 	  then echo "Warning: this target requires gmake";\
+ 	fi
+-	$(MAKE) $(SODEFS) LDFLAGS='$(LDFLAGS)' CFLAGS='$(CFLAGS_STANDARD) $(GCFLAGS) $(XCFLAGS)' prefix=$(prefix) \
++	$(MAKE) $(SODEFS) LDFLAGS='$(MAKE_LDFLAGS)' CFLAGS='$(CFLAGS_STANDARD) $(GCFLAGS) $(XCFLAGS)' prefix=$(prefix) \
+                 $(GLOBJDIR)/$(SOOBJRELDIR)/echogs$(XEAUX) $(GLOBJDIR)/$(SOOBJRELDIR)/genarch$(XEAUX)
+-	$(MAKE) $(SODEFS) LDFLAGS='$(LDFLAGS) $(LDFLAGS_SO)' CFLAGS='$(CFLAGS_STANDARD) $(CFLAGS_SO) $(GCFLAGS) $(XCFLAGS)' \
++	$(MAKE) $(SODEFS) LDFLAGS='$(MAKE_LDFLAGS) $(LDFLAGS_SO)' CFLAGS='$(CFLAGS_STANDARD) $(CFLAGS_SO) $(GCFLAGS) $(XCFLAGS)' \
+                 prefix=$(prefix)
+-	$(MAKE) $(SODEFS) LDFLAGS='$(LDFLAGS)' CFLAGS='$(CFLAGS_STANDARD) $(GCFLAGS) $(XCFLAGS)' prefix=$(prefix) $(GSSOC) $(GSSOX)
++	$(MAKE) $(SODEFS) LDFLAGS='$(MAKE_LDFLAGS)' CFLAGS='$(CFLAGS_STANDARD) $(GCFLAGS) $(XCFLAGS)' prefix=$(prefix) $(GSSOC) $(GSSOX)
+ 
+ # Debug shared object
+ # Note that this is in the same directory as the normal shared
+@@ -116,11 +131,11 @@ sodebug: SODIRS
+ 	@if test -z "$(MAKE)" -o -z "`$(MAKE) --version 2>&1 | grep GNU`";\
+ 	  then echo "Warning: this target requires gmake";\
+ 	fi
+-	$(MAKE) $(SODEFS) GENOPT='-DDEBUG' LDFLAGS='$(LDFLAGS)' CFLAGS='$(CFLAGS_STANDARD) $(GCFLAGS) $(XCFLAGS)' prefix=$(prefix) \
++	$(MAKE) $(SODEFS) GENOPT='-DDEBUG' LDFLAGS='$(MAKE_LDFLAGS)' CFLAGS='$(CFLAGS_STANDARD) $(GCFLAGS) $(XCFLAGS)' prefix=$(prefix) \
+                 $(GLOBJDIR)/$(SOOBJRELDIR)/echogs$(XEAUX) $(GLOBJDIR)/$(SOOBJRELDIR)/genarch$(XEAUX)
+-	$(MAKE) $(SODEFS) GENOPT='-DDEBUG' LDFLAGS='$(LDFLAGS) $(LDFLAGS_SO)' CFLAGS='$(CFLAGS_STANDARD) $(CFLAGS_SO) $(GCFLAGS) $(XCFLAGS)' \
++	$(MAKE) $(SODEFS) GENOPT='-DDEBUG' LDFLAGS='$(MAKE_LDFLAGS) $(LDFLAGS_SO)' CFLAGS='$(CFLAGS_STANDARD) $(CFLAGS_SO) $(GCFLAGS) $(XCFLAGS)' \
+                 prefix=$(prefix)
+-	$(MAKE) $(SODEFS) GENOPT='-DDEBUG' LDFLAGS='$(LDFLAGS)' CFLAGS='$(CFLAGS_STANDARD) $(GCFLAGS) $(XCFLAGS)' prefix=$(prefix) $(GSSOC) $(GSSOX)
++	$(MAKE) $(SODEFS) GENOPT='-DDEBUG' LDFLAGS='$(MAKE_LDFLAGS)' CFLAGS='$(CFLAGS_STANDARD) $(GCFLAGS) $(XCFLAGS)' prefix=$(prefix) $(GSSOC) $(GSSOX)
+ 
+ 
+ #	$(MAKE) $(SODEFS) GENOPT='-DDEBUG' CFLAGS='$(CFLAGS_DEBUG) $(CFLAGS_SO) $(GCFLAGS) $(XCFLAGS)' $(GSSOC) $(GSSOX)
+diff --git a/base/unixlink.mak b/base/unixlink.mak
+index e268c7d..7479afd 100644
+--- a/base/unixlink.mak
++++ b/base/unixlink.mak
+@@ -44,13 +44,16 @@ $(GS_A): $(obj_tr) $(ECHOGS_XE) $(INT_ARCHIVE_ALL) $(INT_ALL) $(DEVS_ALL)
+ 	$(SH) <$(liar_tr)
+ 	$(RANLIB) $(GS_A)
+ 
++# Help -rpath $ORIGIN survive the ECHOGS_XE sh command line expansion
++SHELL_LDFLAGS=$(subst $$,\$$,$(LDFLAGS))
++
+ # Here is the final link step.  The stuff with LD_RUN_PATH is for SVR4
+ # systems with dynamic library loading; I believe it's harmless elsewhere.
+ # The resetting of the environment variables to empty strings is for SCO Unix,
+ # which has limited environment space.
+ ldt_tr=$(PSOBJ)ldt.tr
+ $(GS_XE): $(ld_tr) $(ECHOGS_XE) $(XE_ALL) $(PSOBJ)gsromfs$(COMPILE_INITS).$(OBJ)
+-	$(ECHOGS_XE) -w $(ldt_tr) -n - $(CCLD) $(LDFLAGS) -o $(GS_XE)
++	$(ECHOGS_XE) -w $(ldt_tr) -n - $(CCLD) $(SHELL_LDFLAGS) -o $(GS_XE)
+ 	$(ECHOGS_XE) -a $(ldt_tr) -n -s $(PSOBJ)gsromfs$(COMPILE_INITS).$(OBJ) $(PSOBJ)gs.$(OBJ) -s
+ 	cat $(ld_tr) >>$(ldt_tr)
+ 	$(ECHOGS_XE) -a $(ldt_tr) -s - $(EXTRALIBS) $(STDLIBS)