Bläddra i källkod

Fix server build on FreeBSD

Fabio Alessandrelli 7 år sedan
förälder
incheckning
8f9914bd94
3 ändrade filer med 15 tillägg och 2 borttagningar
  1. 7 1
      platform/server/detect.py
  2. 6 0
      platform/server/platform_config.h
  3. 2 1
      platform/x11/crash_handler_x11.cpp

+ 7 - 1
platform/server/detect.py

@@ -1,4 +1,5 @@
 import os
+import platform
 import sys
 
 
@@ -132,7 +133,12 @@ def configure(env):
     env.Append(CPPPATH=['#platform/server'])
     env.Append(CPPFLAGS=['-DSERVER_ENABLED', '-DUNIX_ENABLED'])
     env.Append(LIBS=['pthread'])
-    env.Append(LIBS=['dl'])
+
+    if (platform.system() == "Linux"):
+        env.Append(LIBS=['dl'])
+
+    if (platform.system().find("BSD") >= 0):
+        env.Append(LIBS=['execinfo'])
 
     # Link those statically for portability
     if env['use_static_cpp']:

+ 6 - 0
platform/server/platform_config.h

@@ -28,4 +28,10 @@
 /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                */
 /*************************************************************************/
 
+#ifdef __linux__
 #include <alloca.h>
+#endif
+#if defined(__FreeBSD__) || defined(__OpenBSD__)
+#include <stdlib.h>
+#define PTHREAD_BSD_SET_NAME
+#endif

+ 2 - 1
platform/x11/crash_handler_x11.cpp

@@ -32,8 +32,9 @@
 #define CRASH_HANDLER_ENABLED 1
 #endif
 
+#include "crash_handler_x11.h"
 #include "main/main.h"
-#include "os_x11.h"
+#include "os/os.h"
 #include "project_settings.h"
 
 #ifdef CRASH_HANDLER_ENABLED