Commit 185c4296 authored by Dridi Boukelmoune's avatar Dridi Boukelmoune

build: Less variables and more make rules for vmods

parent a658ea51
...@@ -67,6 +67,10 @@ libvmod_XXX_la_LDFLAGS = \\ ...@@ -67,6 +67,10 @@ libvmod_XXX_la_LDFLAGS = \\
nodist_libvmod_XXX_la_SOURCES = PFX.c PFX.h 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
$(libvmod_XXX_la_OBJECTS): PFX.h $(libvmod_XXX_la_OBJECTS): PFX.h
PFX.h vmod_XXX.rst vmod_XXX.man.rst: PFX.c PFX.h vmod_XXX.rst vmod_XXX.man.rst: PFX.c
...@@ -74,11 +78,11 @@ PFX.h vmod_XXX.rst vmod_XXX.man.rst: PFX.c ...@@ -74,11 +78,11 @@ PFX.h vmod_XXX.rst vmod_XXX.man.rst: PFX.c
PFX.c: $(vmodtool) $(srcdir)/VCC PFX.c: $(vmodtool) $(srcdir)/VCC
\t@PYTHON@ $(vmodtool) $(vmodtoolargs_XXX) $(srcdir)/VCC \t@PYTHON@ $(vmodtool) $(vmodtoolargs_XXX) $(srcdir)/VCC
EXTRA_DIST += $(srcdir)/VCC automake_boilerplate_XXX.am clean-local: clean-vmod-XXX
CLEANFILES += $(builddir)/PFX.c $(builddir)/PFX.h \\ clean-vmod-XXX:
\t$(builddir)/vmod_XXX.rst \\ rm -f $(nodist_libvmod_XXX_la_SOURCES)
\t$(builddir)/vmod_XXX.man.rst rm -f vmod_XXX.rst vmod_XXX.man.rst
''' '''
PRIVS = { PRIVS = {
......
...@@ -4,6 +4,8 @@ TESTS = @VMOD_TESTS@ ...@@ -4,6 +4,8 @@ TESTS = @VMOD_TESTS@
include $(top_srcdir)/vtc.am include $(top_srcdir)/vtc.am
EXTRA_DIST = $(TESTS)
AM_LDFLAGS = $(AM_LT_LDFLAGS) AM_LDFLAGS = $(AM_LT_LDFLAGS)
AM_CPPFLAGS = \ AM_CPPFLAGS = \
...@@ -29,19 +31,6 @@ libvmod_blob_la_SOURCES = \ ...@@ -29,19 +31,6 @@ libvmod_blob_la_SOURCES = \
libvmod_cookie_la_SOURCES = \ libvmod_cookie_la_SOURCES = \
vmod_cookie.c vmod_cookie.c
.vsc.c:
$(PYTHON) $(top_srcdir)/lib/libvcc/vsctool.py -c $<
.vsc.h:
$(PYTHON) $(top_srcdir)/lib/libvcc/vsctool.py -h $<
libvmod_debug_extra_sources = \
VSC_debug.vsc
libvmod_debug_built_sources = \
VSC_debug.c \
VSC_debug.h
libvmod_debug_la_SOURCES = \ libvmod_debug_la_SOURCES = \
vmod_debug.c \ vmod_debug.c \
vmod_debug_obj.c \ vmod_debug_obj.c \
...@@ -81,17 +70,10 @@ libvmod_vtc_la_SOURCES = \ ...@@ -81,17 +70,10 @@ libvmod_vtc_la_SOURCES = \
vmod_vtc.c vmod_vtc.c
# #
# Prepare build variables # Use vmodtool.py generated automake boilerplate
# #
vmod_LTLIBRARIES = vmod_LTLIBRARIES =
EXTRA_DIST = $(libvmod_debug_extra_sources) $(TESTS)
CLEANFILES = $(libvmod_debug_built_sources)
BUILT_SOURCES = $(libvmod_debug_built_sources)
#
# Use vmodtool.py generated automake boilerplate
#
include $(srcdir)/automake_boilerplate_blob.am include $(srcdir)/automake_boilerplate_blob.am
include $(srcdir)/automake_boilerplate_cookie.am include $(srcdir)/automake_boilerplate_cookie.am
...@@ -107,7 +89,16 @@ include $(srcdir)/automake_boilerplate_vtc.am ...@@ -107,7 +89,16 @@ include $(srcdir)/automake_boilerplate_vtc.am
# Post-boilerplate tweaks # Post-boilerplate tweaks
# #
nodist_libvmod_debug_la_SOURCES += $(libvmod_debug_built_sources) .vsc.c:
$(PYTHON) $(top_srcdir)/lib/libvcc/vsctool.py -c $<
.vsc.h:
$(PYTHON) $(top_srcdir)/lib/libvcc/vsctool.py -h $<
EXTRA_DIST += VSC_debug.vsc
nodist_libvmod_debug_la_SOURCES += \
VSC_debug.c \
VSC_debug.h
# Allow Vmod_wrong*_Data to be exported # Allow Vmod_wrong*_Data to be exported
vmod_debug_symbols_regex = 'Vmod_.*_Data' vmod_debug_symbols_regex = 'Vmod_.*_Data'
......
...@@ -16,6 +16,10 @@ libvmod_blob_la_LDFLAGS = \ ...@@ -16,6 +16,10 @@ libvmod_blob_la_LDFLAGS = \
nodist_libvmod_blob_la_SOURCES = vcc_blob_if.c vcc_blob_if.h 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
$(libvmod_blob_la_OBJECTS): vcc_blob_if.h $(libvmod_blob_la_OBJECTS): vcc_blob_if.h
vcc_blob_if.h vmod_blob.rst vmod_blob.man.rst: vcc_blob_if.c vcc_blob_if.h vmod_blob.rst vmod_blob.man.rst: vcc_blob_if.c
...@@ -23,8 +27,8 @@ vcc_blob_if.h vmod_blob.rst vmod_blob.man.rst: vcc_blob_if.c ...@@ -23,8 +27,8 @@ vcc_blob_if.h vmod_blob.rst vmod_blob.man.rst: vcc_blob_if.c
vcc_blob_if.c: $(vmodtool) $(srcdir)/vmod_blob.vcc vcc_blob_if.c: $(vmodtool) $(srcdir)/vmod_blob.vcc
@PYTHON@ $(vmodtool) $(vmodtoolargs_blob) $(srcdir)/vmod_blob.vcc @PYTHON@ $(vmodtool) $(vmodtoolargs_blob) $(srcdir)/vmod_blob.vcc
EXTRA_DIST += $(srcdir)/vmod_blob.vcc automake_boilerplate_blob.am clean-local: clean-vmod-blob
CLEANFILES += $(builddir)/vcc_blob_if.c $(builddir)/vcc_blob_if.h \ clean-vmod-blob:
$(builddir)/vmod_blob.rst \ rm -f $(nodist_libvmod_blob_la_SOURCES)
$(builddir)/vmod_blob.man.rst rm -f vmod_blob.rst vmod_blob.man.rst
...@@ -16,6 +16,10 @@ libvmod_cookie_la_LDFLAGS = \ ...@@ -16,6 +16,10 @@ libvmod_cookie_la_LDFLAGS = \
nodist_libvmod_cookie_la_SOURCES = vcc_cookie_if.c vcc_cookie_if.h 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
$(libvmod_cookie_la_OBJECTS): vcc_cookie_if.h $(libvmod_cookie_la_OBJECTS): vcc_cookie_if.h
vcc_cookie_if.h vmod_cookie.rst vmod_cookie.man.rst: vcc_cookie_if.c vcc_cookie_if.h vmod_cookie.rst vmod_cookie.man.rst: vcc_cookie_if.c
...@@ -23,8 +27,8 @@ vcc_cookie_if.h vmod_cookie.rst vmod_cookie.man.rst: vcc_cookie_if.c ...@@ -23,8 +27,8 @@ vcc_cookie_if.h vmod_cookie.rst vmod_cookie.man.rst: vcc_cookie_if.c
vcc_cookie_if.c: $(vmodtool) $(srcdir)/vmod_cookie.vcc vcc_cookie_if.c: $(vmodtool) $(srcdir)/vmod_cookie.vcc
@PYTHON@ $(vmodtool) $(vmodtoolargs_cookie) $(srcdir)/vmod_cookie.vcc @PYTHON@ $(vmodtool) $(vmodtoolargs_cookie) $(srcdir)/vmod_cookie.vcc
EXTRA_DIST += $(srcdir)/vmod_cookie.vcc automake_boilerplate_cookie.am clean-local: clean-vmod-cookie
CLEANFILES += $(builddir)/vcc_cookie_if.c $(builddir)/vcc_cookie_if.h \ clean-vmod-cookie:
$(builddir)/vmod_cookie.rst \ rm -f $(nodist_libvmod_cookie_la_SOURCES)
$(builddir)/vmod_cookie.man.rst rm -f vmod_cookie.rst vmod_cookie.man.rst
...@@ -16,6 +16,10 @@ libvmod_debug_la_LDFLAGS = \ ...@@ -16,6 +16,10 @@ libvmod_debug_la_LDFLAGS = \
nodist_libvmod_debug_la_SOURCES = vcc_debug_if.c vcc_debug_if.h 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
$(libvmod_debug_la_OBJECTS): vcc_debug_if.h $(libvmod_debug_la_OBJECTS): vcc_debug_if.h
vcc_debug_if.h vmod_debug.rst vmod_debug.man.rst: vcc_debug_if.c vcc_debug_if.h vmod_debug.rst vmod_debug.man.rst: vcc_debug_if.c
...@@ -23,8 +27,8 @@ vcc_debug_if.h vmod_debug.rst vmod_debug.man.rst: vcc_debug_if.c ...@@ -23,8 +27,8 @@ vcc_debug_if.h vmod_debug.rst vmod_debug.man.rst: vcc_debug_if.c
vcc_debug_if.c: $(vmodtool) $(srcdir)/vmod_debug.vcc vcc_debug_if.c: $(vmodtool) $(srcdir)/vmod_debug.vcc
@PYTHON@ $(vmodtool) $(vmodtoolargs_debug) $(srcdir)/vmod_debug.vcc @PYTHON@ $(vmodtool) $(vmodtoolargs_debug) $(srcdir)/vmod_debug.vcc
EXTRA_DIST += $(srcdir)/vmod_debug.vcc automake_boilerplate_debug.am clean-local: clean-vmod-debug
CLEANFILES += $(builddir)/vcc_debug_if.c $(builddir)/vcc_debug_if.h \ clean-vmod-debug:
$(builddir)/vmod_debug.rst \ rm -f $(nodist_libvmod_debug_la_SOURCES)
$(builddir)/vmod_debug.man.rst rm -f vmod_debug.rst vmod_debug.man.rst
...@@ -16,6 +16,10 @@ libvmod_directors_la_LDFLAGS = \ ...@@ -16,6 +16,10 @@ libvmod_directors_la_LDFLAGS = \
nodist_libvmod_directors_la_SOURCES = vcc_directors_if.c vcc_directors_if.h 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
$(libvmod_directors_la_OBJECTS): vcc_directors_if.h $(libvmod_directors_la_OBJECTS): vcc_directors_if.h
vcc_directors_if.h vmod_directors.rst vmod_directors.man.rst: vcc_directors_if.c vcc_directors_if.h vmod_directors.rst vmod_directors.man.rst: vcc_directors_if.c
...@@ -23,8 +27,8 @@ vcc_directors_if.h vmod_directors.rst vmod_directors.man.rst: vcc_directors_if.c ...@@ -23,8 +27,8 @@ vcc_directors_if.h vmod_directors.rst vmod_directors.man.rst: vcc_directors_if.c
vcc_directors_if.c: $(vmodtool) $(srcdir)/vmod_directors.vcc vcc_directors_if.c: $(vmodtool) $(srcdir)/vmod_directors.vcc
@PYTHON@ $(vmodtool) $(vmodtoolargs_directors) $(srcdir)/vmod_directors.vcc @PYTHON@ $(vmodtool) $(vmodtoolargs_directors) $(srcdir)/vmod_directors.vcc
EXTRA_DIST += $(srcdir)/vmod_directors.vcc automake_boilerplate_directors.am clean-local: clean-vmod-directors
CLEANFILES += $(builddir)/vcc_directors_if.c $(builddir)/vcc_directors_if.h \ clean-vmod-directors:
$(builddir)/vmod_directors.rst \ rm -f $(nodist_libvmod_directors_la_SOURCES)
$(builddir)/vmod_directors.man.rst rm -f vmod_directors.rst vmod_directors.man.rst
...@@ -16,6 +16,10 @@ libvmod_proxy_la_LDFLAGS = \ ...@@ -16,6 +16,10 @@ libvmod_proxy_la_LDFLAGS = \
nodist_libvmod_proxy_la_SOURCES = vcc_proxy_if.c vcc_proxy_if.h 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
$(libvmod_proxy_la_OBJECTS): vcc_proxy_if.h $(libvmod_proxy_la_OBJECTS): vcc_proxy_if.h
vcc_proxy_if.h vmod_proxy.rst vmod_proxy.man.rst: vcc_proxy_if.c vcc_proxy_if.h vmod_proxy.rst vmod_proxy.man.rst: vcc_proxy_if.c
...@@ -23,8 +27,8 @@ vcc_proxy_if.h vmod_proxy.rst vmod_proxy.man.rst: vcc_proxy_if.c ...@@ -23,8 +27,8 @@ vcc_proxy_if.h vmod_proxy.rst vmod_proxy.man.rst: vcc_proxy_if.c
vcc_proxy_if.c: $(vmodtool) $(srcdir)/vmod_proxy.vcc vcc_proxy_if.c: $(vmodtool) $(srcdir)/vmod_proxy.vcc
@PYTHON@ $(vmodtool) $(vmodtoolargs_proxy) $(srcdir)/vmod_proxy.vcc @PYTHON@ $(vmodtool) $(vmodtoolargs_proxy) $(srcdir)/vmod_proxy.vcc
EXTRA_DIST += $(srcdir)/vmod_proxy.vcc automake_boilerplate_proxy.am clean-local: clean-vmod-proxy
CLEANFILES += $(builddir)/vcc_proxy_if.c $(builddir)/vcc_proxy_if.h \ clean-vmod-proxy:
$(builddir)/vmod_proxy.rst \ rm -f $(nodist_libvmod_proxy_la_SOURCES)
$(builddir)/vmod_proxy.man.rst rm -f vmod_proxy.rst vmod_proxy.man.rst
...@@ -16,6 +16,10 @@ libvmod_purge_la_LDFLAGS = \ ...@@ -16,6 +16,10 @@ libvmod_purge_la_LDFLAGS = \
nodist_libvmod_purge_la_SOURCES = vcc_purge_if.c vcc_purge_if.h 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
$(libvmod_purge_la_OBJECTS): vcc_purge_if.h $(libvmod_purge_la_OBJECTS): vcc_purge_if.h
vcc_purge_if.h vmod_purge.rst vmod_purge.man.rst: vcc_purge_if.c vcc_purge_if.h vmod_purge.rst vmod_purge.man.rst: vcc_purge_if.c
...@@ -23,8 +27,8 @@ vcc_purge_if.h vmod_purge.rst vmod_purge.man.rst: vcc_purge_if.c ...@@ -23,8 +27,8 @@ vcc_purge_if.h vmod_purge.rst vmod_purge.man.rst: vcc_purge_if.c
vcc_purge_if.c: $(vmodtool) $(srcdir)/vmod_purge.vcc vcc_purge_if.c: $(vmodtool) $(srcdir)/vmod_purge.vcc
@PYTHON@ $(vmodtool) $(vmodtoolargs_purge) $(srcdir)/vmod_purge.vcc @PYTHON@ $(vmodtool) $(vmodtoolargs_purge) $(srcdir)/vmod_purge.vcc
EXTRA_DIST += $(srcdir)/vmod_purge.vcc automake_boilerplate_purge.am clean-local: clean-vmod-purge
CLEANFILES += $(builddir)/vcc_purge_if.c $(builddir)/vcc_purge_if.h \ clean-vmod-purge:
$(builddir)/vmod_purge.rst \ rm -f $(nodist_libvmod_purge_la_SOURCES)
$(builddir)/vmod_purge.man.rst rm -f vmod_purge.rst vmod_purge.man.rst
...@@ -16,6 +16,10 @@ libvmod_std_la_LDFLAGS = \ ...@@ -16,6 +16,10 @@ libvmod_std_la_LDFLAGS = \
nodist_libvmod_std_la_SOURCES = vcc_std_if.c vcc_std_if.h 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
$(libvmod_std_la_OBJECTS): vcc_std_if.h $(libvmod_std_la_OBJECTS): vcc_std_if.h
vcc_std_if.h vmod_std.rst vmod_std.man.rst: vcc_std_if.c vcc_std_if.h vmod_std.rst vmod_std.man.rst: vcc_std_if.c
...@@ -23,8 +27,8 @@ vcc_std_if.h vmod_std.rst vmod_std.man.rst: vcc_std_if.c ...@@ -23,8 +27,8 @@ vcc_std_if.h vmod_std.rst vmod_std.man.rst: vcc_std_if.c
vcc_std_if.c: $(vmodtool) $(srcdir)/vmod_std.vcc vcc_std_if.c: $(vmodtool) $(srcdir)/vmod_std.vcc
@PYTHON@ $(vmodtool) $(vmodtoolargs_std) $(srcdir)/vmod_std.vcc @PYTHON@ $(vmodtool) $(vmodtoolargs_std) $(srcdir)/vmod_std.vcc
EXTRA_DIST += $(srcdir)/vmod_std.vcc automake_boilerplate_std.am clean-local: clean-vmod-std
CLEANFILES += $(builddir)/vcc_std_if.c $(builddir)/vcc_std_if.h \ clean-vmod-std:
$(builddir)/vmod_std.rst \ rm -f $(nodist_libvmod_std_la_SOURCES)
$(builddir)/vmod_std.man.rst rm -f vmod_std.rst vmod_std.man.rst
...@@ -16,6 +16,10 @@ libvmod_unix_la_LDFLAGS = \ ...@@ -16,6 +16,10 @@ libvmod_unix_la_LDFLAGS = \
nodist_libvmod_unix_la_SOURCES = vcc_unix_if.c vcc_unix_if.h 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
$(libvmod_unix_la_OBJECTS): vcc_unix_if.h $(libvmod_unix_la_OBJECTS): vcc_unix_if.h
vcc_unix_if.h vmod_unix.rst vmod_unix.man.rst: vcc_unix_if.c vcc_unix_if.h vmod_unix.rst vmod_unix.man.rst: vcc_unix_if.c
...@@ -23,8 +27,8 @@ vcc_unix_if.h vmod_unix.rst vmod_unix.man.rst: vcc_unix_if.c ...@@ -23,8 +27,8 @@ vcc_unix_if.h vmod_unix.rst vmod_unix.man.rst: vcc_unix_if.c
vcc_unix_if.c: $(vmodtool) $(srcdir)/vmod_unix.vcc vcc_unix_if.c: $(vmodtool) $(srcdir)/vmod_unix.vcc
@PYTHON@ $(vmodtool) $(vmodtoolargs_unix) $(srcdir)/vmod_unix.vcc @PYTHON@ $(vmodtool) $(vmodtoolargs_unix) $(srcdir)/vmod_unix.vcc
EXTRA_DIST += $(srcdir)/vmod_unix.vcc automake_boilerplate_unix.am clean-local: clean-vmod-unix
CLEANFILES += $(builddir)/vcc_unix_if.c $(builddir)/vcc_unix_if.h \ clean-vmod-unix:
$(builddir)/vmod_unix.rst \ rm -f $(nodist_libvmod_unix_la_SOURCES)
$(builddir)/vmod_unix.man.rst rm -f vmod_unix.rst vmod_unix.man.rst
...@@ -16,6 +16,10 @@ libvmod_vtc_la_LDFLAGS = \ ...@@ -16,6 +16,10 @@ libvmod_vtc_la_LDFLAGS = \
nodist_libvmod_vtc_la_SOURCES = vcc_vtc_if.c vcc_vtc_if.h 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
$(libvmod_vtc_la_OBJECTS): vcc_vtc_if.h $(libvmod_vtc_la_OBJECTS): vcc_vtc_if.h
vcc_vtc_if.h vmod_vtc.rst vmod_vtc.man.rst: vcc_vtc_if.c vcc_vtc_if.h vmod_vtc.rst vmod_vtc.man.rst: vcc_vtc_if.c
...@@ -23,8 +27,8 @@ vcc_vtc_if.h vmod_vtc.rst vmod_vtc.man.rst: vcc_vtc_if.c ...@@ -23,8 +27,8 @@ vcc_vtc_if.h vmod_vtc.rst vmod_vtc.man.rst: vcc_vtc_if.c
vcc_vtc_if.c: $(vmodtool) $(srcdir)/vmod_vtc.vcc vcc_vtc_if.c: $(vmodtool) $(srcdir)/vmod_vtc.vcc
@PYTHON@ $(vmodtool) $(vmodtoolargs_vtc) $(srcdir)/vmod_vtc.vcc @PYTHON@ $(vmodtool) $(vmodtoolargs_vtc) $(srcdir)/vmod_vtc.vcc
EXTRA_DIST += $(srcdir)/vmod_vtc.vcc automake_boilerplate_vtc.am clean-local: clean-vmod-vtc
CLEANFILES += $(builddir)/vcc_vtc_if.c $(builddir)/vcc_vtc_if.h \ clean-vmod-vtc:
$(builddir)/vmod_vtc.rst \ rm -f $(nodist_libvmod_vtc_la_SOURCES)
$(builddir)/vmod_vtc.man.rst rm -f vmod_vtc.rst vmod_vtc.man.rst
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment