Andy, Thanks for explanation.
As answer on your question whether ml64.exe is existent: when setting Visual Studio 2010 (SP1) x64 command line environment, ml64.exe is accessible via the path (in c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\ml64.exe). Microsoft has already dropped support for Visual Studio 2005. It is quite safe/reasonable to put the minimum required VS version to e.g. 2008 (with latest SPs). But that's just my opinion. We (=our department) is just busy moving away from VS2005... Note my other reply, since I got openSSL buildable/working for x64 too (with VS 2010 SP1). Regards, Kees -----Original Message----- From: Andy Polyakov via RT [mailto:r...@openssl.org] Sent: Tuesday, June 26, 2012 16:28 To: Kees Dekker Cc: openssl-dev@openssl.org Subject: Re: [openssl.org #2835] question/proposal for openssl 1.0.1c to make do_ms.bat and do_win64a.bat somewhat more consisent + solve build errors for WIN64a. > I noticed that the Microsoft Assembler compiler support has gone, > however, I also found that ms\do_ms.bat does NOT use assembly (no-asm > flag is used), while ms\do_win64a.bat silently expects nasm compiler No. 1.0.0 assumes ml64, while 1.0.1 *probes* if nasm is present, and if not, falls down to ml64: cmd /c "nasm -f win64 -v" >NUL: 2>&1 if %errorlevel% neq 0 goto ml64 uptable.asm being generated and compiled even with no-asm is intentional. It has nothing to do with performance, but with so called OPENSSL_Applink. In 32-bit build it's managed without assembler module thanks to inline assembler support in compiler, which is not an option for 64-bit compilers. This should answer related questions posed in follow-up message. > (according to INSTALL.WIN32 the only supported assembly compiler). > Similar is true (but not used by me) for the do_win64i.bat batch file. > This is probably somewhat inconsistent… Since I did not have nasm > installed, the build for 32-bit succeeded, but for 64-bit (AMD) not. Strange. In order to fail both nasm and ml64 should be absent... While Microsoft failed to include assembler with initial Visual x64-capable release, as far as I understand it was present on later releases (and was available as separate download for initial release). Don't you have ml64? > Is it possible to make some more generic batch files? I'll give it a thought...