[master] 8937dae96 build: Install vmod_*.vcc files

Dridi Boukelmoune dridi.boukelmoune at gmail.com
Mon May 15 16:39:07 UTC 2023


commit 8937dae9629866954f5260861681a363ebba3bad
Author: Dridi Boukelmoune <dridi.boukelmoune at gmail.com>
Date:   Wed Mar 29 16:13:23 2023 +0200

    build: Install vmod_*.vcc files
    
    This change adds a new /usr/share/varnish/vcc (or equivalent) directory
    where the built-in VMOD descriptors are installed. Only vmod_debug.vcc
    is omitted since vmod_debug is not installed. Shipping VCC files can be
    useful to end users, for example, to implement VCL autocompletion in a
    text editor.
    
    This change does not even begin to manage this for third-party VMODs.

diff --git a/lib/libvcc/vmodtool.py b/lib/libvcc/vmodtool.py
index 270e64cb5..884ad4fa5 100755
--- a/lib/libvcc/vmodtool.py
+++ b/lib/libvcc/vmodtool.py
@@ -51,6 +51,10 @@ import time
 AMBOILERPLATE = '''\
 # Generated by vmodtool.py --boilerplate.
 
+vmod_XXX_vcc = $(srcdir)/VCC
+
+vmod_vcc_files += $(vmod_XXX_vcc)
+
 vmod_LTLIBRARIES += libvmod_XXX.la
 
 libvmod_XXX_la_SOURCES = \\
@@ -70,7 +74,7 @@ nodist_libvmod_XXX_la_SOURCES = PFX.c PFX.h
 
 EXTRA_libvmod_XXX_la_DEPENDENCIES = $(nodist_libvmod_XXX_la_SOURCES)
 
-EXTRA_DIST += $(srcdir)/VCC automake_boilerplate_XXX.am
+EXTRA_DIST += automake_boilerplate_XXX.am
 
 $(libvmod_XXX_la_OBJECTS): PFX.h
 
diff --git a/vmod/Makefile.am b/vmod/Makefile.am
index 197508b28..afe6614a0 100644
--- a/vmod/Makefile.am
+++ b/vmod/Makefile.am
@@ -17,7 +17,10 @@ AM_CPPFLAGS = \
 # Use vmodtool.py generated automake boilerplate
 #
 
+vccdir=$(datarootdir)/$(PACKAGE)/vcc
+
 vmod_LTLIBRARIES =
+vmod_vcc_files =
 
 include $(srcdir)/automake_boilerplate_blob.am
 include $(srcdir)/automake_boilerplate_cookie.am
@@ -51,3 +54,9 @@ vmod_debug_symbols_regex = 'Vmod_.*_Data'
 
 # not --strict
 vmodtoolargs_debug = --boilerplate -o vcc_debug_if
+
+# unregister VCC file installation
+dist_noinst_DATA := $(srcdir)/vmod_debug.vcc
+vmod_debug_vcc =
+
+dist_vcc_DATA = $(vmod_vcc_files)
diff --git a/vmod/automake_boilerplate_blob.am b/vmod/automake_boilerplate_blob.am
index c49d42a6f..1b7c375a5 100644
--- a/vmod/automake_boilerplate_blob.am
+++ b/vmod/automake_boilerplate_blob.am
@@ -1,5 +1,9 @@
 # Generated by vmodtool.py --boilerplate.
 
+vmod_blob_vcc = $(srcdir)/vmod_blob.vcc
+
+vmod_vcc_files += $(vmod_blob_vcc)
+
 vmod_LTLIBRARIES += libvmod_blob.la
 
 libvmod_blob_la_SOURCES = \
@@ -26,7 +30,7 @@ nodist_libvmod_blob_la_SOURCES = vcc_blob_if.c vcc_blob_if.h
 
 EXTRA_libvmod_blob_la_DEPENDENCIES = $(nodist_libvmod_blob_la_SOURCES)
 
-EXTRA_DIST += $(srcdir)/vmod_blob.vcc automake_boilerplate_blob.am
+EXTRA_DIST += automake_boilerplate_blob.am
 
 $(libvmod_blob_la_OBJECTS): vcc_blob_if.h
 
diff --git a/vmod/automake_boilerplate_cookie.am b/vmod/automake_boilerplate_cookie.am
index fa3ccfb7f..1cb5c9f46 100644
--- a/vmod/automake_boilerplate_cookie.am
+++ b/vmod/automake_boilerplate_cookie.am
@@ -1,5 +1,9 @@
 # Generated by vmodtool.py --boilerplate.
 
+vmod_cookie_vcc = $(srcdir)/vmod_cookie.vcc
+
+vmod_vcc_files += $(vmod_cookie_vcc)
+
 vmod_LTLIBRARIES += libvmod_cookie.la
 
 libvmod_cookie_la_SOURCES = \
@@ -19,7 +23,7 @@ nodist_libvmod_cookie_la_SOURCES = vcc_cookie_if.c vcc_cookie_if.h
 
 EXTRA_libvmod_cookie_la_DEPENDENCIES = $(nodist_libvmod_cookie_la_SOURCES)
 
-EXTRA_DIST += $(srcdir)/vmod_cookie.vcc automake_boilerplate_cookie.am
+EXTRA_DIST += automake_boilerplate_cookie.am
 
 $(libvmod_cookie_la_OBJECTS): vcc_cookie_if.h
 
diff --git a/vmod/automake_boilerplate_debug.am b/vmod/automake_boilerplate_debug.am
index e97ac77da..b5c34f75e 100644
--- a/vmod/automake_boilerplate_debug.am
+++ b/vmod/automake_boilerplate_debug.am
@@ -1,5 +1,9 @@
 # Generated by vmodtool.py --boilerplate.
 
+vmod_debug_vcc = $(srcdir)/vmod_debug.vcc
+
+vmod_vcc_files += $(vmod_debug_vcc)
+
 vmod_LTLIBRARIES += libvmod_debug.la
 
 libvmod_debug_la_SOURCES = \
@@ -22,7 +26,7 @@ nodist_libvmod_debug_la_SOURCES = vcc_debug_if.c vcc_debug_if.h
 
 EXTRA_libvmod_debug_la_DEPENDENCIES = $(nodist_libvmod_debug_la_SOURCES)
 
-EXTRA_DIST += $(srcdir)/vmod_debug.vcc automake_boilerplate_debug.am
+EXTRA_DIST += automake_boilerplate_debug.am
 
 $(libvmod_debug_la_OBJECTS): vcc_debug_if.h
 
diff --git a/vmod/automake_boilerplate_directors.am b/vmod/automake_boilerplate_directors.am
index 6cec72ead..ed44678ac 100644
--- a/vmod/automake_boilerplate_directors.am
+++ b/vmod/automake_boilerplate_directors.am
@@ -1,5 +1,9 @@
 # Generated by vmodtool.py --boilerplate.
 
+vmod_directors_vcc = $(srcdir)/vmod_directors.vcc
+
+vmod_vcc_files += $(vmod_directors_vcc)
+
 vmod_LTLIBRARIES += libvmod_directors.la
 
 libvmod_directors_la_SOURCES = \
@@ -29,7 +33,7 @@ nodist_libvmod_directors_la_SOURCES = vcc_directors_if.c vcc_directors_if.h
 
 EXTRA_libvmod_directors_la_DEPENDENCIES = $(nodist_libvmod_directors_la_SOURCES)
 
-EXTRA_DIST += $(srcdir)/vmod_directors.vcc automake_boilerplate_directors.am
+EXTRA_DIST += automake_boilerplate_directors.am
 
 $(libvmod_directors_la_OBJECTS): vcc_directors_if.h
 
diff --git a/vmod/automake_boilerplate_proxy.am b/vmod/automake_boilerplate_proxy.am
index 24be960ea..61b54e785 100644
--- a/vmod/automake_boilerplate_proxy.am
+++ b/vmod/automake_boilerplate_proxy.am
@@ -1,5 +1,9 @@
 # Generated by vmodtool.py --boilerplate.
 
+vmod_proxy_vcc = $(srcdir)/vmod_proxy.vcc
+
+vmod_vcc_files += $(vmod_proxy_vcc)
+
 vmod_LTLIBRARIES += libvmod_proxy.la
 
 libvmod_proxy_la_SOURCES = \
@@ -19,7 +23,7 @@ nodist_libvmod_proxy_la_SOURCES = vcc_proxy_if.c vcc_proxy_if.h
 
 EXTRA_libvmod_proxy_la_DEPENDENCIES = $(nodist_libvmod_proxy_la_SOURCES)
 
-EXTRA_DIST += $(srcdir)/vmod_proxy.vcc automake_boilerplate_proxy.am
+EXTRA_DIST += automake_boilerplate_proxy.am
 
 $(libvmod_proxy_la_OBJECTS): vcc_proxy_if.h
 
diff --git a/vmod/automake_boilerplate_purge.am b/vmod/automake_boilerplate_purge.am
index 7d2186d11..de5cbc6c4 100644
--- a/vmod/automake_boilerplate_purge.am
+++ b/vmod/automake_boilerplate_purge.am
@@ -1,5 +1,9 @@
 # Generated by vmodtool.py --boilerplate.
 
+vmod_purge_vcc = $(srcdir)/vmod_purge.vcc
+
+vmod_vcc_files += $(vmod_purge_vcc)
+
 vmod_LTLIBRARIES += libvmod_purge.la
 
 libvmod_purge_la_SOURCES = \
@@ -19,7 +23,7 @@ nodist_libvmod_purge_la_SOURCES = vcc_purge_if.c vcc_purge_if.h
 
 EXTRA_libvmod_purge_la_DEPENDENCIES = $(nodist_libvmod_purge_la_SOURCES)
 
-EXTRA_DIST += $(srcdir)/vmod_purge.vcc automake_boilerplate_purge.am
+EXTRA_DIST += automake_boilerplate_purge.am
 
 $(libvmod_purge_la_OBJECTS): vcc_purge_if.h
 
diff --git a/vmod/automake_boilerplate_std.am b/vmod/automake_boilerplate_std.am
index 4900e4471..b4f62fde6 100644
--- a/vmod/automake_boilerplate_std.am
+++ b/vmod/automake_boilerplate_std.am
@@ -1,5 +1,9 @@
 # Generated by vmodtool.py --boilerplate.
 
+vmod_std_vcc = $(srcdir)/vmod_std.vcc
+
+vmod_vcc_files += $(vmod_std_vcc)
+
 vmod_LTLIBRARIES += libvmod_std.la
 
 libvmod_std_la_SOURCES = \
@@ -22,7 +26,7 @@ nodist_libvmod_std_la_SOURCES = vcc_std_if.c vcc_std_if.h
 
 EXTRA_libvmod_std_la_DEPENDENCIES = $(nodist_libvmod_std_la_SOURCES)
 
-EXTRA_DIST += $(srcdir)/vmod_std.vcc automake_boilerplate_std.am
+EXTRA_DIST += automake_boilerplate_std.am
 
 $(libvmod_std_la_OBJECTS): vcc_std_if.h
 
diff --git a/vmod/automake_boilerplate_unix.am b/vmod/automake_boilerplate_unix.am
index ab9ca4bca..aff2650f4 100644
--- a/vmod/automake_boilerplate_unix.am
+++ b/vmod/automake_boilerplate_unix.am
@@ -1,5 +1,9 @@
 # Generated by vmodtool.py --boilerplate.
 
+vmod_unix_vcc = $(srcdir)/vmod_unix.vcc
+
+vmod_vcc_files += $(vmod_unix_vcc)
+
 vmod_LTLIBRARIES += libvmod_unix.la
 
 libvmod_unix_la_SOURCES = \
@@ -20,7 +24,7 @@ nodist_libvmod_unix_la_SOURCES = vcc_unix_if.c vcc_unix_if.h
 
 EXTRA_libvmod_unix_la_DEPENDENCIES = $(nodist_libvmod_unix_la_SOURCES)
 
-EXTRA_DIST += $(srcdir)/vmod_unix.vcc automake_boilerplate_unix.am
+EXTRA_DIST += automake_boilerplate_unix.am
 
 $(libvmod_unix_la_OBJECTS): vcc_unix_if.h
 
diff --git a/vmod/automake_boilerplate_vtc.am b/vmod/automake_boilerplate_vtc.am
index cae60718d..202ad2257 100644
--- a/vmod/automake_boilerplate_vtc.am
+++ b/vmod/automake_boilerplate_vtc.am
@@ -1,5 +1,9 @@
 # Generated by vmodtool.py --boilerplate.
 
+vmod_vtc_vcc = $(srcdir)/vmod_vtc.vcc
+
+vmod_vcc_files += $(vmod_vtc_vcc)
+
 vmod_LTLIBRARIES += libvmod_vtc.la
 
 libvmod_vtc_la_SOURCES = \
@@ -19,7 +23,7 @@ nodist_libvmod_vtc_la_SOURCES = vcc_vtc_if.c vcc_vtc_if.h
 
 EXTRA_libvmod_vtc_la_DEPENDENCIES = $(nodist_libvmod_vtc_la_SOURCES)
 
-EXTRA_DIST += $(srcdir)/vmod_vtc.vcc automake_boilerplate_vtc.am
+EXTRA_DIST += automake_boilerplate_vtc.am
 
 $(libvmod_vtc_la_OBJECTS): vcc_vtc_if.h
 


More information about the varnish-commit mailing list