Mercurial > gub
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)