Bug 201858 - [WinCairo][curl] Define NOCRYPT to suppress libressl "Warning, overriding WinCrypt defines"
Summary: [WinCairo][curl] Define NOCRYPT to suppress libressl "Warning, overriding Win...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Platform (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Fujii Hironori
URL:
Keywords: InRadar
Depends on: 201860
Blocks:
  Show dependency treegraph
 
Reported: 2019-09-16 20:12 PDT by Fujii Hironori
Modified: 2019-09-17 00:28 PDT (History)
11 users (show)

See Also:


Attachments
WIP patch (501 bytes, patch)
2019-09-16 21:28 PDT, Fujii Hironori
no flags Details | Formatted Diff | Diff
Patch (1.40 KB, patch)
2019-09-16 22:36 PDT, Fujii Hironori
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Fujii Hironori 2019-09-16 20:12:11 PDT
[WinCairo][curl] Define NOCRYPT to suppress libressl "Warning, overriding WinCrypt defines"

It seems that Ruby also do so.

ruby-changes:51887
http://mla.n-z.jp/~w3ml/w3ml.cgi/ruby-changes/msg/51887
Comment 1 Fujii Hironori 2019-09-16 20:13:47 PDT
Windows.h has the following code.

#ifndef NOCRYPT
#include <wincrypt.h>
#include <winefs.h>
#include <winscard.h>
#endif
Comment 2 Fujii Hironori 2019-09-16 20:30:08 PDT
> [3705/5013] Building CXX object Source\WebCore\CMakeFiles\WebCore.dir\platform\network\curl\CertificateInfoCurl.cpp.obj
> In file included from ..\..\Source\WebCore\platform\network\curl\CertificateInfoCurl.cpp:29:
> In file included from ..\..\Source\WebCore\platform\network\curl/OpenSSLHelper.h:29:
> In file included from ..\..\WebKitLibraries\win\include\openssl/ssl.h:150:
> In file included from ..\..\WebKitLibraries\win\include\openssl/hmac.h:67:
> In file included from ..\..\WebKitLibraries\win\include\openssl/evp.h:64:
> ..\..\WebKitLibraries\win\include\openssl/ossl_typ.h(86,9): warning: Warning, overriding WinCrypt defines [-W#pragma-messages]
> #pragma message("Warning, overriding WinCrypt defines")
>         ^
> In file included from ..\..\Source\WebCore\platform\network\curl\CertificateInfoCurl.cpp:29:
> In file included from ..\..\Source\WebCore\platform\network\curl/OpenSSLHelper.h:29:
> In file included from ..\..\WebKitLibraries\win\include\openssl/ssl.h:151:
> In file included from ..\..\WebKitLibraries\win\include\openssl/pem.h:71:
> ..\..\WebKitLibraries\win\include\openssl/x509.h(118,9): warning: Warning, overriding WinCrypt defines [-W#pragma-messages]
> #pragma message("Warning, overriding WinCrypt defines")
>         ^
> In file included from ..\..\Source\WebCore\platform\network\curl\CertificateInfoCurl.cpp:29:
> In file included from ..\..\Source\WebCore\platform\network\curl/OpenSSLHelper.h:29:
> In file included from ..\..\WebKitLibraries\win\include\openssl/ssl.h:151:
> In file included from ..\..\WebKitLibraries\win\include\openssl/pem.h:71:
> In file included from ..\..\WebKitLibraries\win\include\openssl/x509.h:589:
> ..\..\WebKitLibraries\win\include\openssl/pkcs7.h(75,9): warning: Warning, overriding WinCrypt defines [-W#pragma-messages]
> #pragma message("Warning, overriding WinCrypt defines")
>         ^
> 3 warnings generated.
Comment 3 Fujii Hironori 2019-09-16 20:40:41 PDT
Oh, a compilation error happens. WinCript is used?

> FAILED: Source/WebCore/CMakeFiles/WebCore.dir/platform/cf/win/CertificateCFWin.cpp.obj
> C:\PROGRA~2\MIB055~1\2019\PROFES~1\VC\Tools\MSVC\1422~1.279\bin\Hostx64\x64\cl.exe  /nologo /TP -DANGLE_ENABLE_D3D11 -DANGLE_ENABLE_D3D9 -DANGLE_ENABLE_ESSL -DANGLE_ENABLE_HLSL -DBUILDING_WITH_CMAKE=1 -DBUILDING_WebCore -DEGL_EGLEXT_PROTOTYPES -DEGL_EGL_PROTOTYPES=1 -DGL_API="" -DGL_APICALL="" -DGL_GLES_PROTOTYPES=1 -DGL_GLEXT_PROTOTYPES -DHAVE_CONFIG_H=1 -DNOCRYPT -DNOMINMAX -DSTATICALLY_LINKED_WITH_PAL=1 -DUNICODE -DWINVER=0x601 -DWTF_PLATFORM_WIN_CAIRO=1 -D_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1 -D_CRT_SECURE_NO_WARNINGS -D_HAS_EXCEPTIONS=0 -D_UNICODE -D_WIN32_WINNT=0x601 -D_WINDOWS -D_WINSOCKAPI_="" -D__STDC_CONSTANT_MACROS -IPAL\Headers -IDerivedSources\ForwardingHeaders -I. -IWebCore\DerivedSources -I..\..\Source\WebCore -I..\..\Source\WebCore\Modules\airplay -I..\..\Source\WebCore\Modules\applepay -I..\..\Source\WebCore\Modules\applepay\paymentrequest -I..\..\Source\WebCore\Modules\applicationmanifest -I..\..\Source\WebCore\Modules\beacon -I..\..\Source\WebCore\Modules\cache -I..\..\Source\WebCore\Modules\credentialmanagement -I..\..\Source\WebCore\Modules\encryptedmedia -I..\..\Source\WebCore\Modules\encryptedmedia\legacy -I..\..\Source\WebCore\Modules\entriesapi -I..\..\Source\WebCore\Modules\fetch -I..\..\Source\WebCore\Modules\geolocation -I..\..\Source\WebCore\Modules\indexeddb -I..\..\Source\WebCore\Modules\indexeddb\client -I..\..\Source\WebCore\Modules\indexeddb\server -I..\..\Source\WebCore\Modules\indexeddb\shared -I..\..\Source\WebCore\Modules\mediacapabilities -I..\..\Source\WebCore\Modules\mediacontrols -I..\..\Source\WebCore\Modules\mediarecorder -I..\..\Source\WebCore\Modules\mediasession -I..\..\Source\WebCore\Modules\mediasource -I..\..\Source\WebCore\Modules\mediastream -I..\..\Source\WebCore\Modules\mediastream\libwebrtc -I..\..\Source\WebCore\Modules\navigatorcontentutils -I..\..\Source\WebCore\Modules\notifications -I..\..\Source\WebCore\Modules\paymentrequest -I..\..\Source\WebCore\Modules\plugins -I..\..\Source\WebCore\Modules\quota -I..\..\Source\WebCore\Modules\speech -I..\..\Source\WebCore\Modules\streams -I..\..\Source\WebCore\Modules\webaudio -I..\..\Source\WebCore\Modules\webauthn -I..\..\Source\WebCore\Modules\webauthn\cbor -I..\..\Source\WebCore\Modules\webauthn\fido -I..\..\Source\WebCore\Modules\webdatabase -I..\..\Source\WebCore\Modules\webdriver -I..\..\Source\WebCore\Modules\webgpu -I..\..\Source\WebCore\Modules\webgpu\WHLSL -I..\..\Source\WebCore\Modules\webgpu\WHLSL\AST -I..\..\Source\WebCore\Modules\websockets -I..\..\Source\WebCore\Modules\webvr -I..\..\Source\WebCore\accessibility -I..\..\Source\WebCore\accessibility\isolatedtree -I..\..\Source\WebCore\animation -I..\..\Source\WebCore\bindings -I..\..\Source\WebCore\bindings\js -I..\..\Source\WebCore\bridge -I..\..\Source\WebCore\bridge\c -I..\..\Source\WebCore\bridge\jsc -I..\..\Source\WebCore\contentextensions -I..\..\Source\WebCore\crypto -I..\..\Source\WebCore\crypto\algorithms -I..\..\Source\WebCore\crypto\keys -I..\..\Source\WebCore\crypto\parameters -I..\..\Source\WebCore\css -I..\..\Source\WebCore\css\parser -I..\..\Source\WebCore\css\typedom -I..\..\Source\WebCore\cssjit -I..\..\Source\WebCore\dom -I..\..\Source\WebCore\dom\messageports -I..\..\Source\WebCore\domjit -I..\..\Source\WebCore\editing -I..\..\Source\WebCore\fileapi -I..\..\Source\WebCore\history -I..\..\Source\WebCore\html -I..\..\Source\WebCore\html\canvas -I..\..\Source\WebCore\html\forms -I..\..\Source\WebCore\html\parser -I..\..\Source\WebCore\html\shadow -I..\..\Source\WebCore\html\track -I..\..\Source\WebCore\inspector -I..\..\Source\WebCore\inspector\agents -I..\..\Source\WebCore\inspector\agents\page -I..\..\Source\WebCore\inspector\agents\worker -I..\..\Source\WebCore\layout -I..\..\Source\WebCore\layout\blockformatting -I..\..\Source\WebCore\layout\displaytree -I..\..\Source\WebCore\layout\floats -I..\..\Source\WebCore\layout\inlineformatting -I..\..\Source\WebCore\layout\inlineformatting\text -I..\..\Source\WebCore\layout\layouttree -I..\..\Source\WebCore\loader -I..\..\Source\WebCore\loader\appcache -I..\..\Source\WebCore\loader\archive -I..\..\Source\WebCore\loader\archive\mhtml -I..\..\Source\WebCore\loader\cache -I..\..\Source\WebCore\loader\icon -I..\..\Source\WebCore\mathml -I..\..\Source\WebCore\page -I..\..\Source\WebCore\page\animation -I..\..\Source\WebCore\page\csp -I..\..\Source\WebCore\page\scrolling -I..\..\Source\WebCore\platform -I..\..\Source\WebCore\platform\animation -I..\..\Source\WebCore\platform\audio -I..\..\Source\WebCore\platform\encryptedmedia -I..\..\Source\WebCore\platform\gamepad -I..\..\Source\WebCore\platform\graphics -I..\..\Source\WebCore\platform\graphics\cpu\arm -I..\..\Source\WebCore\platform\graphics\cpu\arm\filters -I..\..\Source\WebCore\platform\graphics\displaylists -I..\..\Source\WebCore\platform\graphics\filters -I..\..\Source\WebCore\platform\graphics\iso -I..\..\Source\WebCore\platform\graphics\opentype -I..\..\Source\WebCore\platform\graphics\transforms -I..\..\Source\WebCore\platform\mediacapabilities -I..\..\Source\WebCore\platform\mediarecorder -I..\..\Source\WebCore\platform\mediasession -I..\..\Source\WebCore\platform\mediastream -I..\..\Source\WebCore\platform\mediastream\libwebrtc -I..\..\Source\WebCore\platform\mock -I..\..\Source\WebCore\platform\mock\mediasource -I..\..\Source\WebCore\platform\network -I..\..\Source\WebCore\platform\sql -I..\..\Source\WebCore\platform\text -I..\..\Source\WebCore\platform\vr -I..\..\Source\WebCore\plugins -I..\..\Source\WebCore\rendering -I..\..\Source\WebCore\rendering\line -I..\..\Source\WebCore\rendering\mathml -I..\..\Source\WebCore\rendering\shapes -I..\..\Source\WebCore\rendering\style -I..\..\Source\WebCore\rendering\svg -I..\..\Source\WebCore\rendering\updating -I..\..\Source\WebCore\replay -I..\..\Source\WebCore\storage -I..\..\Source\WebCore\style -I..\..\Source\WebCore\svg -I..\..\Source\WebCore\svg\animation -I..\..\Source\WebCore\svg\graphics -I..\..\Source\WebCore\svg\graphics\filters -I..\..\Source\WebCore\svg\properties -I..\..\Source\WebCore\websockets -I..\..\Source\WebCore\workers -I..\..\Source\WebCore\workers\service -I..\..\Source\WebCore\workers\service\context -I..\..\Source\WebCore\workers\service\server -I..\..\Source\WebCore\worklets -I..\..\Source\WebCore\xml -I..\..\Source\WebCore\xml\parser -I..\..\Source\WebCore\platform\graphics\gpu -I..\include\private -I..\include\private\JavaScriptCore -I..\..\Source\WebCore\accessibility\win -I..\..\Source\WebCore\page\win -I..\..\Source\WebCore\platform\graphics\egl -I..\..\Source\WebCore\platform\graphics\opengl -I..\..\Source\WebCore\platform\graphics\win -I..\..\Source\WebCore\platform\network\win -I..\..\Source\WebCore\platform\win -I..\..\Source\WebCore\platform\cf -I..\..\Source\WebCore\platform\cf\win -I..\..\Source\WebCore\platform\graphics\cairo -I..\..\Source\WebCore\platform\network\curl -I..\..\Source\WebCore\platform\image-decoders -I..\..\Source\WebCore\platform\image-decoders\bmp -I..\..\Source\WebCore\platform\image-decoders\gif -I..\..\Source\WebCore\platform\image-decoders\ico -I..\..\Source\WebCore\platform\image-decoders\jpeg -I..\..\Source\WebCore\platform\image-decoders\jpeg2000 -I..\..\Source\WebCore\platform\image-decoders\png -I..\..\Source\WebCore\platform\image-decoders\webp -I..\..\Source\WebCore\platform\graphics\texmap -I..\..\Source\WebCore\platform\graphics\nicosia -I..\..\Source\WebCore\loader\archive\cf -IJavaScriptCore\Headers -IJavaScriptCore\PrivateHeaders -IWTF\Headers -IDerivedSources -I..\..\Source\ThirdParty -IANGLE\Headers -I..\..\WebKitLibraries\win\include -I..\..\WebKitLibraries\win\include\cairo /W4 /DWIN32 /D_WINDOWS  /GR- /EHs- /EHc-  /MD /Zi /Ob0 /Od /RTC1   /bigobj /wd4018 /wd4068 /wd4099 /wd4100 /wd4127 /wd4138 /wd4146 /wd4180 /wd4189 /wd4201 /wd4206 /wd4244 /wd4251 /wd4267 /wd4275 /wd4288 /wd4291 /wd4305 /wd4309 /wd4344 /wd4355 /wd4389 /wd4396 /wd4456 /wd4457 /wd4458 /wd4459 /wd4481 /wd4503 /wd4505 /wd4510 /wd4512 /wd4530 /wd4610 /wd4611 /wd4646 /wd4702 /wd4706 /wd4722 /wd4800 /wd4819 /wd4951 /wd4952 /wd4996 /wd6011 /wd6031 /wd6211 /wd6246 /wd6255 /wd6387 /Zi /GS /EHa- /EHc- /EHs- /fp:except- /analyze- /bigobj /utf-8 /validate-charset -std:c++17 /Yu"WebCorePrefix.h" /FI"WebCorePrefix.h" /Fp"C:/webkit/gc/WebKitBuild/Debug/Source/WebCore/WebCore_SOURCES/WebCorePrefix.pch" /showIncludes /FoSource\WebCore\CMakeFiles\WebCore.dir\platform\cf\win\CertificateCFWin.cpp.obj /Fdlib64\WebCore.pdb /FS -c ..\..\Source\WebCore\platform\cf\win\CertificateCFWin.cpp
> C:\webkit\gc\Source\WebCore\platform\cf\win\CertificateCFWin.h(34): error C2065: 'PCCERT_CONTEXT': undeclared identifier
> ..\..\Source\WebCore\platform\cf\win\CertificateCFWin.cpp(34): error C2061: syntax error: identifier 'PCCERT_CONTEXT'
> ..\..\Source\WebCore\platform\cf\win\CertificateCFWin.cpp(45): error C2065: 'PCCERT_CONTEXT': undeclared identifier
> ..\..\Source\WebCore\platform\cf\win\CertificateCFWin.cpp(45): error C2146: syntax error: missing ')' before identifier 'certificate'
> ..\..\Source\WebCore\platform\cf\win\CertificateCFWin.cpp(46): error C2143: syntax error: missing ';' before '{'
> ..\..\Source\WebCore\platform\cf\win\CertificateCFWin.cpp(46): error C2447: '{': missing function header (old-style formal list?)
Comment 4 Fujii Hironori 2019-09-16 21:28:50 PDT
Created attachment 378935 [details]
WIP patch
Comment 5 Fujii Hironori 2019-09-16 22:36:19 PDT
Created attachment 378940 [details]
Patch
Comment 6 Fujii Hironori 2019-09-17 00:27:56 PDT
Comment on attachment 378940 [details]
Patch

Clearing flags on attachment: 378940

Committed r249944: <https://trac.webkit.org/changeset/249944>
Comment 7 Fujii Hironori 2019-09-17 00:28:01 PDT
All reviewed patches have been landed.  Closing bug.
Comment 8 Radar WebKit Bug Importer 2019-09-17 00:28:17 PDT
<rdar://problem/55430209>