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