summaryrefslogtreecommitdiff
path: root/epan/nghttp2/README.nghttp2
blob: 6fb82c1a2a3742cf2909e59874ef325522a30856 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Code from nghttp2 library ( https://github.com/tatsuhiro-t/nghttp2)
Thanks for Tatsuhiro Tsujikawa for permission to use nghttp2 lib.

Update library from source

download (clone) last release of nghttp2
and in folder epan/nghttp2 copy following file

cp ../../../nghttp2/lib/nghttp2_buf.[ch] .
cp ../../../nghttp2/lib/nghttp2_hd*.[ch] .
cp ../../../nghttp2/lib/nghttp2_helper.[ch] .
cp ../../../nghttp2/lib/nghttp2_int.h .
cp ../../../nghttp2/lib/nghttp2_mem.[ch] .
cp ../../../nghttp2/lib/includes/nghttp2/nghttp2.h .
cp ../../../nghttp2/lib/includes/nghttp2/nghttp2ver.h .

Change path to nghttp2.h
find . -name "nghttp2*" -type f -exec sed -i 's/<nghttp2\/nghttp2.h>/<nghttp2.h>/g'  {} \;

Change path to nghttp2ver.h
find . -name "nghttp2*" -type f -exec sed -i 's/<nghttp2\/nghttp2ver.h>/"nghttp2ver.h"/g'  {} \;

Change ntoh[ls], hton[ls] to use g_ntoh[ls], g_hton[ls] from glib
find . -name "nghttp2*" -type f -exec sed -i 's/ntoh/g_ntoh/g'  {} \;
find . -name "nghttp2*" -type f -exec sed -i 's/hton/g_hton/g'  {} \;

Use glib.h and no nghttp2_net.h for ntoh/hton
find . -name "nghttp2*" -type f -exec sed -i 's/"nghttp2_net.h"/<glib.h>/g'  {} \;

Fix c++-compat error and documentation (struct => typedef) error

in nghttp2/nghttp2.h

Add on the top
#include <config.h>

After
#define NGHTTP2_EXTERN
 #endif /* !defined(WIN32) */

Add
/*
 * When we're building this as part of Wireshark, we want to treat
 * all these routines as internal to libwireshark.
 */

#include "ws_symbol_export.h"

#undef NGHTTP2_EXTERN
#define NGHTTP2_EXTERN WS_DLL_LOCAL