Dear all,
        Using different C/C++ compilers for different modules of the same
binary/executable is always a bad idea and not only in Windows.

Different compilers can be used to create different binaries, not really
integrated with each other's. In the Windows-OpenACS distribution
(http://www.spazioit.com/pages_en/sol_inf_en/windows-openacs_en/) the core
system (i.e. Aolserver and its modules, Tcl/Tk, xotcl, Thread,  are all
built with one single compiler (Microsoft Visual Studio 2013 Professional
Editions). All other tools, utilities are built with what is more
convenient, PostgreSQL 8.3.23 binaries with MinGW and PostgreSQL 9.3.1 with
MinGW64.

As build environment I would select your option #2, that is " Microsoft's
compiler, using nmake from the command-line."

In terms of target I would use at the moment Windows Server 2012 R2. Windows
7 is rather peculiar, but I do not know the actual user requirements.

Hope this helps,
Maurizio Martignano

-----Original Message-----
From: Andrew Piskorski [mailto:a...@piskorski.com] 
Sent: 10 August 2014 12:46
To: naviserver-devel@lists.sourceforge.net
Subject: [naviserver-devel] Windows 7 recommended compiler and build tools?

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-274341A
C6BCE/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-wi
ndows-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


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

Reply via email to