I just started looking into running NaviServer 4.99.6 (the latest
release) on Windows 7 (64-bit), and am trying to figure out the proper
approach to building it (plus my own custom code) from source.

>From prior experience with ancient versions of Tcl and AOLserver, I
know of at least three build approaches on Microsoft Windows:

1. Microsoft Visual Studio, using (brittle, ugly) GUI-based project
   files to control the build.
2. Microsoft's compiler, using nmake from the command-line.
3. Msys + MinGW, using Gnu make.

Which of those do you recommend for NaviServer?  Also, do I need to
use the same compiler for everything, or is it feasible to say build
NaviServer with MinGW, but Tcl or my own custom code with Microsoft's
2013 compiler?

In NaviServer 4.99.6, the README gives a download link for
msys_mingw8.zip, which dates from c. 2004.  Is that old link just an
oversight, or is there some reason I should use such an ancient
version of MinGW rather than a current one?

In the win and win32 subdirectories, I see *.sln and *.dsw files for
use with Visual Studio 12.0.  Do those work better/worse than MinGW?
Also, is the command-line make-based build infrastructure set up to
work with Microsoft's compilers, or is it only for use with MinGW?

Does MinGW still only support 32-bit, and for 64-bit I need to instead
use the "MinGW-w64" fork?  Since MinGW-w64 handles both 32 and 64 bit,
is there any reason to prefer the original MinGW over it?

Is there any reason I should stick with 32-bit NaviServer, Tcl,
etc. on Windows 7, rather than moving to 64-bit?

Thanks in advance for your advice and tips!

Btw, Microsoft's current compilers are apparently available free of
charge, but just figuring out what you actually need to download and
install is non-trivial.  I found this advice from Jan. 2012 very
helpful:

  http://www.willus.com/ccomp.shtml?p11

And here's the Microsoft stuff I actually downloaded and installed:

- Windows SDK 7.1 for Windows 7 and .NET Framework 4:
  Rather than using the online installer (although it would work fine):
    http://www.microsoft.com/en-us/download/details.aspx?id=8279
  I downloaded the GRMSDKX_EN_DVD.iso x86-64:
    http://www.microsoft.com/download/en/details.aspx?id=8442
    
http://download.microsoft.com/download/F/1/0/F10113F5-B750-4969-A255-274341AC6BCE/GRMSDKX_EN_DVD.iso
  As far as I could tell that's still the newest version of the SDK.
  From the Release Notes:
    http://go.microsoft.com/fwlink/?LinkID=186826
  it's clear that it includes both the Visual C++ 2010 compilers for both 32 
and 64 bit
  ("the same compilers that ship with Visual Studio 2010"),
  the MSBuild 4.0 command line build environment, etc.

- The SDK does not ship with the necessary .NET Framework:
    http://msdn.microsoft.com/en-us/vstudio/aa496123
  So I used the web installer to install .Net Framework 4.5.1 from 2013-10-12:
    http://www.microsoft.com/en-us/download/details.aspx?id=40773
  NOT the older .Net Framework 4 from 2011-02-21:
    http://www.microsoft.com/download/en/details.aspx?id=17851

- VS Express 2013 for Windows Desktop:
  To get the GUI, I also installed the Express for Desktop version of
  Visual Studio, via the VS2013_RTM_DskExp_ENU.iso file:
    
http://www.visualstudio.com/downloads/download-visual-studio-vs#d-express-windows-desktop
    http://www.visualstudio.com/en-US/products/visual-studio-express-vs

-- 
Andrew Piskorski <a...@piskorski.com>

------------------------------------------------------------------------------
_______________________________________________
naviserver-devel mailing list
naviserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/naviserver-devel

Reply via email to