WS_DLL_PUBLIC is now always WS_DLL_PUBLIC_NOEXTERN with "extern" added;
just define WS_DLL_PUBLIC_NOEXTERN inside the ifdefs, and define WS_DLL_PUBLIC as WS_DLL_PUBLIC_NOEXTERN followed by "extern". Then rename WS_DLL_PUBLIC_NOEXTERN to WS_DLL_PUBLIC_DEF, to clarify that it's what should be used for definitions; at least on Windows, you *have* to use it when declaring arrays without a size, and, whilst you might be able to use WS_DLL_PUBLIC for definitions of functions and perhaps data definitions other than no-size arrays, it might be clearer to rename WS_DLL_PUBLIC to WS_DLL_PUBLIC_DECL and use it only for declarations. svn path=/trunk/; revision=50334
This commit is contained in:
parent
a3543e6050
commit
5d87a8c461
@ -287,7 +287,7 @@ stips the parts outlined below:
|
||||
o Removed the definition:
|
||||
|
||||
#ifndef ENABLE_STATIC
|
||||
WS_DLL_PUBLIC_NOEXTERN gchar version[] = VERSION;
|
||||
WS_DLL_PUBLIC_DEF gchar version[] = VERSION;
|
||||
#endif
|
||||
|
||||
o Move relevant code from the blocks and delete these functions:
|
||||
|
@ -110,9 +110,9 @@ extern int udp_term_stats_tree_packet(stats_tree *st, /* st as it was passed to
|
||||
}
|
||||
|
||||
#ifndef ENABLE_STATIC
|
||||
WS_DLL_PUBLIC_NOEXTERN const gchar version[] = "0.0";
|
||||
WS_DLL_PUBLIC_DEF const gchar version[] = "0.0";
|
||||
|
||||
WS_DLL_PUBLIC_NOEXTERN void plugin_register_tap_listener(void) {
|
||||
WS_DLL_PUBLIC_DEF void plugin_register_tap_listener(void) {
|
||||
|
||||
stats_tree_register("udp", /* the proto we are going to "tap" */
|
||||
"udp_terms", /* the abbreviation for this tree (to be used as -z udp_terms,tree) */
|
||||
|
@ -1115,9 +1115,9 @@ static void register_foo_stat_trees(void) {
|
||||
foo_stats_tree_packet, foo_stats_tree_init, NULL);
|
||||
}
|
||||
|
||||
WS_DLL_PUBLIC_NOEXTERN const gchar version[] = "0.0";
|
||||
WS_DLL_PUBLIC_DEF const gchar version[] = "0.0";
|
||||
|
||||
WS_DLL_PUBLIC_NOEXTERN void plugin_register_tap_listener(void)
|
||||
WS_DLL_PUBLIC_DEF void plugin_register_tap_listener(void)
|
||||
{
|
||||
register_foo_stat_trees();
|
||||
}
|
||||
|
@ -50,7 +50,7 @@ typedef struct _tcp_frag {
|
||||
struct _tcp_frag *next;
|
||||
} tcp_frag;
|
||||
|
||||
WS_DLL_PUBLIC_NOEXTERN
|
||||
WS_DLL_PUBLIC_DEF
|
||||
FILE* data_out_file = NULL;
|
||||
|
||||
gboolean empty_tcp_stream;
|
||||
|
@ -37,9 +37,9 @@
|
||||
#include "codec-g729a.h"
|
||||
#include "codec-g722.h"
|
||||
|
||||
WS_DLL_PUBLIC_NOEXTERN const gchar version[] = "0.0.1";
|
||||
WS_DLL_PUBLIC_DEF const gchar version[] = "0.0.1";
|
||||
|
||||
WS_DLL_PUBLIC_NOEXTERN void register_codec_module(void)
|
||||
WS_DLL_PUBLIC_DEF void register_codec_module(void)
|
||||
{
|
||||
register_codec("g723", codec_g7231_init, codec_g7231_release, codec_g7231_decode);
|
||||
register_codec("g729", codec_g729a_init, codec_g729a_release, codec_g729a_decode);
|
||||
|
@ -36,9 +36,9 @@
|
||||
|
||||
#include "pinfo_stats_tree.h"
|
||||
|
||||
WS_DLL_PUBLIC_NOEXTERN const gchar version[] = "0.0.1";
|
||||
WS_DLL_PUBLIC_DEF const gchar version[] = "0.0.1";
|
||||
|
||||
WS_DLL_PUBLIC_NOEXTERN void plugin_register_tap_listener(void)
|
||||
WS_DLL_PUBLIC_DEF void plugin_register_tap_listener(void)
|
||||
{
|
||||
register_pinfo_stat_trees();
|
||||
}
|
||||
|
@ -122,9 +122,9 @@ static void proto_reg_handoff_http(void) {
|
||||
|
||||
#ifndef ENABLE_STATIC
|
||||
|
||||
WS_DLL_PUBLIC_NOEXTERN const gchar version[] = "0.0.0";
|
||||
WS_DLL_PUBLIC_DEF const gchar version[] = "0.0.0";
|
||||
|
||||
WS_DLL_PUBLIC_NOEXTERN void
|
||||
WS_DLL_PUBLIC_DEF void
|
||||
plugin_register(void)
|
||||
{
|
||||
/* register the new protocol, protocol fields, and subtrees */
|
||||
@ -133,7 +133,7 @@ plugin_register(void)
|
||||
}
|
||||
}
|
||||
|
||||
WS_DLL_PUBLIC_NOEXTERN void
|
||||
WS_DLL_PUBLIC_DEF void
|
||||
plugin_reg_handoff(void){
|
||||
proto_reg_handoff_http();
|
||||
}
|
||||
|
@ -47,11 +47,11 @@ then
|
||||
#include "ws_symbol_export.h"
|
||||
|
||||
#ifndef ENABLE_STATIC
|
||||
WS_DLL_PUBLIC_NOEXTERN const gchar version[] = VERSION;
|
||||
WS_DLL_PUBLIC_DEF const gchar version[] = VERSION;
|
||||
|
||||
/* Start the functions we need for the plugin stuff */
|
||||
|
||||
WS_DLL_PUBLIC_NOEXTERN void
|
||||
WS_DLL_PUBLIC_DEF void
|
||||
plugin_register (void)
|
||||
{
|
||||
EOF
|
||||
@ -119,7 +119,7 @@ echo '}' >>${outfile}-tmp
|
||||
if [ "$registertype" = plugin ]
|
||||
then
|
||||
cat <<"EOF" >>${outfile}-tmp
|
||||
WS_DLL_PUBLIC_NOEXTERN void
|
||||
WS_DLL_PUBLIC_DEF void
|
||||
plugin_reg_handoff(void)
|
||||
{
|
||||
EOF
|
||||
|
@ -195,11 +195,11 @@ if registertype == "plugin" or registertype == "plugin_wtap":
|
||||
#include "ws_symbol_export.h"
|
||||
|
||||
#ifndef ENABLE_STATIC
|
||||
WS_DLL_PUBLIC_NOEXTERN const gchar version[] = VERSION;
|
||||
WS_DLL_PUBLIC_DEF const gchar version[] = VERSION;
|
||||
|
||||
/* Start the functions we need for the plugin stuff */
|
||||
|
||||
WS_DLL_PUBLIC_NOEXTERN void
|
||||
WS_DLL_PUBLIC_DEF void
|
||||
plugin_register (void)
|
||||
{
|
||||
"""
|
||||
@ -223,7 +223,7 @@ reg_code += "}\n"
|
||||
# Make the routine to register all protocol handoffs
|
||||
if registertype == "plugin" or registertype == "plugin_wtap":
|
||||
reg_code += """
|
||||
WS_DLL_PUBLIC_NOEXTERN void
|
||||
WS_DLL_PUBLIC_DEF void
|
||||
plugin_reg_handoff(void)
|
||||
{
|
||||
"""
|
||||
@ -246,7 +246,7 @@ if registertype == "plugin":
|
||||
reg_code += "#endif\n"
|
||||
elif registertype == "plugin_wtap":
|
||||
reg_code += """
|
||||
WS_DLL_PUBLIC_NOEXTERN void
|
||||
WS_DLL_PUBLIC_DEF void
|
||||
register_wtap_module(void)
|
||||
{
|
||||
"""
|
||||
|
@ -1976,7 +1976,7 @@ static guint32 boundary = GIOP_HEADER_SIZE; /* initial value */"""
|
||||
template_plugin_register = """
|
||||
#if 0
|
||||
|
||||
WS_DLL_PUBLIC_NOEXTERN void
|
||||
WS_DLL_PUBLIC_DEF void
|
||||
plugin_register(void)
|
||||
{
|
||||
if (proto_@dissector_name@ == -1) {
|
||||
@ -1984,7 +1984,7 @@ plugin_register(void)
|
||||
}
|
||||
}
|
||||
|
||||
WS_DLL_PUBLIC_NOEXTERN void
|
||||
WS_DLL_PUBLIC_DEF void
|
||||
plugin_reg_handoff(void){
|
||||
proto_register_handoff_giop_@dissector_name@();
|
||||
}
|
||||
|
@ -34,8 +34,8 @@
|
||||
#undef WS_DLL_PUBLIC
|
||||
#endif
|
||||
|
||||
#ifdef WS_DLL_PUBLIC_NOEXTERN
|
||||
#undef WS_DLL_PUBLIC_NOEXTERN
|
||||
#ifdef WS_DLL_PUBLIC_DEF
|
||||
#undef WS_DLL_PUBLIC_DEF
|
||||
#endif
|
||||
|
||||
#ifdef WS_DLL_LOCAL
|
||||
@ -52,7 +52,7 @@
|
||||
/* Compiling for Windows, so we use the Windows DLL declarations. */
|
||||
#ifdef WS_BUILD_DLL
|
||||
/*
|
||||
* Building a library; for all definitions, we want dllexport, and
|
||||
* Building a DLL; for all definitions, we want dllexport, and
|
||||
* (presumably so source from DLL and source from a program using the
|
||||
* DLL can both include a header that declares APIs and exported data
|
||||
* for the DLL), for declarations, either dllexport or dllimport will
|
||||
@ -60,15 +60,13 @@
|
||||
*/
|
||||
#ifdef __GNUC__
|
||||
/* GCC */
|
||||
#define WS_DLL_PUBLIC __attribute__ ((dllexport)) extern
|
||||
#define WS_DLL_PUBLIC_NOEXTERN __attribute__ ((dllexport))
|
||||
#define WS_DLL_PUBLIC_DEF __attribute__ ((dllexport))
|
||||
#else /* ! __GNUC__ */
|
||||
/*
|
||||
* Presumably MSVC.
|
||||
* Note: actually gcc seems to also support this syntax.
|
||||
*/
|
||||
#define WS_DLL_PUBLIC __declspec(dllexport) extern
|
||||
#define WS_DLL_PUBLIC_NOEXTERN __declspec(dllexport)
|
||||
#define WS_DLL_PUBLIC_DEF __declspec(dllexport)
|
||||
#endif /* __GNUC__ */
|
||||
#else /* WS_BUILD_DLL */
|
||||
/*
|
||||
@ -82,19 +80,16 @@
|
||||
*/
|
||||
#ifdef __GNUC__
|
||||
/* GCC */
|
||||
#define WS_DLL_PUBLIC __attribute__ ((dllimport)) extern
|
||||
#define WS_DLL_PUBLIC_NOEXTERN __attribute__ ((dllimport))
|
||||
#define WS_DLL_PUBLIC_DEF __attribute__ ((dllimport))
|
||||
#elif ! (defined ENABLE_STATIC) /* ! __GNUC__ */
|
||||
/*
|
||||
* Presumably MSVC.
|
||||
* Note: actually gcc seems to also support this syntax.
|
||||
*/
|
||||
#define WS_DLL_PUBLIC __declspec(dllimport) extern
|
||||
#define WS_DLL_PUBLIC_NOEXTERN __declspec(dllimport)
|
||||
#define WS_DLL_PUBLIC_DEF __declspec(dllimport)
|
||||
#else /* ! __GNUC__ && ENABLE_STATIC */
|
||||
/* presumably MSVC */
|
||||
#define WS_DLL_PUBLIC extern
|
||||
#define WS_DLL_PUBLIC_NOEXTERN
|
||||
#define WS_DLL_PUBLIC_DEF
|
||||
#endif /* __GNUC__ */
|
||||
#endif /* WS_BUILD_DLL */
|
||||
#define WS_DLL_LOCAL
|
||||
@ -106,14 +101,19 @@
|
||||
* with GCC 4 or later.
|
||||
*/
|
||||
#if __GNUC__ >= 4
|
||||
#define WS_DLL_PUBLIC __attribute__ ((visibility ("default"))) extern
|
||||
#define WS_DLL_PUBLIC_NOEXTERN __attribute__ ((visibility ("default")))
|
||||
#define WS_DLL_PUBLIC_DEF __attribute__ ((visibility ("default")))
|
||||
#define WS_DLL_LOCAL __attribute__ ((visibility ("hidden")))
|
||||
#else /* ! __GNUC__ >= 4 */
|
||||
#define WS_DLL_PUBLIC extern
|
||||
#define WS_DLL_PUBLIC_NOEXTERN
|
||||
#define WS_DLL_PUBLIC_DEF
|
||||
#define WS_DLL_LOCAL
|
||||
#endif /* __GNUC__ >= 4 */
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Use this for declarations; it can also be used for exported
|
||||
* *function* definitions, but must not be used for exported *data*
|
||||
* definitions.
|
||||
*/
|
||||
#define WS_DLL_PUBLIC WS_DLL_PUBLIC_DEF extern
|
||||
|
||||
#endif /* SYMBOL_EXPORT_H */
|
||||
|
Loading…
x
Reference in New Issue
Block a user