wireshark/epan/nghttp2
João Valverde 6b54fbf3bf CMake: Add more structure to libwireshark build
Smaller epan/CMakeLists.txt is easier to work with and this structure
is well suited to CMake. It should make it easier to manage and configure
each epan module differently if necessary.

Change-Id: Ia649db3b7dcd405aa43dbdba3288699d5e375229
Reviewed-on: https://code.wireshark.org/review/14068
Petri-Dish: João Valverde <j@v6e.pt>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Reviewed-by: João Valverde <j@v6e.pt>
2016-03-01 19:23:39 +00:00
..
CMakeLists.txt CMake: Add more structure to libwireshark build 2016-03-01 19:23:39 +00:00
Makefile.am CMake: Add more structure to libwireshark build 2016-03-01 19:23:39 +00:00
Makefile.common
Makefile.nmake
nghttp2.h NGHTTP2: Update to 1.6.0 2015-12-26 15:20:34 +00:00
nghttp2_buf.c NGHTTP2: Update to 1.3.3 2015-09-24 05:48:20 +00:00
nghttp2_buf.h NGHTTP2: Update to 1.3.3 2015-09-24 05:48:20 +00:00
nghttp2_hd.c NGHTTP2: Update to 1.5.0 2015-11-27 05:32:19 +00:00
nghttp2_hd.h NGHTTP2: Update to 1.5.0 2015-11-27 05:32:19 +00:00
nghttp2_hd_huffman.c NGHTTP2: Update to 1.5.0 2015-11-27 05:32:19 +00:00
nghttp2_hd_huffman.h NGHTTP2: Update to 1.3.3 2015-09-24 05:48:20 +00:00
nghttp2_hd_huffman_data.c
nghttp2_helper.c NGHTTP2: Update to 1.5.0 2015-11-27 05:32:19 +00:00
nghttp2_helper.h NGHTTP2: Update to 1.5.0 2015-11-27 05:32:19 +00:00
nghttp2_int.h
nghttp2_mem.c
nghttp2_mem.h
nghttp2ver.h NGHTTP2: Update to 1.6.0 2015-12-26 15:20:34 +00:00
README.nghttp2

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