Wireshark-dev: Re: [Wireshark-dev] Updates to Wireshark Windows Makefiles (SVN #35747)
From: Bill Meier <[email protected]>
Date: Wed, 02 Feb 2011 13:15:27 -0500
On 2/2/2011 1:07 AM, Jaap Keuter wrote:
Hi,

Are these changes compatible with *all* Windows Compiler / SDK
combinations we support
(http://www.wireshark.org/docs/wsdg_html_chunked/ChToolsMSChain.html)?

Thanks,
Jaap

Obviously I haven't tried all the combinations.  :)

That being said: I believe that these changes should be OK for compiling the current SVN with any of the Windows
Compiler / SDK combinations we support. (See below).

Is there something I missed ?
Do you have a concern with a specific change ?

Bill


Details
-------

Other than a few miscellaneous changes (e.g., removal of the plugins 'clean-deps' target) the changes related to the options used for
compiles.

Most of those changes didn't change the actual compile options used (just where they were defined).
The only changes in the specific compile options used were:

   a. Certain compiles are no longer done
      with -D_MT and _D_DLL as part of the
      compile options.

      (These were defined as part of VCVARSDLL which was used
       for a subset of all the Wireshark compiles).

      The Microsoft compiler documentation states that the use
      of the /MD option causes _MT and _DLL to be defined.

      [Note: the commit log comment was incorrect; I should
       have said /MD not /MP]

      Based upon the Microsoft online documentation (as far
      back as Visual Studio .NET 2003), the use of
      the /MD option causes _MT and _DLL to be defined.

      The VC6 documentation also states the same with respect to
      the use of the /MD option.

      While I haven't looked at the docs for certain other of the
      MSVC compilers (MSVC 2002 and etc), I
      expect the /MD option does the same for those compilers.

   b. Certain compiles are no longer done
      with -DWIN32 and -DNULL=0 as part of the
      compile options.

      I don't think the use of these defines is really
      compiler/SDK dependent.

      (Again these were defined as part of VCVARSDLL which was used
       for a subset of all the Wireshark compiles).

      In any case, I found that WIN32 is defined in config.h
      (AFAICT WIN32 is not referenced in an #if statement in any
      Wireshark sources (in SVN));

   c. When compiling with MSVC2005 and newer compilers
      a /w3.... option (to enable a particular "level4"
      compiler warning) was added as documented for those compilers.