We are currently doing this sort if thing in several batch files:

if defined VS170COMNTOOLS () else 
if defined VS160COMNTOOLS () else 
if defined VS150COMNTOOLS () else 

which is very messy and hard to maintain. 

I've been working on fixing this and propose that we do this in settenvar.bat:

if not defined VSnnnCOMNTOOLS
  if defined VS170COMNTOOLS set VSnnnCOMNTOOLS = VS170COMNTOOLS else
  if defined VS160COMNTOOLS set VSnnnCOMNTOOLS = VS160COMNTOOLS else
  if defined VS150COMNTOOLS set VSnnnCOMNTOOLS = VS150COMNTOOLS

We then use VSnnnCOMNTOOLS to call the correct vcvarsall.bat. 

That then gives us almost all the environment variables we need for use
during the build and then the subsequent packaging. With this clean up I've
also fixed a few clumsy hacks in the code that tries to handle the disconnect
between library names and numbers, msvc version numbers and Visual Studio
version numbers. 

If a specific Visual Studio version is required then VSnnnCOMNTOOLS can be
set in the environment prior to running the build. 

Overall the build code and the packaging code is a lot cleaner and is no
less dependant upon a specific version of Visual Studio. 

Having a more flexible way to work with any available version of Visual
Studio is important, I think. Microsoft has a fairly aggressive roadmap for VS
releases and Github are deprecating older VS build environments quite
quickly. 


Anyway, I'm ready to commit this directly to HEAD as long as there are no
objections. Or I can create a work branch for review.


Paul
-- 

Paul Reeves
http://www.ibphoenix.com
Supporting users of Firebird
 


Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to