diff --git a/MSVC/ring-daemon.vcxproj b/MSVC/ring-daemon.vcxproj index d913f2c89..a5d3abc5f 100644 --- a/MSVC/ring-daemon.vcxproj +++ b/MSVC/ring-daemon.vcxproj @@ -659,8 +659,8 @@ true - $(ProjectDir);$(ProjectDir)..\;$(ProjectDir)..\src;$(ProjectDir)..\src\client;$(ProjectDir)..\src\config;$(ProjectDir)..\src\dring;$(ProjectDir)..\src\hooks;$(ProjectDir)..\src\im;$(ProjectDir)..\src\media;$(ProjectDir)..\src\jamidht;$(ProjectDir)..\src\security;$(ProjectDir)..\src\sip;$(ProjectDir)..\src\upnp;$(ProjectDir)..\src\upnp\igd;$(ProjectDir)..\src\upnp\protocol;$(ProjectDir)..\src\upnp\mapping;$(ProjectDir)..\src\jamidht\eth;$(ProjectDir)..\contrib\msvc;$(ProjectDir)..\contrib\msvc\include;$(ProjectDir)..\contrib\msvc\include\upnp;$(ProjectDir)..\contrib\build\msgpack-c\include;$(ProjectDir)..\contrib\build\jsoncpp\include;$(ProjectDir)..\contrib\build\yaml-cpp\include;$(ProjectDir)..\contrib\build\pjproject\pjlib\include;$(ProjectDir)..\contrib\build\pjproject\pjnath\include;$(ProjectDir)..\contrib\build\pjproject\pjlib-util\include;$(ProjectDir)..\contrib\build\pjproject\pjsip\include;$(ProjectDir)..\contrib\build\pjproject\third_party;$(ProjectDir)..\contrib\build\pjproject\pjmedia\include;$(ProjectDir)..\contrib\build\restbed\source;$(ProjectDir)..\contrib\build\ffmpeg\Build\win32\x64\include;$(ProjectDir)..\contrib\build\sndfile\src;%(AdditionalIncludeDirectories) - STATIC_GETOPT;_USE_MATH_DEFINES;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;NOMINMAX;HAVE_CONFIG_H;WIN32_LEAN_AND_MEAN;_MBCS;OPENDHT_PROXY_CLIENT;OPENDHT_PROXY_SERVER;OPENDHT_PUSH_NOTIFICATIONS;%(PreprocessorDefinitions) + $(ProjectDir);$(ProjectDir)..\;$(ProjectDir)..\src;$(ProjectDir)..\src\client;$(ProjectDir)..\src\config;$(ProjectDir)..\src\dring;$(ProjectDir)..\src\hooks;$(ProjectDir)..\src\im;$(ProjectDir)..\src\media;$(ProjectDir)..\src\jamidht;$(ProjectDir)..\src\security;$(ProjectDir)..\src\sip;$(ProjectDir)..\src\upnp;$(ProjectDir)..\src\upnp\igd;$(ProjectDir)..\src\upnp\protocol;$(ProjectDir)..\src\upnp\mapping;$(ProjectDir)..\src\jamidht\eth;$(ProjectDir)..\contrib\msvc;$(ProjectDir)..\contrib\msvc\include;$(ProjectDir)..\contrib\msvc\include\upnp;$(ProjectDir)..\contrib\build\msgpack-c\include;$(ProjectDir)..\contrib\build\jsoncpp\include;$(ProjectDir)..\contrib\build\yaml-cpp\include;$(ProjectDir)..\contrib\build\pjproject\pjlib\include;$(ProjectDir)..\contrib\build\pjproject\pjnath\include;$(ProjectDir)..\contrib\build\pjproject\pjlib-util\include;$(ProjectDir)..\contrib\build\pjproject\pjsip\include;$(ProjectDir)..\contrib\build\pjproject\third_party;$(ProjectDir)..\contrib\build\pjproject\pjmedia\include;$(ProjectDir)..\contrib\build\ffmpeg\Build\win32\x64\include;$(ProjectDir)..\contrib\build\sndfile\src;$(ProjectDir)..\contrib\build\openssl\inc32;$(ProjectDir)..\contrib\build\asio\asio\include;$(ProjectDir)..\contrib\build\restinio\dev;$(ProjectDir)..\contrib\build\fmt\include;$(ProjectDir)..\contrib\build\http_parser;%(AdditionalIncludeDirectories) + _WIN32_WINNT=0x0A00;ASIO_STANDALONE;STATIC_GETOPT;_USE_MATH_DEFINES;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;NOMINMAX;HAVE_CONFIG_H;WIN32_LEAN_AND_MEAN;OPENDHT_PROXY_CLIENT;OPENDHT_PROXY_SERVER;OPENDHT_PUSH_NOTIFICATIONS;%(PreprocessorDefinitions) 4996;4503;4180;4244;4267; true Default @@ -688,8 +688,8 @@ - ws2_32.lib;advapi32.lib;avcodec.lib;avdevice.lib;avfilter.lib;avformat.lib;avutil.lib;swresample.lib;swscale.lib;libgnutls.lib;lib_json.lib;libopendht.lib;Argon2Ref.lib;secp256k1.lib;libyaml-cppmd.lib;portaudio.lib;libupnp.lib;pjsip-core-x86_64-x64-vc15-Release.lib;pjsip-simple-x86_64-x64-vc15-Release.lib;pjsua2-lib-x86_64-x64-vc15-Release.lib;pjsua-lib-x86_64-x64-vc15-Release.lib;pjsip-ua-x86_64-x64-vc15-Release.lib;pjmedia-x86_64-x64-vc15-Release.lib;pjlib-util-x86_64-x64-vc15-Release.lib;pjlib-x86_64-x64-vc15-Release.lib;pjnath-x86_64-x64-vc15-Release.lib;restbed.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) - $(ProjectDir)..\contrib\build\ffmpeg\Build\win32\x64\bin;$(ProjectDir)..\contrib\msvc\lib\x64;$(ProjectDir)..\contrib\build\boost\stage\lib;$(ProjectDir)..\contrib\build\pjproject\pjsip\lib;$(ProjectDir)..\contrib\build\pjproject\pjmedia\lib;$(ProjectDir)..\contrib\build\pjproject\pjlib-util\lib;$(ProjectDir)..\contrib\build\pjproject\third_party\lib;$(ProjectDir)..\contrib\build\pjproject\pjlib\lib;$(ProjectDir)..\contrib\build\pjproject\pjnath\lib;$(ProjectDir)..\contrib\build\restbed\build\Release;$(ProjectDir)..\contrib\build\restbed\dependency\openssl\out32dll;$(ProjectDir)..\contrib\build\argon2\vs2015\Argon2Ref\vs2015\build;$(ProjectDir)..\contrib\build\yaml-cpp\msvc\Release;$(ProjectDir)..\contrib\build\sndfile\msvc\x64\Release + ws2_32.lib;advapi32.lib;avcodec.lib;avdevice.lib;avfilter.lib;avformat.lib;avutil.lib;swresample.lib;swscale.lib;libgnutls.lib;lib_json.lib;libopendht.lib;Argon2Ref.lib;secp256k1.lib;libyaml-cppmd.lib;portaudio.lib;libupnp.lib;pjsip-core-x86_64-x64-vc15-Release.lib;pjsip-simple-x86_64-x64-vc15-Release.lib;pjsua2-lib-x86_64-x64-vc15-Release.lib;pjsua-lib-x86_64-x64-vc15-Release.lib;pjsip-ua-x86_64-x64-vc15-Release.lib;pjmedia-x86_64-x64-vc15-Release.lib;pjlib-util-x86_64-x64-vc15-Release.lib;pjlib-x86_64-x64-vc15-Release.lib;pjnath-x86_64-x64-vc15-Release.lib;fmt.lib;http-parser.lib;asio.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) + $(ProjectDir)..\contrib\build\ffmpeg\Build\win32\x64\bin;$(ProjectDir)..\contrib\msvc\lib\x64;$(ProjectDir)..\contrib\build\boost\stage\lib;$(ProjectDir)..\contrib\build\pjproject\pjsip\lib;$(ProjectDir)..\contrib\build\pjproject\pjmedia\lib;$(ProjectDir)..\contrib\build\pjproject\pjlib-util\lib;$(ProjectDir)..\contrib\build\pjproject\third_party\lib;$(ProjectDir)..\contrib\build\pjproject\pjlib\lib;$(ProjectDir)..\contrib\build\pjproject\pjnath\lib;$(ProjectDir)..\contrib\build\openssl\out32dll;$(ProjectDir)..\contrib\build\argon2\vs2015\Argon2Ref\vs2015\build;$(ProjectDir)..\contrib\build\yaml-cpp\msvc\Release;$(ProjectDir)..\contrib\build\sndfile\msvc\x64\Release;$(ProjectDir)..\contrib\build\asio\asio\msvc\x64\Release;$(ProjectDir)..\contrib\build\fmt\msvc\Release;$(ProjectDir)..\contrib\build\http_parser\x64\Release /ignore:4006 /ignore:4221 %(AdditionalOptions) true diff --git a/contrib/build_all.bat b/contrib/build_all.bat index d38abe582..c00d41161 100644 --- a/contrib/build_all.bat +++ b/contrib/build_all.bat @@ -56,7 +56,10 @@ x264=build\x264\SMP\libx264.vcxproj, ^ opus=build\opus\SMP\libopus.vcxproj, ^ media-sdk=build\media-sdk\api\mfx_dispatch\windows\libmfx_vs2015.vcxproj, ^ ffmpeg=ffmpeg, ^ -restbed=restbed, ^ +openssl=openssl, ^ +asio=build\asio\asio\msvc\asio.vcxproj, ^ +fmt=build\fmt\msvc\fmt.vcxproj, ^ +http_parser=build\http_parser\http-parser.vcxproj, ^ jsoncpp=build\jsoncpp\makefiles\vs2017\lib_json.vcxproj, ^ argon2=build\argon2\vs2015\Argon2Ref\Argon2Ref.vcxproj, ^ gmp=build\gmp\SMP\libgmp.vcxproj, ^ @@ -83,12 +86,15 @@ x264=build\x264\SMP\libx264.vcxproj, ^ opus=build\opus\SMP\libopus.vcxproj, ^ media-sdk=build\media-sdk\api\mfx_dispatch\windows\libmfx_vs2015.vcxproj, ^ ffmpeg=ffmpeg, ^ -restbed=restbed, ^ +openssl=openssl, ^ +asio=build\asio\asio\msvc\asio.vcxproj, ^ +fmt=build\fmt\msvc\fmt.vcxproj, ^ +http_parser=build\http_parser\http-parser.vcxproj, ^ jsoncpp=build\jsoncpp\makefiles\vs2017\lib_json.vcxproj, ^ argon2=build\argon2\vs2015\Argon2Ref\Argon2Ref.vcxproj, ^ -gmp=build\gmp\SMP\libgmp.vcxproj, ^ iconv=build\iconv\SMP\libiconv.vcxproj, ^ zlib=build\zlib\SMP\libzlib.vcxproj, ^ +gmp=build\gmp\SMP\libgmp.vcxproj, ^ nettle=build\nettle\SMP\libnettle.vcxproj, ^ hogweed=build\nettle\SMP\libhogweed.vcxproj, ^ gnutls=build\gnutls\SMP\libgnutls.vcxproj, ^ @@ -231,10 +237,10 @@ if %ERRORLEVEL% geq 1 ( :build if /I %1 equ ffmpeg ( %MSYS2_BIN% --login -x %CONTRIB_DIR%src/ffmpeg/windows-configure-make.sh %2 %3 -) else if /I %1 equ restbed ( - goto build_restbed %2 %3 ) else if /I %1 equ pjproject ( goto build_pjproject %2 %3 +) else if /I %1 equ openssl ( + goto build_openssl %2 %3 ) else ( msbuild %CONTRIB_DIR%%1 %MSBUILD_ARGS% ) @@ -243,9 +249,9 @@ if %ERRORLEVEL% geq 1 ( ) goto :eof -:build_restbed +:build_openssl :: build openssl -cd %CONTRIB_DIR%build\restbed\dependency\openssl +cd %CONTRIB_DIR%build\openssl if "%2"=="win32" ( call perl Configure VC-WIN64A call ms\do_win64a @@ -256,20 +262,6 @@ if "%2"=="win32" ( ) call nmake -f ms\ntdll.mak set PATH=restbed\dependency\openssl\out32dll;%PATH% -:: build restbed w/asio+catch -cd ..\.. -mkdir build -cd build -setlocal -set PATH=C:\\Program Files\\CMake\\bin\\;%PATH% -set CMAKE_FLAGS=-DBUILD_SSL=ON -DBUILD_TESTS=OFF -if "%3"=="x86" ( - cmake %CMAKE_FLAGS% -G "Visual Studio 15 2017 Win32" .. -) else if "%3"=="x64" ( - cmake %CMAKE_FLAGS% -G "Visual Studio 15 2017 Win64" .. -) -cmake --build . --target ALL_BUILD --config Release -cd ..\.. goto :eof :build_pjproject diff --git a/contrib/src/asio/asio-uwp.patch b/contrib/src/asio/asio-uwp.patch new file mode 100644 index 000000000..7bd416b78 --- /dev/null +++ b/contrib/src/asio/asio-uwp.patch @@ -0,0 +1,68 @@ +--- a/asio/include/asio/detail/impl/win_iocp_io_context.ipp ++++ b/asio/include/asio/detail/impl/win_iocp_io_context.ipp +@@ -93,7 +93,7 @@ void win_iocp_io_context::shutdown() + { + LARGE_INTEGER timeout; + timeout.QuadPart = 1; +- ::SetWaitableTimer(waitable_timer_.handle, &timeout, 1, 0, 0, FALSE); ++ //::SetWaitableTimer(waitable_timer_.handle, &timeout, 1, 0, 0, FALSE); + } + + while (::InterlockedExchangeAdd(&outstanding_work_, 0) > 0) +@@ -477,11 +477,11 @@ DWORD win_iocp_io_context::get_gqcs_timeout() + osvi.dwOSVersionInfoSize = sizeof(osvi); + osvi.dwMajorVersion = 6ul; + +- const uint64_t condition_mask = ::VerSetConditionMask( ++ /*const uint64_t condition_mask = ::VerSetConditionMask( + 0, VER_MAJORVERSION, VER_GREATER_EQUAL); + + if (!!::VerifyVersionInfo(&osvi, VER_MAJORVERSION, condition_mask)) +- return INFINITE; ++ return INFINITE;*/ + + return default_gqcs_timeout; + } +@@ -492,7 +492,7 @@ void win_iocp_io_context::do_add_timer_queue(timer_queue_base& queue) + + timer_queues_.insert(&queue); + +- if (!waitable_timer_.handle) ++ /*if (!waitable_timer_.handle) + { + waitable_timer_.handle = ::CreateWaitableTimer(0, FALSE, 0); + if (waitable_timer_.handle == 0) +@@ -508,7 +508,7 @@ void win_iocp_io_context::do_add_timer_queue(timer_queue_base& queue) + timeout.QuadPart *= 10; + ::SetWaitableTimer(waitable_timer_.handle, + &timeout, max_timeout_msec, 0, 0, FALSE); +- } ++ }*/ + + if (!timer_thread_.get()) + { +@@ -537,8 +537,8 @@ void win_iocp_io_context::update_timeout() + LARGE_INTEGER timeout; + timeout.QuadPart = -timeout_usec; + timeout.QuadPart *= 10; +- ::SetWaitableTimer(waitable_timer_.handle, +- &timeout, max_timeout_msec, 0, 0, FALSE); ++ //::SetWaitableTimer(waitable_timer_.handle, ++ //&timeout, max_timeout_msec, 0, 0, FALSE); + } + } + } +--- a/asio/include/asio/detail/impl/win_thread.ipp ++++ b/asio/include/asio/detail/impl/win_thread.ipp +@@ -46,7 +46,7 @@ void win_thread::join() + ::CloseHandle(exit_event_); + if (terminate_threads()) + { +- ::TerminateThread(thread_, 0); ++ //::TerminateThread(thread_, 0); + } + else + { +-- +2.8.1.windows.1 + diff --git a/contrib/src/asio/asio-vcxproj.patch b/contrib/src/asio/asio-vcxproj.patch new file mode 100644 index 000000000..66fff580d --- /dev/null +++ b/contrib/src/asio/asio-vcxproj.patch @@ -0,0 +1,574 @@ +--- /dev/null ++++ b/asio/msvc/asio.vcxproj +@@ -0,0 +1,567 @@ ++ ++ ++ ++ ++ Debug ++ Win32 ++ ++ ++ Release ++ Win32 ++ ++ ++ Debug ++ x64 ++ ++ ++ Release ++ x64 ++ ++ ++ ++ 15.0 ++ {08A80A1E-58CD-43F6-86B2-DAD475D573D0} ++ asio ++ $(LatestTargetPlatformVersion) ++ ++ ++ ++ StaticLibrary ++ true ++ v141 ++ Unicode ++ ++ ++ StaticLibrary ++ false ++ v141 ++ true ++ Unicode ++ ++ ++ StaticLibrary ++ true ++ v141 ++ Unicode ++ ++ ++ StaticLibrary ++ false ++ v141 ++ true ++ Unicode ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ Level3 ++ Disabled ++ true ++ true ++ $(ProjectDir)..\include;$(ProjectDir)..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) ++ _WIN32_WINNT=0x0A00;ASIO_STANDALONE;ASIO_SEPARATE_COMPILATION;UNICODE;%(PreprocessorDefinitions) ++ ++ ++ $(ProjectDir)..\..\..\openssl\out32dll; ++ ++ ++ libeay32.lib;ssleay32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) ++ ++ ++ ++ ++ Level3 ++ Disabled ++ true ++ true ++ $(ProjectDir)..\include;$(ProjectDir)..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) ++ _WIN32_WINNT=0x0A00;ASIO_STANDALONE;ASIO_SEPARATE_COMPILATION;UNICODE;%(PreprocessorDefinitions) ++ ++ ++ $(ProjectDir)..\..\..\openssl\out32dll; ++ ++ ++ libeay32.lib;ssleay32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) ++ ++ ++ ++ ++ Level3 ++ MaxSpeed ++ true ++ true ++ true ++ true ++ $(ProjectDir)..\include;$(ProjectDir)..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) ++ _WIN32_WINNT=0x0A00;ASIO_STANDALONE;ASIO_SEPARATE_COMPILATION;UNICODE;%(PreprocessorDefinitions) ++ ++ ++ true ++ true ++ $(ProjectDir)..\..\..\openssl\out32dll; ++ libeay32.lib;ssleay32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) ++ ++ ++ ++ ++ Level3 ++ MaxSpeed ++ true ++ true ++ true ++ true ++ $(ProjectDir)..\include;$(ProjectDir)..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) ++ _WIN32_WINNT=0x0A00;ASIO_STANDALONE;ASIO_SEPARATE_COMPILATION;UNICODE;%(PreprocessorDefinitions) ++ ++ ++ true ++ true ++ $(ProjectDir)..\..\..\openssl\out32dll; ++ libeay32.lib;ssleay32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +\ No newline at end of file +-- +2.19.0.windows.1 + diff --git a/contrib/src/asio/fetch_and_patch.bat b/contrib/src/asio/fetch_and_patch.bat new file mode 100644 index 000000000..8f7616102 --- /dev/null +++ b/contrib/src/asio/fetch_and_patch.bat @@ -0,0 +1,22 @@ +set BUILD=%SRC%..\build + +set ASIO_VERSION=asio-1-12-2 +set ASIO_URL=https://github.com/chriskohlhoff/asio/archive/%ASIO_VERSION%.tar.gz + +mkdir %BUILD% + +%WGET_CMD% %ASIO_URL% + +7z -y x %ASIO_VERSION%.tar.gz && 7z -y x %ASIO_VERSION%.tar -o%BUILD% +del %ASIO_VERSION%.tar && del %ASIO_VERSION%.tar.gz && del %BUILD%\pax_global_header +rename %BUILD%\asio-%ASIO_VERSION% asio + +cd %BUILD%\asio + +%APPLY_CMD% %SRC%asio\asio-vcxproj.patch + +if "%1"=="uwp" ( + %APPLY_CMD% %SRC%asio\asio-uwp.patch +) + +cd %SRC% \ No newline at end of file diff --git a/contrib/src/fetch_all.bat b/contrib/src/fetch_all.bat index 083e77d9d..84f9a4208 100644 --- a/contrib/src/fetch_all.bat +++ b/contrib/src/fetch_all.bat @@ -26,6 +26,9 @@ ffnvcodec, ^ ffmpeg, ^ argon2, ^ zlib ^ +fmt, ^ +http_parser, ^ +restinio, ^ gmp, ^ iconv, ^ jsoncpp, ^ @@ -37,7 +40,6 @@ opus, ^ pjproject, ^ portaudio, ^ pthreads, ^ -restbed, ^ secp256k1, ^ upnp, ^ x264, ^ @@ -50,8 +52,12 @@ set DEPENDENCIES=( ^ media-sdk, ^ ffnvcodec, ^ ffmpeg, ^ +asio, ^ argon2, ^ zlib ^ +fmt, ^ +http_parser, ^ +restinio, ^ gmp, ^ iconv, ^ jsoncpp, ^ @@ -59,11 +65,11 @@ msgpack, ^ nettle, ^ gnutls, ^ opendht, ^ +openssl, ^ opus, ^ pjproject, ^ portaudio, ^ pthreads, ^ -restbed, ^ secp256k1, ^ upnp, ^ vpx, ^ diff --git a/contrib/src/fmt/fetch_and_patch.bat b/contrib/src/fmt/fetch_and_patch.bat index 3b515fa0d..18103d147 100644 --- a/contrib/src/fmt/fetch_and_patch.bat +++ b/contrib/src/fmt/fetch_and_patch.bat @@ -17,4 +17,10 @@ rename %BUILD%\fmt-%FMT_VERSION% fmt cd %BUILD%\fmt +mkdir msvc && cd msvc +setlocal +set PATH=C:\\Program Files\\CMake\\bin\\;%PATH% +cmake .. -G "Visual Studio 15 2017 Win64" -DBUILD_SHARED_LIBS=Off -DFMT_USE_USER_DEFINED_LITERALS=0 +endlocal + cd %SRC% diff --git a/contrib/src/http_parser/fetch_and_patch.bat b/contrib/src/http_parser/fetch_and_patch.bat index 430e4915c..328c66d23 100644 --- a/contrib/src/http_parser/fetch_and_patch.bat +++ b/contrib/src/http_parser/fetch_and_patch.bat @@ -11,10 +11,12 @@ if %USE_CACHE%==1 ( %WGET_CMD% %HTTP_PARSER_URL% ) -7z -y x %HTTP_PARSER_VERSION%.tar.gz && 7z -y x %HTTP_PARSER_VERSION%.tar -o%BUILD% -del %HTTP_PARSER_VERSION%.tar && del %HTTP_PARSER_VERSION%.tar.gz && del %BUILD%\pax_global_header +7z -y x v%HTTP_PARSER_VERSION%.tar.gz && 7z -y x v%HTTP_PARSER_VERSION%.tar -o%BUILD% +del v%HTTP_PARSER_VERSION%.tar && del v%HTTP_PARSER_VERSION%.tar.gz && del %BUILD%\pax_global_header rename %BUILD%\http_parser-%HTTP_PARSER_VERSION% http_parser cd %BUILD%\http_parser +%APPLY_CMD% %SRC%http_parser\http_parser-vs.patch + cd %SRC% diff --git a/contrib/src/http_parser/http_parser-vs.patch b/contrib/src/http_parser/http_parser-vs.patch new file mode 100644 index 000000000..dd6f3fb69 --- /dev/null +++ b/contrib/src/http_parser/http_parser-vs.patch @@ -0,0 +1,134 @@ +--- /dev/null ++++ b/http-parser.vcxproj +@@ -0,0 +1,127 @@ ++ ++ ++ ++ ++ Debug ++ Win32 ++ ++ ++ Release ++ Win32 ++ ++ ++ Debug ++ x64 ++ ++ ++ Release ++ x64 ++ ++ ++ ++ 15.0 ++ {4B7A0E04-2DEE-4BBE-8963-93B6F081C10A} ++ httpparser ++ $(LatestTargetPlatformVersion) ++ ++ ++ ++ Application ++ true ++ v141 ++ MultiByte ++ ++ ++ Application ++ false ++ v141 ++ true ++ MultiByte ++ ++ ++ Application ++ true ++ v141 ++ MultiByte ++ ++ ++ StaticLibrary ++ false ++ v141 ++ true ++ MultiByte ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ Level3 ++ Disabled ++ true ++ true ++ ++ ++ ++ ++ Level3 ++ Disabled ++ true ++ true ++ ++ ++ ++ ++ Level3 ++ MaxSpeed ++ true ++ true ++ true ++ true ++ ++ ++ true ++ true ++ ++ ++ ++ ++ Level3 ++ MaxSpeed ++ true ++ true ++ true ++ true ++ $(ProjectDir)..\;$(ProjectDir) ++ _CRT_SECURE_NO_WARNINGS;_MBCS;%(PreprocessorDefinitions) ++ ++ ++ true ++ true ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +\ No newline at end of file +-- +2.19.0.windows.1 + diff --git a/contrib/src/opendht/fetch_and_patch.bat b/contrib/src/opendht/fetch_and_patch.bat index 6fa48ec46..3bbdc068a 100644 --- a/contrib/src/opendht/fetch_and_patch.bat +++ b/contrib/src/opendht/fetch_and_patch.bat @@ -1,6 +1,6 @@ set BUILD=%SRC%..\build -set OPENDHT_VERSION=1.10.1 +set OPENDHT_VERSION=6a760a629cb7493e6c1e685cb9ceecf10268f338 set OPENDHT_URL=https://github.com/savoirfairelinux/opendht/archive/%OPENDHT_VERSION%.tar.gz mkdir %BUILD% diff --git a/contrib/src/openssl/fetch_and_patch.bat b/contrib/src/openssl/fetch_and_patch.bat new file mode 100644 index 000000000..f986ac8a4 --- /dev/null +++ b/contrib/src/openssl/fetch_and_patch.bat @@ -0,0 +1,20 @@ +set BUILD=%SRC%..\build + +set OPENSSL_VERSION=5cc1e25bc76bcf0db03bc37bd64b3290727963b6 +set OPENSSL_URL=https://github.com/Microsoft/openssl/archive/%OPENSSL_VERSION%.tar.gz + +mkdir %BUILD% + +%WGET_CMD% %OPENSSL_URL% + +7z -y x %OPENSSL_VERSION%.tar.gz && 7z -y x %OPENSSL_VERSION%.tar -o%BUILD% +del %OPENSSL_VERSION%.tar && del %OPENSSL_VERSION%.tar.gz && del %BUILD%\pax_global_header +rename %BUILD%\openssl-%OPENSSL_VERSION% openssl + +cd %BUILD%\openssl + +if "%1"=="uwp" ( + %APPLY_CMD% %SRC%\openssl-uwp.patch +) + +cd %SRC% \ No newline at end of file diff --git a/contrib/src/openssl/openssl-uwp.patch b/contrib/src/openssl/openssl-uwp.patch new file mode 100644 index 000000000..1b33d2d54 --- /dev/null +++ b/contrib/src/openssl/openssl-uwp.patch @@ -0,0 +1,30 @@ +--- a/ms/setVSvars.bat ++++ b/ms/setVSvars.bat +@@ -166,7 +166,7 @@ exit /b + + :set_VS15VC + if not "%_VS15VC%"=="" goto :eof +- for /f "usebackq tokens=1* delims=: " %%i in (`%~dp0\vswhere -latest -requires Microsoft.VisualStudio.Workload.Universal -requires Microsoft.VisualStudio.ComponentGroup.UWP.VC`) do ( ++ for /f "usebackq tokens=1* delims=: " %%i in (`%~dp0\vswhere -latest -requires Microsoft.VisualStudio.Workload.Universal`) do ( + if /i "%%i"=="installationPath" set _VS15VC=%%j\VC\Auxiliary\Build + ) + if not "%_VS15VC%"=="" goto :eof +--- a/ms/winrt.cpp ++++ b/ms/winrt.cpp +@@ -291,13 +291,6 @@ extern "C" + { + return 0; + } +- +- BOOL WINAPI FlushConsoleInputBuffer( +- _In_ HANDLE hConsoleInput +- ) +- { +- return 0; +- } + BOOL DeleteDC( + _In_ HDC hdc + ) +-- +2.10.2.windows.1 + diff --git a/contrib/src/restinio/fetch_and_patch.bat b/contrib/src/restinio/fetch_and_patch.bat index 60a8348c1..35109f256 100644 --- a/contrib/src/restinio/fetch_and_patch.bat +++ b/contrib/src/restinio/fetch_and_patch.bat @@ -1,7 +1,7 @@ set BUILD=%SRC%..\build -RESTINIO_VERSION=v.0.5.1 -RESTINIO_URL=https://github.com/Stiffstream/restinio/archive/%RESTINIO_VERSION%.tar.gz +set RESTINIO_VERSION=v.0.5.1.2 +set RESTINIO_URL=https://github.com/Stiffstream/restinio/archive/%RESTINIO_VERSION%.tar.gz mkdir %BUILD%