- Remove dependency on gd - it uses it's own heavily customized version

- Optimize procedure of building shared libraries
- Avoid a few compiler warnings

Submitted by:	KATO Tsuguru <tkato@prontomail.ne.jp>
This commit is contained in:
Chris Piazza 2000-05-30 19:47:17 +00:00
parent 10bea55318
commit ad143f96cf
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=28991
7 changed files with 124 additions and 107 deletions

View File

@ -13,7 +13,6 @@ MASTER_SITES= http://www.csn.ul.ie/~caolan/publink/libwmf/
MAINTAINER= cpiazza@FreeBSD.org
LIB_DEPENDS= Xpm.4:${PORTSDIR}/graphics/xpm \
gd.0:${PORTSDIR}/graphics/gd \
png.3:${PORTSDIR}/graphics/png \
ttf.4:${PORTSDIR}/print/freetype
@ -22,11 +21,10 @@ WRKSRC= ${WRKDIR}/${PORTNAME}
USE_XLIB= yes
GNU_CONFIGURE= yes
CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include/freetype \
-I${LOCALBASE}/include/gd \
-I${LOCALBASE}/include" \
LIBS="-L${LOCALBASE}"/lib
post-build:
@cd ${WRKSRC} && ${PATCH} < ${FILESDIR}/patch-gd
post-install:
${LDCONFIG} -m ${PREFIX}/lib
.include <bsd.port.mk>

View File

@ -1,8 +1,5 @@
The share lib patch is based on a original idea of billf@FreeBSD.org
taken from his graphics/gd port.
--- Makefile.in.orig Thu Dec 16 13:31:01 1999
+++ Makefile.in Fri May 26 01:24:44 2000
--- Makefile.in.orig Fri Dec 17 00:31:01 1999
+++ Makefile.in Tue May 30 19:21:49 2000
@@ -17,6 +17,7 @@
SHELL=/bin/sh
@ -40,73 +37,74 @@ taken from his graphics/gd port.
+ libgdwmf.a \
+ libxfwmf.a \
+ libXwmf.a \
+ libwmf.so.0 \
+ libgdwmf.so.0 \
+ libxfwmf.so.0 \
+ libXwmf.so.0
+ libwmf.so.1 \
+ libgdwmf.so.1 \
+ libxfwmf.so.1 \
+ libXwmf.so.1
+
+TARGETS = $(LIBRARIES) wmftopng wmftofig xwmf
all: $(TARGETS)
-xwmf: libwmf.a libXwmf.a xwmf.o LIBDIB
+xwmf: libwmf.so.0 libXwmf.so.0 xwmf.o LIBDIB
+xwmf: libwmf.so.1 libXwmf.so.1 xwmf.o LIBDIB
$(CC) $(LDFLAGS) -o xwmf xwmf.o -L. -lXwmf -lwmf $(LIBS)
-wmftopng: libwmf.a libgdwmf.a wmftopng.o LIBXGD LIBDIB
+wmftopng: libwmf.so.0 libgdwmf.so.0 wmftopng.o LIBXGD LIBDIB
+wmftopng: libwmf.so.1 libgdwmf.so.1 wmftopng.o LIBXGD LIBDIB
$(CC) $(LDFLAGS) -o wmftopng wmftopng.o -L. -lgdwmf -lwmf $(GDLIBS)
-wmftofig: libwmf.a libxfwmf.a wmftofig.o LIBXFIG
+wmftofig: libwmf.so.0 libxfwmf.so.0 wmftofig.o LIBXFIG
+wmftofig: libwmf.so.1 libxfwmf.so.1 wmftofig.o LIBXFIG
$(CC) $(LDFLAGS) -o wmftofig wmftofig.o -L. -lxfwmf -lwmf $(XFLIBS)
libwmf.a: $(WMFLIBOBJECTS)
$(AR) rc libwmf.a $(WMFLIBOBJECTS)
$(RANLIB) libwmf.a
+libwmf.so.0: $(WMFLIBOBJECTS:S/o$/so/g)
+ $(CC) -shared -Wl,-x -Wl,-assert -Wl,pure-text -Wl,-soname,$@ -o $@ $(WMFLIBOBJECTS:S/o$/so/g) $(LIBS)
+ ln -sf libwmf.so.0 libwmf.so
+libwmf.so.1: $(WMFLIBOBJECTS:.o=.so)
+ $(CC) -shared -Wl,-soname,$@ -o $@ $(WMFLIBOBJECTS:.o=.so) $(LIBS)
+ ln -sf libwmf.so.1 libwmf.so
+
libgdwmf.a: $(GDLIBOBJECTS)
$(AR) rc libgdwmf.a $(GDLIBOBJECTS)
$(RANLIB) libgdwmf.a
+libgdwmf.so.0: $(GDLIBOBJECTS:S/o$/so/g)
+ $(CC) -shared -Wl,-x -Wl,-assert -Wl,pure-text -Wl,-soname,$@ -o $@ $(GDLIBOBJECTS:S/o$/so/g) $(LIBS)
+ ln -sf libgdwmf.so.0 libgdwmf.so
+libgdwmf.so.1: $(GDLIBOBJECTS:.o=.so)
+ $(CC) -shared -Wl,-soname,$@ -o $@ $(GDLIBOBJECTS:.o=.so) $(LIBS)
+ ln -sf libgdwmf.so.1 libgdwmf.so
+
libxfwmf.a: $(XFLIBOBJECTS)
$(AR) rc libxfwmf.a $(XFLIBOBJECTS)
$(RANLIB) libxfwmf.a
+libxfwmf.so.0: $(XFLIBOBJECTS:S/o$/so/g)
+ $(CC) -shared -Wl,-x -Wl,-assert -Wl,pure-text -Wl,-soname,$@ -o $@ $(XFLIBOBJECTS:S/o$/so/g) $(LIBS)
+ ln -sf libxfwmf.so.0 libxfwmf.so
+libxfwmf.so.1: $(XFLIBOBJECTS:.o=.so)
+ $(CC) -shared -Wl,-soname,$@ -o $@ $(XFLIBOBJECTS:.o=.so) $(LIBS)
+ ln -sf libxfwmf.so.1 libxfwmf.so
+
libXwmf.a: $(XLIBOBJECTS)
$(AR) rc libXwmf.a $(XLIBOBJECTS)
$(RANLIB) libXwmf.a
+libXwmf.so.0: $(XLIBOBJECTS:S/o$/so/g)
+ $(CC) -shared -Wl,-x -Wl,-assert -Wl,pure-text -Wl,-soname,$@ -o $@ $(XLIBOBJECTS:S/o$/so/g) $(LIBS)
+ ln -sf libXwmf.so.0 libXwmf.so
+libXwmf.so.1: $(XLIBOBJECTS:.o=.so)
+ $(CC) -shared -Wl,-soname,$@ -o $@ $(XLIBOBJECTS:.o=.so) $(LIBS)
+ ln -sf libXwmf.so.1 libXwmf.so
+
LIBDIB:
@echo making libdib in libdib
@(cd libdib && $(MAKE)) || exit 1
@@ -97,6 +127,9 @@
%.o: %.c
$(CC) $(CFLAGS) -c $*.c
@@ -94,8 +124,8 @@
@echo making libxfig in libxfig
@(cd libxfig && $(MAKE)) || exit 1
-%.o: %.c
- $(CC) $(CFLAGS) -c $*.c
+.c.so:
+ $(CC) -fpic -DPIC $(CFLAGS) -c $(.IMPSRC) -o $(.TARGET)
+
+ $(CC) $(CFLAGS) -fPIC -DPIC -o $@ -c $<
clean: cleansub
rm -rf *.o wmftopng wmftofig xwmf a.out core *.a .pure
@@ -134,15 +167,24 @@
@@ -134,15 +164,24 @@
$(libdir)
install: all installdirs installsub
@ -120,14 +118,14 @@ taken from his graphics/gd port.
$(INSTALL_DATA) $(srcdir)/libgdwmf.a $(libdir)/libgdwmf.a
$(INSTALL_DATA) $(srcdir)/libXwmf.a $(libdir)/libXwmf.a
$(INSTALL_DATA) $(srcdir)/libxfwmf.a $(libdir)/libxfwmf.a
+ $(INSTALL_DATA) $(srcdir)/libwmf.so.0 $(libdir)/libwmf.so.0
+ ln -sf libwmf.so.0 $(libdir)/libwmf.so
+ $(INSTALL_DATA) $(srcdir)/libgdwmf.so.0 $(libdir)/libgdwmf.so.0
+ ln -sf libgdwmf.so.0 $(libdir)/libgdwmf.so
+ $(INSTALL_DATA) $(srcdir)/libXwmf.so.0 $(libdir)/libXwmf.so.0
+ ln -sf libXwmf.so.0 $(libdir)/libXwmf.so
+ $(INSTALL_DATA) $(srcdir)/libxfwmf.so.0 $(libdir)/libxfwmf.so.0
+ ln -sf libxfwmf.so.0 $(libdir)/libxfwmf.so
+ $(INSTALL_DATA) $(srcdir)/libwmf.so.1 $(libdir)/libwmf.so.1
+ ln -sf libwmf.so.1 $(libdir)/libwmf.so
+ $(INSTALL_DATA) $(srcdir)/libgdwmf.so.1 $(libdir)/libgdwmf.so.1
+ ln -sf libgdwmf.so.1 $(libdir)/libgdwmf.so
+ $(INSTALL_DATA) $(srcdir)/libXwmf.so.1 $(libdir)/libXwmf.so.1
+ ln -sf libXwmf.so.1 $(libdir)/libXwmf.so
+ $(INSTALL_DATA) $(srcdir)/libxfwmf.so.1 $(libdir)/libxfwmf.so.1
+ ln -sf libxfwmf.so.1 $(libdir)/libxfwmf.so
$(INSTALL_DATA) wmfapi.h $(INCLUDEDIR)/wmfapi.h
$(INSTALL_DATA) gdwmfapi.h $(INCLUDEDIR)/gdwmfapi.h
$(INSTALL_DATA) Xwmfapi.h $(INCLUDEDIR)/Xwmfapi.h

View File

@ -1,5 +1,5 @@
--- xgd-1.7.3/Makefile.in.orig Thu Dec 16 13:31:47 1999
+++ xgd-1.7.3/Makefile.in Fri May 26 00:46:31 2000
--- xgd-1.7.3/Makefile.in.orig Fri Dec 17 00:31:47 1999
+++ xgd-1.7.3/Makefile.in Tue May 30 19:20:35 2000
@@ -29,14 +29,14 @@
#If you don't have FreeType and/or Xpm installed, including the
@ -17,7 +17,16 @@
#If you do have FreeType and/or Xpm fully installed, uncomment a
#variation of this and comment out the line above. Note that
@@ -80,26 +80,18 @@
@@ -59,7 +59,7 @@
INSTALL_LIB=@libdir@
#Location where .h files should be installed by "make install".
-INSTALL_INCLUDE=@includedir@
+INSTALL_INCLUDE=@includedir@/xgd
#Location where useful non-test programs should be installed by "make install".
INSTALL_BIN=@bindir@
@@ -80,18 +80,18 @@
BIN_PROGRAMS=pngtogd pngtogd2 gdtopng gd2topng gd2copypal gdparttopng webpng
TEST_PROGRAMS=gdtest gddemo gd2time gdtestttf
@ -34,28 +43,20 @@
- $(INSTALL) gdparttopng $(INSTALL_BIN)/gdparttopng
- $(INSTALL) webpng $(INSTALL_BIN)/webpng
- $(INSTALL) bdftogd $(INSTALL_BIN)/bdftogd
- $(INSTALL_DATA) gd.h $(INSTALL_INCLUDE)/gd.h
- $(INSTALL_DATA) gdcache.h $(INSTALL_INCLUDE)/gdcache.h
- $(INSTALL_DATA) gd_io.h $(INSTALL_INCLUDE)/gd_io.h
- $(INSTALL_DATA) gdfontg.h $(INSTALL_INCLUDE)/gdfontg.h
- $(INSTALL_DATA) gdfontl.h $(INSTALL_INCLUDE)/gdfontl.h
- $(INSTALL_DATA) gdfontmb.h $(INSTALL_INCLUDE)/gdfontmb.h
- $(INSTALL_DATA) gdfonts.h $(INSTALL_INCLUDE)/gdfonts.h
- $(INSTALL_DATA) gdfontt.h $(INSTALL_INCLUDE)/gdfontt.h
+.c.so:
+ $(CC) -fpic -DPIC $(CFLAGS) -c $(.IMPSRC) -o $(.TARGET)
+ $(CC) $(CFLAGS) -fPIC -DPIC -o $@ -c $<
+
+all: libxgd.a libxgd.so.0
+all: libxgd.a libxgd.so.1
+
+install: libxgd.a libxgd.so.0
+install: libxgd.a libxgd.so.1
+ $(INSTALL_DATA) libxgd.a $(INSTALL_LIB)/libxgd.a
+ $(INSTALL_DATA) libxgd.so.0 $(INSTALL_LIB)/libxgd.so.0
+ ln -sf libxgd.so.0 $(INSTALL_LIB)/libxgd.so
+ $(INSTALL_DATA) gd.h $(INSTALL_INCLUDE)/xgd.h
gddemo: gddemo.o libxgd.a
$(CC) gddemo.o -o gddemo $(LIBDIRS) $(LIBS)
@@ -134,16 +126,19 @@
+ $(INSTALL_DATA) libxgd.so.1 $(INSTALL_LIB)/libxgd.so.1
+ ln -sf libxgd.so.1 $(INSTALL_LIB)/libxgd.so
+ mkdir -p $(INSTALL_INCLUDE)
$(INSTALL_DATA) gd.h $(INSTALL_INCLUDE)/gd.h
$(INSTALL_DATA) gdcache.h $(INSTALL_INCLUDE)/gdcache.h
$(INSTALL_DATA) gd_io.h $(INSTALL_INCLUDE)/gd_io.h
@@ -134,16 +134,19 @@
gdtestttf: gdtestttf.o libxgd.a
$(CC) gdtestttf.o -o gdtestttf $(LIBDIRS) $(LIBS)
@ -76,9 +77,9 @@
+ $(AR) rc libxgd.a $(OBJS)
-ranlib libxgd.a
+
+libxgd.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 libxgd.so.0 libxgd.so
+libxgd.so.1: $(INCS) $(OBJS:.o=.so)
+ $(CC) -shared -Wl,-soname,$@ -o $@ $(OBJS:.o=.so) $(LIBDIRS) $(LIBS)
+ ln -sf libxgd.so.1 libxgd.so
clean:
rm -f *.o *.a ${PROGRAMS}

View File

@ -1,6 +1,6 @@
--- libxfig/Makefile.in.orig Tue Jul 13 10:16:20 1999
+++ libxfig/Makefile.in Fri May 26 01:11:08 2000
@@ -28,22 +28,29 @@
--- libxfig/Makefile.in.orig Tue Jul 13 22:16:20 1999
+++ libxfig/Makefile.in Tue May 30 19:22:25 2000
@@ -28,21 +28,25 @@
SHELL = /bin/sh
@ -13,31 +13,29 @@
fileops.o
-all: libxfig.a
+all: libxfig.a libxfig.so.0
+all: libxfig.a libxfig.so.1
libxfig.a: $(MYOBJECTS)
$(AR) rc libxfig.a $(MYOBJECTS)
$(RANLIB) libxfig.a
+libxfig.so.0: $(MYOBJECTS:S/o$/so/g)
+ $(CC) -shared -Wl,-x -Wl,-assert -Wl,pure-text -Wl,-soname,$@ -o $@ $(MYOBJECTS:S/o$/so/g) $(LIBS)
+ ln -sf libxfig.so.0 libxfig.so
-%.o: %.c
- $(CC) $(CFLAGS) -c $*.c
+libxfig.so.1: $(MYOBJECTS:.o=.so)
+ $(CC) -shared -Wl,-soname,$@ -o $@ $(MYOBJECTS:.o=.so) $(LIBS)
+ ln -sf libxfig.so.1 libxfig.so
+
%.o: %.c
$(CC) $(CFLAGS) -c $*.c
+.c.so:
+ $(CC) -fpic -DPIC $(CFLAGS) -c $(.IMPSRC) -o $(.TARGET)
+
+ $(CC) $(CFLAGS) -fPIC -DPIC -o $@ -c $<
clean:
rm -rf *.o *.a core
@@ -52,6 +59,8 @@
@@ -52,6 +56,8 @@
install: all installdirs
$(INSTALL_DATA) libxfig.a @libdir@/libxfig.a
+ $(INSTALL_DATA) libxfig.so.0 @libdir@/libxfig.so.0
+ ln -sf libxfig.so.0 @libdir@/libxfig.so
+ $(INSTALL_DATA) libxfig.so.1 @libdir@/libxfig.so.1
+ ln -sf libxfig.so.1 @libdir@/libxfig.so
installdirs:
$(MKINSTALLDIRS) @libdir@ \

View File

@ -1,6 +1,6 @@
--- libdib/Makefile.in.orig Tue Jul 13 10:14:28 1999
+++ libdib/Makefile.in Fri May 26 01:36:43 2000
@@ -28,25 +28,32 @@
--- libdib/Makefile.in.orig Tue Jul 13 22:14:28 1999
+++ libdib/Makefile.in Tue May 30 19:22:58 2000
@@ -28,25 +28,29 @@
SHELL = /bin/sh
@ -13,34 +13,34 @@
dibtoxpm.o
-all: libdib.a test_dibtoxpm
+all: libdib.a libdib.so.0 test_dibtoxpm
+all: libdib.a libdib.so.1 test_dibtoxpm
libdib.a: $(MYOBJECTS)
$(AR) rc libdib.a $(MYOBJECTS)
$(RANLIB) libdib.a
+libdib.so.0: $(MYOBJECTS:S/o$/so/g)
+ $(CC) -shared -Wl,-x -Wl,-assert -Wl,pure-text -Wl,-soname,$@ -o $@ $(MYOBJECTS:S/o$/so/g) $(LIBS)
+ ln -sf libdib.so.0 libdib.so
+libdib.so.1: $(MYOBJECTS:.o=.so)
+ $(CC) -shared -Wl,-soname,$@ -o $@ $(MYOBJECTS:.o=.so) $(LIBS)
+ ln -sf libdib.so.1 libdib.so
+
test_dibtoxpm: libdib.a test_dibtoxpm.o
$(CC) $(LDFLAGS) -o test_dibtoxpm test_dibtoxpm.o -ldib
%.o: %.c
$(CC) $(CFLAGS) -c $*.c
-%.o: %.c
- $(CC) $(CFLAGS) -c $*.c
-
+.c.so:
+ $(CC) -fpic -DPIC $(CFLAGS) -c $(.IMPSRC) -o $(.TARGET)
+ $(CC) $(CFLAGS) -fPIC -DPIC -o $@ -c $<
+
clean:
rm -rf *.o *.a test_dibtoxpm a.out core
@@ -60,6 +67,8 @@
@@ -60,6 +64,8 @@
install: all installdirs
$(INSTALL_DATA) dibtoxpm.h $(INCLUDEDIR)/dibtoxpm.h
$(INSTALL_DATA) libdib.a @libdir@/libdib.a
+ $(INSTALL_DATA) libdib.so.0 @libdir@/libdib.so.0
+ ln -sf libdib.so.0 @libdir@/libdib.so
+ $(INSTALL_DATA) libdib.so.1 @libdir@/libdib.so.1
+ ln -sf libdib.so.1 @libdir@/libdib.so
# DO NOT DELETE THIS LINE -- make depend depends on it.

View File

@ -0,0 +1,14 @@
--- xgd-1.7.3/gdcache.h.orig Thu Oct 14 06:20:11 1999
+++ xgd-1.7.3/gdcache.h Tue May 30 19:59:48 2000
@@ -40,7 +40,11 @@
/* header */
/*********************************************************/
+#ifdef __STDC__
+#include <stdlib.h>
+#else
#include <malloc.h>
+#endif
#ifndef NULL
#define NULL (void *)0
#endif

View File

@ -5,28 +5,36 @@ include/Xwmfapi.h
include/dibtoxpm.h
include/gdwmfapi.h
include/wmfapi.h
include/xgd.h
include/xgdttf.h
include/xgd/gd.h
include/xgd/gd_io.h
include/xgd/gdcache.h
include/xgd/gdfontg.h
include/xgd/gdfontl.h
include/xgd/gdfontmb.h
include/xgd/gdfonts.h
include/xgd/gdfontt.h
lib/libXwmf.a
lib/libXwmf.so
lib/libXwmf.so.0
lib/libXwmf.so.1
lib/libdib.a
lib/libdib.so
lib/libdib.so.0
lib/libdib.so.1
lib/libgdwmf.a
lib/libgdwmf.so
lib/libgdwmf.so.0
lib/libgdwmf.so.1
lib/libwmf.a
lib/libwmf.so
lib/libwmf.so.0
lib/libwmf.so.1
lib/libxfig.a
lib/libxfig.so
lib/libxfig.so.0
lib/libxfig.so.1
lib/libxfwmf.a
lib/libxfwmf.so
lib/libxfwmf.so.0
lib/libxfwmf.so.1
lib/libxgd.a
lib/libxgd.so
lib/libxgd.so.0
@exec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -m %B
@unexec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -R
lib/libxgd.so.1
@exec /sbin/ldconfig -m %B
@unexec /sbin/ldconfig -R
@dirrm include/xgd