2012-05-13  Juan Manuel Guerrero  <juan.guerrero@gmx.de>

	* Makefile.in: Support $srcdir.

	* configure: Support $srcdir.

	* gzguts.h [__DJGPP__, HAVE_VSNPRINTF]:  DJGPP provides [v]snprintf
	so define HAVE_VSNPRINTF but do not define NO_vsnprintf.






diff -aprNU5 zlib-1.2.8.orig/Makefile.in zlib-1.2.8/Makefile.in
--- zlib-1.2.8.orig/Makefile.in	2013-04-28 22:57:10 +0000
+++ zlib-1.2.8/Makefile.in	2013-05-13 23:26:50 +0000
@@ -22,10 +22,12 @@ CFLAGS=-O
 #CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
 #CFLAGS=-g -DDEBUG
 #CFLAGS=-O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
 #           -Wstrict-prototypes -Wmissing-prototypes
 
+VPATH = $(srcdir)
+
 SFLAGS=-O
 LDFLAGS=
 TEST_LDFLAGS=-L. libz.a
 LDSHARED=$(CC)
 CPP=$(CC) -E
@@ -43,10 +45,12 @@ LDCONFIG=ldconfig
 LDSHAREDLIBC=-lc
 TAR=tar
 SHELL=/bin/sh
 EXE=
 
+srcdir = 
+
 prefix = /usr/local
 exec_prefix = ${prefix}
 libdir = ${exec_prefix}/lib
 sharedlibdir = ${libdir}
 includedir = ${prefix}/include
@@ -138,15 +142,15 @@ match.lo: match.S
 	$(CPP) match.S > _match.s
 	$(CC) -c -fPIC _match.s
 	mv _match.o match.lo
 	rm -f _match.s
 
-example.o: test/example.c zlib.h zconf.h
-	$(CC) $(CFLAGS) -I. -c -o $@ test/example.c
+example.o: $(srcdir)/test/example.c zlib.h zconf.h
+	$(CC) $(CFLAGS) -I. -I$(srcdir) -c -o $@ $(srcdir)/test/example.c
 
-minigzip.o: test/minigzip.c zlib.h zconf.h
-	$(CC) $(CFLAGS) -I. -c -o $@ test/minigzip.c
+minigzip.o: $(srcdir)/test/minigzip.c zlib.h zconf.h
+	$(CC) $(CFLAGS) -I. -I$(srcdir) -c -o $@ $(srcdir)/test/minigzip.c
 
 example64.o: test/example.c zlib.h zconf.h
 	$(CC) $(CFLAGS) -I. -D_FILE_OFFSET_BITS=64 -c -o $@ test/example.c
 
 minigzip64.o: test/minigzip.c zlib.h zconf.h
@@ -201,20 +205,20 @@ install-libs: $(LIBS)
 	  rm -f $(DESTDIR)$(sharedlibdir)/$(SHAREDLIB) $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBM); \
 	  ln -s $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir)/$(SHAREDLIB); \
 	  ln -s $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBM); \
 	  ($(LDCONFIG) || true)  >/dev/null 2>&1; \
 	fi
-	cp zlib.3 $(DESTDIR)$(man3dir)
+	cp $(srcdir)/zlib.3 $(DESTDIR)$(man3dir)
 	chmod 644 $(DESTDIR)$(man3dir)/zlib.3
 	cp zlib.pc $(DESTDIR)$(pkgconfigdir)
 	chmod 644 $(DESTDIR)$(pkgconfigdir)/zlib.pc
 # The ranlib in install is needed on NeXTSTEP which checks file times
 # ldconfig is for Linux
 
 install: install-libs
 	-@if [ ! -d $(DESTDIR)$(includedir)   ]; then mkdir -p $(DESTDIR)$(includedir); fi
-	cp zlib.h zconf.h $(DESTDIR)$(includedir)
+	cp $(srcdir)/zlib.h $(srcdir)/zconf.h $(DESTDIR)$(includedir)
 	chmod 644 $(DESTDIR)$(includedir)/zlib.h $(DESTDIR)$(includedir)/zconf.h
 
 uninstall:
 	cd $(DESTDIR)$(includedir) && rm -f zlib.h zconf.h
 	cd $(DESTDIR)$(libdir) && rm -f libz.a; \
diff -aprNU5 zlib-1.2.8.orig/configure zlib-1.2.8/configure
--- zlib-1.2.8.orig/configure	2013-03-24 05:30:08 +0000
+++ zlib-1.2.8/configure	2013-05-13 23:26:50 +0000
@@ -22,18 +22,56 @@ date >> configure.log
 if [ -n "${CHOST}" ]; then
     uname="`echo "${CHOST}" | sed -e 's/^[^-]*-\([^-]*\)$/\1/' -e 's/^[^-]*-[^-]*-\([^-]*\)$/\1/' -e 's/^[^-]*-[^-]*-\([^-]*\)-.*$/\1/'`"
     CROSS_PREFIX="${CHOST}-"
 fi
 
+# process command line options
+while test $# -ge 1
+do
+case "$1" in
+    -h* | --help)
+      echo 'usage:' | tee -a configure.log
+      echo '  configure [--const] [--zprefix] [--prefix=PREFIX]  [--eprefix=EXPREFIX]' | tee -a configure.log
+      echo '    [--static] [--64] [--libdir=LIBDIR] [--sharedlibdir=LIBDIR]' | tee -a configure.log
+      echo '    [--includedir=INCLUDEDIR] [--archs="-arch i386 -arch x86_64"]' | tee -a configure.log
+        exit 0 ;;
+    -p*=* | --prefix=*) prefix=`echo $1 | sed 's/.*=//'`; shift ;;
+    -e*=* | --eprefix=*) exec_prefix=`echo $1 | sed 's/.*=//'`; shift ;;
+    -l*=* | --libdir=*) libdir=`echo $1 | sed 's/.*=//'`; shift ;;
+    --sharedlibdir=*) sharedlibdir=`echo $1 | sed 's/.*=//'`; shift ;;
+    -i*=* | --includedir=*) includedir=`echo $1 | sed 's/.*=//'`;shift ;;
+    -u*=* | --uname=*) uname=`echo $1 | sed 's/.*=//'`;shift ;;
+    -p* | --prefix) prefix="$2"; shift; shift ;;
+    -e* | --eprefix) exec_prefix="$2"; shift; shift ;;
+    -l* | --libdir) libdir="$2"; shift; shift ;;
+    -i* | --includedir) includedir="$2"; shift; shift ;;
+    -s* | --shared | --enable-shared) shared=1; shift ;;
+    -t | --static) shared=0; shift ;;
+    --solo) solo=1; shift ;;
+    --cover) cover=1; shift ;;
+    -z* | --zprefix) zprefix=1; shift ;;
+    -6* | --64) build64=1; shift ;;
+    -a*=* | --archs=*) ARCHS=`echo $1 | sed 's/.*=//'`; shift ;;
+    --sysconfdir=*) echo "ignored option: --sysconfdir" | tee -a configure.log; shift ;;
+    --localstatedir=*) echo "ignored option: --localstatedir" | tee -a configure.log; shift ;;
+    -c* | --const) zconst=1; shift ;;
+    *)
+      echo "unknown option: $1" | tee -a configure.log
+      echo "$0 --help for help" | tee -a configure.log
+      leave 1;;
+    esac
+done
+
+
 # destination name for static library
 STATICLIB=libz.a
 
 # extract zlib version numbers from zlib.h
-VER=`sed -n -e '/VERSION "/s/.*"\(.*\)".*/\1/p' < zlib.h`
-VER3=`sed -n -e '/VERSION "/s/.*"\([0-9]*\\.[0-9]*\\.[0-9]*\).*/\1/p' < zlib.h`
-VER2=`sed -n -e '/VERSION "/s/.*"\([0-9]*\\.[0-9]*\)\\..*/\1/p' < zlib.h`
-VER1=`sed -n -e '/VERSION "/s/.*"\([0-9]*\)\\..*/\1/p' < zlib.h`
+VER=`sed -n -e '/VERSION "/s/.*"\(.*\)".*/\1/p' < ${srcdir}/zlib.h`
+VER3=`sed -n -e '/VERSION "/s/.*"\([0-9]*\\.[0-9]*\\.[0-9]*\).*/\1/p' < ${srcdir}/zlib.h`
+VER2=`sed -n -e '/VERSION "/s/.*"\([0-9]*\\.[0-9]*\)\\..*/\1/p' < ${srcdir}/zlib.h`
+VER1=`sed -n -e '/VERSION "/s/.*"\([0-9]*\)\\..*/\1/p' < ${srcdir}/zlib.h`
 
 # establish commands for library building
 if "${CROSS_PREFIX}ar" --version >/dev/null 2>/dev/null || test $? -lt 126; then
     AR=${AR-"${CROSS_PREFIX}ar"}
     test -n "${CROSS_PREFIX}" && echo Using ${AR} | tee -a configure.log
@@ -57,11 +95,11 @@ fi
 
 # set defaults before processing command line options
 LDCONFIG=${LDCONFIG-"ldconfig"}
 LDSHAREDLIBC="${LDSHAREDLIBC--lc}"
 ARCHS=
-prefix=${prefix-/usr/local}
+prefix=${prefix-'/dev/env/DJDIR'}
 exec_prefix=${exec_prefix-'${prefix}'}
 libdir=${libdir-'${exec_prefix}/lib'}
 sharedlibdir=${sharedlibdir-'${libdir}'}
 includedir=${includedir-'${prefix}/include'}
 mandir=${mandir-'${prefix}/share/man'}
@@ -89,47 +127,10 @@ leave()
   echo >> configure.log
   echo >> configure.log
   exit $1
 }
 
-# process command line options
-while test $# -ge 1
-do
-case "$1" in
-    -h* | --help)
-      echo 'usage:' | tee -a configure.log
-      echo '  configure [--const] [--zprefix] [--prefix=PREFIX]  [--eprefix=EXPREFIX]' | tee -a configure.log
-      echo '    [--static] [--64] [--libdir=LIBDIR] [--sharedlibdir=LIBDIR]' | tee -a configure.log
-      echo '    [--includedir=INCLUDEDIR] [--archs="-arch i386 -arch x86_64"]' | tee -a configure.log
-        exit 0 ;;
-    -p*=* | --prefix=*) prefix=`echo $1 | sed 's/.*=//'`; shift ;;
-    -e*=* | --eprefix=*) exec_prefix=`echo $1 | sed 's/.*=//'`; shift ;;
-    -l*=* | --libdir=*) libdir=`echo $1 | sed 's/.*=//'`; shift ;;
-    --sharedlibdir=*) sharedlibdir=`echo $1 | sed 's/.*=//'`; shift ;;
-    -i*=* | --includedir=*) includedir=`echo $1 | sed 's/.*=//'`;shift ;;
-    -u*=* | --uname=*) uname=`echo $1 | sed 's/.*=//'`;shift ;;
-    -p* | --prefix) prefix="$2"; shift; shift ;;
-    -e* | --eprefix) exec_prefix="$2"; shift; shift ;;
-    -l* | --libdir) libdir="$2"; shift; shift ;;
-    -i* | --includedir) includedir="$2"; shift; shift ;;
-    -s* | --shared | --enable-shared) shared=1; shift ;;
-    -t | --static) shared=0; shift ;;
-    --solo) solo=1; shift ;;
-    --cover) cover=1; shift ;;
-    -z* | --zprefix) zprefix=1; shift ;;
-    -6* | --64) build64=1; shift ;;
-    -a*=* | --archs=*) ARCHS=`echo $1 | sed 's/.*=//'`; shift ;;
-    --sysconfdir=*) echo "ignored option: --sysconfdir" | tee -a configure.log; shift ;;
-    --localstatedir=*) echo "ignored option: --localstatedir" | tee -a configure.log; shift ;;
-    -c* | --const) zconst=1; shift ;;
-    *)
-      echo "unknown option: $1" | tee -a configure.log
-      echo "$0 --help for help" | tee -a configure.log
-      leave 1;;
-    esac
-done
-
 # temporary file name
 test=ztest$$
 
 # put arguments in log, also put test file in log if used in arguments
 show()
@@ -186,11 +187,11 @@ if test "$gcc" -eq 1 && ($cc -c $test.c)
   Linux* | linux* | GNU | GNU/* | solaris*)
         LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map"} ;;
   *BSD | *bsd* | DragonFly)
         LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map"}
         LDCONFIG="ldconfig -m" ;;
-  CYGWIN* | Cygwin* | cygwin* | OS/2*)
+  CYGWIN* | Cygwin* | cygwin* | MS-DOS* | OS/2*)
         EXE='.exe' ;;
   MINGW* | mingw*)
 # temporary bypass
         rm -f $test.[co] $test $test$shared_ext
         echo "Please use win32/Makefile.gcc instead." | tee -a configure.log
@@ -468,11 +469,11 @@ else
   SFLAGS="${SFLAGS} -DNO_STRERROR"
   echo "Checking for strerror... No." | tee -a configure.log
 fi
 
 # copy clean zconf.h for subsequent edits
-cp -p zconf.h.in zconf.h
+cp -p ${srcdir}/zconf.h.in zconf.h
 
 echo >> configure.log
 
 # check for unistd.h and save result in zconf.h
 cat > $test.c <<EOF
@@ -768,14 +769,15 @@ echo exec_prefix = $exec_prefix >> confi
 echo includedir = $includedir >> configure.log
 echo libdir = $libdir >> configure.log
 echo mandir = $mandir >> configure.log
 echo prefix = $prefix >> configure.log
 echo sharedlibdir = $sharedlibdir >> configure.log
+echo srcdir = $srcdir >> configure.log
 echo uname = $uname >> configure.log
 
 # udpate Makefile with the configure results
-sed < Makefile.in "
+sed < ${srcdir}/Makefile.in "
 /^CC *=/s#=.*#=$CC#
 /^CFLAGS *=/s#=.*#=$CFLAGS#
 /^SFLAGS *=/s#=.*#=$SFLAGS#
 /^LDFLAGS *=/s#=.*#=$LDFLAGS#
 /^LDSHARED *=/s#=.*#=$LDSHARED#
@@ -788,10 +790,11 @@ sed < Makefile.in "
 /^ARFLAGS *=/s#=.*#=$ARFLAGS#
 /^RANLIB *=/s#=.*#=$RANLIB#
 /^LDCONFIG *=/s#=.*#=$LDCONFIG#
 /^LDSHAREDLIBC *=/s#=.*#=$LDSHAREDLIBC#
 /^EXE *=/s#=.*#=$EXE#
+/^srcdir *=/s#=.*#=$srcdir#
 /^prefix *=/s#=.*#=$prefix#
 /^exec_prefix *=/s#=.*#=$exec_prefix#
 /^libdir *=/s#=.*#=$libdir#
 /^sharedlibdir *=/s#=.*#=$sharedlibdir#
 /^includedir *=/s#=.*#=$includedir#
@@ -801,11 +804,11 @@ sed < Makefile.in "
 /^all: */s#:.*#: $ALL#
 /^test: */s#:.*#: $TEST#
 " > Makefile
 
 # create zlib.pc with the configure results
-sed < zlib.pc.in "
+sed < ${srcdir}/zlib.pc.in "
 /^CC *=/s#=.*#=$CC#
 /^CFLAGS *=/s#=.*#=$CFLAGS#
 /^CPP *=/s#=.*#=$CPP#
 /^LDSHARED *=/s#=.*#=$LDSHARED#
 /^STATICLIB *=/s#=.*#=$STATICLIB#
diff -aprNU5 zlib-1.2.8.orig/gzguts.h zlib-1.2.8/gzguts.h
--- zlib-1.2.8.orig/gzguts.h	2013-04-14 01:04:06 +0000
+++ zlib-1.2.8/gzguts.h	2013-05-13 23:26:50 +0000
@@ -50,10 +50,19 @@
 #  ifndef HAVE_VSNPRINTF
 #    define HAVE_VSNPRINTF
 #  endif
 #endif
 
+#if defined(__DJGPP__)
+#  ifndef HAVE_VSNPRINTF
+#    define HAVE_VSNPRINTF
+#    if __DJGPP__ == 2 && __DJGPP_MINOR__ < 4
+#      include "djgpp/snprintf.h"
+#    endif
+#  endif
+#endif
+
 #if defined(__CYGWIN__)
 #  ifndef HAVE_VSNPRINTF
 #    define HAVE_VSNPRINTF
 #  endif
 #endif
@@ -63,11 +72,11 @@
 #    define HAVE_VSNPRINTF
 #  endif
 #endif
 
 #ifndef HAVE_VSNPRINTF
-#  ifdef MSDOS
+#  if defined(MSDOS) && !defined(__DJGPP__)
 /* vsnprintf may exist on some MS-DOS compilers (DJGPP?),
    but for now we just assume it doesn't. */
 #    define NO_vsnprintf
 #  endif
 #  ifdef __TURBOC__
diff -aprNU5 zlib-1.2.8.orig/test/minigzip.c zlib-1.2.8/test/minigzip.c
--- zlib-1.2.8.orig/test/minigzip.c	2012-06-03 23:28:40 +0000
+++ zlib-1.2.8/test/minigzip.c	2013-05-13 23:27:44 +0000
@@ -16,10 +16,14 @@
 /* @(#) $Id$ */
 
 #include "zlib.h"
 #include <stdio.h>
 
+#if __DJGPP__ == 2 && __DJGPP_MINOR__ < 4
+#  include "djgpp/snprintf.h"
+#endif
+
 #ifdef STDC
 #  include <string.h>
 #  include <stdlib.h>
 #endif
 
diff -aprNU5 zlib-1.2.8.orig/configure zlib-1.2.8/configure
--- zlib-1.2.8.orig/configure	2013-05-13 21:28:40 +0000
+++ zlib-1.2.8/configure	2013-05-13 21:30:22 +0000
@@ -32,10 +32,11 @@ case "$1" in
       echo 'usage:' | tee -a configure.log
       echo '  configure [--const] [--zprefix] [--prefix=PREFIX]  [--eprefix=EXPREFIX]' | tee -a configure.log
       echo '    [--static] [--64] [--libdir=LIBDIR] [--sharedlibdir=LIBDIR]' | tee -a configure.log
       echo '    [--includedir=INCLUDEDIR] [--archs="-arch i386 -arch x86_64"]' | tee -a configure.log
         exit 0 ;;
+    --srcdir=*) srcdir=`echo $1 | sed 's/.*=//'`; shift ;;
     -p*=* | --prefix=*) prefix=`echo $1 | sed 's/.*=//'`; shift ;;
     -e*=* | --eprefix=*) exec_prefix=`echo $1 | sed 's/.*=//'`; shift ;;
     -l*=* | --libdir=*) libdir=`echo $1 | sed 's/.*=//'`; shift ;;
     --sharedlibdir=*) sharedlibdir=`echo $1 | sed 's/.*=//'`; shift ;;
     -i*=* | --includedir=*) includedir=`echo $1 | sed 's/.*=//'`;shift ;;
