From 355bca0fb3698b7e0383caf7439d68fe53fd1700 Mon Sep 17 00:00:00 2001 From: cristian64 Date: Wed, 10 Dec 2025 21:07:46 +0000 Subject: [PATCH 1/2] Externals: Upgrade cpp-ipc to v1.4.0. Apart from bugfixes and other enhancements, this update has brought support for FreeBSD. Full changelog: https://github.com/mutouyun/cpp-ipc/releases/tag/v1.4.0 --- Externals/cpp-ipc/cpp-ipc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Externals/cpp-ipc/cpp-ipc b/Externals/cpp-ipc/cpp-ipc index a0c7725a14..ce0773b3e6 160000 --- a/Externals/cpp-ipc/cpp-ipc +++ b/Externals/cpp-ipc/cpp-ipc @@ -1 +1 @@ -Subproject commit a0c7725a1441d18bc768d748a93e512a0fa7ab52 +Subproject commit ce0773b3e6d5abaa8d104100c5704321113853ca From bd6ea9a9a1da72e721cbcc3a3f23cc8c62675fce Mon Sep 17 00:00:00 2001 From: cristian64 Date: Wed, 10 Dec 2025 21:11:08 +0000 Subject: [PATCH 2/2] Core/HW: Enable BBA (IPC) in FreeBSD. Since v1.4.0, cpp-ipc now supports FreeBSD. This was a limitation that prevented us from enabling compilation on FreeBSD in #13870. Full changelog: https://github.com/mutouyun/cpp-ipc/releases/tag/v1.4.0 --- CMakeLists.txt | 2 +- Source/Core/Core/CMakeLists.txt | 2 +- Source/Core/Core/HW/EXI/EXI_DeviceEthernet.h | 4 ++-- Source/Core/DolphinQt/Settings/GameCubePane.cpp | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2fa3769f8f..0cadc9dd49 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -786,7 +786,7 @@ endif() add_subdirectory(Externals/watcher) -if(WIN32 OR LINUX) +if(NOT ANDROID AND NOT APPLE) add_subdirectory(Externals/cpp-ipc) endif() diff --git a/Source/Core/Core/CMakeLists.txt b/Source/Core/Core/CMakeLists.txt index be75ba89d9..4f5e313ce7 100644 --- a/Source/Core/Core/CMakeLists.txt +++ b/Source/Core/Core/CMakeLists.txt @@ -801,7 +801,7 @@ if(UNIX) ) endif() -if(WIN32 OR LINUX) +if(NOT ANDROID AND NOT APPLE) target_sources(core PRIVATE HW/EXI/BBA/IPC.cpp) target_link_libraries(core PRIVATE cpp-ipc::ipc) endif() diff --git a/Source/Core/Core/HW/EXI/EXI_DeviceEthernet.h b/Source/Core/Core/HW/EXI/EXI_DeviceEthernet.h index 67a0317831..a6b0780886 100644 --- a/Source/Core/Core/HW/EXI/EXI_DeviceEthernet.h +++ b/Source/Core/Core/HW/EXI/EXI_DeviceEthernet.h @@ -15,7 +15,7 @@ #endif #include -#if defined(WIN32) || (defined(__linux__) && !defined(__ANDROID__)) +#if !defined(__ANDROID__) && !defined(__APPLE__) #include #endif @@ -483,7 +483,7 @@ private: public: explicit IPCBBAInterface(CEXIETHERNET* const eth_ref) : NetworkInterface(eth_ref) {} -#if defined(WIN32) || (defined(__linux__) && !defined(__ANDROID__)) +#if !defined(__ANDROID__) && !defined(__APPLE__) bool Activate() override; void Deactivate() override; diff --git a/Source/Core/DolphinQt/Settings/GameCubePane.cpp b/Source/Core/DolphinQt/Settings/GameCubePane.cpp index 98460f6be0..fd27612dc5 100644 --- a/Source/Core/DolphinQt/Settings/GameCubePane.cpp +++ b/Source/Core/DolphinQt/Settings/GameCubePane.cpp @@ -143,7 +143,7 @@ void GameCubePane::CreateWidgets() EXIDeviceType::EthernetXLink, EXIDeviceType::EthernetTapServer, EXIDeviceType::EthernetBuiltIn, -#if defined(WIN32) || (defined(__linux__) && !defined(__ANDROID__)) +#if !defined(__APPLE__) EXIDeviceType::EthernetIPC, #endif EXIDeviceType::ModemTapServer,