[build-vmoddir] 7b39cf1a1 build: Let vmodtool generate the sources listing

Dridi Boukelmoune dridi.boukelmoune at gmail.com
Thu Jan 7 11:40:10 UTC 2021


commit 7b39cf1a1df45f369d3ffd0be3fb1a88cb1f60bd
Author: Dridi Boukelmoune <dridi.boukelmoune at gmail.com>
Date:   Thu Jan 7 12:21:32 2021 +0100

    build: Let vmodtool generate the sources listing
    
    Now that all VMOD sources are prefixed consistently we no longer need to
    maintain the lists manually.

diff --git a/lib/libvcc/vmodtool.py b/lib/libvcc/vmodtool.py
index 8f2ec9ffb..7247b0bde 100755
--- a/lib/libvcc/vmodtool.py
+++ b/lib/libvcc/vmodtool.py
@@ -53,6 +53,9 @@ AMBOILERPLATE = '''\
 
 vmod_LTLIBRARIES += libvmod_XXX.la
 
+libvmod_XXX_la_SOURCES = \\
+\tSRC
+
 libvmod_XXX_la_CFLAGS = \\
 \t at SAN_CFLAGS@
 
@@ -971,11 +974,14 @@ class vcc(object):
     def amboilerplate(self):
         ''' Produce boilplate for autocrap tools '''
         vcc = os.path.basename(self.inputfile)
+        src = glob.glob("vmod_" + self.modname + "*.[ch]")
+        src.sort()
         fn = "automake_boilerplate_" + self.modname + ".am"
         fo = self.openfile(fn)
         fo.write(AMBOILERPLATE.replace("XXX", self.modname)
                  .replace("VCC", vcc)
-                 .replace("PFX", self.pfx))
+                 .replace("PFX", self.pfx)
+                 .replace("SRC", " \\\n\t".join(src)))
         fo.close()
 
     def mkdefs(self, fo):
diff --git a/vmod/Makefile.am b/vmod/Makefile.am
index 6557b366e..d204d9bc5 100644
--- a/vmod/Makefile.am
+++ b/vmod/Makefile.am
@@ -13,60 +13,6 @@ AM_CPPFLAGS = \
 	-I$(top_srcdir)/bin/varnishd \
 	-I$(top_builddir)/include
 
-#
-# Declare vmod sources
-#
-
-libvmod_blob_la_SOURCES = \
-	vmod_blob.c \
-	vmod_blob.h \
-	vmod_blob_id.c \
-	vmod_blob_base64.c \
-	vmod_blob_hex.c \
-	vmod_blob_url.c \
-	vmod_blob_tbl_encodings.h \
-	vmod_blob_tbl_case.h
-
-libvmod_cookie_la_SOURCES = \
-	vmod_cookie.c
-
-libvmod_debug_la_SOURCES = \
-	vmod_debug.c \
-	vmod_debug_obj.c \
-	vmod_debug_dyn.c
-
-libvmod_directors_la_SOURCES = \
-	vmod_directors.c \
-	vmod_directors.h \
-	vmod_directors_fall_back.c \
-	vmod_directors_hash.c \
-	vmod_directors_random.c \
-	vmod_directors_round_robin.c \
-	vmod_directors_shard.c \
-	vmod_directors_shard_cfg.c \
-	vmod_directors_vmod_directors_shard_cfg.h \
-	vmod_directors_shard_dir.c \
-	vmod_directors_shard_dir.h
-
-libvmod_proxy_la_SOURCES = \
-	vmod_proxy.c
-
-libvmod_purge_la_SOURCES = \
-	vmod_purge.c
-
-libvmod_std_la_SOURCES = \
-	vmod_std.c \
-	vmod_std_conversions.c \
-	vmod_std_fileread.c \
-	vmod_std_querysort.c
-
-libvmod_unix_la_SOURCES = \
-	vmod_unix.c \
-	vmod_unix_cred_compat.h
-
-libvmod_vtc_la_SOURCES = \
-	vmod_vtc.c
-
 #
 # Use vmodtool.py generated automake boilerplate
 #
diff --git a/vmod/automake_boilerplate_blob.am b/vmod/automake_boilerplate_blob.am
index 81ec37e56..d604614ac 100644
--- a/vmod/automake_boilerplate_blob.am
+++ b/vmod/automake_boilerplate_blob.am
@@ -2,6 +2,16 @@
 
 vmod_LTLIBRARIES += libvmod_blob.la
 
+libvmod_blob_la_SOURCES = \
+	vmod_blob.c \
+	vmod_blob.h \
+	vmod_blob_base64.c \
+	vmod_blob_hex.c \
+	vmod_blob_id.c \
+	vmod_blob_tbl_case.h \
+	vmod_blob_tbl_encodings.h \
+	vmod_blob_url.c
+
 libvmod_blob_la_CFLAGS = \
 	@SAN_CFLAGS@
 
diff --git a/vmod/automake_boilerplate_cookie.am b/vmod/automake_boilerplate_cookie.am
index fb9b156b5..a1509d920 100644
--- a/vmod/automake_boilerplate_cookie.am
+++ b/vmod/automake_boilerplate_cookie.am
@@ -2,6 +2,9 @@
 
 vmod_LTLIBRARIES += libvmod_cookie.la
 
+libvmod_cookie_la_SOURCES = \
+	vmod_cookie.c
+
 libvmod_cookie_la_CFLAGS = \
 	@SAN_CFLAGS@
 
diff --git a/vmod/automake_boilerplate_debug.am b/vmod/automake_boilerplate_debug.am
index 950cf4ede..88f89a403 100644
--- a/vmod/automake_boilerplate_debug.am
+++ b/vmod/automake_boilerplate_debug.am
@@ -2,6 +2,11 @@
 
 vmod_LTLIBRARIES += libvmod_debug.la
 
+libvmod_debug_la_SOURCES = \
+	vmod_debug.c \
+	vmod_debug_dyn.c \
+	vmod_debug_obj.c
+
 libvmod_debug_la_CFLAGS = \
 	@SAN_CFLAGS@
 
diff --git a/vmod/automake_boilerplate_directors.am b/vmod/automake_boilerplate_directors.am
index 5ba173349..2a3618a43 100644
--- a/vmod/automake_boilerplate_directors.am
+++ b/vmod/automake_boilerplate_directors.am
@@ -2,6 +2,19 @@
 
 vmod_LTLIBRARIES += libvmod_directors.la
 
+libvmod_directors_la_SOURCES = \
+	vmod_directors.c \
+	vmod_directors.h \
+	vmod_directors_fall_back.c \
+	vmod_directors_hash.c \
+	vmod_directors_random.c \
+	vmod_directors_round_robin.c \
+	vmod_directors_shard.c \
+	vmod_directors_shard_cfg.c \
+	vmod_directors_shard_cfg.h \
+	vmod_directors_shard_dir.c \
+	vmod_directors_shard_dir.h
+
 libvmod_directors_la_CFLAGS = \
 	@SAN_CFLAGS@
 
diff --git a/vmod/automake_boilerplate_proxy.am b/vmod/automake_boilerplate_proxy.am
index 83f2217c0..d5873e989 100644
--- a/vmod/automake_boilerplate_proxy.am
+++ b/vmod/automake_boilerplate_proxy.am
@@ -2,6 +2,9 @@
 
 vmod_LTLIBRARIES += libvmod_proxy.la
 
+libvmod_proxy_la_SOURCES = \
+	vmod_proxy.c
+
 libvmod_proxy_la_CFLAGS = \
 	@SAN_CFLAGS@
 
diff --git a/vmod/automake_boilerplate_purge.am b/vmod/automake_boilerplate_purge.am
index afe7bf60b..2146f4055 100644
--- a/vmod/automake_boilerplate_purge.am
+++ b/vmod/automake_boilerplate_purge.am
@@ -2,6 +2,9 @@
 
 vmod_LTLIBRARIES += libvmod_purge.la
 
+libvmod_purge_la_SOURCES = \
+	vmod_purge.c
+
 libvmod_purge_la_CFLAGS = \
 	@SAN_CFLAGS@
 
diff --git a/vmod/automake_boilerplate_std.am b/vmod/automake_boilerplate_std.am
index a5760bf78..b035ba7b7 100644
--- a/vmod/automake_boilerplate_std.am
+++ b/vmod/automake_boilerplate_std.am
@@ -2,6 +2,12 @@
 
 vmod_LTLIBRARIES += libvmod_std.la
 
+libvmod_std_la_SOURCES = \
+	vmod_std.c \
+	vmod_std_conversions.c \
+	vmod_std_fileread.c \
+	vmod_std_querysort.c
+
 libvmod_std_la_CFLAGS = \
 	@SAN_CFLAGS@
 
diff --git a/vmod/automake_boilerplate_unix.am b/vmod/automake_boilerplate_unix.am
index b2937a270..1b0274e54 100644
--- a/vmod/automake_boilerplate_unix.am
+++ b/vmod/automake_boilerplate_unix.am
@@ -2,6 +2,10 @@
 
 vmod_LTLIBRARIES += libvmod_unix.la
 
+libvmod_unix_la_SOURCES = \
+	vmod_unix.c \
+	vmod_unix_cred_compat.h
+
 libvmod_unix_la_CFLAGS = \
 	@SAN_CFLAGS@
 
diff --git a/vmod/automake_boilerplate_vtc.am b/vmod/automake_boilerplate_vtc.am
index e8479ba10..efe418b00 100644
--- a/vmod/automake_boilerplate_vtc.am
+++ b/vmod/automake_boilerplate_vtc.am
@@ -2,6 +2,9 @@
 
 vmod_LTLIBRARIES += libvmod_vtc.la
 
+libvmod_vtc_la_SOURCES = \
+	vmod_vtc.c
+
 libvmod_vtc_la_CFLAGS = \
 	@SAN_CFLAGS@
 


More information about the varnish-commit mailing list