1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-29 21:39:24 +00:00
freebsd-ports/graphics/gd2/files/patch-ac
Ade Lovett bc47cccc84 Various patches (mainly shared library revision changes) for those
ports that depend on GNOME and need to change for 1.4
2001-05-04 21:41:30 +00:00

179 lines
6.8 KiB
Plaintext

--- Makefile.orig Thu Feb 22 09:03:43 2001
+++ Makefile Sat Feb 24 16:25:23 2001
@@ -3,11 +3,11 @@
#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
#compiler; get gcc if you are still using it).
-COMPILER=gcc
+COMPILER=${CC}
#If the ar command fails on your system, consult the ar manpage
#for your system.
-AR=ar
+#AR=ar
#If you don't have FreeType, libjpeg and/or Xpm installed, including the
#header files, uncomment this (default). You really must install
@@ -16,8 +16,14 @@
#If you do have FreeType, libjpeg and/or Xpm fully installed, uncomment a
#variation of this and comment out the line above. See also LIBS below.
-#CFLAGS=-O -DHAVE_LIBXPM -DHAVE_LIBPNG -DHAVE_LIBJPEG \
-# -DHAVE_LIBFREETYPE -DHAVE_LIBTTF
+CFLAGS=-O -DHAVE_LIBPNG -DHAVE_LIBJPEG -DHAVE_LIBFREETYPE
+.if defined(WITH_X11)
+CFLAGS+=-DHAVE_LIBXPM
+.endif
+
+.if defined(JISX0208)
+CFLAGS+=-DJISX0208
+.endif
#To use the old FreeType 1.x library, add this additional #define
#to the line above
@@ -30,13 +36,15 @@
#Some systems are very picky about link order. They don't all agree
#on the right order, either.
-LIBS=-lgd -lpng -lz -lm
+LIBS=-lgd -lpng -lz -ljpeg -lfreetype -lm
#If you do have FreeType, JPEG and/or Xpm fully installed, uncomment a
#variation of this and comment out the line above. Note that
#Xpm requires X11. See also CFLAGS above.
-#LIBS=-lgd -lpng -lz -ljpeg -lfreetype -lm -lttf
+.if defined(WITH_X11)
+LIBS+=-lXpm -lX11
+.endif
#Note: for Freetype 1.x, use DHAVE_LIBTTF and -lttf instead.
@@ -45,7 +53,8 @@
#ensure that the version of gd you are installing is used, and not an
#older release in your directory tree somewhere.
-INCLUDEDIRS=-I. -I/usr/include/freetype2 -I/usr/include/X11 -I/usr/X11R6/include/X11 -I/usr/local/include
+INCLUDEDIRS=-I. -I${LOCALBASE}/include/freetype2 -I${LOCALBASE}/include
+INCLUDEDIRS+=-I${X11BASE}/include/X11 -I${X11BASE}/include/freetype2 -I${X11BASE}/include
#Typical install locations for freetype, zlib, xpm and libpng libraries.
#If yours are somewhere else, other than a standard location
@@ -55,16 +66,17 @@
#on your system can't cause conflicts while building a new one.
#This line shouldn't hurt if you don't actually have some of the
#optional libraries and directories.
-LIBDIRS=-L. -L/usr/local/lib -L/usr/lib/X11 -L/usr/X11R6/lib
+LIBDIRS=-L. -L${LOCALBASE}/lib -Wl,--rpath,${LOCALBASE}/lib
+LIBDIRS+=-L${X11BASE}/lib -Wl,--rpath,${X11BASE}/lib
#Location where libgd.a should be installed by "make install".
-INSTALL_LIB=/usr/local/lib
+INSTALL_LIB=${PREFIX}/lib
#Location where .h files should be installed by "make install".
-INSTALL_INCLUDE=/usr/local/include
+INSTALL_INCLUDE=${PREFIX}/include/gd
#Location where useful non-test programs should be installed by "make install".
-INSTALL_BIN=/usr/local/bin
+INSTALL_BIN=${PREFIX}/bin
#
#
@@ -74,34 +88,44 @@
VERSION=1.8.4
-CC=$(COMPILER) $(INCLUDEDIRS)
-LINK=$(CC) $(LIBDIRS) $(LIBS)
+CC+=$(INCLUDEDIRS)
+#LINK=$(CC) $(LIBDIRS) $(LIBS)
PROGRAMS=$(BIN_PROGRAMS) $(TEST_PROGRAMS)
BIN_PROGRAMS=pngtogd pngtogd2 gdtopng gd2topng gd2copypal gdparttopng webpng
TEST_PROGRAMS=gdtest gddemo gd2time gdtestft gdtestttf
-all: libgd.a $(PROGRAMS)
+SOVER=2
-install: libgd.a $(BIN_PROGRAMS)
- sh ./install-item 644 libgd.a $(INSTALL_LIB)/libgd.a
- sh ./install-item 755 pngtogd $(INSTALL_BIN)/pngtogd
- sh ./install-item 755 pngtogd2 $(INSTALL_BIN)/pngtogd2
- sh ./install-item 755 gdtopng $(INSTALL_BIN)/gdtopng
- sh ./install-item 755 gd2topng $(INSTALL_BIN)/gd2topng
- sh ./install-item 755 gd2copypal $(INSTALL_BIN)/gd2copypal
- sh ./install-item 755 gdparttopng $(INSTALL_BIN)/gdparttopng
- sh ./install-item 755 webpng $(INSTALL_BIN)/webpng
- sh ./install-item 755 bdftogd $(INSTALL_BIN)/bdftogd
- sh ./install-item 644 gd.h $(INSTALL_INCLUDE)/gd.h
- sh ./install-item 644 gdcache.h $(INSTALL_INCLUDE)/gdcache.h
- sh ./install-item 644 gd_io.h $(INSTALL_INCLUDE)/gd_io.h
- sh ./install-item 644 gdfontg.h $(INSTALL_INCLUDE)/gdfontg.h
- sh ./install-item 644 gdfontl.h $(INSTALL_INCLUDE)/gdfontl.h
- sh ./install-item 644 gdfontmb.h $(INSTALL_INCLUDE)/gdfontmb.h
- sh ./install-item 644 gdfonts.h $(INSTALL_INCLUDE)/gdfonts.h
- sh ./install-item 644 gdfontt.h $(INSTALL_INCLUDE)/gdfontt.h
+.SUFFIXES: .c .so .o
+
+.c.so:
+ $(CC) -fpic -DPIC $(CFLAGS) -o $@ -c $<
+
+all: libgd.a libgd.so.$(SOVER) $(PROGRAMS)
+
+install: libgd.a libgd.so.$(SOVER) $(BIN_PROGRAMS)
+ -mkdir -p $(INSTALL_LIB) $(INSTALL_INCLUDE) $(INSTALL_BIN)
+ ${BSD_INSTALL_DATA} libgd.a $(INSTALL_LIB)/libgd.a
+ ${BSD_INSTALL_DATA} libgd.so.$(SOVER) $(INSTALL_LIB)/libgd.so.$(SOVER)
+ -ln -sf libgd.so.$(SOVER) $(INSTALL_LIB)/libgd.so
+ ${BSD_INSTALL_PROGRAM} pngtogd $(INSTALL_BIN)/pngtogd
+ ${BSD_INSTALL_PROGRAM} pngtogd2 $(INSTALL_BIN)/pngtogd2
+ ${BSD_INSTALL_PROGRAM} gdtopng $(INSTALL_BIN)/gdtopng
+ ${BSD_INSTALL_PROGRAM} gd2topng $(INSTALL_BIN)/gd2topng
+ ${BSD_INSTALL_PROGRAM} gd2copypal $(INSTALL_BIN)/gd2copypal
+ ${BSD_INSTALL_PROGRAM} gdparttopng $(INSTALL_BIN)/gdparttopng
+ ${BSD_INSTALL_PROGRAM} webpng $(INSTALL_BIN)/webpng
+ ${BSD_INSTALL_SCRIPT} bdftogd $(INSTALL_BIN)/bdftogd
+ ${BSD_INSTALL_DATA} gd.h $(INSTALL_INCLUDE)/gd.h
+ ${BSD_INSTALL_DATA} gdcache.h $(INSTALL_INCLUDE)/gdcache.h
+ ${BSD_INSTALL_DATA} gd_io.h $(INSTALL_INCLUDE)/gd_io.h
+ ${BSD_INSTALL_DATA} gdfontg.h $(INSTALL_INCLUDE)/gdfontg.h
+ ${BSD_INSTALL_DATA} gdfontl.h $(INSTALL_INCLUDE)/gdfontl.h
+ ${BSD_INSTALL_DATA} gdfontmb.h $(INSTALL_INCLUDE)/gdfontmb.h
+ ${BSD_INSTALL_DATA} gdfonts.h $(INSTALL_INCLUDE)/gdfonts.h
+ ${BSD_INSTALL_DATA} gdfontt.h $(INSTALL_INCLUDE)/gdfontt.h
gddemo: gddemo.o libgd.a
$(CC) gddemo.o -o gddemo $(LIBDIRS) $(LIBS)
@@ -138,18 +162,21 @@
gdtestttf: gdtestttf.o libgd.a
$(CC) --verbose 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 gd_jpeg.o gdxpm.o gdfontt.o gdfonts.o gdfontmb.o gdfontl.o \
gdfontg.o gdtables.o gdft.o gdttf.o gdcache.o gdkanji.o wbmp.o \
- gd_wbmp.o gdhelpers.o gd.h gdfontt.h gdfonts.h gdfontmb.h gdfontl.h \
+ gd_wbmp.o gdhelpers.o
+INCS= gd.h gdfontt.h gdfonts.h gdfontmb.h gdfontl.h \
gdfontg.h gdhelpers.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 gd_jpeg.o gdxpm.o \
- gdfontt.o gdfonts.o gdfontmb.o gdfontl.o gdfontg.o \
- gdtables.o gdft.o gdttf.o gdcache.o gdkanji.o wbmp.o \
- gd_wbmp.o gdhelpers.o
+ $(AR) rc libgd.a $(OBJS)
-ranlib libgd.a
+
+libgd.so.$(SOVER): $(INCS) $(OBJS:.o=.so)
+ $(CC) -shared -Wl,-x,-soname,$@ -o $@ $(OBJS:.o=.so) $(LIBDIRS) $(LIBS)
+ ln -sf libgd.so.$(SOVER) libgd.so
clean:
rm -f *.o *.a ${PROGRAMS} test/gdtest.jpg test/gdtest.wbmp