Add support for VPATH builds in contrib/minizip.
authorJonathan Nieder <jrnieder@gmail.com>
Tue, 17 Jan 2012 21:06:41 +0000 (15:06 -0600)
committerMark Adler <madler@alumni.caltech.edu>
Sat, 21 Jan 2012 20:56:57 +0000 (12:56 -0800)
Instead of using relative paths directly, use paths relative to
top_srcdir and top_builddir to refer to source files and built files,
respectively.

Note that the toplevel zlib configure script still does not have any
special support for out-of-tree builds.  But now you can do

(cd contrib/minizip && autoreconf -fis)

mkdir -p BUILD/test
cp *.c *.h *.in zlib.map configure zlib.3 BUILD
cp test/*.c BUILD/test
(cd BUILD && ./configure --shared)
(cd BUILD && make)

mkdir -p BUILD/contrib/minizip
cd BUILD/contrib/minizip
../../../contrib/minizip/configure
make

While at it, move the include path and library path settings to
CPPFLAGS and LDFLAGS respectively instead of setting both in CFLAGS.
Thanks to Mike Frysinger for advice.

contrib/minizip/Makefile.am

index 91258db..b0f39b6 100644 (file)
@@ -1,13 +1,18 @@
 lib_LTLIBRARIES = libminizip.la
 
+zlib_top_srcdir = $(top_srcdir)/../..
+zlib_top_builddir = $(top_builddir)/../..
+
+AM_CPPFLAGS = -I$(zlib_top_srcdir)
+AM_LDFLAGS = -L$(zlib_top_builddir)
+
 libminizip_la_SOURCES = \
        ioapi.c \
        mztools.c \
        unzip.c \
        zip.c
 
-AM_CFLAGS = -I../.. -L../..
-libminizip_la_LDFLAGS = -version-info 1:0:0 -lz
+libminizip_la_LDFLAGS = $(AM_LDFLAGS) -version-info 1:0:0 -lz
 
 minizip_includedir = $(includedir)/minizip
 minizip_include_HEADERS = \