Hi,
In addition to my previous email:
The utils\pl\VC-32.pl always add (not taking care for no-asm option) the
following line
$banner.=<<'___' if ($FLAVOR =~ /WIN64/);
CRYPTOOBJ=ms\uptable.obj $(CRYPTOOBJ)
Although I did not test it, I can imagine that the 32-bit build also likes to
have uptable.ms. But maybe I'm completely wrong and I made the wrong assumption
that uptable.asm something to do with the no-asm flag. Please correct me if I'm
wrong.
Anyhow, the trigger for me to investigate all was that I got an empty
ms\uptable.asm file, causing a build failure.
After some more research, it pointed out that perl was installed in a directory
with spaces, causing $^X in uplink-x86_64.pl to expand to a wrong command
(raising an error), and resulting in an empty file.
May be all previous email may be reduced to changing line 5 in
ms\uplink-x86_64.pl (and all other places where $^X is used) from:
open STDOUT,"| $^X ${dir}../crypto/perlasm/x86_64-xlate.pl $output";
to
open STDOUT,"| \"$^X\" ${dir}../crypto/perlasm/x86_64-xlate.pl $output";
(not the added double quotes around $^X)
Other approach: verify that perl was installed in a directory without spaces.
Note that perl's built-in variable $^X will expand to a fully qualified path
name...
Regards,
Kees
-----Original Message-----
From: The default queue via RT [mailto:[email protected]]
Sent: Thursday, June 14, 2012 16:57
To: Kees Dekker
Subject: [openssl.org #2835] AutoReply: question/proposal for openssl 1.0.1c to
make do_ms.bat and do_win64a.bat somewhat more consisent + solve build errors
for WIN64a.
Greetings,
This message has been automatically generated in response to the
creation of a trouble ticket regarding:
"question/proposal for openssl 1.0.1c to make do_ms.bat and
do_win64a.bat somewhat more consisent + solve build errors for WIN64a.",
a summary of which appears below.
There is no need to reply to this message right now. Your ticket has been
assigned an ID of [openssl.org #2835].
Please include the string:
[openssl.org #2835]
in the subject line of all future correspondence about this issue. To do so,
you may reply to this message.
Thank you,
[email protected]
-------------------------------------------------------------------------
Hi,
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 (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.
Is it possible to make some more generic batch files? I would propose something
like:
1. do_win32.bat (similar to do_ms.bat)
call ms\do_win_build.bat VC-WIN32 no-asm
2. do_win64a.bat (almost similar to do_ms.bat, except the config changed)
call ms\do_win_build.bat VC-WIN64a no-asm
Repeat for the other configurations as well.
Create separate batch files is masm is used.
A configuration for windows CE can be added too if wanted...
And create a new generic batch file:
do_win_build.bat:
@rem build OpenSSL on Windows
@rem %1 configuration
@rem %2 options, e.g. no-asm
set config=%~1
set options=%~2
@REM some defaults
if not defined config set config=VC-WIN32
if not defined options set options=no-asm
if /i "$(config)"=="VC-CE" (
set platform=ce
) else (
set platform=nt
)
perl util\mkfiles.pl >MINFO
perl util\mk1mf.pl %options% %config% >ms\%platform%.mak
perl util\mk1mf.pl dll %options% %config% >ms\%platform%dll.mak
perl util\mkdef.pl 32 libeay > ms\libeay32.def
perl util\mkdef.pl 32 ssleay > ms\ssleay32.def
goto end
:error
echo An unknown configuration was provided
exit /b 1
:end
Regards,
Kees
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List [email protected]
Automated List Manager [email protected]