I have run out of time tonight, but it looks as though quite a lot more of this dissector needs to be inside #ifdef HAVE_NGHTTP2
[ 42%] Building C object epan/dissectors/CMakeFiles/dissectors.dir/packet-http2.c.o
/home/martin/wireshark/epan/dissectors/packet-http2.c:1038:56: error: expected ‘)’ before ‘http2_fake_header_t’
1038 | UAT_RANGE_CB_DEF(http2_fake_headers, server_port_range, http2_fake_header_t)
| ^~~~~~~~~~~~~~~~~~~~
| )
/home/martin/wireshark/epan/dissectors/packet-http2.c:1029:1: error: ‘http2_fake_headers_free_cb’ defined but not used [-Werror=unused-function]
1029 | http2_fake_headers_free_cb(void* r)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/martin/wireshark/epan/dissectors/packet-http2.c:986:1: error: ‘http2_fake_headers_update_cb’ defined but not used [-Werror=unused-function]
986 | http2_fake_headers_update_cb(void* r, char** err)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/martin/wireshark/epan/dissectors/packet-http2.c:968:1: error: ‘http2_fake_headers_copy_cb’ defined but not used [-Werror=unused-function]
968 | http2_fake_headers_copy_cb(void* n, const void* o, size_t siz _U_)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/martin/wireshark/epan/dissectors/packet-http2.c:965:14: error: ‘num_http2_fake_headers’ defined but not used [-Werror=unused-variable]
965 | static guint num_http2_fake_headers = 0;
| ^~~~~~~~~~~~~~~~~~~~~~
/home/martin/wireshark/epan/dissectors/packet-http2.c:964:29: error: ‘http2_fake_headers’ defined but not used [-Werror=unused-variable]
964 | static http2_fake_header_t* http2_fake_headers = NULL;
| ^~~~~~~~~~~~~~~~~~
In file included from /home/martin/wireshark/epan/proto.h:36,
from /home/martin/wireshark/epan/packet.h:15,
from /home/martin/wireshark/epan/dissectors/packet-http2.c:30:
/home/martin/wireshark/epan/dissectors/packet-http2.c:952:20: error: ‘http2_direction_type_vals’ defined but not used [-Werror=unused-const-variable=]
952 | VALUE_STRING_ARRAY(http2_direction_type_vals);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/martin/wireshark/epan/value_string.h:94:70: note: in definition of macro ‘_VS_ARRAY_SC_TYPE_NAME’
94 | #define _VS_ARRAY_SC_TYPE_NAME(array_name, sc) sc const value_string array_name[]
| ^~~~~~~~~~
/home/martin/wireshark/epan/value_string.h:66:53: note: in expansion of macro ‘_VS_ARRAY_SC_XXX’
66 | #define VALUE_STRING_ARRAY( array_name) _VS_ARRAY_SC_XXX(array_name, _VS_ARRAY_ENTRY, static)
| ^~~~~~~~~~~~~~~~
/home/martin/wireshark/epan/dissectors/packet-http2.c:952:1: note: in expansion of macro ‘VALUE_STRING_ARRAY’
952 | VALUE_STRING_ARRAY(http2_direction_type_vals);
| ^~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors