Skip to content

Commit

Permalink
build : Support openSSL
Browse files Browse the repository at this point in the history
  • Loading branch information
Marechal-L committed Jul 25, 2023
1 parent 10fe3da commit 4567b35
Show file tree
Hide file tree
Showing 275 changed files with 83,048 additions and 15 deletions.
56 changes: 56 additions & 0 deletions .github/workflows/build-openssl.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Basic test push

on: push

jobs:
build:
env:
SOLUTION_FILE_PATH: archipelago-client
BUILD_PLATFORM: "x64"
BUILD_CONFIGURATION: Release
OPENSSL_SOLUTION_FILE_PATH: openssl1_1-lite.sln
OPENSSL_BUILD_PLATFORM: Win64
ARCH: win64
runs-on: windows-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
submodules: recursive

- uses: ilammy/setup-nasm@v1

- uses: ilammy/msvc-dev-cmd@v1
with:
arch: ${{env.ARCH}}

- uses: shogo82148/actions-setup-perl@v1

- name: Build OpenSSL
run: |
cd archipelago-client
cd dep
git clone -b OpenSSL_1_1_1-stable --depth 1 https://github.com/openssl/openssl.git
cd openssl
md x64
cd x64
perl ..\Configure VC-WIN64A no-shared
nmake /S

- name: Zip OpenSSL
run: Compress-Archive -Path ${{env.SOLUTION_FILE_PATH}}\dep\openssl\* -Destination ${{env.SOLUTION_FILE_PATH}}\openSSL.zip

- name: Store OpenSSL
uses: actions/upload-artifact@v3
with:
name: openSSL
path: ${{env.SOLUTION_FILE_PATH}}\openSSL.zip

- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v1

- name: Build Project
run: |
msbuild /m /p:Configuration=${{env.BUILD_CONFIGURATION}} ${{env.SOLUTION_FILE_PATH}} /p:Platform=${{env.BUILD_PLATFORM}}


13 changes: 7 additions & 6 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,18 +1,19 @@
[submodule "archipelago-client/subprojects/minhook"]
path = archipelago-client/subprojects/minhook
url = https://github.com/TsudaKageyu/minhook.git
[submodule "archipelago-client/subprojects/valijson"]
path = archipelago-client/subprojects/valijson
url = https://github.com/tristanpenman/valijson.git

[submodule "archipelago-client/subprojects/asio"]
path = archipelago-client/subprojects/asio
url = https://github.com/chriskohlhoff/asio.git

[submodule "archipelago-client/subprojects/wswrap"]
path = archipelago-client/subprojects/wswrap
url = https://github.com/black-sliver/wswrap.git

[submodule "archipelago-client/subprojects/websocketpp"]
path = archipelago-client/subprojects/websocketpp
url = https://github.com/zaphoyd/websocketpp.git
[submodule "archipelago-client/subprojects/asio"]
path = archipelago-client/subprojects/asio
url = https://github.com/chriskohlhoff/asio.git

[submodule "archipelago-client/subprojects/apclientpp"]
path = archipelago-client/subprojects/apclientpp
url = https://github.com/black-sliver/apclientpp.git
4 changes: 1 addition & 3 deletions archipelago-client/ArchipelagoInterface.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -127,9 +127,7 @@ BOOL CArchipelago::Initialise(std::string URI) {
}
});

ap->set_data_package_changed_handler([](const json& data) {
ap->save_data_package(DATAPACKAGE_CACHE);
});
//TODO : * you can still use `set_data_package` or `set_data_package_from_file` during migration to make use of the old cache

ap->set_print_handler([](const std::string& msg) {
Core->Logger(msg);
Expand Down
1 change: 1 addition & 0 deletions archipelago-client/Core.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
#define ASIO_STANDALONE
#define _WEBSOCKETPP_CPP11_INTERNAL_
#define _CRT_SECURE_NO_WARNINGS
//#define WSWRAP_NO_SSL

#include "subprojects/apclientpp/apclient.hpp"
#include <windows.h>
Expand Down
60 changes: 60 additions & 0 deletions archipelago-client/archipelago-client.rc
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
// Script de ressources g�n�r� par Microsoft Visual C++.
//

#include "resource.h"

#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// G�n�r� � partir de la ressource TEXTINCLUDE 2.
//
#include "winres.h"

/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS

/////////////////////////////////////////////////////////////////////////////
// ressources Fran�ais (France)

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
LANGUAGE 12, 1

#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//

1 TEXTINCLUDE
BEGIN
"resource.h\0"
END

2 TEXTINCLUDE
BEGIN
"#include ""winres.h""\r\n"
"\0"
END

3 TEXTINCLUDE
BEGIN
"\r\n"
"\0"
END

#endif // APSTUDIO_INVOKED

#endif // ressources Fran�ais (France)
/////////////////////////////////////////////////////////////////////////////



#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// G�n�r� � partir de la ressource TEXTINCLUDE 3.
//


/////////////////////////////////////////////////////////////////////////////
#endif // non APSTUDIO_INVOKED
116 changes: 113 additions & 3 deletions archipelago-client/archipelago-client.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -138,16 +138,17 @@
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;DINPUT8_EXPORTS;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>subprojects\wswrap\include;archipelago-client\subprojects\apclientpp;subprojects\asio\asio\include;subprojects\json\include;subprojects\minhook\include;subprojects\valijson\include;subprojects\websocketpp;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>subprojects;dep;subprojects\wswrap\include;subprojects\apclientpp;subprojects\asio\asio\include;subprojects\json\include;subprojects\minhook\include;subprojects\valijson\include;subprojects\websocketpp;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
<LanguageStandard>stdcpp14</LanguageStandard>
<LanguageStandard>stdcpp17</LanguageStandard>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ModuleDefinitionFile>dinput8.def</ModuleDefinitionFile>
<AdditionalDependencies>subprojects\openssl\x64\libssl.lib;subprojects\openssl\x64\libcrypto.lib;subprojects\openssl\x64\libapps.lib;Crypt32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
Expand All @@ -163,12 +164,13 @@
<ClCompile Include="subprojects\minhook\src\hde\hde64.c" />
<ClCompile Include="subprojects\minhook\src\hook.c" />
<ClCompile Include="subprojects\minhook\src\trampoline.c" />
<ClCompile Include="subprojects\wswrap\src\wswrap.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\..\Downloads\openSSLFolder (1)\x64\include\openssl\opensslconf.h" />
<ClInclude Include="Core.h" />
<ClInclude Include="GameHook.h" />
<ClInclude Include="ArchipelagoInterface.h" />
<ClInclude Include="resource.h" />
<ClInclude Include="subprojects\asio\asio\include\asio.hpp" />
<ClInclude Include="subprojects\minhook\src\buffer.h" />
<ClInclude Include="subprojects\minhook\src\hde\hde32.h" />
Expand All @@ -177,6 +179,111 @@
<ClInclude Include="subprojects\minhook\src\hde\table32.h" />
<ClInclude Include="subprojects\minhook\src\hde\table64.h" />
<ClInclude Include="subprojects\minhook\src\trampoline.h" />
<ClInclude Include="subprojects\openssl\aes.h" />
<ClInclude Include="subprojects\openssl\asn1.h" />
<ClInclude Include="subprojects\openssl\asn1err.h" />
<ClInclude Include="subprojects\openssl\asn1t.h" />
<ClInclude Include="subprojects\openssl\asn1_mac.h" />
<ClInclude Include="subprojects\openssl\async.h" />
<ClInclude Include="subprojects\openssl\asyncerr.h" />
<ClInclude Include="subprojects\openssl\bio.h" />
<ClInclude Include="subprojects\openssl\bioerr.h" />
<ClInclude Include="subprojects\openssl\blowfish.h" />
<ClInclude Include="subprojects\openssl\bn.h" />
<ClInclude Include="subprojects\openssl\bnerr.h" />
<ClInclude Include="subprojects\openssl\buffer.h" />
<ClInclude Include="subprojects\openssl\buffererr.h" />
<ClInclude Include="subprojects\openssl\camellia.h" />
<ClInclude Include="subprojects\openssl\cast.h" />
<ClInclude Include="subprojects\openssl\cmac.h" />
<ClInclude Include="subprojects\openssl\cms.h" />
<ClInclude Include="subprojects\openssl\cmserr.h" />
<ClInclude Include="subprojects\openssl\comp.h" />
<ClInclude Include="subprojects\openssl\comperr.h" />
<ClInclude Include="subprojects\openssl\conf.h" />
<ClInclude Include="subprojects\openssl\conferr.h" />
<ClInclude Include="subprojects\openssl\conf_api.h" />
<ClInclude Include="subprojects\openssl\crypto.h" />
<ClInclude Include="subprojects\openssl\cryptoerr.h" />
<ClInclude Include="subprojects\openssl\ct.h" />
<ClInclude Include="subprojects\openssl\cterr.h" />
<ClInclude Include="subprojects\openssl\des.h" />
<ClInclude Include="subprojects\openssl\dh.h" />
<ClInclude Include="subprojects\openssl\dherr.h" />
<ClInclude Include="subprojects\openssl\dsa.h" />
<ClInclude Include="subprojects\openssl\dsaerr.h" />
<ClInclude Include="subprojects\openssl\dtls1.h" />
<ClInclude Include="subprojects\openssl\ebcdic.h" />
<ClInclude Include="subprojects\openssl\ec.h" />
<ClInclude Include="subprojects\openssl\ecdh.h" />
<ClInclude Include="subprojects\openssl\ecdsa.h" />
<ClInclude Include="subprojects\openssl\ecerr.h" />
<ClInclude Include="subprojects\openssl\engine.h" />
<ClInclude Include="subprojects\openssl\engineerr.h" />
<ClInclude Include="subprojects\openssl\err.h" />
<ClInclude Include="subprojects\openssl\evp.h" />
<ClInclude Include="subprojects\openssl\evperr.h" />
<ClInclude Include="subprojects\openssl\e_os2.h" />
<ClInclude Include="subprojects\openssl\hmac.h" />
<ClInclude Include="subprojects\openssl\idea.h" />
<ClInclude Include="subprojects\openssl\kdf.h" />
<ClInclude Include="subprojects\openssl\kdferr.h" />
<ClInclude Include="subprojects\openssl\lhash.h" />
<ClInclude Include="subprojects\openssl\md2.h" />
<ClInclude Include="subprojects\openssl\md4.h" />
<ClInclude Include="subprojects\openssl\md5.h" />
<ClInclude Include="subprojects\openssl\mdc2.h" />
<ClInclude Include="subprojects\openssl\modes.h" />
<ClInclude Include="subprojects\openssl\objects.h" />
<ClInclude Include="subprojects\openssl\objectserr.h" />
<ClInclude Include="subprojects\openssl\obj_mac.h" />
<ClInclude Include="subprojects\openssl\ocsp.h" />
<ClInclude Include="subprojects\openssl\ocsperr.h" />
<ClInclude Include="subprojects\openssl\opensslv.h" />
<ClInclude Include="subprojects\openssl\ossl_typ.h" />
<ClInclude Include="subprojects\openssl\pem.h" />
<ClInclude Include="subprojects\openssl\pem2.h" />
<ClInclude Include="subprojects\openssl\pemerr.h" />
<ClInclude Include="subprojects\openssl\pkcs12.h" />
<ClInclude Include="subprojects\openssl\pkcs12err.h" />
<ClInclude Include="subprojects\openssl\pkcs7.h" />
<ClInclude Include="subprojects\openssl\pkcs7err.h" />
<ClInclude Include="subprojects\openssl\rand.h" />
<ClInclude Include="subprojects\openssl\randerr.h" />
<ClInclude Include="subprojects\openssl\rand_drbg.h" />
<ClInclude Include="subprojects\openssl\rc2.h" />
<ClInclude Include="subprojects\openssl\rc4.h" />
<ClInclude Include="subprojects\openssl\rc5.h" />
<ClInclude Include="subprojects\openssl\ripemd.h" />
<ClInclude Include="subprojects\openssl\rsa.h" />
<ClInclude Include="subprojects\openssl\rsaerr.h" />
<ClInclude Include="subprojects\openssl\safestack.h" />
<ClInclude Include="subprojects\openssl\seed.h" />
<ClInclude Include="subprojects\openssl\sha.h" />
<ClInclude Include="subprojects\openssl\srp.h" />
<ClInclude Include="subprojects\openssl\srtp.h" />
<ClInclude Include="subprojects\openssl\ssl.h" />
<ClInclude Include="subprojects\openssl\ssl2.h" />
<ClInclude Include="subprojects\openssl\ssl3.h" />
<ClInclude Include="subprojects\openssl\sslerr.h" />
<ClInclude Include="subprojects\openssl\stack.h" />
<ClInclude Include="subprojects\openssl\store.h" />
<ClInclude Include="subprojects\openssl\storeerr.h" />
<ClInclude Include="subprojects\openssl\symhacks.h" />
<ClInclude Include="subprojects\openssl\tls1.h" />
<ClInclude Include="subprojects\openssl\ts.h" />
<ClInclude Include="subprojects\openssl\tserr.h" />
<ClInclude Include="subprojects\openssl\txt_db.h" />
<ClInclude Include="subprojects\openssl\ui.h" />
<ClInclude Include="subprojects\openssl\uierr.h" />
<ClInclude Include="subprojects\openssl\whrlpool.h" />
<ClInclude Include="subprojects\openssl\x509.h" />
<ClInclude Include="subprojects\openssl\x509err.h" />
<ClInclude Include="subprojects\openssl\x509v3.h" />
<ClInclude Include="subprojects\openssl\x509v3err.h" />
<ClInclude Include="subprojects\openssl\x509_vfy.h" />
<ClInclude Include="subprojects\openssl\__DECC_INCLUDE_EPILOGUE.H" />
<ClInclude Include="subprojects\openssl\__DECC_INCLUDE_PROLOGUE.H" />
<ClInclude Include="subprojects\wswrap\include\wswrap.hpp" />
<ClInclude Include="subprojects\wswrap\include\wswrap_websocketpp.hpp" />
</ItemGroup>
Expand All @@ -189,6 +296,9 @@
<FileType>Document</FileType>
</MASM>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="archipelago-client.rc" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
<Import Project="$(VCTargetsPath)\BuildCustomizations\masm.targets" />
Expand Down
Loading

0 comments on commit 4567b35

Please sign in to comment.