Link version code statically again

This allows keeping the code-sharing with the static linking.

This "fixes" a hypothetical ABI mismatch with wsutil and avoids pulling more
external dependencies to wsutil than strictly necessary.

A nice side-effect is that libwsutil no longer depends on version.h.

Follow up to f95976eefc.

Change-Id: I8f0d6a557ab3f7ce6f0e2c269124c89f29d6ad23
Reviewed-on: https://code.wireshark.org/review/15002
Petri-Dish: João Valverde <j@v6e.pt>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: João Valverde <j@v6e.pt>
This commit is contained in:
João Valverde 2016-04-19 08:03:08 +01:00 committed by João Valverde
parent 7c6e859ccf
commit 3db13a7fc9
46 changed files with 106 additions and 72 deletions

View File

@ -68,3 +68,7 @@ indent_size = 2
[randpkt_core.[ch]]
indent_style = tab
indent_size = tab
[ws_version_info.[ch]]
indent_style = tab
indent_size = tab

2
.gitignore vendored
View File

@ -42,6 +42,7 @@ epan/register_wslua.c
epan/taps.txt
epan/taps_wslua.c
epan/uat_load.c
epan/ws_version_info.c
epan/wslua/declare_wslua.h
epan/wslua/register_wslua.c
epan/wslua/taps.txt
@ -57,6 +58,7 @@ tshark-tap-register.c
wiretap/ascend.c
wiretap/ascend.h
wiretap/k12text.c
wiretap/ws_version_info.c
wireshark-tap-register.c
wireshark-tap-register-cache.pkl
ui/gtk/wireshark-gresources.c

View File

@ -1257,6 +1257,7 @@ set(SHARK_COMMON_SRC
cfile.c
frame_tvbuff.c
sync_pipe_write.c
ws_version_info.c
)
# sources for external capture interfaces
@ -2135,6 +2136,7 @@ if(BUILD_randpkt)
)
set(randpkt_FILES
randpkt.c
ws_version_info.c
)
add_executable(randpkt ${randpkt_FILES})
set_extra_executable_properties(randpkt "Executables")
@ -2151,6 +2153,7 @@ if(BUILD_text2pcap)
)
set(text2pcap_CLEAN_FILES
text2pcap.c
ws_version_info.c
)
set(text2pcap_FILES
${text2pcap_CLEAN_FILES}
@ -2173,6 +2176,7 @@ if(BUILD_mergecap)
)
set(mergecap_FILES
mergecap.c
ws_version_info.c
${CMAKE_BINARY_DIR}/image/mergecap.rc
)
add_executable(mergecap ${mergecap_FILES})
@ -2189,6 +2193,7 @@ if(BUILD_reordercap)
)
set(reordercap_FILES
reordercap.c
ws_version_info.c
${CMAKE_BINARY_DIR}/image/reordercap.rc
)
add_executable(reordercap ${reordercap_FILES})
@ -2207,6 +2212,7 @@ if(BUILD_capinfos)
)
set(capinfos_FILES
capinfos.c
ws_version_info.c
${CMAKE_BINARY_DIR}/image/capinfos.rc
)
add_executable(capinfos ${capinfos_FILES})
@ -2224,6 +2230,7 @@ if(BUILD_captype)
)
set(captype_FILES
captype.c
ws_version_info.c
${CMAKE_BINARY_DIR}/image/captype.rc
)
add_executable(captype ${captype_FILES})
@ -2240,6 +2247,7 @@ if(BUILD_editcap)
)
set(editcap_FILES
editcap.c
ws_version_info.c
${CMAKE_BINARY_DIR}/image/editcap.rc
)
add_executable(editcap ${editcap_FILES})
@ -2270,6 +2278,7 @@ if(BUILD_dumpcap AND PCAP_FOUND)
filter_files.c
ringbuffer.c
sync_pipe_write.c
ws_version_info.c
${CMAKE_BINARY_DIR}/image/dumpcap.rc
)
add_executable(dumpcap ${dumpcap_FILES})

View File

@ -71,7 +71,8 @@ WIRESHARK_COMMON_SRC = \
file.c \
fileset.c \
filter_files.c \
summary.c
summary.c \
ws_version_info.c
# corresponding headers
WIRESHARK_COMMON_INCLUDES = \
@ -88,45 +89,54 @@ tshark_SOURCES = \
$(SHARK_COMMON_SRC) \
capture_opts.c \
filter_files.c \
tshark.c
tshark.c \
ws_version_info.c
# tfshark specifics
tfshark_SOURCES = \
$(SHARK_COMMON_SRC) \
tfshark.c
tfshark.c \
ws_version_info.c
# rawshark specifics
rawshark_SOURCES = \
$(SHARK_COMMON_SRC) \
rawshark.c
rawshark.c \
ws_version_info.c
# text2pcap specifics
text2pcap_SOURCES = \
text2pcap.c \
text2pcap-scanner.l
text2pcap-scanner.l \
ws_version_info.c
text2pcap_INCLUDES = \
text2pcap.h
# mergecap specifics
mergecap_SOURCES = \
mergecap.c
mergecap.c \
ws_version_info.c
# editcap specifics
editcap_SOURCES = \
editcap.c
editcap.c \
ws_version_info.c
# reordercap specifics
reordercap_SOURCES = \
reordercap.c
reordercap.c \
ws_version_info.c
# capinfos specifics
capinfos_SOURCES = \
capinfos.c
capinfos.c \
ws_version_info.c
# captype specifics
captype_SOURCES = \
captype.c
captype.c \
ws_version_info.c
# dftest specifics
dftest_SOURCES = \
@ -144,7 +154,8 @@ echld_test_SOURCES = \
# randpkt specifics
randpkt_SOURCES = \
randpkt.c
randpkt.c \
ws_version_info.c
# dumpcap specifics
dumpcap_SOURCES = \
@ -154,7 +165,8 @@ dumpcap_SOURCES = \
dumpcap.c \
filter_files.c \
ringbuffer.c \
sync_pipe_write.c
sync_pipe_write.c \
ws_version_info.c
# corresponding headers
dumpcap_INCLUDES = \
@ -168,4 +180,5 @@ noinst_HEADERS = \
$(EXTCAP_COMMON_INCLUDES) \
$(WIRESHARK_COMMON_INCLUDES) \
$(dumpcap_INCLUDES) \
ws_diag_control.h
ws_diag_control.h \
ws_version_info.h

View File

@ -74,7 +74,7 @@
#include <wsutil/crash_info.h>
#include <wsutil/filesystem.h>
#include <wsutil/privileges.h>
#include <wsutil/ws_version_info.h>
#include <ws_version_info.h>
#include <wiretap/wtap_opttypes.h>
#include <wiretap/pcapng.h>

View File

@ -44,7 +44,7 @@
#include <wsutil/file_util.h>
#include <wsutil/filesystem.h>
#include <wsutil/privileges.h>
#include <wsutil/ws_version_info.h>
#include <ws_version_info.h>
#ifdef HAVE_PLUGINS
#include <wsutil/plugins.h>

View File

@ -117,6 +117,7 @@ AX_PROG_CC_FOR_BUILD
#
AC_PROG_SED
AC_PROG_LN_S
AC_PROG_MKDIR_P
AC_PATH_PROG(PERL, perl)

View File

@ -55,7 +55,6 @@ libwsutil.so.0 libwsutil0 #MINVER#
find_last_pathname_separator@Base 1.12.0~rc1
format_size@Base 1.10.0
get_basename@Base 1.12.0~rc1
get_compiled_version_info@Base 1.99.2
get_copyright_info@Base 1.99.0
get_cur_groupname@Base 1.10.0
get_cur_username@Base 1.10.0
@ -74,10 +73,8 @@ libwsutil.so.0 libwsutil0 #MINVER#
get_profile_name@Base 1.12.0~rc1
get_profiles_dir@Base 1.12.0~rc1
get_progfile_dir@Base 1.12.0~rc1
get_runtime_version_info@Base 1.99.2
get_systemfile_dir@Base 1.12.0~rc1
get_tempfile_path@Base 1.12.0~rc1
get_ws_vcs_version_info@Base 1.99.0
has_global_profiles@Base 1.12.0~rc1
ieee80211_chan_to_mhz@Base 1.99.7
ieee80211_mhz_to_chan@Base 1.99.7
@ -152,7 +149,6 @@ libwsutil.so.0 libwsutil0 #MINVER#
sha256_hmac_update@Base 2.1.0
sha256_starts@Base 2.1.0
sha256_update@Base 2.1.0
show_version@Base 1.99.2
sober128_add_entropy@Base 1.99.0
sober128_read@Base 1.99.0
sober128_start@Base 1.99.0

View File

@ -56,7 +56,7 @@
#include <wsutil/cmdarg_err.h>
#include <wsutil/crash_info.h>
#include <wsutil/ws_version_info.h>
#include <ws_version_info.h>
#ifndef HAVE_GETOPT_LONG
#include "wsutil/wsgetopt.h"

View File

@ -69,7 +69,7 @@
#include "wsutil/privileges.h"
#include "wsutil/filesystem.h"
#include "wsutil/copyright_info.h"
#include "wsutil/ws_version_info.h"
#include "ws_version_info.h"
#include "epan/addr_resolv.h"
#include "epan/epan.h"
#include "epan/prefs.h"

View File

@ -83,7 +83,7 @@
#include <wsutil/report_err.h>
#include <wsutil/strnatcmp.h>
#include <wsutil/str_util.h>
#include <wsutil/ws_version_info.h>
#include <ws_version_info.h>
#include <wsutil/pint.h>
#include <wiretap/wtap_opttypes.h>
#include <wiretap/pcapng.h>

View File

@ -168,6 +168,7 @@ set(LIBWIRESHARK_FILES
uat.c
value_string.c
xdlc.c
${CMAKE_SOURCE_DIR}/ws_version_info.c
)
set(LIBWIRESHARK_CLEAN_FILES

View File

@ -54,7 +54,8 @@ libwireshark_la_LDFLAGS = -version-info 0:0:0 @LDFLAGS_SHAREDLIB@
#files with the "stop on warning" barrier.
libwireshark_la_SOURCES = \
$(LIBWIRESHARK_SRC) \
$(LIBWIRESHARK_INCLUDES)
$(LIBWIRESHARK_INCLUDES) \
ws_version_info.c
libwireshark_la_CPPFLAGS = $(AM_CPPFLAGS) -DWS_BUILD_DLL
@ -104,7 +105,8 @@ CLEANFILES = \
DISTCLEANFILES = \
$(NODIST_LIBWIRESHARK_GENERATED_C_FILES) \
$(NODIST_LIBWIRESHARK_GENERATED_HEADER_FILES) \
dtd_grammar.out
dtd_grammar.out \
ws_version_info.c
MAINTAINERCLEANFILES = \
$(LIBWIRESHARK_GENERATED_C_FILES) \
@ -113,7 +115,8 @@ MAINTAINERCLEANFILES = \
BUILT_SOURCES = \
$(LIBWIRESHARK_GENERATED_HEADER_FILES) \
$(NODIST_LIBWIRESHARK_GENERATED_HEADER_FILES)
$(NODIST_LIBWIRESHARK_GENERATED_HEADER_FILES) \
ws_version_info.c
#
# Add the object files for missing routines, if any.
@ -194,6 +197,9 @@ dtd_grammar.h: dtd_grammar.c
dtd_grammar.c : $(LEMON) $(lemon_srcdir)/lempar.c $(srcdir)/dtd_grammar.lemon
$(AM_V_LEMON)$(LEMON) T=$(lemon_srcdir)/lempar.c $(srcdir)/dtd_grammar.lemon
ws_version_info.c: $(top_srcdir)/ws_version_info.c
$(LN_S) $<
tvbtest.o exntest.o oids_test.o: exceptions.h
update-sminmpec:

View File

@ -47,7 +47,7 @@
#include <wsutil/str_util.h>
#include <wsutil/report_err.h>
#include <wsutil/pint.h>
#include <wsutil/ws_version_info.h>
#include <ws_version_info.h>
#include "packet-x509af.h"
#include "packet-x509if.h"
#include "packet-ssl-utils.h"

View File

@ -36,7 +36,7 @@
#include <epan/print.h>
#include <epan/charsets.h>
#include <wsutil/filesystem.h>
#include <wsutil/ws_version_info.h>
#include <ws_version_info.h>
#include <wsutil/utf8_entities.h>
#include <ftypes/ftypes-int.h>

2
file.c
View File

@ -33,7 +33,7 @@
#include <wsutil/tempfile.h>
#include <wsutil/file_util.h>
#include <wsutil/filesystem.h>
#include <wsutil/ws_version_info.h>
#include <ws_version_info.h>
#include <wiretap/merge.h>

View File

@ -49,7 +49,7 @@
#include <wsutil/file_util.h>
#include <wsutil/privileges.h>
#include <wsutil/strnatcmp.h>
#include <wsutil/ws_version_info.h>
#include <ws_version_info.h>
#ifdef HAVE_PLUGINS
#include <wsutil/plugins.h>

View File

@ -92,7 +92,7 @@
#include <wiretap/pcap-encap.h>
#include <wsutil/clopts_common.h>
#include <wsutil/ws_version_info.h>
#include <ws_version_info.h>
#include "caputils/capture-pcap-util.h"

View File

@ -42,7 +42,7 @@
#include <wsutil/filesystem.h>
#include <wsutil/file_util.h>
#include <wsutil/privileges.h>
#include <wsutil/ws_version_info.h>
#include <ws_version_info.h>
#include <wiretap/wtap_opttypes.h>
#ifdef HAVE_PLUGINS

View File

@ -112,7 +112,7 @@
#include <string.h>
#include <wsutil/file_util.h>
#include <wsutil/crash_info.h>
#include <wsutil/ws_version_info.h>
#include <ws_version_info.h>
#include <wsutil/inet_addr.h>
#include <time.h>

View File

@ -52,7 +52,7 @@
#include <wsutil/file_util.h>
#include <wsutil/privileges.h>
#include <wsutil/report_err.h>
#include <wsutil/ws_version_info.h>
#include <ws_version_info.h>
#include "globals.h"
#include <epan/timestamp.h>

View File

@ -61,7 +61,7 @@
#include <wsutil/file_util.h>
#include <wsutil/privileges.h>
#include <wsutil/report_err.h>
#include <wsutil/ws_version_info.h>
#include <ws_version_info.h>
#include <wiretap/wtap_opttypes.h>
#include <wiretap/pcapng.h>

View File

@ -37,7 +37,7 @@
#include "wsutil/file_util.h"
#include "wsutil/filesystem.h"
#include "wsutil/ws_version_info.h"
#include "ws_version_info.h"
/* XXX - We might want to switch this to a UAT */

View File

@ -29,7 +29,7 @@
#include <wsutil/filesystem.h>
#include <wsutil/copyright_info.h>
#include <wsutil/ws_version_info.h>
#include <ws_version_info.h>
#ifdef HAVE_LIBSMI
#include <epan/oids.h>
#endif

View File

@ -47,7 +47,7 @@
#include "wsutil/file_util.h"
#include "wsutil/tempfile.h"
#include "wsutil/os_version_info.h"
#include "wsutil/ws_version_info.h"
#include "ws_version_info.h"
#include "wiretap/wtap_opttypes.h"
#include "wiretap/pcapng.h"

View File

@ -43,7 +43,7 @@
#include <ui/simple_dialog.h>
#include <wsutil/file_util.h>
#include <wsutil/ws_version_info.h>
#include <ws_version_info.h>
#include "gtkglobals.h"
#include "ui/gtk/keys.h"

View File

@ -59,7 +59,7 @@
#include <wsutil/file_util.h>
#include <wsutil/privileges.h>
#include <wsutil/report_err.h>
#include <wsutil/ws_version_info.h>
#include <ws_version_info.h>
#include <wiretap/merge.h>

View File

@ -32,7 +32,7 @@
#include "gui_utils.h"
#include "main_titlebar.h"
#include <wsutil/ws_version_info.h>
#include <ws_version_info.h>
/*
* Key to attach the "un-decorated" title to the window, so that if the

View File

@ -33,7 +33,7 @@
#include <wsutil/file_util.h>
#include <wsutil/str_util.h>
#include <wsutil/ws_version_info.h>
#include <ws_version_info.h>
#ifdef HAVE_LIBPCAP
#include "ui/capture_ui_utils.h"

View File

@ -28,7 +28,7 @@
#include <wsutil/ws_version_info.h>
#include <ws_version_info.h>
#include "../../file.h"
#include "../../summary.h"

View File

@ -51,7 +51,7 @@
#include "wsutil/tempfile.h"
#include "wsutil/plugins.h"
#include "wsutil/copyright_info.h"
#include "wsutil/ws_version_info.h"
#include "ws_version_info.h"
#ifdef HAVE_EXTCAP
#include "extcap.h"

View File

@ -27,7 +27,7 @@
#include "summary.h"
#include "wsutil/str_util.h"
#include "wsutil/ws_version_info.h"
#include "ws_version_info.h"
#include "qt_ui_utils.h"
#include "wireshark_application.h"

View File

@ -41,7 +41,7 @@
#include "wsutil/file_util.h"
#include "wsutil/str_util.h"
#include "wsutil/ws_version_info.h"
#include "ws_version_info.h"
#include "ws_symbol_export.h"

View File

@ -27,7 +27,7 @@
#include "ui/capture_globals.h"
#include "wsutil/ws_version_info.h"
#include "ws_version_info.h"
#include "main_welcome.h"
#include <ui_main_welcome.h>

View File

@ -26,7 +26,7 @@
#include "epan/dissector_filters.h"
#include <epan/epan_dissect.h>
#include <wsutil/filesystem.h>
#include <wsutil/ws_version_info.h>
#include <ws_version_info.h>
#include <epan/prefs.h>
#include <epan/stats_tree_priv.h>
#include <epan/plugin_if.h>

View File

@ -27,7 +27,7 @@
#include "wiretap/pcap-encap.h"
#include "wsutil/tempfile.h"
#include "wsutil/os_version_info.h"
#include "wsutil/ws_version_info.h"
#include "ws_version_info.h"
#include <epan/tap.h>
#include <epan/exported_pdu.h>

View File

@ -45,7 +45,7 @@
#endif
#include <wsutil/report_err.h>
#include <wsutil/unicode-utils.h>
#include <wsutil/ws_version_info.h>
#include <ws_version_info.h>
#include <epan/addr_resolv.h>
#include <epan/ex-opt.h>

View File

@ -81,6 +81,7 @@ set(WIRETAP_FILES
vwr.c
wtap.c
wtap_opttypes.c
${CMAKE_SOURCE_DIR}/ws_version_info.c
)
if (WERROR_COMMON_FLAGS)

View File

@ -36,6 +36,9 @@ CLEANFILES = \
libwiretap_generated.la \
*~
DISTCLEANFILES = \
ws_version_info.c
MAINTAINERCLEANFILES = \
$(GENERATED_FILES) \
Makefile.in
@ -46,14 +49,15 @@ MAINTAINERCLEANFILES = \
#files with the "stop on warning" barrier.
libwiretap_la_SOURCES = \
$(NONGENERATED_C_FILES) \
$(NONGENERATED_HEADER_FILES)
$(NONGENERATED_HEADER_FILES) \
ws_version_info.c
libwiretap_generated_la_SOURCES = \
$(GENERATED_C_FILES)
libwiretap_generated_la_CFLAGS = $(GENERATED_CFLAGS)
BUILT_SOURCES = $(GENERATED_HEADER_FILES)
BUILT_SOURCES = $(GENERATED_HEADER_FILES) ws_version_info.c
EXTRA_DIST = \
.editorconfig \
@ -82,6 +86,9 @@ ascend.c: $(srcdir)/ascend.y ascend_scanner_lex.h
fi
$(AM_V_YACC)$(YACC) -d -p ascend -o ascend.c $(srcdir)/ascend.y
ws_version_info.c: $(top_srcdir)/ws_version_info.c
$(LN_S) $<
# ABI compliance checker can be obtained from
# http://ispras.linux-foundation.org/index.php/ABI_compliance_checker
# Checked using version 1.21.12

View File

@ -42,7 +42,7 @@
#include <wsutil/buffer.h>
#include "wsutil/tempfile.h"
#include "wsutil/os_version_info.h"
#include "wsutil/ws_version_info.h"
#include "ws_version_info.h"
#include "wsutil/str_util.h"

View File

@ -39,7 +39,7 @@
#include "version.h"
#include <wsutil/ws_version_info.h>
#include "ws_version_info.h"
#include <wsutil/ws_cpuid.h>
#include <wsutil/copyright_info.h>

View File

@ -21,10 +21,10 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef __WSUTIL_WS_VERSION_INFO_H__
#define __WSUTIL_WS_VERSION_INFO_H__
#ifndef __WS_VERSION_INFO_H__
#define __WS_VERSION_INFO_H__
#include "ws_symbol_export.h"
#include <glib.h>
#ifdef __cplusplus
extern "C" {
@ -43,7 +43,7 @@ extern "C" {
* at the end of the string, as we currently don't use Portaudio in
* TShark.
*/
WS_DLL_PUBLIC GString *get_compiled_version_info(void (*prepend_info)(GString *),
GString *get_compiled_version_info(void (*prepend_info)(GString *),
void (*append_info)(GString *));
/*
@ -55,19 +55,19 @@ WS_DLL_PUBLIC GString *get_compiled_version_info(void (*prepend_info)(GString *)
* Portaudio information at the end of the string, as we currently
* don't use Portaudio in TShark.
*/
WS_DLL_PUBLIC GString *get_runtime_version_info(void (*additional_info)(GString *));
GString *get_runtime_version_info(void (*additional_info)(GString *));
WS_DLL_PUBLIC void show_version(const gchar *prog_name, GString *comp_info_str, GString *runtime_info_str);
void show_version(const gchar *prog_name, GString *comp_info_str, GString *runtime_info_str);
/*
* Return a version number string for Wireshark, including, for builds
* from a tree checked out from Wireshark's version control system,
* something identifying what version was checked out.
*/
WS_DLL_PUBLIC const char *get_ws_vcs_version_info(void);
const char *get_ws_vcs_version_info(void);
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* __WSUTIL_WS_VERSION_INFO_H__ */
#endif /* __WS_VERSION_INFO_H__ */

View File

@ -132,9 +132,5 @@ indent_size = tab
[ws_mempbrk_sse42.[ch]]
indent_size = 2
[ws_version_info.[ch]]
indent_style = tab
indent_size = tab
[wsgetopt.[ch]]
indent_size = 2

View File

@ -75,7 +75,6 @@ set(WSUTIL_FILES
type_util.c
unicode-utils.c
ws_mempbrk.c
ws_version_info.c
${WSUTIL_PLATFORM_FILES}
)

View File

@ -71,8 +71,7 @@ LIBWSUTIL_COMMON_SRC = \
time_util.c \
type_util.c \
unicode-utils.c \
ws_mempbrk.c \
ws_version_info.c
ws_mempbrk.c
# Header files that don't declare replacement functions for functions
# present in the APIs/ABIs of some, but not all, targets.
@ -129,8 +128,7 @@ libwsutil_nonrepl_INCLUDES = \
utf8_entities.h \
ws_cpuid.h \
ws_mempbrk.h \
ws_mempbrk_int.h \
ws_version_info.h
ws_mempbrk_int.h
# Header files that are not generated from other files
LIBWSUTIL_COMMON_INCLUDES = \

View File

@ -31,7 +31,8 @@ OBJECTS = file_util.obj \
$(LIBWSUTIL_SRC:.c=.obj) \
popcount.obj \
strptime.obj \
ws_mempbrk_sse42.obj
ws_mempbrk_sse42.obj \
..\ws_version_info.obj
# For use when making libwsutil.dll
libwsutil.lib: libwsutil.dll
@ -50,7 +51,7 @@ libwsutil.dll : $(OBJECTS) ..\image\libwsutil.res
# The following target will rebuild its obj
# if and when version.h should change.
#
ws_version_info.obj: ..\version.h
..\ws_version_info.obj: ..\version.h
clean:
rm -f $(OBJECTS) \