Merge pull request #2 from TheElixZammuto/build-patch-windows

Build Checks - Fixed Windows Build
This commit is contained in:
ReenigneArcher 2021-12-27 10:19:47 -05:00 committed by GitHub
commit 732f5bf21d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 27 additions and 35 deletions

View File

@ -129,44 +129,30 @@ jobs:
uses: actions/checkout@v2 uses: actions/checkout@v2
with: with:
submodules: recursive submodules: recursive
- name: MSYS2 Setup
- name: Install boost uses: msys2/setup-msys2@v2
uses: MarkusJx/install-boost@v2.1.0
id: install-boost
with: with:
# REQUIRED: Specify the required boost version update: true
# A list of supported versions can be found here: install: >-
# https://github.com/actions/boost-versions/blob/main/versions-manifest.json base-devel
boost_version: 1.78.0 git
# OPTIONAL: Specify a custom install location mingw-w64-x86_64-binutils
boost_install_dir: 'C:' mingw-w64-x86_64-openssl
# OPTIONAL: Specify a platform version mingw-w64-x86_64-cmake
platform_version: 2019 mingw-w64-x86_64-toolchain
toolset: mingw mingw-w64-x86_64-opus
mingw-w64-x86_64-x265
# NOTE: If a boost version matching all requirements cannot be found, mingw-w64-x86_64-boost
# this build step will fail git
- name: Setup Windows yasm
run: | nasm
C:\msys64\usr\bin\bash -lc "pacman --needed --noconfirm -S mingw-w64-x86_64-binutils mingw-w64-x86_64-openssl mingw-w64-x86_64-cmake mingw-w64-x86_64-toolchain mingw-w64-x86_64-opus mingw-w64-x86_64-x265 mingw-w64-x86_64-boost git yasm nasm diffutils make" diffutils
# - name: Build Windows make
# env:
# BOOST_ROOT: ${{ steps.install-boost.outputs.BOOST_ROOT }}
# run: |
# mkdir sunshine-windows-build && cd sunshine-windows-build
# set PATH=C:\msys64\mingw64\bin
# set BOOST_ROOT=C:\boost
# set BOOST_INCLUDEDIR=C:\boost
# set BOOST_LIBRARYDIR=C:\boost\lib
# cmake -DCMAKE_CXX_STANDARD=17 -DCMAKE_BUILD_TYPE=Release -DSUNSHINE_ASSETS_DIR=assets -G "MinGW Makefiles" ..
# mingw32-make -j2
- name: Build Windows - name: Build Windows
env: shell: msys2 {0}
BOOST_ROOT: ${{ steps.install-boost.outputs.BOOST_ROOT }}
run: | run: |
mkdir sunshine-windows-build && cd sunshine-windows-build mkdir sunshine-windows-build && cd sunshine-windows-build
set PATH=C:\msys64\mingw64\bin cmake -DCMAKE_BUILD_TYPE=Release -DSUNSHINE_ASSETS_DIR=assets -G "MinGW Makefiles" ..
cmake -DCMAKE_BUILD_TYPE=Release -DSUNSHINE_ASSETS_DIR=assets -G "Unix Makefiles" ..
mingw32-make -j2 mingw32-make -j2
- name: Package Windows - name: Package Windows
run: | run: |

View File

@ -25,15 +25,18 @@ using namespace std::literals;
#define SV(quote) __SV(quote) #define SV(quote) __SV(quote)
extern "C" { extern "C" {
#ifndef __MINGW32__
constexpr auto DNS_REQUEST_PENDING = 9506L; constexpr auto DNS_REQUEST_PENDING = 9506L;
constexpr auto DNS_QUERY_REQUEST_VERSION1 = 0x1; constexpr auto DNS_QUERY_REQUEST_VERSION1 = 0x1;
constexpr auto DNS_QUERY_RESULTS_VERSION1 = 0x1; constexpr auto DNS_QUERY_RESULTS_VERSION1 = 0x1;
#endif
#define SERVICE_DOMAIN "local" #define SERVICE_DOMAIN "local"
constexpr auto SERVICE_INSTANCE_NAME = SV(SERVICE_NAME "." SERVICE_TYPE "." SERVICE_DOMAIN); constexpr auto SERVICE_INSTANCE_NAME = SV(SERVICE_NAME "." SERVICE_TYPE "." SERVICE_DOMAIN);
constexpr auto SERVICE_TYPE_DOMAIN = SV(SERVICE_TYPE "." SERVICE_DOMAIN); constexpr auto SERVICE_TYPE_DOMAIN = SV(SERVICE_TYPE "." SERVICE_DOMAIN);
#ifndef __MINGW32__
typedef struct _DNS_SERVICE_INSTANCE { typedef struct _DNS_SERVICE_INSTANCE {
LPWSTR pszInstanceName; LPWSTR pszInstanceName;
LPWSTR pszHostName; LPWSTR pszHostName;
@ -53,6 +56,7 @@ typedef struct _DNS_SERVICE_INSTANCE {
DWORD dwInterfaceIndex; DWORD dwInterfaceIndex;
} DNS_SERVICE_INSTANCE, *PDNS_SERVICE_INSTANCE; } DNS_SERVICE_INSTANCE, *PDNS_SERVICE_INSTANCE;
#endif
typedef VOID WINAPI DNS_SERVICE_REGISTER_COMPLETE( typedef VOID WINAPI DNS_SERVICE_REGISTER_COMPLETE(
_In_ DWORD Status, _In_ DWORD Status,
@ -61,6 +65,7 @@ typedef VOID WINAPI DNS_SERVICE_REGISTER_COMPLETE(
typedef DNS_SERVICE_REGISTER_COMPLETE *PDNS_SERVICE_REGISTER_COMPLETE; typedef DNS_SERVICE_REGISTER_COMPLETE *PDNS_SERVICE_REGISTER_COMPLETE;
#ifndef __MINGW32__
typedef struct _DNS_SERVICE_CANCEL { typedef struct _DNS_SERVICE_CANCEL {
PVOID reserved; PVOID reserved;
} DNS_SERVICE_CANCEL, *PDNS_SERVICE_CANCEL; } DNS_SERVICE_CANCEL, *PDNS_SERVICE_CANCEL;
@ -74,6 +79,7 @@ typedef struct _DNS_SERVICE_REGISTER_REQUEST {
HANDLE hCredentials; HANDLE hCredentials;
BOOL unicastEnabled; BOOL unicastEnabled;
} DNS_SERVICE_REGISTER_REQUEST, *PDNS_SERVICE_REGISTER_REQUEST; } DNS_SERVICE_REGISTER_REQUEST, *PDNS_SERVICE_REGISTER_REQUEST;
#endif
_FN(_DnsServiceFreeInstance, VOID, (_In_ PDNS_SERVICE_INSTANCE pInstance)); _FN(_DnsServiceFreeInstance, VOID, (_In_ PDNS_SERVICE_INSTANCE pInstance));
_FN(_DnsServiceDeRegister, DWORD, (_In_ PDNS_SERVICE_REGISTER_REQUEST pRequest, _Inout_opt_ PDNS_SERVICE_CANCEL pCancel)); _FN(_DnsServiceDeRegister, DWORD, (_In_ PDNS_SERVICE_REGISTER_REQUEST pRequest, _Inout_opt_ PDNS_SERVICE_CANCEL pCancel));