From 17caf398f5e15a3e75c1d4764ad2c418db7c8cda Mon Sep 17 00:00:00 2001 From: MysterD Date: Mon, 2 Aug 2021 02:59:45 -0700 Subject: [PATCH 1/2] Fix Mac + DISCORD_SDK compilation errors --- Makefile | 7 +++++-- lib/discordsdk/libdiscord_game_sdk.dylib | Bin 0 -> 4130000 bytes src/pc/network/socket/socket_linux.h | 1 + tools/Makefile | 2 +- 4 files changed, 7 insertions(+), 3 deletions(-) create mode 100644 lib/discordsdk/libdiscord_game_sdk.dylib diff --git a/Makefile b/Makefile index 40ecaa83..6f2165af 100644 --- a/Makefile +++ b/Makefile @@ -465,7 +465,10 @@ ifeq ($(DISCORD_SDK), 1) endif else ifeq ($(OSX_BUILD),1) # needs testing - DISCORD_SDK_LIBS := lib/discordsdk/discord_game_sdk.dylib + # HACKY! Instead of figuring out all of the dynamic library linking madness... + # I copied the library and gave it two names. + # This really shouldn't be required, but I got tired of trying to do it the "right way" + DISCORD_SDK_LIBS := lib/discordsdk/discord_game_sdk.dylib lib/discordsdk/libdiscord_game_sdk.dylib else DISCORD_SDK_LIBS := lib/discordsdk/libdiscord_game_sdk.so endif @@ -726,7 +729,7 @@ else ifeq ($(TARGET_RPI),1) LDFLAGS := $(OPT_FLAGS) -lm $(BACKEND_LDFLAGS) -no-pie else ifeq ($(OSX_BUILD),1) - LDFLAGS := -lm $(BACKEND_LDFLAGS) -no-pie -lpthread + LDFLAGS := -lm $(BACKEND_LDFLAGS) -lpthread else LDFLAGS := $(BITS) -march=$(TARGET_ARCH) -lm $(BACKEND_LDFLAGS) -no-pie -lpthread diff --git a/lib/discordsdk/libdiscord_game_sdk.dylib b/lib/discordsdk/libdiscord_game_sdk.dylib new file mode 100644 index 0000000000000000000000000000000000000000..24045f7920842489dfc0264dcf1237b917c3ae6c GIT binary patch literal 4130000 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