Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 06 Dec 1999 09:45:12 -0600
From:      Ade Lovett <ade@lovett.com>
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   ports/15313: Persuade graphics/gd to build shared libraries
Message-ID:  <E11v0K8-000PLX-00@anaconda.lovett.com>

next in thread | raw e-mail | index | archive | help

>Number:         15313
>Category:       ports
>Synopsis:       Persuade graphics/gd to build shared libraries
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Mon Dec  6 07:50:00 PST 1999
>Closed-Date:
>Last-Modified:
>Originator:     Ade Lovett
>Release:        FreeBSD 3.3-STABLE i386
>Organization:
Lovett Network Consultancy
>Environment:

	Up to date ports tree.  Too cold (37F) outside, especially
	for central Texas.

>Description:

	graphics/gd lost the ability to make shared libraries when
	the software author dropped the use of GNU configure..

>How-To-Repeat:

	Apply following patch to graphics/gd to resurrect shared
	libraries.  I've purposely left the shlib version number
	the same (0) as before, since whilst the build process
	is different, the API hasn't changed.

>Fix:
	
Version:	unchanged - add capability to build shared library
Changes:	Makefile patches/patch-ac pkg/PLIST
Adds:		NONE
Removes:	NONE

cvs diff: Diffing .
Index: Makefile
===================================================================
RCS file: /home/ncvs/ports/graphics/gd/Makefile,v
retrieving revision 1.14
diff -u -r1.14 Makefile
--- Makefile	1999/11/01 01:00:54	1.14
+++ Makefile	1999/12/01 23:01:11
@@ -18,4 +18,7 @@
 pre-install:
 	${MKDIR} ${PREFIX}/include/gd
 
+post-install:
+	${SETENV} OBJFORMAT=${PORTOBJFORMAT} ${LDCONFIG} -m ${PREFIX}/lib
+
 .include <bsd.port.mk>
cvs diff: Diffing files
cvs diff: Diffing patches
Index: patches/patch-ac
===================================================================
RCS file: /home/ncvs/ports/graphics/gd/patches/patch-ac,v
retrieving revision 1.1
diff -u -r1.1 patch-ac
--- patch-ac	1999/11/01 01:01:00	1.1
+++ patch-ac	1999/12/01 23:03:02
@@ -1,5 +1,5 @@
 --- Makefile.orig	Wed Oct 13 16:20:11 1999
-+++ Makefile	Mon Oct 25 10:43:21 1999
++++ Makefile	Wed Dec  1 17:02:41 1999
 @@ -3,19 +3,19 @@
  #If you do not have gcc, change the setting for COMPILER, but you must
  #use an ANSI standard C compiler (NOT the old SunOS 4.1.3 cc
@@ -54,7 +54,7 @@
  
  #
  #
-@@ -58,8 +58,8 @@
+@@ -58,34 +58,41 @@
  
  VERSION=1.7
  
@@ -65,9 +65,17 @@
  
  PROGRAMS=$(BIN_PROGRAMS) $(TEST_PROGRAMS)
  
-@@ -69,23 +69,23 @@
- all: libgd.a $(PROGRAMS)
+ BIN_PROGRAMS=pngtogd pngtogd2 gdtopng gd2topng gd2copypal gdparttopng webpng
+ TEST_PROGRAMS=gdtest gddemo gd2time gdtestttf
  
+-all: libgd.a $(PROGRAMS)
++.SUFFIXES: .c .so .o
++
++.c.so:
++	${CC} -fpic -DPIC ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
++
++all: libgd.a libgd.so.0 $(PROGRAMS)
+ 
  install: libgd.a $(BIN_PROGRAMS)
 -	$(INSTALL) -m 644 libgd.a $(INSTALL_LIB)/libgd.a
 -	$(INSTALL) -m 755 pngtogd $(INSTALL_BIN)/pngtogd
@@ -87,6 +95,8 @@
 -	$(INSTALL) -m 644 gdfonts.h $(INSTALL_INCLUDE)/gdfonts.h
 -	$(INSTALL) -m 644 gdfontt.h $(INSTALL_INCLUDE)/gdfontt.h
 +	$(INSTALL) -c -m 644 libgd.a $(INSTALL_LIB)/libgd.a
++	$(INSTALL) -c -m 755 libgd.so.0 $(INSTALL_LIB)/libgd.so.0
++	ln -sf libgd.so.0 $(INSTALL_LIB)/libgd.so
 +	$(INSTALL) -c -m 755 pngtogd $(INSTALL_BIN)/pngtogd
 +	$(INSTALL) -c -m 755 pngtogd2 $(INSTALL_BIN)/pngtogd2
 +	$(INSTALL) -c -m 755 gdtopng $(INSTALL_BIN)/gdtopng
@@ -106,3 +116,30 @@
  
  gddemo: gddemo.o libgd.a
  	$(CC) gddemo.o -o gddemo	$(LIBDIRS) $(LIBS)
+@@ -120,16 +127,19 @@
+ gdtestttf: gdtestttf.o libgd.a
+ 	$(CC) gdtestttf.o -o gdtestttf	$(LIBDIRS) $(LIBS)
+ 
+-libgd.a: gd.o gd_gd.o gd_gd2.o gd_io.o gd_io_dp.o gd_io_file.o gd_ss.o \
++OBJS=gd.o gd_gd.o gd_gd2.o gd_io.o gd_io_dp.o gd_io_file.o gd_ss.o \
+ 	gd_io_ss.o gd_png.o gdxpm.o gdfontt.o gdfonts.o gdfontmb.o gdfontl.o \
+-	gdfontg.o gdtables.o gdttf.o gdcache.o gdkanji.o \
+-	gd.h gdfontt.h gdfonts.h gdfontmb.h gdfontl.h gdfontg.h
++	gdfontg.o gdtables.o gdttf.o gdcache.o gdkanji.o
++INCS=gd.h gdfontt.h gdfonts.h gdfontmb.h gdfontl.h gdfontg.h
++
++libgd.a:	$(INCS) $(OBJS)
+ 	rm -f libgd.a
+-	$(AR) rc libgd.a gd.o gd_gd.o gd_gd2.o gd_io.o gd_io_dp.o \
+-		gd_io_file.o gd_ss.o gd_io_ss.o gd_png.o gdxpm.o \
+-		gdfontt.o gdfonts.o gdfontmb.o gdfontl.o gdfontg.o \
+-		gdtables.o gdttf.o gdcache.o gdkanji.o
++	$(AR) rc libgd.a $(OBJS)
+ 	-ranlib libgd.a
++
++libgd.so.0:	$(INCS) $(OBJS:S/o$/so/g)
++	$(CC) -shared -Wl,-x -Wl,-assert -Wl,pure-text -Wl,-soname,$@ -o $@ $(OBJS:S/o$/so/g) $(LIBDIRS) $(LIBS)
++	ln -sf libgd.so.0 libgd.so
+ 
+ clean:
+ 	rm -f *.o *.a ${PROGRAMS}
cvs diff: Diffing pkg
Index: pkg/PLIST
===================================================================
RCS file: /home/ncvs/ports/graphics/gd/pkg/PLIST,v
retrieving revision 1.6
diff -u -r1.6 PLIST
--- PLIST	1999/11/01 01:01:02	1.6
+++ PLIST	1999/12/01 23:02:17
@@ -15,4 +15,8 @@
 include/gd/gdfonts.h
 include/gd/gdfontt.h
 lib/libgd.a
+lib/libgd.so
+lib/libgd.so.0
+@exec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -m %B
+@unexec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -R
 @dirrm include/gd

>Release-Note:
>Audit-Trail:
>Unformatted:


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E11v0K8-000PLX-00>