[gs-cvs] rev 6890 - trunk/gs/src

giles at ghostscript.com giles at ghostscript.com
Tue Jul 4 16:13:14 PDT 2006


Author: giles
Date: 2006-07-04 16:13:13 -0700 (Tue, 04 Jul 2006)
New Revision: 6890

Modified:
   trunk/gs/src/unix-dll.mak
Log:
Modularize the soname and link flags for the unix shared library build
to facilitate use on different platforms.


Modified: trunk/gs/src/unix-dll.mak
===================================================================
--- trunk/gs/src/unix-dll.mak	2006-07-04 21:31:43 UTC (rev 6889)
+++ trunk/gs/src/unix-dll.mak	2006-07-04 23:13:13 UTC (rev 6890)
@@ -11,7 +11,7 @@
 #  San Rafael, CA  94903, U.S.A., +1(415)492-9861, for further information.
 #
 # $Id$
-# Partial makefile for Unix shared object target
+# Partial makefile for Unix shared library target
 
 # Useful make commands:
 #  make so		make ghostscript as a shared object
@@ -42,12 +42,26 @@
 GSSOX=$(BINDIR)/$(SOBINRELDIR)/$(GSSOX_XENAME)
 
 # shared library
-GS_SONAME=lib$(GS).so
+GS_SONAME_BASE=lib$(GS)
+
+# GNU/Linux
+GS_SOEXT=so
+GS_SONAME=$(GS_SONAME_BASE).$(GS_SOEXT)
 GS_SONAME_MAJOR=$(GS_SONAME).$(GS_VERSION_MAJOR)
-GS_SONAME_MAJOR_MINOR= $(GS_SONAME).$(GS_VERSION_MAJOR).$(GS_VERSION_MINOR)
+GS_SONAME_MAJOR_MINOR=$(GS_SONAME).$(GS_VERSION_MAJOR).$(GS_VERSION_MINOR)
+LDFLAGS_SO=-shared -Wl,-soname=$(GS_SONAME_MAJOR)
+
+# 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)
+#LDFLAGS_SO=-dynamiclib -flat-namespace
+#LDFLAGS_SO=-dynamiclib -install-name $(GS_SONAME_MAJOR_MINOR)
+
 GS_SO=$(BINDIR)/$(GS_SONAME)
-GS_SO_MAJOR=$(GS_SO).$(GS_VERSION_MAJOR)
-GS_SO_MAJOR_MINOR=$(GS_SO_MAJOR).$(GS_VERSION_MINOR)
+GS_SO_MAJOR=$(BINDIR)/$(GS_SONAME_MAJOR)
+GS_SO_MAJOR_MINOR=$(BINDIR)/$(GS_SONAME_MAJOR_MINOR)
 
 # Shared object is built by redefining GS_XE in a recursive make.
 
@@ -63,15 +77,16 @@
 
 # Build the small Ghostscript loaders, with Gtk+ and without
 
-$(GSSOX_XE): $(GS_SO) $(GLSRC)dxmain.c
-	$(GLCC) -g `pkg-config gtk+-2.0 --cflags` -o $(GSSOX_XE) $(GLSRC)dxmain.c -L$(BINDIR) -l$(GS) `pkg-config gtk+-2.0 --libs`
-
 $(GSSOC_XE): $(GS_SO) $(GLSRC)dxmainc.c
 	$(GLCC) -g -o $(GSSOC_XE) $(GLSRC)dxmainc.c -L$(BINDIR) -l$(GS)
 
+$(GSSOX_XE): $(GS_SO) $(GLSRC)dxmain.c
+	$(GLCC) -g `pkg-config --cflags gtk+-2.0` -o $(GSSOX_XE) $(GLSRC)dxmain.c -L$(BINDIR) -l$(GS) `pkg-config --libs gtk+-2.0`
+
+
 # ------------------------- Recursive make targets ------------------------- #
 
-SODEFS=LDFLAGS='$(LDFLAGS) $(CFLAGS_SO) -shared -Wl,-soname=$(GS_SONAME_MAJOR)'\
+SODEFS=LDFLAGS='$(LDFLAGS) $(LDFLAGS_SO)'\
  GS_XE=$(BINDIR)/$(SOBINRELDIR)/$(GS_SONAME_MAJOR_MINOR)\
  STDIO_IMPLEMENTATION=c\
  DISPLAY_DEV=$(DD)$(SOOBJRELDIR)/display.dev\



More information about the gs-cvs mailing list