Updated varnish cygwin patches for 4.0.x varnish version - merge?

jdzstz jdzstz at gmail.com
Thu May 29 01:01:21 CEST 2014


Hi all,

I have prepared a version of cygwin patches for 4.0.x varnish versions, 
It would be nice to merge it with varnish master and 4.x code.

I tested them against last snapshots, my last tests was against 
25/May/2014 snapshot ( 
http://repo.varnish-cache.org/snapshots/varnish-4.0.0+2014-05-25.tar.gz )

There are three patch files, I attach them at email:

 1. Varnish minor bugs, detected during Cygwin tests:
    *varnish-4.0.0+2014-05-25-1.bugs.patch*
 2. Varnish code modification to allow windows paths at Cygwin:
    *varnish-4.0.0+2014-05-25-1.cygwin-src-winpaths.patch*
 3. Varnish makefile modifications to allow build application at Cygwin:
    *varnish-4.0.0+2014-05-25-1.cygwin-make.patch*

The changes has been tested at Cygwin and Linux, so my changes should 
not break anything at Linux build.

It will save to me a lot of time to me during Cygwin package 
compilation/creation if you add the code to master, because will avoid 
me to compare/merge old and new codes when ".patch" file is not applied 
fine due line changes at master.
_
_

_More detail about my changes:_

*1) **varnish-4.0.0+2014-05-25-1.bugs.patch* - minor bugs

  - At _bin/varnishd/cache/cache_acceptor.c_

A << #if defined(SO_SNDTIMEO_WORKS) || defined(SO_RCVTIMEO_WORKS)  >>  
is need to avoid warning with "timeval tv;" when SO_SNDTIMEO or 
SO_RCVTIMEO are not available

  - At _doc/sphinx/Makefile.am  and man/Makefile.am_

$(top_srcdir)  must be replaced with $(top_builddir)  to avoid errors 
when  $(top_srcdir)  !=  $(top_builddir)  because generated RST files 
are not created at source directories
A mkdir -p $(shell dirname $@) must be also added at RST creation.

At Cygwin, by default, the cygport program always separe src and build 
dir during package build.
At Linux it can be reproduced if you execute "./configure" and "make" 
outside src directory, in order to separate built files:
         1. mkdir ~/builddir
         2. cd ~/builddir
         3. ~/src/varnish4/configure --srcdir=~/src/varnish4 (inside 
builddir)
         4. make  (inside builddir)

  - At _lib/libvarnishapi/Makefile.am:_

vsl2rst must be replaced with vsl2rst$(EXEEXT)  because at cygwin, the 
executable is appended a ".exe" (at linux it does nothing)

  - At _lib/libvarnish/vfil.c_:

The code: bprintf(fnb, "/%s/%s", pfx, fn);  Add a initial "/" but pfx 
already starts with "/", duplicating the char: //usr/local/...

This double // seems that does not cause trouble at Linux but at Cygwin 
causes issues because //computer is used to access to other computers.

Solution: replace bprintf(fnb, "/%s/%s", pfx, fn); with bprintf(fnb, 
"%s/%s", pfx, fn);


*2) varnish-4.0.0+2014-05-25-1.cygwin-src-winpaths.patch* - allow 
windows paths

Minor changes at *bin/varnishd/mgt/mgt_vcc.c* 
and***lib/libvarnish/vin.c* to allow windows paths and "cmd.exe" shell 
when we are compiling varnish at cygwin

*3) **varnish-4.0.0+2014-05-25-1.cygwin-make.patch * - cygwin compilation*
*

Makefile and configure changes, to allow Cygwin compilation:
   - lib vmod are compiled after "bin" compilation to avoid some errors: 
at windows those libs are linked with varnishd.exe file, created at 
"bin" compilation, and standard compilation order causes trouble with 
vmod dependences
   - VCC_CC variable (and others) definition at "configure"
   - Conditional definition and usage of lots of variables : 
AC_SUBST(CYGWIN_varnishd_LDFLAGS)  , 
AC_SUBST(CYGWIN_libvarnishd_OBJECTS)  , AC_SUBST(CYGWIN_libvcc_LIBADD)  
, AC_SUBST(CYGWIN_libvmod_std_la_LIBADD)  , 
AC_SUBST(CYGWIN_lib_la_LDFLAGS_no_undefined)  only at Cygwin compilations
   - etc...


Tell me if you want more information about any cygwin change.

Regards,
Jorge Díaz



---
This email is free from viruses and malware because avast! Antivirus protection is active.
http://www.avast.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.varnish-cache.org/lists/pipermail/varnish-dev/attachments/20140529/809f8a2a/attachment.html>
-------------- next part --------------
--- origsrc/varnish-4.0.0+2014-05-25/bin/varnishd/mgt/mgt_vcc.c	2014-05-25 02:15:09.000000000 +0200
+++ src/varnish-4.0.0+2014-05-25/bin/varnishd/mgt/mgt_vcc.c	2014-05-26 01:02:04.942359200 +0200
@@ -176,8 +176,25 @@ run_vcc(void *priv)
 static void
 run_cc(void *priv)
 {
+	int i;
 	mgt_sandbox(SANDBOX_CC);
-	(void)execl("/bin/sh", "/bin/sh", "-c", priv, (char*)0);
+#if defined(__CYGWIN__)
+	if( access( "/bin/sh", X_OK ) != -1 ) 
+	{
+		i=execl("/bin/sh", "/bin/sh", "-c", priv, (char*)0);
+	}
+	else
+	{
+		i=execl(getenv("COMSPEC"), getenv("COMSPEC"), "/c", priv, (char*)0);
+	}
+#else
+	i=execl("/bin/sh", "/bin/sh", "-c", priv, (char*)0);
+#endif
+	if(i)
+	{
+		printf("Error %i in run_cc: %s\n",errno,strerror(errno));
+		printf("run_cc command: %s\n", (char*)priv);
+	}
 }
 
 /*--------------------------------------------------------------------
--- origsrc/varnish-4.0.0+2014-05-25/lib/libvarnish/vin.c	2014-05-25 02:15:09.000000000 +0200
+++ src/varnish-4.0.0+2014-05-25/lib/libvarnish/vin.c	2014-05-26 01:03:39.232885000 +0200
@@ -36,6 +36,9 @@
 #include <stdio.h>
 #include <string.h>
 #include <unistd.h>
+#if defined(__CYGWIN__)
+#include <ctype.h>
+#endif
 
 #include "vapi/vsm_int.h"
 #include "vas.h"
@@ -66,6 +69,13 @@ VIN_N_Arg(const char *n_arg, char **name
 
 	if (*nm == '/')
 		strcpy(dn, nm);
+#if defined(__CYGWIN__)
+/* In Windows we also tolerate other absolute paths: \\hostname\path, c:/path and c:\path */
+	else if (strlen(nm)>2 && nm[0] == '\\' && nm[1] == '\\')
+		strcpy(dn, nm);
+	else if (strlen(nm)>3 && isalpha((unsigned char)nm[0]) && nm[1] == ':' && (nm[2] == '/'||nm[2] == '\\'))
+		strcpy(dn, nm);
+#endif
 	else if (strlen(VARNISH_STATE_DIR) + 1 + strlen(nm) >= sizeof dn){
 		/* preliminary length check to avoid overflowing dm */
 		errno = ENAMETOOLONG;
-------------- next part --------------
--- origsrc/varnish-4.0.0+2014-05-25/bin/varnishd/cache/cache_acceptor.c	2014-05-25 02:15:09.000000000 +0200
+++ src/varnish-4.0.0+2014-05-25/bin/varnishd/cache/cache_acceptor.c	2014-05-26 01:00:35.831931000 +0200
@@ -128,7 +128,9 @@ vca_tcp_opt_init(void)
 	int one = 1;
 	// int zero = 0;
 	struct tcp_opt *to;
+#if defined(SO_SNDTIMEO_WORKS) || defined(SO_RCVTIMEO_WORKS)
 	struct timeval tv;
+#endif
 	int chg = 0;
 #ifdef HAVE_TCP_KEEP
 	int x;
--- origsrc/varnish-4.0.0+2014-05-25/doc/sphinx/Makefile.am	2014-05-25 02:15:09.000000000 +0200
+++ src/varnish-4.0.0+2014-05-25/doc/sphinx/Makefile.am	2014-05-26 02:11:26.850983700 +0200
@@ -144,11 +144,13 @@ include/varnishhist_synopsis.rst: $(top_
 BUILT_SOURCES += include/varnishhist_options.rst \
 	 include/varnishhist_synopsis.rst
 
-reference/vmod_std.generated.rst: $(top_srcdir)/lib/libvmod_std/vmod_std.rst
+reference/vmod_std.generated.rst: $(top_builddir)/lib/libvmod_std/vmod_std.rst
+	mkdir -p $(shell dirname $@)	
 	cp $? $@
 BUILT_SOURCES += reference/vmod_std.generated.rst
 
-reference/vmod_directors.generated.rst: $(top_srcdir)/lib/libvmod_directors/vmod_directors.rst
+reference/vmod_directors.generated.rst: $(top_builddir)/lib/libvmod_directors/vmod_directors.rst
+	mkdir -p $(shell dirname $@)	
 	cp $? $@
 BUILT_SOURCES += reference/vmod_directors.generated.rst
 
--- origsrc/varnish-4.0.0+2014-05-25/lib/libvarnish/vfil.c	2014-05-25 02:15:09.000000000 +0200
+++ src/varnish-4.0.0+2014-05-25/lib/libvarnish/vfil.c	2014-05-26 01:03:29.609480000 +0200
@@ -110,7 +110,7 @@ VFIL_readfile(const char *pfx, const cha
 	if (fn[0] == '/')
 		fd = open(fn, O_RDONLY);
 	else if (pfx != NULL) {
-		bprintf(fnb, "/%s/%s", pfx, fn);
+		bprintf(fnb, "%s/%s", pfx, fn);
 		    /* XXX: graceful length check */
 		fd = open(fnb, O_RDONLY);
 	} else
--- origsrc/varnish-4.0.0+2014-05-25/lib/libvarnishapi/Makefile.am	2014-05-25 02:15:09.000000000 +0200
+++ src/varnish-4.0.0+2014-05-25/lib/libvarnishapi/Makefile.am	2014-05-26 01:03:56.186163300 +0200
@@ -69,14 +69,14 @@ CLEANFILES = \
 MAINTAINERCLEANFILES = \
 	vsl-tags.rst
 
-noinst_PROGRAMS = vsl2rst
+noinst_PROGRAMS = vsl2rst$(EXEEXT)
 
 vsl2rst_SOURCES = \
 	vsl2rst.c \
 	$(top_srcdir)/include/tbl/vsl_tags.h \
 	$(top_srcdir)/include/tbl/vsl_tags_http.h
 
-vsl-tags.rst: vsl2rst
+vsl-tags.rst: vsl2rst$(EXEEXT)
 	./vsl2rst > $@
 
 vxp_fixed_token.c vxp_tokens.h: \
--- origsrc/varnish-4.0.0+2014-05-25/man/Makefile.am	2014-05-25 02:15:09.000000000 +0200
+++ src/varnish-4.0.0+2014-05-25/man/Makefile.am	2014-05-26 01:07:31.665109700 +0200
@@ -86,8 +86,8 @@ varnishhist.1: \
 	$(top_srcdir)/doc/sphinx/include/varnishhist_synopsis.rst
 	${RST2MAN} $(RST2ANY_FLAGS) $(top_srcdir)/doc/sphinx/reference/varnishhist.rst $@
 
-vmod_std.3: $(top_srcdir)/lib/libvmod_std/vmod_std.man.rst
+vmod_std.3: $(top_builddir)/lib/libvmod_std/vmod_std.man.rst
 	${RST2MAN} $(RST2ANY_FLAGS) $? $@
 
-vmod_directors.3: $(top_srcdir)/lib/libvmod_directors/vmod_directors.man.rst
+vmod_directors.3: $(top_builddir)/lib/libvmod_directors/vmod_directors.man.rst
 	${RST2MAN} $(RST2ANY_FLAGS) $? $@
-------------- next part --------------
--- origsrc/varnish-4.0.0+2014-05-25/Makefile.am	2014-05-25 02:15:09.000000000 +0200
+++ src/varnish-4.0.0+2014-05-25/Makefile.am	2014-05-26 00:59:53.380056800 +0200
@@ -1,6 +1,6 @@
 ACLOCAL_AMFLAGS = -I m4
 
-SUBDIRS = include lib bin etc doc man redhat
+SUBDIRS = include lib bin lib/libvmod_debug lib/libvmod_std lib/libvmod_directors etc doc man redhat
 
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = varnishapi.pc
--- origsrc/varnish-4.0.0+2014-05-25/bin/varnishd/Makefile.am	2014-05-25 02:15:09.000000000 +0200
+++ src/varnish-4.0.0+2014-05-25/bin/varnishd/Makefile.am	2014-05-26 01:01:31.507921400 +0200
@@ -122,9 +122,15 @@ varnishd_LDADD = \
 	$(top_builddir)/lib/libvgz/libvgz.la \
 	@JEMALLOC_LDADD@ \
 	@PCRE_LIBS@ \
-	${DL_LIBS} ${PTHREAD_LIBS} ${NET_LIBS} ${LIBM} ${LIBUMEM}
+	${DL_LIBS} ${PTHREAD_LIBS} ${NET_LIBS} ${LIBM} ${LIBUMEM} ${CYGWIN_varnishd_LDFLAGS}
 
 EXTRA_DIST = builtin.vcl
+
+EXTRA_SCRIPTS = 
+
+sbin_SCRIPTS = ${CYGWIN_libvarnishd_OBJECTS}
+
+
 DISTCLEANFILES = builtin_vcl.h
 
 #
--- origsrc/varnish-4.0.0+2014-05-25/configure.ac	2014-05-25 02:15:09.000000000 +0200
+++ src/varnish-4.0.0+2014-05-25/configure.ac	2014-05-26 00:59:16.626614500 +0200
@@ -459,6 +459,12 @@ gl_LD_VERSION_SCRIPT
 # failures.
 CFLAGS="${CFLAGS} -Wall -Werror"
 OCFLAGS="${OCFLAGS} -Wall -Werror"
+case $target in
+*-*-cygwin*)
+	CFLAGS="${CFLAGS} -Wno-char-subscripts"
+	OCFLAGS="${OCFLAGS} -Wno-char-subscripts"
+	;;
+esac
 AX_CHECK_COMPILE_FLAG([-Werror=unused-result],
     [CFLAGS="${CFLAGS} -Wno-error=unused-result"
      OCFLAGS="${OCFLAGS} -Wno-error=unused-result"],
@@ -569,6 +575,19 @@ else
 	*-*-darwin*)
 		VCC_CC="exec cc $OCFLAGS -dynamiclib -Wl,-undefined,dynamic_lookup -o %o %s"
 		;;
+	*-*-cygwin*)
+		#calculate ${exec_prefix}/lib, because it is asigned later, and we need now
+		prefix_aux=`eval echo ${prefix}`
+		test "x$prefix_aux" = xNONE && prefix_aux=`eval echo ${ac_default_prefix}`
+		# Let make expand exec_prefix.
+		exec_prefix_aux=`eval echo ${exec_prefix}`
+		test "x$exec_prefix_aux" = xNONE && exec_prefix_aux=`eval echo ${prefix_aux}`
+		# Remove "/" if we are in Root
+		test "x$exec_prefix_aux" = "x/" && exec_prefix_aux=""
+		#calculate compilation path
+		comp_prefix=`pwd`
+		VCC_CC="$PTHREAD_CC $OCFLAGS $PTHREAD_CFLAGS -shared %s -L${comp_prefix}/lib/libvarnish/.libs -L${comp_prefix}/bin/varnishd -L${exec_prefix_aux}/lib -L${exec_prefix_aux}/sbin -L${exec_prefix_aux}/bin -lvarnish -lvarnishd -o %o"
+		;;
 	*)
 		VCC_CC="exec $PTHREAD_CC $OCFLAGS $PTHREAD_CFLAGS -fpic -shared -Wl,-x -o %o %s"
 		;;
@@ -595,6 +614,31 @@ AC_SUBST(VTC_TESTS)
 # Make sure this include dir exists
 AC_CONFIG_COMMANDS([mkdir], [$MKDIR_P doc/sphinx/include])
 
+# Add library dependencies with libvarnish (linker needs it in CYGWIN during compilation time)
+# Generate fake library libvarnishd.dll.a in order to successful linking DLL when resolving varnishd.exe simbols
+# Add -no-undefined to LDFLAGS
+case $target in
+*-*-cygwin*)
+		CYGWIN_varnishd_LDFLAGS=' -Wl,-out-implib,libvarnishd.dll.a'
+		CYGWIN_libvarnishd_OBJECTS='libvarnishd.dll.a'
+		CYGWIN_libvcc_LIBADD='$(top_builddir)/lib/libvarnish/libvarnish.la'
+		CYGWIN_libvmod_std_la_LIBADD='$(top_builddir)/lib/libvarnish/libvarnish.la -lvarnishd -L$(top_builddir)/bin/varnishd'
+		CYGWIN_lib_la_LDFLAGS_no_undefined='-no-undefined'
+		AC_SUBST(CYGWIN_varnishd_LDFLAGS)
+		AC_SUBST(CYGWIN_libvarnishd_OBJECTS)
+		AC_SUBST(CYGWIN_libvcc_LIBADD)
+		AC_SUBST(CYGWIN_libvmod_std_la_LIBADD)
+		AC_SUBST(CYGWIN_lib_la_LDFLAGS_no_undefined)
+		cygwin=true
+		;;
+*)
+		cygwin=false
+		;;
+esac
+
+AM_CONDITIONAL([CYGWIN_COMPILATION], test x$cygwin = xtrue)
+
+
 # Generate output
 AC_CONFIG_FILES([
     Makefile
--- origsrc/varnish-4.0.0+2014-05-25/lib/Makefile.am	2014-05-25 02:15:09.000000000 +0200
+++ src/varnish-4.0.0+2014-05-25/lib/Makefile.am	2014-05-26 01:06:46.265206900 +0200
@@ -6,10 +6,7 @@ SUBDIRS = \
 	libvarnishapi \
 	libvarnishtools \
 	libvcc \
-	libvgz \
-	libvmod_debug \
-	libvmod_std \
-	libvmod_directors
+	libvgz
 
 DIST_SUBDIRS = 	\
 	libvarnishcompat \
--- origsrc/varnish-4.0.0+2014-05-25/lib/libvarnish/Makefile.am	2014-05-25 02:15:09.000000000 +0200
+++ src/varnish-4.0.0+2014-05-25/lib/libvarnish/Makefile.am	2014-05-26 01:03:18.837312800 +0200
@@ -7,7 +7,7 @@ AM_LDFLAGS  = $(AM_LT_LDFLAGS)
 
 pkglib_LTLIBRARIES = libvarnish.la
 
-libvarnish_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
+libvarnish_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version ${CYGWIN_lib_la_LDFLAGS_no_undefined}
 
 libvarnish_la_SOURCES = \
 	vav.c \
--- origsrc/varnish-4.0.0+2014-05-25/lib/libvarnishapi/Makefile.am	2014-05-25 02:15:09.000000000 +0200
+++ src/varnish-4.0.0+2014-05-25/lib/libvarnishapi/Makefile.am	2014-05-26 01:03:56.186163300 +0200
@@ -9,7 +9,7 @@ AM_CPPFLAGS = \
 
 lib_LTLIBRARIES = libvarnishapi.la
 
-libvarnishapi_la_LDFLAGS = $(AM_LDFLAGS) -version-info 1:0:0
+libvarnishapi_la_LDFLAGS = $(AM_LDFLAGS) -version-info 1:0:0 ${CYGWIN_lib_la_LDFLAGS_no_undefined}
 
 libvarnishapi_la_SOURCES = \
 	vsm_api.h \
--- origsrc/varnish-4.0.0+2014-05-25/lib/libvarnishcompat/Makefile.am	2014-05-25 02:15:09.000000000 +0200
+++ src/varnish-4.0.0+2014-05-25/lib/libvarnishcompat/Makefile.am	2014-05-26 01:04:07.376608800 +0200
@@ -8,7 +8,7 @@ AM_LDFLAGS  = $(AM_LT_LDFLAGS)
 
 pkglib_LTLIBRARIES = libvarnishcompat.la
 
-libvarnishcompat_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
+libvarnishcompat_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version ${CYGWIN_lib_la_LDFLAGS_no_undefined}
 
 libvarnishcompat_la_SOURCES = \
 	daemon.c \
--- origsrc/varnish-4.0.0+2014-05-25/lib/libvcc/Makefile.am	2014-05-25 02:15:09.000000000 +0200
+++ src/varnish-4.0.0+2014-05-25/lib/libvcc/Makefile.am	2014-05-26 01:04:17.984667700 +0200
@@ -8,7 +8,7 @@ AM_CPPFLAGS = \
 
 pkglib_LTLIBRARIES = libvcc.la
 
-libvcc_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
+libvcc_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version ${CYGWIN_lib_la_LDFLAGS_no_undefined}
 
 libvcc_la_SOURCES = \
 	vcc_compile.h \
@@ -30,6 +30,8 @@ libvcc_la_SOURCES = \
 	vcc_var.c \
 	vcc_vmod.c \
 	vcc_xref.c
+	
+libvcc_la_LIBADD = ${CYGWIN_libvcc_LIBADD}
 
 EXTRA_DIST = \
 	generate.py
--- origsrc/varnish-4.0.0+2014-05-25/lib/libvgz/Makefile.am	2014-05-25 02:15:09.000000000 +0200
+++ src/varnish-4.0.0+2014-05-25/lib/libvgz/Makefile.am	2014-05-26 01:04:37.848008800 +0200
@@ -3,7 +3,7 @@ AM_LDFLAGS  = $(AM_LT_LDFLAGS)
 
 pkglib_LTLIBRARIES = libvgz.la
 
-libvgz_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
+libvgz_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version ${CYGWIN_lib_la_LDFLAGS_no_undefined}
 libvgz_la_CFLAGS = -D_LARGEFILE64_SOURCE=1 -DZLIB_CONST $(libvgz_extra_cflags)
 
 libvgz_la_SOURCES = \
--- origsrc/varnish-4.0.0+2014-05-25/lib/libvmod_debug/Makefile.am	2014-05-25 02:15:09.000000000 +0200
+++ src/varnish-4.0.0+2014-05-25/lib/libvmod_debug/Makefile.am	2014-05-26 01:05:38.039203500 +0200
@@ -13,12 +13,14 @@ vmodtoolargs = --strict
 
 noinst_LTLIBRARIES = libvmod_debug.la
 
-libvmod_debug_la_LDFLAGS = $(AM_LDFLAGS) -module -export-dynamic -avoid-version -shared -rpath /nowhere
+libvmod_debug_la_LDFLAGS = $(AM_LDFLAGS) -module -export-dynamic -avoid-version -shared -rpath /nowhere ${CYGWIN_lib_la_LDFLAGS_no_undefined}
 
 libvmod_debug_la_SOURCES = \
 	vmod_debug.c \
 	vmod_debug_obj.c
 
+libvmod_debug_la_LIBADD = ${CYGWIN_libvmod_std_la_LIBADD}
+
 nodist_libvmod_debug_la_SOURCES = \
 	vcc_if.c \
 	vcc_if.h
--- origsrc/varnish-4.0.0+2014-05-25/lib/libvmod_directors/Makefile.am	2014-05-25 02:15:09.000000000 +0200
+++ src/varnish-4.0.0+2014-05-25/lib/libvmod_directors/Makefile.am	2014-05-26 01:06:00.593210200 +0200
@@ -12,7 +12,7 @@ vmodtool = $(top_srcdir)/lib/libvcc/vmod
 vmodtoolargs = --strict
 vmod_LTLIBRARIES = libvmod_directors.la
 
-libvmod_directors_la_LDFLAGS = $(AM_LDFLAGS) -module -export-dynamic -avoid-version -shared
+libvmod_directors_la_LDFLAGS = $(AM_LDFLAGS) -module -export-dynamic -avoid-version -shared ${CYGWIN_lib_la_LDFLAGS_no_undefined}
 
 libvmod_directors_la_SOURCES = \
 	vdir.c \
@@ -22,6 +22,8 @@ libvmod_directors_la_SOURCES = \
 	random.c \
 	round_robin.c
 
+libvmod_directors_la_LIBADD = ${CYGWIN_libvmod_std_la_LIBADD}
+	
 nodist_libvmod_directors_la_SOURCES = \
 	vcc_if.c \
 	vcc_if.h
--- origsrc/varnish-4.0.0+2014-05-25/lib/libvmod_std/Makefile.am	2014-05-25 02:15:09.000000000 +0200
+++ src/varnish-4.0.0+2014-05-25/lib/libvmod_std/Makefile.am	2014-05-26 01:06:33.500105900 +0200
@@ -13,13 +13,15 @@ vmodtool = $(top_srcdir)/lib/libvcc/vmod
 vmodtoolargs = --strict
 vmod_LTLIBRARIES = libvmod_std.la
 
-libvmod_std_la_LDFLAGS = $(AM_LDFLAGS) -module -export-dynamic -avoid-version -shared
+libvmod_std_la_LDFLAGS = $(AM_LDFLAGS) -module -export-dynamic -avoid-version -shared ${CYGWIN_lib_la_LDFLAGS_no_undefined}
 
 libvmod_std_la_SOURCES = \
 	vmod_std.c \
 	vmod_std_fileread.c \
 	vmod_std_conversions.c
 
+libvmod_std_la_LIBADD = ${CYGWIN_libvmod_std_la_LIBADD}
+
 nodist_libvmod_std_la_SOURCES = \
 	vcc_if.c \
 	vcc_if.h


More information about the varnish-dev mailing list