pkgsrc/graphics/netpbm/patches/patch-aa
drochner d5ebc763b1 update to 10.35.73
changes: many bugfixes, especially:
 xpmtoppm: fix wild pointer with color index > 127.
 which fixes a stack-based buffer overflow (CVE-2009-4274)

pkgsrc change: use a fixed PLIST instead of generating on install,
 helps to detect problems
2010-02-19 18:25:44 +00:00

199 lines
6.2 KiB
Text

$NetBSD: patch-aa,v 1.40 2010/02/19 18:25:44 drochner Exp $
--- Makefile.config.in.orig 2008-12-07 01:58:20.000000000 +0000
+++ Makefile.config.in
@@ -24,7 +24,7 @@ DEFAULT_TARGET = nonmerge
# and skip it on those systems unless you want to debug it and fix it.
# OpenBSD:
#BUILD_FIASCO = N
-BUILD_FIASCO = Y
+BUILD_FIASCO?= Y
# The following are commands for the build process to use. These values
# do not get built into anything.
@@ -33,7 +33,7 @@ BUILD_FIASCO = Y
#CC = gcc
# Note that 'cc' is usually an alias for whatever is the main compiler
# on a system, e.g. the GNU Compiler on Linux.
-CC = cc
+#CC = cc
# The linker.
LD = $(CC)
@@ -100,7 +100,7 @@ CFLAGS_FOR_BUILD = $(CFLAGS)
# MAKE is set automatically by Make to what was used to invoke Make.
-INSTALL = $(SRCDIR)/buildtools/install.sh
+#INSTALL = $(SRCDIR)/buildtools/install.sh
#Solaris:
#INSTALL = /usr/ucb/install
#Tru64:
@@ -112,7 +112,7 @@ INSTALL = $(SRCDIR)/buildtools/install.s
# STRIPFLAG is the option you pass to the above install program to make it
# strip unnecessary information out of binaries.
-STRIPFLAG = -s
+#STRIPFLAG = -s
# If you don't want to strip the binaries, just leave it null:
#STRIPFLAG =
@@ -131,13 +131,15 @@ MANPAGE_FORMAT = nroff
AR = ar
RANLIB = ranlib
# IRIX, SCO don't have Ranlib:
-#RANLIB = true
+ifeq ($(OPSYS),IRIX)
+RANLIB = ar rs
+endif
# LEX is the beginning of a shell command that runs a Lex-like
# pattern matcher generator. Null string means there isn't any such
# command. That means the build will skip parts that need one.
-LEX = flex
+#LEX = flex
# Solaris:
# LEX = flex -e
# Windows Mingw:
@@ -228,7 +230,7 @@ EXE =
# Here, $(SONAME) resolves to the soname for the shared library being created.
# The following are gcc options. This works on GNU libc systems.
-LDSHLIB = -shared -Wl,-soname,$(SONAME)
+LDSHLIB = -shared -Wl,-h,$(SONAME)
# You need -nostart instead of -shared on BeOS. Though the BeOS compiler is
# ostensibly gcc, it has the -nostart option, which is not mentioned in gcc
# documentation and doesn't exist in at least one non-BeOS installation.
@@ -261,6 +263,19 @@ LDRELOC = NONE
#LDRELOC = ld --reloc
#LDRELOC = ld -r
+ifeq ($(OPSYS),SunOS)
+LDSHLIB = -Wl,-B,dynamic,-G,-h,$(SONAME)
+endif
+
+ifeq ($(OPSYS),Darwin)
+LDSHLIB = -dynamiclib -install_name $(PREFIX)/lib/libnetpbm.$(MAJ).dylib \
+ -compatibility_version $(MAJ) -current_version $(MAJ).$(MIN)
+endif
+
+ifeq ($(OPSYS),Interix)
+# random base address between 0x6B000000 and 0x6D000000
+LDSHLIB+= -Wl,--image-base,$$(($$RANDOM %64/2*1048576+1795162112))
+endif
# On older systems, you have to make shared libraries out of position
# independent code, so you need -fpic or fPIC here. (The rule is: if
@@ -283,11 +298,23 @@ LDRELOC = NONE
CFLAGS_SHLIB =
# Gcc:
#CFLAGS_SHLIB = -fpic
-#CFLAGS_SHLIB = -fPIC
+CFLAGS_SHLIB = -fPIC
# Sun compiler:
#CFLAGS_SHLIB = -Kpic
#CFLAGS_SHLIB = -KPIC
+ifeq ($(OPSYS),Darwin)
+CFLAGS_SHLIB = -fno-common
+endif
+
+ifeq ($(OPSYS),IRIX)
+CFLAGS_SHLIB = -KPIC
+endif
+
+ifeq ($(OPSYS),Interix)
+CFLAGS_SHLIB = # none!
+endif
+
# SHLIB_CLIB is the link option to include the C library in a shared library,
# normally "-lc". On typical systems, this serves no purpose. On some,
# though, it causes information about which C library to use to be recorded
@@ -356,8 +383,8 @@ TIFFHDR_DIR =
#TIFFLIB = libtiff.so
#TIFFHDR_DIR = /usr/include/libtiff
#NetBSD:
-#TIFFLIB = $(LOCALBASE)/lib/libtiff.so
-#TIFFHDR_DIR = $(LOCALBASE)/include
+TIFFLIB = $(BUILDLINK_DIR)/lib/libtiff.so
+TIFFHDR_DIR = $(BUILDLINK_DIR)/include
# OSF, Tru64:
#TIFFLIB = /usr/local1/DEC/lib/libtiff.so
#TIFFHDR_DIR = /usr/local1/DEC/include
@@ -387,8 +414,8 @@ JPEGHDR_DIR =
#JPEGLIB = libjpeg.so
#JPEGHDR_DIR = /usr/include/jpeg
# Netbsd:
-#JPEGLIB = ${LOCALBASE}/lib/libjpeg.so
-#JPEGHDR_DIR = ${LOCALBASE}/include
+JPEGLIB = ${BUILDLINK_DIR}/lib/libjpeg.so
+JPEGHDR_DIR = ${BUILDLINK_DIR}/include
# OSF, Tru64:
#JPEGLIB = /usr/local1/DEC/libjpeg.so
#JPEGHDR_DIR = /usr/local1/DEC/include
@@ -415,12 +442,12 @@ JPEGHDR_DIR =
PNGLIB = NONE
PNGHDR_DIR =
-PNGVER =
+PNGVER = 12
#PNGLIB = libpng$(PNGVER).so
#PNGHDR_DIR = /usr/include/libpng$(PNGVER)
# NetBSD:
-#PNGLIB = $(LOCALBASE)/lib/libpng$(PNGVER).so
-#PNGHDR_DIR = $(LOCALBASE)/include
+PNGLIB = $(BUILDLINK_DIR)/lib/libpng$(PNGVER).so
+#PNGHDR_DIR = $(BUILDLINK_DIR)/include
# OSF/Tru64:
#PNGLIB = /usr/local1/DEC/lib/libpng$(PNGVER).so
#PNGHDR_DIR = /usr/local1/DEC/include
@@ -432,8 +459,8 @@ PNGVER =
#
# If you have 'libpng-config' (see above), these are irrelevant.
-ZLIB = NONE
-ZHDR_DIR =
+ZLIB = $(BUILDLINK_DIR)/lib/libz.so
+ZHDR_DIR = $(BUILDLINK_DIR)/include
#ZLIB = libz.so
# The JBIG lossless image compression library (aka JBIG-KIT):
@@ -442,8 +469,8 @@ JBIGLIB = $(BUILDDIR)/converter/other/jb
JBIGHDR_DIR = $(SRCDIR)/converter/other/jbig
# The Jasper JPEG-2000 image compression library (aka JasPer):
-JASPERLIB = $(INTERNAL_JASPERLIB)
-JASPERHDR_DIR = $(INTERNAL_JASPERHDR_DIR)
+JASPERLIB = -ljasper
+JASPERHDR_DIR = /doesnt-matter
# JASPERDEPLIBS is the libraries (-l options or file names) on which
# The Jasper library depends -- i.e. what you have to link into any
# executable that links in the Jasper library.
@@ -488,7 +515,7 @@ OMIT_NETWORK =
# built into the standard C library, so this can be null. This is irrelevant
# if OMIT_NETWORK is "y".
-NETWORKLD =
+#NETWORKLD =
# Solaris, SunOS:
#NETWORKLD = -lsocket -lnsl
# SCO:
@@ -542,7 +569,7 @@ SUFFIXMANUALS5 = 5
#Netpbm library functions. The value is used only in make file tests.
# "unixshared" means a unix-style shared library, typically named like
# libxyz.so.2.3
-NETPBMLIBTYPE = unixshared
+NETPBMLIBTYPE? = unixshared
# "unixstatic" means a unix-style static library, (like libxyz.a)
#NETPBMLIBTYPE = unixstatic
# "dll" means a Windows DLL shared library
@@ -553,7 +580,7 @@ NETPBMLIBTYPE = unixshared
#NETPBMLIBSUFFIX is the suffix used on whatever kind of library is
#selected above. All this is used for is to construct library names.
#The make files never examine the actual value.
-NETPBMLIBSUFFIX = so
+NETPBMLIBSUFFIX?= so
# "a" is the suffix for unix-style static libraries. It is also
# traditionally used for shared libraries on AIX. The Visual Age C