--- origsrc/libvpl-2.10.2/cmake/CompileOptions.cmake 2024-02-21 06:41:06.000000000 +0900 +++ src/libvpl-2.10.2/cmake/CompileOptions.cmake 2024-02-21 16:11:27.826793000 +0900 @@ -51,16 +51,10 @@ else() add_compile_options("-Werror=format-security") if(NOT MINGW) string(TOLOWER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE) - if(NOT CMAKE_BUILD_TYPE MATCHES debug) - add_definitions("-D_FORTIFY_SOURCE=2") - endif() endif() if(NOT MINGW) add_compile_options("-fstack-protector-strong") endif() - if(NOT MINGW) - add_link_options("-Wl,-z,relro,-z,now,-z,noexecstack") - endif() add_compile_options("-Wall") if(ENABLE_WARNING_AS_ERROR) add_compile_options("-Werror") --- origsrc/libvpl-2.10.2/libvpl/src/mfx_dispatcher_vpl.h 2024-02-21 06:41:06.000000000 +0900 +++ src/libvpl-2.10.2/libvpl/src/mfx_dispatcher_vpl.h 2024-02-21 15:44:48.647479800 +0900 @@ -48,7 +48,7 @@ typedef char CHAR_TYPE; #define MSDK_LIB_NAME L"libmfxhw64." #endif #define ONEVPL_PRIORITY_PATH_VAR L"ONEVPL_PRIORITY_PATH" -#elif defined(__linux__) +#elif defined(__linux__) || defined(__CYGWIN__) // Linux x64 #define MSDK_LIB_NAME "libmfxhw64." #define ONEVPL_PRIORITY_PATH_VAR "ONEVPL_PRIORITY_PATH" --- origsrc/libvpl-2.10.2/libvpl/src/mfx_dispatcher_vpl_loader.cpp 2024-02-21 06:41:06.000000000 +0900 +++ src/libvpl-2.10.2/libvpl/src/mfx_dispatcher_vpl_loader.cpp 2024-02-21 15:43:05.531476800 +0900 @@ -409,7 +409,7 @@ mfxU32 LoaderCtxVPL::GetSearchPathsLegac mfxU32 LoaderCtxVPL::GetSearchPathsSystemDefault(std::list &searchDirs) { searchDirs.clear(); -#ifdef __linux__ +#if defined(__linux__) || defined(__CYGWIN__) // Add the standard path for libmfx1 install in Ubuntu searchDirs.push_back("/usr/lib/x86_64-linux-gnu"); --- origsrc/libvpl-2.10.2/libvpl/src/mfx_dispatcher_vpl_lowlatency.cpp 2024-02-21 06:41:06.000000000 +0900 +++ src/libvpl-2.10.2/libvpl/src/mfx_dispatcher_vpl_lowlatency.cpp 2024-02-21 15:46:45.692207300 +0900 @@ -18,6 +18,9 @@ #define LIB_ONEVPL L"libmfx64-gen.dll" #define LIB_MSDK L"libmfxhw64.dll" #endif +#elif defined(__CYGWIN__) + #define LIB_ONEVPL "libmfx64-gen.dll" + #define LIB_MSDK "libmfxhw64.dll" #elif defined(__linux__) // Linux x64 #define LIB_ONEVPL "libmfx-gen.so.1.2" @@ -191,7 +194,7 @@ mfxStatus LoaderCtxVPL::LoadLibsFromSyst } mfxStatus LoaderCtxVPL::LoadLibsFromMultipleDirs(LibType libType) { -#ifdef __linux__ +#if defined(__linux__) || defined(__CYGWIN__) // clang-format off // standard paths for RT installation on Linux --- origsrc/libvpl-2.10.2/libvpl/src/mfx_dispatcher_vpl_msdk.cpp 2024-02-21 06:41:06.000000000 +0900 +++ src/libvpl-2.10.2/libvpl/src/mfx_dispatcher_vpl_msdk.cpp 2024-02-21 15:47:17.135104700 +0900 @@ -11,7 +11,7 @@ #include "src/mfx_dispatcher_vpl_win.h" #endif -#ifdef __linux__ +#if defined(__linux__) || defined(__CYGWIN__) #include #define strncpy_s(dst, size, src, cnt) strncpy((dst), (src), (cnt)) // NOLINT #endif @@ -97,7 +97,7 @@ static const mfxImplementedFunctions msd (mfxChar**)msdkImplFuncsNames }; -#ifdef __linux__ +#if defined(__linux__) || defined(__CYGWIN__) // optional extBuf to limit threads created in MSDK session creation // to enable, set vplParam.NumExtParam and vplParam.ExtParam before calling MFXInitEx2() static const mfxExtThreadsParam extThreadParam = { @@ -142,7 +142,7 @@ mfxStatus LoaderCtxMSDK::OpenSession(mfx mfxInitializationParam vplParam = {}; vplParam.AccelerationMode = accelMode; -#ifdef __linux__ +#if defined(__linux__) || defined(__CYGWIN__) vplParam.ExtParam = (mfxExtBuffer **)&extParams; vplParam.NumExtParam = 1; #else @@ -183,7 +183,7 @@ mfxAccelerationMode LoaderCtxMSDK::CvtAc } mfxStatus LoaderCtxMSDK::GetDefaultAccelType(mfxU32 adapterID, mfxIMPL *implDefault, mfxU64 *luid) { -#ifdef __linux__ +#if defined(__linux__) || defined(__CYGWIN__) // VAAPI only *implDefault = MFX_IMPL_VIA_VAAPI; *luid = 0; @@ -235,7 +235,7 @@ mfxStatus LoaderCtxMSDK::QueryAPIVersion vplParam.AccelerationMode = (mfxAccelerationMode)CvtAccelType(MFX_IMPL_HARDWARE, implDefault & 0xFF00); -#ifdef __linux__ +#if defined(__linux__) || defined(__CYGWIN__) vplParam.ExtParam = (mfxExtBuffer **)&extParams; vplParam.NumExtParam = 1; #else @@ -279,7 +279,7 @@ mfxStatus LoaderCtxMSDK::QueryMSDKCaps(S m_libNameFull = libNameFull; m_deviceID = 0; -#ifdef __linux__ +#if defined(__linux__) || defined(__CYGWIN__) // require pthreads to be linked in for MSDK RT to load pthread_key_t pkey; if (pthread_key_create(&pkey, NULL) == 0) { @@ -510,7 +510,7 @@ mfxStatus LoaderCtxMSDK::GetRenderNodeDe vendorID = 0; deviceID = 0; -#if defined(__linux__) +#if defined(__linux__) || defined(__CYGWIN__) mfxU32 DRMRenderNodeNum = 128 + adapterID; std::string nodeStr = std::to_string(DRMRenderNodeNum); @@ -583,7 +583,7 @@ mfxStatus LoaderCtxMSDK::QueryExtDeviceI luidArr >>= 8; } } -#elif defined(__linux__) +#elif defined(__linux__) || defined(__CYGWIN__) extDeviceID->DRMPrimaryNodeNum = adapterID; extDeviceID->DRMRenderNodeNum = 128 + adapterID; #endif