From fce187d5bf06fd73d8805da8dd2f7c5d8731dd10 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Wed, 24 Mar 2021 12:51:34 -0400
Subject: [PATCH] build: Build battleye bridge when present.

CW-Bug-Id: #16650
---
 Makefile                |  8 ++++++++
 build/makefile_base.mak | 33 +++++++++++++++++++++++++++++++++
 2 files changed, 41 insertions(+)

diff --git a/Makefile b/Makefile
index a0a5ed58..84e820ba 100644
--- a/Makefile
+++ b/Makefile
@@ -225,5 +225,13 @@ wineopenxr: downloads
 	$(MAKE) $(MFLAGS) $(MAKEOVERRIDES) -C $(BUILD_DIR)/ $(UNSTRIPPED) $(CCACHE_FLAG) wineopenxr && \
 	cp -f $(BUILD_DIR)/dist/files/lib64/wine/wineopenxr.dll.so /vagrant/wineopenxr/lib64/wine
 
+battleye: | vagrant_share/battleye/v1/lib/wine
+battleye: | vagrant_share/battleye/v1/lib64/wine
+battleye: private SHELL := $(VAGRANT_SHELL)
+battleye: downloads
+	$(MAKE) $(MFLAGS) $(MAKEOVERRIDES) -C $(BUILD_DIR)/ $(UNSTRIPPED) $(CCACHE_FLAG) battleye && \
+	cp -f $(BUILD_DIR)/dist-battleye/v1/lib/wine/beclient.dll.so /vagrant/battleye/v1/lib/wine && \
+	cp -f $(BUILD_DIR)/dist-battleye/v1/lib64/wine/beclient_x64.dll.so /vagrant/battleye/v1/lib64/wine
+
 vagrant_share/%:
 	mkdir -p $@
diff --git a/build/makefile_base.mak b/build/makefile_base.mak
index d90a1342..e07c04cb 100644
--- a/build/makefile_base.mak
+++ b/build/makefile_base.mak
@@ -905,6 +905,39 @@ $(OBJ)/.mediaconv-post-build32:
 	touch $@
 
 
+##
+## BattlEye Bridge
+##
+
+ifneq ($(wildcard $(SRCDIR)/battleye-bridge/.*),)
+
+BATTLEYE_LDFLAGS = -static-libgcc -static-libstdc++ -ldl
+
+BATTLEYE_DEPENDS = wine
+
+$(eval $(call rules-source,battleye,$(SRCDIR)/battleye-bridge))
+$(eval $(call rules-winemaker,battleye,32,beclient.dll))
+$(eval $(call rules-winemaker,battleye,64,beclient_x64.dll))
+
+$(OBJ)/.battleye-post-source:
+	mkdir -p $(BATTLEYE_OBJ32) && cp -a $(BATTLEYE_SRC)/beclient.spec $(BATTLEYE_OBJ32)/beclient.spec
+	mkdir -p $(BATTLEYE_OBJ64) && cp -a $(BATTLEYE_SRC)/beclient.spec $(BATTLEYE_OBJ64)/beclient_x64.spec
+	touch $@
+
+$(OBJ)/.battleye-post-build64:
+	mkdir -p $(OBJ)/dist-battleye/v1
+	cp -r $(BATTLEYE_DST64)/* $(OBJ)/dist-battleye/v1/
+	rm -rf $(BATTLEYE_DST64)/*
+	touch $@
+
+$(OBJ)/.battleye-post-build32:
+	mkdir -p $(OBJ)/dist-battleye/v1
+	cp -r $(BATTLEYE_DST32)/* $(OBJ)/dist-battleye/v1/
+	rm -rf $(BATTLEYE_DST32)/*
+	touch $@
+
+endif
+
 ifeq ($(CONTAINER),)
 ALL_TARGETS += fonts
 GOAL_TARGETS += fonts