Git Product home page Git Product logo

openssl1_1-win-build's People

Contributors

kiyolee avatar tomato42 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

openssl1_1-win-build's Issues

msbuild build customization

I am working on an msbuild customization that will be a better integration into calling perl to build the assembly files.

There already exists a build customization for masm.
This is going to allow for a more streamlined build instead of the current design where masm is a piggybacked onto perl. It is going to provide logging and also the ability to set command line options.

Using the build customization we have the ability to pass the assembly file that is created using perl to the masm build customization and that will compile the the assembly code into an object and that object will then get passed to the linker.

The _work would no longer be needed.
it is going to have a proper logging routing,
The best part.. it is going to automatically set everything up based on the .pl file extension. so when a file gets added it will populate the information in the properties for that file. They will be editable
It will provide most of the command line switches available for perl. You will also be able to add/change any command line arguments for the script (programfile)
There is going to be an outfile field that will have a default value in it but can be removed/updated

paths to perl and also nasm will no longer need to be set into the path statement by the user. perl and nasm can be supplied with the solutions, that could end up making for a really large repository. I am thinking simply instructing the user to use nuget to install perl and nasm is going to be fine. It will use the default paths for those and will be preset into the build system using a relitive path from the project.

I have a question regarding the use of perl... when doing a 64 bit build does a 64bit version of perl need to be used and same goes for x86. or does it not matter?

Also You are more familiar with VS then I am. If you are willing would you mind having a look at this thing, I seem to be stuck with it. I am going to poke about it some more and see if I can get unstuck. but if not another set of eyes would be helpful. It's a pain because of how microsoft has these build components spread across 3 files. I also do not know all of the tags and what can and cannot be done using these damned files. You might know.

enable multi core build

if you go into the project properties == >C/C++ ==> General
there is an option in there you should turn on..
Multi-processor Compilation
The ding dongs at Microsoft did not name this correctly.

It should be "Say yes if you want your project to compile faster"
It actually has not a thing to do with multiple processors kind of...

It launches cl multiple times.. cl can only operate on a single core. so by spawning multiple cl sessions each with a different file to compile you will then compile using 100% of your cpu..
The reason they have it termed like they do.. Technically speaking a core is a processor.. so 6 cores = 6 processors.. and because each time cl is spawned it will use a different processor (core) you then have the ability to use 100% of a multi core processor. That setting determines the number of cl sessions to spawn that matches the number of processors the system has.
8 processors (cores) = 8 cl processes that get spawned..

image

This should be turned on by default I would imagine.. I do not know of anyone that has a single core machine anymore.. and if they do it would be a recommendation to not compile OpenSSL on it

x64 defines

It looks like without additional __x86_64 define or so, X25519_ASM code paths will not activate.
Please check if this line is activated in 64 bit build:

#if defined(X25519_ASM) && (defined(__x86_64) || defined(__x86_64__) || \
defined(_M_AMD64) || defined(_M_X64))
# define BASE_2_64_IMPLEMENTED

Did not checked by myself, sorry for that. This report may be completely wrong.

It does not pull perl from the system path

3>'perl' is not recognized as an internal or external command,
3>operable program or batch file.

as you can see below I have the path set in both the user and the system paths. so I am not sure why it is not working. I have to update the vs variables for nasm and also perl to include the full path.

image

image

I hope you do not mind..

I was chatting with the folks over at OpenSSL and the windows build. coupled with the fact they they use nmake which is a horribly slow process. The idea was to speed this up in some fashion.. I saw that they used perl and suggested to them using perl to spawn multiple compiler processes instead of using nmake.

sine I opened that discussion with them I then came across your reporitory.. Which I do want to say is one hell of a job...I do not know if you had any help or if you reverse engineered the OpenSSL build process and put together a way to accomplish it in VS still keeping the use of perl and nasm..

I brought up this project and provided a link to them. There is a specific reason as to why i did this.. First off... it is a smashing job..
Second. MSBuild has a nifty feature. you can tell it to spawn multiple compiler processes. This is going to make the build n times faster.. where n is the number of cores you have. MSBuild can also be invoked from the command line and will process VS solutions without the need to change a thing. so from the standpoint of using a CI this is a huge improvement. That is fantastic..

I told them to speak with you whether they will or will not is entirely up to them. The concern was OpenSSL 3.0 and the changes made to it and this project is not compatible with it.. And also because OpenSSL is included with this and is not a separate entity.

I have not tried this so I figured I would ask. Is the OpenSSL included with this project an unmodified version?

Also is it possible to add in the ability to download a portable version of perl and also have it add nasm whether by download or by using nuget?? having these things be automatic would turn this into a one click or a 1 command to compile design.. zlib would have to be added to the project and not be a standalone thing that needs to be done ahead of time. that should fairly simple to accomplish.

as far as the perl and the nasm go.. I cn see that there is the ability to carry out cli commands. a download can be acompilshed by powershell. pass a script to a call to the executable.

We can also use powershell to unzip perl into the project . then the user would not have to worry about setting any path statements...

I have a working script to handle the unzipping for powershell. It also includes the making/modification of an ini file for powershell that adds a line to point to .NET 3.5 or newer if= that exists on the system..that is where the zip API is.. this script can either be passed as a string to powershell or a script file can be included with the project and that filename would get passed instead.

Set this as the first thing to be carried out if they do not exist on the system.. This should be fairly easy stuff to add...

I suggested adding these solutions as a sub module with your permissions of course. IDK if it is even being considered. But I do want you to know what is going on if by chance someone does come asking... If it is not something that you would be willing to do then tell them not interested.. I did not make any guarantees on your behalf I only suggested they should investigate and ask you directly..

'nasm' is not recognized as an internal or external command

Hi,
I got issues when building latest release with configuration Debug/Release|Win32. Nothing went wrong with Debug/Release|x64.

nasm' is not recognized as an internal or external command

Full log is like below

1>------ Build started: Project: _prebuild, Configuration: Release Win32 ------
2>------ Build started: Project: libapps, Configuration: Release Win32 ------
3>------ Build started: Project: libapps-static, Configuration: Release Win32 ------
4>------ Build started: Project: libtestutil, Configuration: Release Win32 ------
1>Performing Custom Build Tools
5>------ Build started: Project: libcrypto-1_1, Configuration: Release Win32 ------
3>apps.c
3>app_rand.c
3>bf_prefix.c
5>Performing Custom Build Tools
4>basic_output.c
4>cb.c
4>driver.c
4>format_output.c
4>main.c
4>output_helpers.c
4>random.c
4>stanza.c
4>tap_bio.c
4>tests.c
4>testutil_init.c
4>test_cleanup.c
5>'nasm' is not recognized as an internal or external command,
3>opt.c
5>operable program or batch file.
5>Performing Custom Build Tools
5>'nasm' is not recognized as an internal or external command,
5>operable program or batch file.
4>libtestutil.vcxproj -> C:\Users\triangulum\Documents\openssl1_1-win-build\build-VS2019\Release\libtestutil.lib
6>------ Build started: Project: libcrypto-1_1-static, Configuration: Release Win32 ------
5>Performing Custom Build Tools
5>'nasm' is not recognized as an internal or external command,
5>operable program or batch file.
5>Performing Custom Build Tools
5>'nasm' is not recognized as an internal or external command,
5>operable program or batch file.
5>Performing Custom Build Tools
5>'nasm' is not recognized as an internal or external command,
5>operable program or batch file.
5>Performing Custom Build Tools
5>'nasm' is not recognized as an internal or external command,
5>operable program or batch file.
5>Performing Custom Build Tools
3>s_cb.c
5>'nasm' is not recognized as an internal or external command,
5>operable program or batch file.
5>Performing Custom Build Tools
6>Performing Custom Build Tools
5>'nasm' is not recognized as an internal or external command,
5>operable program or batch file.
5>Performing Custom Build Tools
6>'nasm' is not recognized as an internal or external command,
6>operable program or batch file.
6>Performing Custom Build Tools
5>'nasm' is not recognized as an internal or external command,
5>operable program or batch file.
5>Performing Custom Build Tools
6>'nasm' is not recognized as an internal or external command,
6>operable program or batch file.
6>Performing Custom Build Tools
5>'nasm' is not recognized as an internal or external command,
5>operable program or batch file.
5>Performing Custom Build Tools
6>'nasm' is not recognized as an internal or external command,
6>operable program or batch file.
6>Performing Custom Build Tools
5>'nasm' is not recognized as an internal or external command,
5>operable program or batch file.
5>Performing Custom Build Tools
5>'nasm' is not recognized as an internal or external command,
5>operable program or batch file.
5>Performing Custom Build Tools
3>s_socket.c
6>'nasm' is not recognized as an internal or external command,
6>operable program or batch file.
6>Performing Custom Build Tools
6>'nasm' is not recognized as an internal or external command,
6>operable program or batch file.
6>Performing Custom Build Tools
5>'nasm' is not recognized as an internal or external command,
5>operable program or batch file.
5>Performing Custom Build Tools
5>'nasm' is not recognized as an internal or external command,
5>operable program or batch file.
5>Performing Custom Build Tools
6>'nasm' is not recognized as an internal or external command,
6>operable program or batch file.
6>Performing Custom Build Tools
6>'nasm' is not recognized as an internal or external command,
6>operable program or batch file.
6>Performing Custom Build Tools
6>'nasm' is not recognized as an internal or external command,
5>'nasm' is not recognized as an internal or external command,
6>operable program or batch file.
6>Performing Custom Build Tools
6>'nasm' is not recognized as an internal or external command,
6>operable program or batch file.
6>Performing Custom Build Tools
3>win32_init.c
5>operable program or batch file.
5>Performing Custom Build Tools
6>'nasm' is not recognized as an internal or external command,
6>operable program or batch file.
6>Performing Custom Build Tools
5>'nasm' is not recognized as an internal or external command,
5>operable program or batch file.
5>Performing Custom Build Tools
6>Performing Custom Build Tools
6>'nasm' is not recognized as an internal or external command,
6>operable program or batch file.
6>'nasm' is not recognized as an internal or external command,
6>operable program or batch file.
6>Performing Custom Build Tools
5>'nasm' is not recognized as an internal or external command,
5>operable program or batch file.
5>Performing Custom Build Tools
6>'nasm' is not recognized as an internal or external command,
6>operable program or batch file.
6>Performing Custom Build Tools
6>'nasm' is not recognized as an internal or external command,
6>operable program or batch file.
6>Performing Custom Build Tools
5>'nasm' is not recognized as an internal or external command,
5>operable program or batch file.
5>Performing Custom Build Tools
5>'nasm' is not recognized as an internal or external command,
5>operable program or batch file.
5>Performing Custom Build Tools
6>'nasm' is not recognized as an internal or external command,
5>'nasm' is not recognized as an internal or external command,
5>operable program or batch file.
5>Performing Custom Build Tools
6>operable program or batch file.
6>Performing Custom Build Tools
6>'nasm' is not recognized as an internal or external command,
6>operable program or batch file.
6>Performing Custom Build Tools
6>'nasm' is not recognized as an internal or external command,
6>operable program or batch file.
6>Performing Custom Build Tools
6>'nasm' is not recognized as an internal or external command,
6>operable program or batch file.
6>Performing Custom Build Tools
5>'nasm' is not recognized as an internal or external command,
5>operable program or batch file.
5>Performing Custom Build Tools
6>'nasm' is not recognized as an internal or external command,
6>operable program or batch file.
6>Performing Custom Build Tools
5>'nasm' is not recognized as an internal or external command,
5>operable program or batch file.
5>Performing Custom Build Tools
6>'nasm' is not recognized as an internal or external command,
6>operable program or batch file.
6>Performing Custom Build Tools
5>'nasm' is not recognized as an internal or external command,
5>operable program or batch file.
5>Performing Custom Build Tools
6>'nasm' is not recognized as an internal or external command,
6>operable program or batch file.
6>Performing Custom Build Tools
6>'nasm' is not recognized as an internal or external command,
6>operable program or batch file.
6>Performing Custom Build Tools
6>'nasm' is not recognized as an internal or external command,
6>operable program or batch file.
6>C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(234,5): error MSB6006: "cmd.exe" exited with code 9009.
6>Done building project "libcrypto-1_1-static.vcxproj" -- FAILED.
7>------ Build started: Project: libssl-1_1-static, Configuration: Release Win32 ------
3>libapps-static.vcxproj -> C:\Users\triangulum\Documents\openssl1_1-win-build\build-VS2019\Release\libapps-static.lib
8>------ Build started: Project: libtestutil-static, Configuration: Release Win32 ------
8>basic_output.c
8>cb.c
8>driver.c
8>format_output.c
8>main.c
8>output_helpers.c
8>random.c
8>stanza.c
8>tap_bio.c
8>tests.c
8>testutil_init.c
8>test_cleanup.c
8>libtestutil-static.vcxproj -> C:\Users\triangulum\Documents\openssl1_1-win-build\build-VS2019\Release\libtestutil-static.lib
2>apps.c
2>app_rand.c
2>bf_prefix.c
2>opt.c
2>s_cb.c
2>s_socket.c
2>win32_init.c
2>libapps.vcxproj -> C:\Users\triangulum\Documents\openssl1_1-win-build\build-VS2019\Release\libapps.lib
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(234,5): warning MSB8065: Custom build for item "..\..\crypto\aes\asm\aesni-x86.pl" succeeded, but specified output "c:\users\triangulum\documents\openssl1_1-win-build\build-vs2019\libcrypto-1_1\release\aesni-x86.obj" has not been created. This may cause incremental build to work incorrectly.
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(234,5): warning MSB8065: Custom build for item "..\..\crypto\aes\asm\vpaes-x86.pl" succeeded, but specified output "c:\users\triangulum\documents\openssl1_1-win-build\build-vs2019\libcrypto-1_1\release\vpaes-x86.obj" has not been created. This may cause incremental build to work incorrectly.
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(234,5): warning MSB8065: Custom build for item "..\..\crypto\bf\asm\bf-586.pl" succeeded, but specified output "c:\users\triangulum\documents\openssl1_1-win-build\build-vs2019\libcrypto-1_1\release\bf-586.obj" has not been created. This may cause incremental build to work incorrectly.
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(234,5): warning MSB8065: Custom build for item "..\..\crypto\bn\asm\bn-586.pl" succeeded, but specified output "c:\users\triangulum\documents\openssl1_1-win-build\build-vs2019\libcrypto-1_1\release\bn-586.obj" has not been created. This may cause incremental build to work incorrectly.
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(234,5): warning MSB8065: Custom build for item "..\..\crypto\bn\asm\co-586.pl" succeeded, but specified output "c:\users\triangulum\documents\openssl1_1-win-build\build-vs2019\libcrypto-1_1\release\co-586.obj" has not been created. This may cause incremental build to work incorrectly.
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(234,5): warning MSB8065: Custom build for item "..\..\crypto\bn\asm\x86-gf2m.pl" succeeded, but specified output "c:\users\triangulum\documents\openssl1_1-win-build\build-vs2019\libcrypto-1_1\release\x86-gf2m.obj" has not been created. This may cause incremental build to work incorrectly.
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(234,5): warning MSB8065: Custom build for item "..\..\crypto\bn\asm\x86-mont.pl" succeeded, but specified output "c:\users\triangulum\documents\openssl1_1-win-build\build-vs2019\libcrypto-1_1\release\x86-mont.obj" has not been created. This may cause incremental build to work incorrectly.
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(234,5): warning MSB8065: Custom build for item "..\..\crypto\camellia\asm\cmll-x86.pl" succeeded, but specified output "c:\users\triangulum\documents\openssl1_1-win-build\build-vs2019\libcrypto-1_1\release\cmll-x86.obj" has not been created. This may cause incremental build to work incorrectly.
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(234,5): warning MSB8065: Custom build for item "..\..\crypto\des\asm\crypt586.pl" succeeded, but specified output "c:\users\triangulum\documents\openssl1_1-win-build\build-vs2019\libcrypto-1_1\release\crypt586.obj" has not been created. This may cause incremental build to work incorrectly.
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(234,5): warning MSB8065: Custom build for item "..\..\crypto\des\asm\des-586.pl" succeeded, but specified output "c:\users\triangulum\documents\openssl1_1-win-build\build-vs2019\libcrypto-1_1\release\des-586.obj" has not been created. This may cause incremental build to work incorrectly.
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(234,5): warning MSB8065: Custom build for item "..\..\crypto\md5\asm\md5-586.pl" succeeded, but specified output "c:\users\triangulum\documents\openssl1_1-win-build\build-vs2019\libcrypto-1_1\release\md5-586.obj" has not been created. This may cause incremental build to work incorrectly.
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(234,5): warning MSB8065: Custom build for item "..\..\crypto\modes\asm\ghash-x86.pl" succeeded, but specified output "c:\users\triangulum\documents\openssl1_1-win-build\build-vs2019\libcrypto-1_1\release\ghash-x86.obj" has not been created. This may cause incremental build to work incorrectly.
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(234,5): warning MSB8065: Custom build for item "..\..\crypto\rc4\asm\rc4-586.pl" succeeded, but specified output "c:\users\triangulum\documents\openssl1_1-win-build\build-vs2019\libcrypto-1_1\release\rc4-586.obj" has not been created. This may cause incremental build to work incorrectly.
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(234,5): warning MSB8065: Custom build for item "..\..\crypto\ripemd\asm\rmd-586.pl" succeeded, but specified output "c:\users\triangulum\documents\openssl1_1-win-build\build-vs2019\libcrypto-1_1\release\rmd-586.obj" has not been created. This may cause incremental build to work incorrectly.
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(234,5): warning MSB8065: Custom build for item "..\..\crypto\sha\asm\sha1-586.pl" succeeded, but specified output "c:\users\triangulum\documents\openssl1_1-win-build\build-vs2019\libcrypto-1_1\release\sha1-586.obj" has not been created. This may cause incremental build to work incorrectly.
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(234,5): warning MSB8065: Custom build for item "..\..\crypto\sha\asm\sha256-586.pl" succeeded, but specified output "c:\users\triangulum\documents\openssl1_1-win-build\build-vs2019\libcrypto-1_1\release\sha256-586.obj" has not been created. This may cause incremental build to work incorrectly.
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(234,5): warning MSB8065: Custom build for item "..\..\crypto\sha\asm\sha512-586.pl" succeeded, but specified output "c:\users\triangulum\documents\openssl1_1-win-build\build-vs2019\libcrypto-1_1\release\sha512-586.obj" has not been created. This may cause incremental build to work incorrectly.
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(234,5): warning MSB8065: Custom build for item "..\..\crypto\whrlpool\asm\wp-mmx.pl" succeeded, but specified output "c:\users\triangulum\documents\openssl1_1-win-build\build-vs2019\libcrypto-1_1\release\wp-mmx.obj" has not been created. This may cause incremental build to work incorrectly.
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(234,5): warning MSB8065: Custom build for item "..\..\crypto\x86cpuid.pl" succeeded, but specified output "c:\users\triangulum\documents\openssl1_1-win-build\build-vs2019\libcrypto-1_1\release\x86cpuid.obj" has not been created. This may cause incremental build to work incorrectly.
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(234,5): warning MSB8065: Custom build for item "..\..\crypto\chacha\asm\chacha-x86.pl" succeeded, but specified output "c:\users\triangulum\documents\openssl1_1-win-build\build-vs2019\libcrypto-1_1\release\chacha-x86.obj" has not been created. This may cause incremental build to work incorrectly.
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(234,5): warning MSB8065: Custom build for item "..\..\crypto\ec\asm\ecp_nistz256-x86.pl" succeeded, but specified output "c:\users\triangulum\documents\openssl1_1-win-build\build-vs2019\libcrypto-1_1\release\ecp_nistz256-x86.obj" has not been created. This may cause incremental build to work incorrectly.
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(234,5): warning MSB8065: Custom build for item "..\..\crypto\poly1305\asm\poly1305-x86.pl" succeeded, but specified output "c:\users\triangulum\documents\openssl1_1-win-build\build-vs2019\libcrypto-1_1\release\poly1305-x86.obj" has not been created. This may cause incremental build to work incorrectly.
5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(234,5): warning MSB8065: Custom build for item "..\..\engines\asm\e_padlock-x86.pl" succeeded, but specified output "c:\users\triangulum\documents\openssl1_1-win-build\build-vs2019\libcrypto-1_1\release\e_padlock-x86.obj" has not been created. This may cause incremental build to work incorrectly.
7>bio_ssl.c
7>d1_lib.c
7>d1_msg.c
7>d1_srtp.c
7>methods.c
7>packet.c
7>pqueue.c
7>dtls1_bitmap.c
7>rec_layer_d1.c
7>rec_layer_s3.c
7>ssl3_buffer.c
7>ssl3_record.c
5>aes_cbc.c
5>aes_cfb.c
5>aes_core.c
5>aes_ecb.c
5>aes_ige.c
5>aes_misc.c
5>aes_ofb.c
5>aes_wrap.c
5>aria.c
5>ameth_lib.c
5>asn1_err.c
5>asn1_gen.c
5>asn1_item_list.c
7>ssl3_record_tls13.c
5>asn1_lib.c
5>asn1_par.c
5>asn_mime.c
7>s3_cbc.c
5>asn_moid.c
5>asn_mstbl.c
7>s3_enc.c
5>asn_pack.c
5>a_bitstr.c
5>Compiling...
5>a_d2i_fp.c
7>s3_lib.c
5>a_digest.c
5>a_dup.c
5>a_gentm.c
5>a_i2d_fp.c
7>s3_msg.c
5>a_int.c
5>a_mbstr.c
5>a_object.c
5>a_octet.c
7>ssl_asn1.c
5>a_print.c
5>a_sign.c
5>a_strex.c
7>ssl_cert.c
5>a_strnid.c
5>a_time.c
5>a_type.c
5>a_utctm.c
7>ssl_ciph.c
5>a_utf8.c
5>a_verify.c
5>bio_asn1.c
5>bio_ndef.c
7>Compiling...
7>ssl_conf.c
5>Compiling...
5>d2i_pr.c
5>d2i_pu.c
5>evp_asn1.c
5>f_int.c
7>ssl_err.c
5>f_string.c
7>ssl_init.c
5>i2d_pr.c
5>i2d_pu.c
5>nsseq.c
7>ssl_lib.c
5>n_pkey.c
5>p5_pbe.c
5>p5_pbev2.c
7>ssl_mcnf.c
5>p5_scrypt.c
5>p8_pkey.c
5>tasn_dec.c
7>ssl_rsa.c
5>tasn_enc.c
5>tasn_fre.c
5>tasn_new.c
5>tasn_prn.c
7>ssl_sess.c
5>tasn_scn.c
5>tasn_typ.c
7>ssl_stat.c
5>Compiling...
5>tasn_utl.c
5>t_bitst.c
5>t_pkey.c
7>ssl_txt.c
5>t_spki.c
5>x_algor.c
5>x_bignum.c
7>ssl_utst.c
5>x_info.c
5>x_int64.c
5>x_long.c
5>x_pkey.c
7>extensions.c
5>x_sig.c
5>x_spki.c
5>x_val.c
7>extensions_clnt.c
5>async_null.c
5>async_posix.c
7>extensions_cust.c
5>async_win.c
7>extensions_srvr.c
5>async.c
7>statem.c
5>async_err.c
5>async_wait.c
7>statem_clnt.c
5>bf_cfb64.c
5>Compiling...
5>bf_ecb.c
5>bf_ofb64.c
5>bf_skey.c
5>bf_buff.c
7>statem_dtls.c
5>bf_lbuf.c
7>statem_lib.c
5>bf_nbio.c
5>bf_null.c
7>statem_srvr.c
5>bio_cb.c
7>t1_enc.c
5>bio_err.c
5>bio_lib.c
7>Compiling...
7>t1_lib.c
5>bio_meth.c
5>bss_acpt.c
7>t1_trce.c
5>bss_bio.c
7>tls13_enc.c
5>bss_conn.c
7>tls_srp.c
5>bss_dgram.c
5>bss_fd.c
5>bss_file.c
5>bss_log.c
7>libssl-1_1-static.vcxproj -> C:\Users\triangulum\Documents\openssl1_1-win-build\build-VS2019\Release\libssl-1_1-static.lib
9>------ Build started: Project: openssl-static, Configuration: Release Win32 ------
5>bss_mem.c
9>asn1pars.c
5>bss_null.c
5>Compiling...
9>ca.c
5>bss_sock.c
5>b_addr.c
9>ciphers.c
5>b_dump.c
9>cms.c
5>b_print.c
5>b_sock.c
9>crl.c
5>b_sock2.c
5>blake2b.c
9>crl2p7.c
5>blake2s.c
5>m_blake2b.c
5>m_blake2s.c
5>bn_add.c
9>dgst.c
5>bn_blind.c
5>bn_const.c
5>bn_ctx.c
5>bn_depr.c
9>dhparam.c
5>bn_dh.c
5>bn_div.c
5>bn_err.c
5>bn_exp.c
9>dsa.c
9>dsaparam.c
5>bn_exp2.c
5>Compiling...
5>bn_gcd.c
5>bn_gf2m.c
5>bn_intern.c
5>bn_kron.c
5>bn_lib.c
5>bn_mod.c
5>bn_mont.c
5>bn_mpi.c
9>ec.c
5>bn_mul.c
5>bn_nist.c
5>bn_prime.c
5>bn_print.c
9>ecparam.c
5>bn_rand.c
5>bn_recp.c
5>bn_shift.c
5>bn_sqr.c
5>bn_sqrt.c
9>enc.c
5>bn_srp.c
5>bn_word.c
5>bn_x931p.c
5>Compiling...
5>buffer.c
9>engine.c
5>buf_err.c
5>cmll_cfb.c
5>cmll_ctr.c
5>cmll_ecb.c
5>cmll_ofb.c
5>c_cfb64.c
5>c_ecb.c
5>c_enc.c
5>c_ofb64.c
5>c_skey.c
9>errstr.c
5>cmac.c
5>cm_ameth.c
5>cm_pmeth.c
5>cms_asn1.c
9>gendsa.c
5>cms_att.c
5>cms_cd.c
9>genpkey.c
5>cms_dd.c
5>cms_enc.c
5>cms_env.c
9>genrsa.c
5>Compiling...
5>cms_err.c
5>cms_ess.c
9>nseq.c
5>cms_io.c
5>cms_kari.c
9>ocsp.c
5>cms_lib.c
5>cms_pwri.c
5>cms_sd.c
5>cms_smime.c
9>Compiling...
9>openssl.c
5>comp_err.c
5>comp_lib.c
5>c_zlib.c
9>passwd.c
5>conf_api.c
9>pkcs12.c
5>conf_def.c
5>conf_err.c
5>conf_lib.c
9>pkcs7.c
5>conf_mall.c
5>conf_mod.c
9>pkcs8.c
5>conf_sap.c
5>conf_ssl.c
5>cpt_err.c
9>pkey.c
5>Compiling...
5>cryptlib.c
9>pkeyparam.c
5>ctype.c
5>ct_b64.c
5>ct_err.c
5>ct_log.c
9>pkeyutl.c
5>ct_oct.c
5>ct_policy.c
5>ct_prn.c
9>prime.c
5>ct_sct.c
5>ct_sct_ctx.c
9>rand.c
5>ct_vfy.c
5>ct_x509v3.c
5>cversion.c
9>rehash.c
5>cbc_cksm.c
5>cbc_enc.c
5>cfb64ede.c
5>cfb64enc.c
5>cfb_enc.c
9>req.c
5>ecb3_enc.c
5>ecb_enc.c
9>rsa.c
5>Compiling...
5>fcrypt.c
5>ofb64ede.c
5>ofb64enc.c
5>ofb_enc.c
5>pcbc_enc.c
5>qud_cksm.c
9>rsautl.c
5>rand_key.c
5>set_key.c
5>str2key.c
5>xcbc_enc.c
5>dh_ameth.c
9>sess_id.c
5>dh_asn1.c
5>dh_check.c
5>dh_depr.c
5>dh_err.c
9>smime.c
5>dh_gen.c
5>dh_kdf.c
9>speed.c
5>dh_key.c
5>dh_lib.c
5>dh_meth.c
9>spkac.c
5>Compiling...
5>dh_pmeth.c
5>dh_prn.c
9>srp.c
5>dh_rfc5114.c
5>dh_rfc7919.c
5>dllmain.c
9>storeutl.c
5>dsa_ameth.c
5>dsa_asn1.c
5>dsa_depr.c
5>dsa_err.c
9>Compiling...
9>s_client.c
5>dsa_gen.c
5>dsa_key.c
5>dsa_lib.c
5>dsa_meth.c
9>s_server.c
5>dsa_ossl.c
5>dsa_pmeth.c
5>dsa_prn.c
5>dsa_sign.c
9>s_time.c
5>dsa_vrf.c
5>dso_dl.c
5>dso_dlfcn.c
9>ts.c
5>Compiling...
5>dso_err.c
5>dso_lib.c
5>dso_openssl.c
9>verify.c
5>dso_vms.c
5>dso_win32.c
5>ebcdic.c
9>version.c
5>curve25519.c
5>f_impl.c
5>curve448.c
5>curve448_tables.c
5>eddsa.c
9>x509.c
5>f_generic.c
5>scalar.c
5>ec2_oct.c
5>ec2_smpl.c
5>ecdh_kdf.c
5>ecdh_ossl.c
5>ecdsa_ossl.c
5>ecdsa_sign.c
5>ecdsa_vrf.c
5>Compiling...
5>eck_prn.c
5>ecp_mont.c
5>ecp_nist.c
5>ecp_nistp224.c
5>ecp_nistp256.c
5>ecp_nistp521.c
5>ecp_nistputil.c
5>ecp_nistz256.c
5>ecp_oct.c
9>LINK : fatal error LNK1181: cannot open input file 'C:\Users\triangulum\Documents\openssl1_1-win-build\build-VS2019\Release\libcrypto-1_1-static.lib'
9>Done building project "openssl-static.vcxproj" -- FAILED.
5>ecp_smpl.c
5>ecx_meth.c
5>ec_ameth.c
5>ec_asn1.c
5>ec_check.c
5>ec_curve.c
5>ec_cvt.c
5>ec_err.c
5>ec_key.c
5>ec_kmeth.c
5>ec_lib.c
5>Compiling...
5>ec_mult.c
5>ec_oct.c
5>ec_pmeth.c
5>ec_print.c
5>eng_all.c
5>eng_cnf.c
5>eng_ctrl.c
5>eng_dyn.c
5>eng_err.c
5>eng_fat.c
5>eng_init.c
5>eng_lib.c
5>eng_list.c
5>eng_openssl.c
5>eng_pkey.c
5>eng_rdrand.c
5>eng_table.c
5>tb_asnmth.c
5>tb_cipher.c
5>tb_dh.c
5>Compiling...
5>tb_digest.c
5>tb_dsa.c
5>tb_eckey.c
5>tb_pkmeth.c
5>tb_rand.c
5>tb_rsa.c
5>err.c
5>err_all.c
5>err_prn.c
5>bio_b64.c
5>bio_enc.c
5>bio_md.c
5>bio_ok.c
5>cmeth_lib.c
5>c_allc.c
5>c_alld.c
5>digest.c
5>encode.c
5>evp_cnf.c
5>evp_enc.c
5>Compiling...
5>evp_err.c
5>evp_key.c
5>evp_lib.c
5>evp_pbe.c
5>evp_pkey.c
5>e_aes.c
5>e_aes_cbc_hmac_sha1.c
5>e_aes_cbc_hmac_sha256.c
5>e_aria.c
5>e_bf.c
5>e_camellia.c
5>e_cast.c
5>e_chacha20_poly1305.c
5>e_des.c
5>e_des3.c
5>e_idea.c
5>e_null.c
5>e_old.c
5>e_rc2.c
5>e_rc4.c
5>Compiling...
5>e_rc4_hmac_md5.c
5>e_rc5.c
5>e_seed.c
5>e_sm4.c
5>e_xcbc_d.c
5>m_md2.c
5>m_md4.c
5>m_md5.c
5>m_md5_sha1.c
5>m_mdc2.c
5>m_null.c
5>m_ripemd.c
5>m_sha1.c
5>m_sha3.c
5>m_sigver.c
5>m_wp.c
5>names.c
5>p5_crpt.c
5>p5_crpt2.c
5>pbe_scrypt.c
5>Compiling...
5>pmeth_fn.c
5>pmeth_gn.c
5>pmeth_lib.c
5>p_dec.c
5>p_enc.c
5>p_lib.c
5>p_open.c
5>p_seal.c
5>p_sign.c
5>p_verify.c
5>ex_data.c
5>getenv.c
5>hmac.c
5>hm_ameth.c
5>hm_pmeth.c
5>i_cbc.c
5>i_cfb64.c
5>i_ecb.c
5>i_ofb64.c
5>i_skey.c
5>Compiling...
5>init.c
5>hkdf.c
5>kdf_err.c
5>scrypt.c
5>tls1_prf.c
5>lhash.c
5>lh_stats.c
5>md4_dgst.c
5>md4_one.c
5>md5_dgst.c
5>md5_one.c
5>mdc2dgst.c
5>mdc2_one.c
5>mem.c
5>mem_dbg.c
5>mem_sec.c
5>cbc128.c
5>ccm128.c
5>cfb128.c
5>ctr128.c
5>Compiling...
5>cts128.c
5>gcm128.c
5>ocb128.c
5>ofb128.c
5>wrap128.c
5>xts128.c
5>obj_dat.c
5>obj_err.c
5>obj_lib.c
5>obj_xref.c
5>o_names.c
5>ocsp_asn.c
5>ocsp_cl.c
5>ocsp_err.c
5>ocsp_ext.c
5>ocsp_ht.c
5>ocsp_lib.c
5>ocsp_prn.c
5>ocsp_srv.c
5>ocsp_vfy.c
5>Compiling...
5>v3_ocsp.c
5>o_dir.c
5>o_fips.c
5>o_fopen.c
5>o_init.c
5>o_str.c
5>o_time.c
5>pem_all.c
5>pem_err.c
5>pem_info.c
5>pem_lib.c
5>pem_oth.c
5>pem_pk8.c
5>pem_pkey.c
5>pem_sign.c
5>pem_x509.c
5>pem_xaux.c
5>pvkfmt.c
5>p12_add.c
5>p12_asn.c
5>Compiling...
5>p12_attr.c
5>p12_crpt.c
5>p12_crt.c
5>p12_decr.c
5>p12_init.c
5>p12_key.c
5>p12_kiss.c
5>p12_mutl.c
5>p12_npas.c
5>p12_p8d.c
5>p12_p8e.c
5>p12_sbag.c
5>p12_utl.c
5>pk12err.c
5>bio_pk7.c
5>pk7_asn1.c
5>pk7_attr.c
5>pk7_doit.c
5>pk7_lib.c
5>pk7_mime.c
5>Compiling...
5>pk7_smime.c
5>pkcs7err.c
5>poly1305.c
5>poly1305_ameth.c
5>poly1305_pmeth.c
5>drbg_ctr.c
5>drbg_lib.c
5>randfile.c
5>rand_egd.c
5>rand_err.c
5>rand_lib.c
5>rand_unix.c
5>rand_vms.c
5>rand_win.c
5>rc2cfb64.c
5>rc2ofb64.c
5>rc2_cbc.c
5>rc2_ecb.c
5>rc2_skey.c
5>rmd_dgst.c
5>Compiling...
5>rmd_one.c
5>rsa_ameth.c
5>rsa_asn1.c
5>rsa_chk.c
5>rsa_crpt.c
5>rsa_depr.c
5>rsa_err.c
5>rsa_gen.c
5>rsa_lib.c
5>rsa_meth.c
5>rsa_mp.c
5>rsa_none.c
5>rsa_oaep.c
5>rsa_ossl.c
5>rsa_pk1.c
5>rsa_pmeth.c
5>rsa_prn.c
5>rsa_pss.c
5>rsa_saos.c
5>rsa_sign.c
5>Compiling...
5>rsa_ssl.c
5>rsa_x931.c
5>rsa_x931g.c
5>seed.c
5>seed_cbc.c
5>seed_cfb.c
5>seed_ecb.c
5>seed_ofb.c
5>keccak1600.c
5>sha1dgst.c
5>sha1_one.c
5>sha256.c
5>sha512.c
5>siphash.c
5>siphash_ameth.c
5>siphash_pmeth.c
5>sm2_crypt.c
5>sm2_err.c
5>sm2_pmeth.c
5>sm2_sign.c
5>Compiling...
5>m_sm3.c
5>sm3.c
5>sm4.c
5>srp_lib.c
5>srp_vfy.c
5>stack.c
5>loader_file.c
5>store_err.c
5>store_init.c
5>store_lib.c
5>store_register.c
5>store_strings.c
5>threads_none.c
5>threads_pthread.c
5>threads_win.c
5>ts_asn1.c
5>ts_conf.c
5>ts_err.c
5>ts_lib.c
5>ts_req_print.c
5>Compiling...
5>ts_req_utils.c
5>ts_rsp_print.c
5>ts_rsp_sign.c
5>ts_rsp_utils.c
5>ts_rsp_verify.c
5>ts_verify_ctx.c
5>txt_db.c
5>uid.c
5>ui_err.c
5>ui_lib.c
5>ui_null.c
5>ui_openssl.c
5>ui_util.c
5>wp_block.c
5>wp_dgst.c
5>pcy_cache.c
5>pcy_data.c
5>pcy_lib.c
5>pcy_map.c
5>pcy_node.c
5>Compiling...
5>pcy_tree.c
5>v3err.c
5>v3_addr.c
5>v3_admis.c
5>v3_akey.c
5>v3_akeya.c
5>v3_alt.c
5>v3_asid.c
5>v3_bcons.c
5>v3_bitst.c
5>v3_conf.c
5>v3_cpols.c
5>v3_crld.c
5>v3_enum.c
5>v3_extku.c
5>v3_genn.c
5>v3_ia5.c
5>v3_info.c
5>v3_int.c
5>v3_lib.c
5>Compiling...
5>v3_ncons.c
5>v3_pci.c
5>v3_pcia.c
5>v3_pcons.c
5>v3_pku.c
5>v3_pmaps.c
5>v3_prn.c
5>v3_purp.c
5>v3_skey.c
5>v3_sxnet.c
5>v3_tlsf.c
5>v3_utl.c
5>by_dir.c
5>by_file.c
5>t_crl.c
5>t_req.c
5>t_x509.c
5>x509cset.c
5>x509name.c
5>x509rset.c
5>Compiling...
5>x509spki.c
5>x509type.c
5>x509_att.c
5>x509_cmp.c
5>x509_d2.c
5>x509_def.c
5>x509_err.c
5>x509_ext.c
5>x509_lu.c
5>x509_meth.c
5>x509_obj.c
5>x509_r2x.c
5>x509_req.c
5>x509_set.c
5>x509_trs.c
5>x509_txt.c
5>x509_v3.c
5>x509_vfy.c
5>x509_vpm.c
5>x_all.c
5>Compiling...
5>x_attrib.c
5>x_crl.c
5>x_exten.c
5>x_name.c
5>x_pubkey.c
5>x_req.c
5>x_x509.c
5>x_x509a.c
5>e_capi.c
5>e_padlock.c
5>uplink.c
5>LINK : fatal error LNK1181: cannot open input file 'Release\aesni-x86.obj'
5>Done building project "libcrypto-1_1.vcxproj" -- FAILED.
10>------ Build started: Project: libssl-1_1, Configuration: Release Win32 ------
10>Performing Custom Build Tools
10>bio_ssl.c
10>d1_lib.c
10>d1_msg.c
10>d1_srtp.c
10>methods.c
10>packet.c
10>pqueue.c
10>dtls1_bitmap.c
10>rec_layer_d1.c
10>rec_layer_s3.c
10>ssl3_buffer.c
10>ssl3_record.c
10>ssl3_record_tls13.c
10>s3_cbc.c
10>s3_enc.c
10>s3_lib.c
10>s3_msg.c
10>ssl_asn1.c
10>ssl_cert.c
10>ssl_ciph.c
10>Compiling...
10>ssl_conf.c
10>ssl_err.c
10>ssl_init.c
10>ssl_lib.c
10>ssl_mcnf.c
10>ssl_rsa.c
10>ssl_sess.c
10>ssl_stat.c
10>ssl_txt.c
10>ssl_utst.c
10>extensions.c
10>extensions_clnt.c
10>extensions_cust.c
10>extensions_srvr.c
10>statem.c
10>statem_clnt.c
10>statem_dtls.c
10>statem_lib.c
10>statem_srvr.c
10>t1_enc.c
10>Compiling...
10>t1_lib.c
10>t1_trce.c
10>tls13_enc.c
10>tls_srp.c
10>LINK : fatal error LNK1181: cannot open input file 'C:\Users\triangulum\Documents\openssl1_1-win-build\build-VS2019\Release\libcrypto-1_1.lib'
10>Done building project "libssl-1_1.vcxproj" -- FAILED.
11>------ Build started: Project: openssl, Configuration: Release Win32 ------
11>asn1pars.c
11>ca.c
11>ciphers.c
11>cms.c
11>crl.c
11>crl2p7.c
11>dgst.c
11>dhparam.c
11>dsa.c
11>dsaparam.c
11>ec.c
11>ecparam.c
11>enc.c
11>engine.c
11>errstr.c
11>gendsa.c
11>genpkey.c
11>genrsa.c
11>nseq.c
11>ocsp.c
11>Compiling...
11>openssl.c
11>passwd.c
11>pkcs12.c
11>pkcs7.c
11>pkcs8.c
11>pkey.c
11>pkeyparam.c
11>pkeyutl.c
11>prime.c
11>rand.c
11>rehash.c
11>req.c
11>rsa.c
11>rsautl.c
11>sess_id.c
11>smime.c
11>speed.c
11>spkac.c
11>srp.c
11>storeutl.c
11>Compiling...
11>s_client.c
11>s_server.c
11>s_time.c
11>ts.c
11>verify.c
11>version.c
11>x509.c
11>applink.c
11>LINK : fatal error LNK1181: cannot open input file 'C:\Users\triangulum\Documents\openssl1_1-win-build\build-VS2019\Release\libcrypto-1_1.lib'
11>Done building project "openssl.vcxproj" -- FAILED.
========== Build: 6 succeeded, 5 failed, 0 up-to-date, 0 skipped ==========

build failed: syntax error & unresolved references

Hi Kevin, I probably do not qualify in the category of "you know how to use VS, right?" but I am trying to build serf (ultimate goal is to build svn.exe) following the instructions you have at https://github.com/kiyolee/serf-win-build#readme but I am stuck building openSSL. I am using the community VS with a pretty minimal install of VS2022 components (in a Win10 VM, FWIW). First problem I had was that the build failed as it requires perl (worth noting in your README). Installed the Strawberry version and things went a lot farther, but now have two types of errors:

1st : many, many undefined externals, mostly beginning as BIO_, CRYPTO_, BN_, SSL_ or ASN1_, but probably others.

2nd: syntax errors in openssl.c(!). For example, this line generates a bunch of errors:

static void list_type(FUNC_TYPE ft, int one);

I must be doing something wrong. Any suggestions would be much welcomed.

Thanks, Brian

I have a question about the static build of openssl

when I build openssl uusing the openssl-static project it does not create a openssl.lib file. the application one does create that lib. I would think the static build would create all of the lib files..

another thing. all of the projects need to have the target files names changed. it creates filenames like this libcrypto-1_1.lib where the -1_1 should not be there.

The other thing is when compiling using the static project I get a directory full of dll files.

There are some problems with static build of openssl

In the file libcrypto-1_1-static.vcxproj:

<ClCompile Include="..\..\crypto\sha\keccak1600.c"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\..\crypto\whrlpool\wp_block.c"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> </ClCompile>

Compared with the content of Makefile, 64 bit system has no such limitation,this triggers a link error:Unresolved external symbol __imp__SHA3_absorb

not open file “x64\Release\aesni-sha1-x86_64.obj” libcrypto-1_1-static

2> Assembling: E:\work-openssl\openssl1_1-win-build\build-VS2019\x64\Release_work\static\aesni-mb-x86_64.asm
2>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(241,5): warning MSB8065: 项“....\crypto\aes\asm\aesni-sha1-x86_64.pl”的自定义生成成功,但尚未创建指定的输出“e:\work-openssl\openssl1_1-win-build\build-vs2019\x64\release_work\static\aesni-sha1-x86_64.asm”。这可能会导致增量生成无法正常工作。
2>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(241,5): warning MSB8065: 项“....\crypto\aes\asm\aesni-sha1-x86_64.pl”的自定义生成成功,但尚未创建指定的输出“e:\work-openssl\openssl1_1-win-build\build-vs2019\libcrypto-1_1-static\x64\release\aesni-sha1-x86_64.obj”。这可能会导致增量生成无法正常工作。
2>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(241,5): warning MSB8065: 项“....\crypto\aes\asm\aesni-sha256-x86_64.pl”的自定义生成成功,但尚未创建指定的输出“e:\work-openssl\openssl1_1-win-build\build-vs2019\x64\release_work\static\aesni-sha256-x86_64.asm”。这可能会导致增量生成无法正常工作。
2>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(241,5): warning MSB8065: 项“....\crypto\aes\asm\aesni-sha256-x86_64.pl”的自定义生成成功,但尚未创建指定的输出“e:\work-openssl\openssl1_1-win-build\build-vs2019\libcrypto-1_1-static\x64\release\aesni-sha256-x86_64.obj”。这可能会导致增量生成无法正常工作。
2>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(241,5): warning MSB8065: 项“....\crypto\aes\asm\aesni-x86_64.pl”的自定义生成成功,但尚未创建指定的输出“e:\work-openssl\openssl1_1-win-build\build-vs2019\x64\release_work\static\aesni-x86_64.asm”。这可能会导致增量生成无法正常工作。
2>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(241,5): warning MSB8065: 项“....\crypto\aes\asm\aesni-x86_64.pl”的自定义生成成功,但尚未创建指定的输出“e:\work-openssl\openssl1_1-win-build\build-vs2019\libcrypto-1_1-static\x64\release\aesni-x86_64.obj”。这可能会导致增量生成无法正常工作。

does not like spaces in the path

I want to say that this is going to be a life saver if I get it running... I am going to utilize the build setup that you have and port it to python this way I can compile the thing without the need for VS, just need Visual Studio Build Tools.

It does not like spaces in the path to any of the files. so "New Folder" as a name for the parent folder to hold the repos does not work...

as a side note.. nasm (nasm2) can be gotten from nuget

for my project I will be able to download a portable vbersion of perl and then i can download a cli version of nuget from
https://dist.nuget.org/win-x86-commandline/latest/nuget.exe
and use this command to download it.

nuget install nasm2 -Version 2.13.3.1

Now I had perl and also nuget in my path but this did not work. it was unable to locate them.. I had to change the VSD variables to the full path.. not sure why that is...

In order to fix the issue with the spaces.

This..

mkdir $(OutDir)_work 2&gt;nul\
mkdir $(OutDir)_work\static 2&gt;nul\
$(PERL) %(FullPath) nasm $(OutDir)_work\static\%(Filename).asm &amp;&amp; $(NASM) -f win64 -DNEAR -Ox -g -o $(IntDir)%(Filename).obj $(OutDir)_work\static\%(Filename).asm

would become

mkdir &quot;$(OutDir)_work&quot; 2&gt;nul
mkdir &quot;$(OutDir)_work\static&quot; 2&gt;nul
$(PERL) &quot;%(FullPath)&quot; nasm &quot;$(OutDir)_work\static\%(Filename).asm&quot; &amp;&amp; $(NASM) -f win64 -DNEAR -Ox -g -o &quot;$(IntDir)%(Filename).obj&quot; &quot;$(OutDir)_work\static\%(Filename).asm&quot;

I do have a question regarding this..
is this

$(PERL) &quot;%(FullPath)&quot; nasm &quot;$(OutDir)_work\static\%(Filename).asm&quot; &amp;&amp; $(NASM) -f win64 -DNEAR -Ox -g -o &quot;$(IntDir)%(Filename).obj&quot; &quot;$(OutDir)_work\static\%(Filename).asm&quot;

2 commands???

$(PERL) &quot;%(FullPath)&quot; nasm &quot;$(OutDir)_work\static\%(Filename).asm&quot; 

$(NASM) -f win64 -DNEAR -Ox -g -o &quot;$(IntDir)%(Filename).obj&quot; &quot;$(OutDir)_work\static\%(Filename).asm&quot;

I don't remember MS_DOS syntax for chaining commands.. It has been over 20 years since I have had to use that syntax. I believe it is && I cannot remember tho.

This is going to make my life a whole lot easier...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.