Hi,

I need to send you another patch. Forget the last one.
The last didn't compile all sources on linux,
because some files have moved from DISSECTOR_SRC to DISSECTOR_SUPPORT_SRC.

I added this new target to Makefile.am to solve this problem
and added some temporary workarounds for unsed variables in
opcua_complextypeparser.c
to be able to compile on linux without warnings.

Gerhard Gappmeier schrieb:
> Hi
>
> I updated the files for the build process to fit the current wireshark
> version.
> I don't know much about it so a just copied the missing parts from
> another module.
> I'm not sure of it's right, so please have a look at it.
>
> Modifications:
> * added plugin.rc.in
> * added moduleinfo.nmake
> * updated Makefile.am/nmake/common
> * removed unused variable from opcua_application_layer.c
> * fixed unused parameter warning in opcua.c
>
> I tested it on Windows with VC6 and on Gentoo linux with gcc 3.4.6.
>
> regards,
> Gerhard.
>
>   
> ------------------------------------------------------------------------
>
> _______________________________________________
> Wireshark-dev mailing list
> [email protected]
> http://www.wireshark.org/mailman/listinfo/wireshark-dev
Index: Makefile.am
===================================================================
--- Makefile.am (revision 21784)
+++ Makefile.am (working copy)
@@ -27,6 +27,10 @@
 
 include Makefile.common
 
+if HAVE_WARNINGS_AS_ERRORS
+AM_CFLAGS = -Werror
+endif
+
 plugindir = @plugindir@
 
 plugin_LTLIBRARIES = opcua.la
@@ -34,6 +38,7 @@
        plugin.c \
        moduleinfo.h \
        $(DISSECTOR_SRC) \
+       $(DISSECTOR_SUPPORT_SRC) \
        $(DISSECTOR_INCLUDES)
 opcua_la_LDFLAGS = -module -avoid-version
 opcua_la_LIBADD = @PLUGIN_LIBS@
@@ -116,4 +121,7 @@
 
 EXTRA_DIST = \
        Makefile.common         \
-       Makefile.nmake
+       Makefile.nmake          \
+       moduleinfo.nmake        \
+       plugin.rc.in            \
+       README
Index: Makefile.common
===================================================================
--- Makefile.common     (revision 21784)
+++ Makefile.common     (working copy)
@@ -29,16 +29,7 @@
 
 # the dissector sources (without any helpers)
 DISSECTOR_SRC = \
-       opcua.c \
-       opcua_transport_layer.c \
-       opcua_security_layer.c \
-       opcua_application_layer.c \
-       opcua_serviceparser.c \
-       opcua_complextypeparser.c \
-       opcua_enumparser.c \
-       opcua_simpletypes.c \
-       opcua_servicetable.c \
-       opcua_hfindeces.c
+       opcua.c 
 
 # corresponding headers
 DISSECTOR_INCLUDES =   \
@@ -51,3 +42,15 @@
        opcua_application_layer.h \
        opcua_security_layer.h \
        opcua_transport_layer.h
+
+# other sources
+DISSECTOR_SUPPORT_SRC = \
+       opcua_transport_layer.c \
+       opcua_security_layer.c \
+       opcua_application_layer.c \
+       opcua_serviceparser.c \
+       opcua_complextypeparser.c \
+       opcua_enumparser.c \
+       opcua_simpletypes.c \
+       opcua_servicetable.c \
+       opcua_hfindeces.c
Index: Makefile.nmake
===================================================================
--- Makefile.nmake      (revision 21784)
+++ Makefile.nmake      (working copy)
@@ -5,12 +5,11 @@
 #
 
 include ..\..\config.nmake
+include moduleinfo.nmake
 
-############### no need to modify below this line #########
-
 include Makefile.common
 
-CFLAGS=/DHAVE_CONFIG_H /I../.. /I../../wiretap $(GLIB_CFLAGS) \
+CFLAGS=/WX /DHAVE_CONFIG_H /I../.. /I../../wiretap $(GLIB_CFLAGS) \
        /I$(PCAP_DIR)\include -D_U_="" $(LOCAL_CFLAGS)
 
 LDFLAGS = /NOLOGO /INCREMENTAL:no /MACHINE:I386 $(LOCAL_LDFLAGS)
@@ -21,12 +20,27 @@
 
 DISSECTOR_OBJECTS = $(DISSECTOR_SRC:.c=.obj)
 
-OBJECTS=$(DISSECTOR_OBJECTS) plugin.obj
+DISSECTOR_SUPPORT_OBJECTS = $(DISSECTOR_SUPPORT_SRC:.c=.obj)
 
-opcua.dll opcua.exp opcua.lib : $(OBJECTS) $(LINK_PLUGIN_WITH) 
-       link -dll /out:opcua.dll $(LDFLAGS) $(OBJECTS) $(LINK_PLUGIN_WITH)  \
-       $(GLIB_LIBS)
+OBJECTS = $(DISSECTOR_OBJECTS) $(DISSECTOR_SUPPORT_OBJECTS) plugin.obj
 
+RESOURCE=$(PLUGIN_NAME).res
+
+all: $(PLUGIN_NAME).dll
+
+$(PLUGIN_NAME).rc : moduleinfo.nmake
+       sed -e s/@PLUGIN_NAME@/$(PLUGIN_NAME)/ \
+       -e s/@RC_MODULE_VERSION@/$(RC_MODULE_VERSION)/ \
+       -e s/@RC_VERSION@/$(RC_VERSION)/ \
+       -e s/@MODULE_VERSION@/$(MODULE_VERSION)/ \
+       -e s/@PACKAGE@/$(PACKAGE)/ \
+       -e s/@VERSION@/$(VERSION)/ \
+       -e s/@MSVC_VARIANT@/$(MSVC_VARIANT)/ \
+       < plugin.rc.in > $@
+
+$(PLUGIN_NAME).dll $(PLUGIN_NAME).exp $(PLUGIN_NAME).lib : $(OBJECTS) 
$(LINK_PLUGIN_WITH) $(RESOURCE)
+       link -dll /out:$(PLUGIN_NAME).dll $(LDFLAGS) $(OBJECTS) 
$(LINK_PLUGIN_WITH) \
+       $(GLIB_LIBS) $(RESOURCE)
 #
 # Build plugin.c, which contains the plugin version[] string, a
 # function plugin_register() that calls the register routines for all
@@ -60,7 +74,7 @@
 # a plugin.c file for a plugin.
 # All subsequent arguments are the files to scan.
 #
-plugin.c: $(DISSECTOR_SRC)
+plugin.c: $(DISSECTOR_SRC) ../../tools/make-dissector-reg.py 
../../tools/make-dissector-reg
 !IFDEF PYTHON
        @echo Making plugin.c (using python)
        @$(PYTHON) "../../tools/make-dissector-reg.py" . plugin $(DISSECTOR_SRC)
@@ -72,7 +86,9 @@
 !ENDIF
 
 clean:
-       rm -f $(OBJECTS) opcua.dll opcua.exp opcua.lib *.pdb
+       rm -f $(OBJECTS) $(RESOURCE) plugin.c *.pdb \
+               $(PLUGIN_NAME).dll $(PLUGIN_NAME).dll.manifest 
$(PLUGIN_NAME).lib \
+        $(PLUGIN_NAME).exp $(PLUGIN_NAME).rc 
 
 distclean: clean
 
Index: moduleinfo.nmake
===================================================================
--- moduleinfo.nmake    (revision 0)
+++ moduleinfo.nmake    (revision 0)
@@ -0,0 +1,28 @@
+#
+# $Id$
+#
+
+# The name
+PACKAGE=opcua
+
+# The version
+MODULE_VERSION_MAJOR=0
+MODULE_VERSION_MINOR=0
+MODULE_VERSION_MICRO=1
+MODULE_VERSION_EXTRA=0
+
+#
+# The RC_VERSION should be comma-separated, not dot-separated, 
+# as per Graham Bloice's message in
+#
+#      http://www.ethereal.com/lists/ethereal-dev/200303/msg00283.html
+#
+# "The RC_VERSION variable in config.nmake should be comma separated. 
+# This allows the resources to be built correctly and the version
+# number to be correctly displayed in the explorer properties dialog
+# for the executables, and XP's tooltip, rather than 0.0.0.0."
+#
+
+MODULE_VERSION=$(MODULE_VERSION_MAJOR).$(MODULE_VERSION_MINOR).$(MODULE_VERSION_MICRO).$(MODULE_VERSION_EXTRA)
+RC_MODULE_VERSION=$(MODULE_VERSION_MAJOR),$(MODULE_VERSION_MINOR),$(MODULE_VERSION_MICRO),$(MODULE_VERSION_EXTRA)
+
Index: opcua.c
===================================================================
--- opcua.c     (revision 21784)
+++ opcua.c     (working copy)
@@ -151,6 +151,9 @@
 static guint get_opcua_message_len(packet_info *pinfo, tvbuff_t *tvb, int 
offset)
 {
     gint32 plen;
+       
+       /* use parameter to avoid warning */
+    pinfo = 0;
 
     /* the message length starts at offset 4 */
     plen = tvb_get_letohl(tvb, offset + 4);
Index: opcua_application_layer.c
===================================================================
--- opcua_application_layer.c   (revision 21784)
+++ opcua_application_layer.c   (working copy)
@@ -75,7 +75,7 @@
 int parseServiceNodeId(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char 
*szFieldName)
 {
     gint    iOffset = *pOffset;
-    guint8  EncodingMask, NSId = 0;
+    guint8  EncodingMask;
     guint32 Numeric = 0;
 
        szFieldName = 0; /* avoid warning */
@@ -92,7 +92,6 @@
         iOffset+=1;
         break;
     case 0x01: /* four byte node id */
-        NSId = tvb_get_guint8(tvb, iOffset);
         proto_tree_add_item(tree, hf_opcua_app_nsid, tvb, iOffset, 1, TRUE);
         iOffset+=1;
         Numeric = tvb_get_letohs(tvb, iOffset);
@@ -100,7 +99,6 @@
         iOffset+=2;
         break;
     case 0x02: /* numeric, that does not fit into four bytes */
-        NSId = tvb_get_letohl(tvb, iOffset);
         proto_tree_add_item(tree, hf_opcua_app_nsid, tvb, iOffset, 4, TRUE);
         iOffset+=4;
         Numeric = tvb_get_letohl(tvb, iOffset);
Index: opcua_complextypeparser.c
===================================================================
--- opcua_complextypeparser.c   (revision 21784)
+++ opcua_complextypeparser.c   (working copy)
@@ -298,7 +298,8 @@
 {
   proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : 
UserIdentityToken", szFieldName);
   proto_tree *subtree = proto_item_add_subtree(ti, 
ett_opcua_UserIdentityToken);
- 
+  subtree = 0; 
+  pOffset = 0;
 }
 
 gint ett_opcua_UserNameIdentityToken = -1;
@@ -1159,7 +1160,8 @@
 {
   proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : FilterOperand", 
szFieldName);
   proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_FilterOperand);
- 
+  subtree = 0; 
+  pOffset = 0;
 }
 
 gint ett_opcua_ElementOperand = -1;
@@ -1273,7 +1275,8 @@
 {
   proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : 
MonitoringFilter", szFieldName);
   proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_MonitoringFilter);
- 
+  subtree = 0; 
+  pOffset = 0;
 }
 
 gint ett_opcua_EventFilter = -1;
@@ -1489,7 +1492,8 @@
 {
   proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : 
MonitoringFilterResult", szFieldName);
   proto_tree *subtree = proto_item_add_subtree(ti, 
ett_opcua_MonitoringFilterResult);
- 
+  subtree = 0; 
+  pOffset = 0;
 }
 
 gint ett_opcua_EventFilterResult = -1;
Index: opcua_security_layer.c
===================================================================
--- opcua_security_layer.c      (revision 21784)
+++ opcua_security_layer.c      (working copy)
@@ -38,7 +38,6 @@
   { 3, "Message" },
   { 0, NULL }
 };
-static int hf_opcua_SecuritySigEnum = -1;
 
 static int hf_opcua_security_sig = -1;
 static int hf_opcua_security_policy = -1;
Index: plugin.rc.in
===================================================================
--- plugin.rc.in        (revision 0)
+++ plugin.rc.in        (revision 0)
@@ -0,0 +1,34 @@
+#include "winver.h"
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION @RC_MODULE_VERSION@
+ PRODUCTVERSION @RC_VERSION@,0
+ FILEFLAGSMASK 0x0L
+#ifdef _DEBUG
+ FILEFLAGS VS_FF_PRERELEASE+VS_FF_DEBUG
+#else
+ FILEFLAGS VS_FF_PRERELEASE
+#endif
+ FILEOS VOS_NT_WINDOWS32
+ FILETYPE VFT_DLL
+BEGIN
+    BLOCK "StringFileInfo"
+    BEGIN
+        BLOCK "040904b0"
+        BEGIN
+            VALUE "CompanyName", "The Wireshark developer community, 
http://www.wireshark.org/\0";
+            VALUE "FileDescription", "OPC Unified Architecture Dissector\0"
+            VALUE "FileVersion", "@[EMAIL PROTECTED]"
+            VALUE "InternalName", "@PACKAGE@ @[EMAIL PROTECTED]"
+            VALUE "LegalCopyright", "Copyright © 1998 Gerald Combs <[EMAIL 
PROTECTED]>, Gilbert Ramirez <[EMAIL PROTECTED]> and others\0"
+            VALUE "OriginalFilename", "@[EMAIL PROTECTED]"
+            VALUE "ProductName", "Wireshark\0"
+            VALUE "ProductVersion", "@[EMAIL PROTECTED]"
+            VALUE "Comments", "Build with @[EMAIL PROTECTED]"
+        END
+    END
+    BLOCK "VarFileInfo"
+    BEGIN
+        VALUE "Translation", 0x409, 1200
+    END
+END
_______________________________________________
Wireshark-dev mailing list
[email protected]
http://www.wireshark.org/mailman/listinfo/wireshark-dev

Reply via email to