Skip to content

Commit

Permalink
autocrap magic to find varnish.m4 via pkg-config
Browse files Browse the repository at this point in the history
Fixes #6 (github issue)
  • Loading branch information
nigoroll committed Mar 3, 2015
1 parent 958c8b2 commit a399bdf
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 7 deletions.
2 changes: 1 addition & 1 deletion Makefile.am
@@ -1,4 +1,4 @@
ACLOCAL_AMFLAGS = -I m4
ACLOCAL_AMFLAGS = -I m4 -I ${LIBVARNISHAPI_DATAROOTDIR}/aclocal

SUBDIRS = src

Expand Down
19 changes: 15 additions & 4 deletions README.rst
Expand Up @@ -51,14 +51,18 @@ using the ``varnishtest`` tool.
Building requires the Varnish header files and uses pkg-config to find
the necessary paths.

If you have installed Varnish to a non-standard directory, you may need to
override PKG_CONFIG_PATH so configure can find varnishapi.pc.

Usage::

./autogen.sh
./configure

If you have installed Varnish to a non-standard directory, call
``autogen.sh`` and ``configure`` with ``PKG_CONFIG_PATH`` pointing to
the appropriate path. For example, when varnishd configure was called
with ``--prefix=$PREFIX``, use

PKG_CONFIG_PATH=${PREFIX}/lib/pkgconfig
export PKG_CONFIG_PATH

Make targets:

Expand All @@ -68,11 +72,18 @@ Make targets:
* make distcheck - run check and prepare a tarball of the vmod.

In your VCL you could then use this vmod along the following lines::

import example;

sub vcl_deliver {
# This sets resp.http.hello to "Hello, World"
set resp.http.hello = example.hello("World");
}

COMMON PROBLEMS
===============

* configure: error: Need varnish.m4 -- see README.rst

Check if ``PKG_CONFIG_PATH`` has been set correctly before calling
``autogen.sh`` and ``configure``
4 changes: 3 additions & 1 deletion autogen.sh
Expand Up @@ -37,7 +37,9 @@ fi

set -ex

aclocal -I m4
# check for varnishapi.m4 in custom paths
dataroot=$(pkg-config --variable=datarootdir varnishapi)
aclocal -I m4 -I ${dataroot}/aclocal
$LIBTOOLIZE --copy --force
autoheader
automake --add-missing --copy --foreign
Expand Down
4 changes: 3 additions & 1 deletion configure.ac
Expand Up @@ -2,6 +2,7 @@ AC_PREREQ(2.59)
AC_COPYRIGHT([Copyright (c) 2011-2015 Varnish Software AS])
AC_INIT([libvmod-example], [trunk])
AC_CONFIG_MACRO_DIR([m4])
m4_ifndef([VARNISH_VMOD_INCLUDES], AC_MSG_ERROR([Need varnish.m4 -- see README.rst]))
AC_CONFIG_SRCDIR(src/vmod_example.vcc)
AM_CONFIG_HEADER(config.h)

Expand Down Expand Up @@ -33,8 +34,9 @@ AM_CONDITIONAL(HAVE_RST2MAN, [test "x$RST2MAN" != "xno"])
AC_HEADER_STDC
AC_CHECK_HEADERS([sys/stdlib.h])


PKG_CHECK_MODULES([libvarnishapi], [varnishapi])
PKG_CHECK_VAR([LIBVARNISHAPI_DATAROOTDIR], [varnishapi], [datarootdir])
AC_SUBST([LIBVARNISHAPI_DATAROOTDIR])

# Varnish include files tree
VARNISH_VMOD_INCLUDES
Expand Down

0 comments on commit a399bdf

Please sign in to comment.