summaryrefslogtreecommitdiff
path: root/graphics/libwmf
diff options
context:
space:
mode:
authorChris Piazza <cpiazza@FreeBSD.org>2000-05-29 02:23:41 +0000
committerChris Piazza <cpiazza@FreeBSD.org>2000-05-29 02:23:41 +0000
commitc6a24ad5523666fcac8e3338624196735a693861 (patch)
treeb56e0ac760f67315232f2b96447d786dffd5287e /graphics/libwmf
parent- Support CFLAGS properly (diff)
Use shared libraries
PR: 18822 Submitted by: Mario Sergio Fujikawa Ferreira <lioux@uol.com.br>
Notes
Notes: svn path=/head/; revision=28850
Diffstat (limited to 'graphics/libwmf')
-rw-r--r--graphics/libwmf/Makefile5
-rw-r--r--graphics/libwmf/files/patch-aa112
-rw-r--r--graphics/libwmf/files/patch-ab44
-rw-r--r--graphics/libwmf/pkg-plist16
4 files changed, 164 insertions, 13 deletions
diff --git a/graphics/libwmf/Makefile b/graphics/libwmf/Makefile
index 1a2b3ec46bfb..c17b35340723 100644
--- a/graphics/libwmf/Makefile
+++ b/graphics/libwmf/Makefile
@@ -13,6 +13,7 @@ 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
@@ -21,7 +22,11 @@ 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
+
.include <bsd.port.mk>
diff --git a/graphics/libwmf/files/patch-aa b/graphics/libwmf/files/patch-aa
index 52fd8db9d0d0..8f9aca8bab45 100644
--- a/graphics/libwmf/files/patch-aa
+++ b/graphics/libwmf/files/patch-aa
@@ -1,15 +1,17 @@
---- Makefile.in.orig Fri Dec 17 00:31:01 1999
-+++ Makefile.in Sat May 20 15:02:47 2000
-@@ -16,7 +16,7 @@
-
+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
+@@ -17,6 +17,7 @@
SHELL=/bin/sh
--INSTALL = @INSTALL@
+ INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INCLUDEDIR = @includedir@
-@@ -28,7 +28,7 @@
+@@ -28,13 +29,13 @@
libdir = @libdir@
mandir = @mandir@
@@ -18,7 +20,93 @@
MKINSTALLDIRS = $(srcdir)/mkinstalldirs
-@@ -134,9 +134,9 @@
+ SHELL = /bin/sh
+
+-.SUFFIXES: .C .o
++.SUFFIXES: .c .o .so
+
+ WMFLIBOBJECTS = \
+ wmfapi.o \
+@@ -53,35 +54,64 @@
+ Xtext.o \
+ rotated.o
+
+-TARGETS = wmftopng wmftofig xwmf
++LIBRARIES= \
++ LIBXGD \
++ LIBDIB \
++ LIBXFIG \
++ libwmf.a \
++ libgdwmf.a \
++ libxfwmf.a \
++ libXwmf.a \
++ libwmf.so.0 \
++ libgdwmf.so.0 \
++ libxfwmf.so.0 \
++ libXwmf.so.0
++
++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
+ $(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
+ $(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
+ $(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
++
+ 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
++
+ 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
++
+ 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
++
+ LIBDIB:
+ @echo making libdib in libdib
+ @(cd libdib && $(MAKE)) || exit 1
+@@ -97,6 +127,9 @@
+ %.o: %.c
+ $(CC) $(CFLAGS) -c $*.c
+
++.c.so:
++ $(CC) -fpic -DPIC $(CFLAGS) -c $(.IMPSRC) -o $(.TARGET)
++
+ clean: cleansub
+ rm -rf *.o wmftopng wmftofig xwmf a.out core *.a .pure
+
+@@ -134,15 +167,24 @@
$(libdir)
install: all installdirs installsub
@@ -31,7 +119,15 @@
$(INSTALL_DATA) $(srcdir)/libwmf.a $(libdir)/libwmf.a
$(INSTALL_DATA) $(srcdir)/libgdwmf.a $(libdir)/libgdwmf.a
$(INSTALL_DATA) $(srcdir)/libXwmf.a $(libdir)/libXwmf.a
-@@ -144,5 +144,6 @@
+ $(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) wmfapi.h $(INCLUDEDIR)/wmfapi.h
$(INSTALL_DATA) gdwmfapi.h $(INCLUDEDIR)/gdwmfapi.h
$(INSTALL_DATA) Xwmfapi.h $(INCLUDEDIR)/Xwmfapi.h
diff --git a/graphics/libwmf/files/patch-ab b/graphics/libwmf/files/patch-ab
index cdf75bd1ebbd..3a6b1c91aade 100644
--- a/graphics/libwmf/files/patch-ab
+++ b/graphics/libwmf/files/patch-ab
@@ -1,5 +1,5 @@
---- xgd-1.7.3/Makefile.in.orig Fri Dec 17 00:31:47 1999
-+++ xgd-1.7.3/Makefile.in Sat May 20 15:04:39 2000
+--- 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
@@ -29,14 +29,14 @@
#If you don't have FreeType and/or Xpm installed, including the
@@ -17,12 +17,12 @@
#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,11 @@
+@@ -80,26 +80,18 @@
BIN_PROGRAMS=pngtogd pngtogd2 gdtopng gd2topng gd2copypal gdparttopng webpng
TEST_PROGRAMS=gdtest gddemo gd2time gdtestttf
-all: libxgd.a $(PROGRAMS)
-+all: libxgd.a
++.SUFFIXES: .c .so .o
-install: libxgd.a $(BIN_PROGRAMS)
- $(INSTALL) libxgd.a $(INSTALL_LIB)/libxgd.a
@@ -42,9 +42,43 @@
- $(INSTALL_DATA) gdfontmb.h $(INSTALL_INCLUDE)/gdfontmb.h
- $(INSTALL_DATA) gdfonts.h $(INSTALL_INCLUDE)/gdfonts.h
- $(INSTALL_DATA) gdfontt.h $(INSTALL_INCLUDE)/gdfontt.h
-+install: libxgd.a
++.c.so:
++ $(CC) -fpic -DPIC $(CFLAGS) -c $(.IMPSRC) -o $(.TARGET)
++
++all: libxgd.a libxgd.so.0
++
++install: libxgd.a libxgd.so.0
+ $(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 @@
+ gdtestttf: gdtestttf.o libxgd.a
+ $(CC) gdtestttf.o -o gdtestttf $(LIBDIRS) $(LIBS)
+
+-libxgd.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
++
++libxgd.a: $(INCS) $(OBJS)
+ rm -f libxgd.a
+- $(AR) rc libxgd.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 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
+
+ clean:
+ rm -f *.o *.a ${PROGRAMS}
diff --git a/graphics/libwmf/pkg-plist b/graphics/libwmf/pkg-plist
index b596eeb2ef0c..6e1fef28e649 100644
--- a/graphics/libwmf/pkg-plist
+++ b/graphics/libwmf/pkg-plist
@@ -8,9 +8,25 @@ include/wmfapi.h
include/xgd.h
include/xgdttf.h
lib/libXwmf.a
+lib/libXwmf.so
+lib/libXwmf.so.0
lib/libdib.a
+lib/libdib.so
+lib/libdib.so.0
lib/libgdwmf.a
+lib/libgdwmf.so
+lib/libgdwmf.so.0
lib/libwmf.a
+lib/libwmf.so
+lib/libwmf.so.0
lib/libxfig.a
+lib/libxfig.so
+lib/libxfig.so.0
lib/libxfwmf.a
+lib/libxfwmf.so
+lib/libxfwmf.so.0
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