diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index f802f6722a..6f19d72f47 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -1133,8 +1133,6 @@ add_library(core STATIC internal_network/network_interface.h internal_network/socket_proxy.cpp internal_network/socket_proxy.h - internal_network/socket_icmp.cpp - internal_network/socket_icmp.h internal_network/socket_types.h internal_network/sockets.h internal_network/wifi_scanner.h @@ -1174,6 +1172,12 @@ add_library(core STATIC tools/renderdoc.cpp tools/renderdoc.h) +if (UNIX AND NOT APPLE) + target_sources(core PRIVATE + internal_network/socket_icmp.cpp + internal_network/socket_icmp.h) +endif() + if (ENABLE_WIFI_SCAN) target_sources(core PRIVATE internal_network/wifi_scanner.cpp) if (LINUX) diff --git a/src/core/hle/service/sockets/bsd.cpp b/src/core/hle/service/sockets/bsd.cpp index 4d207369ca..b5ffac0300 100644 --- a/src/core/hle/service/sockets/bsd.cpp +++ b/src/core/hle/service/sockets/bsd.cpp @@ -20,7 +20,9 @@ #include "core/hle/service/sockets/sockets_translate.h" #include "core/internal_network/network.h" #include "core/internal_network/socket_proxy.h" +#if defined(__unix__) && !defined(__APPLE__) #include "core/internal_network/socket_icmp.h" +#endif #include "core/internal_network/sockets.h" #include "network/network.h" #include @@ -524,7 +526,7 @@ std::pair BSD::SocketImpl(Network::Domain domain, Network:: auto room_member = Network::GetRoomMember().lock(); if (0) { // ...only unix has this issue it seems, ICMP works otherwise fine on win -#ifdef __unix__ +#if defined(__unix__) && !defined(__APPLE__) } else if (protocol == Network::Protocol::ICMP || protocol == Network::Protocol::ICMPV6) { descriptor.socket = std::make_shared(); #endif