Fixes for building on OpenBSD.

This commit is contained in:
Julian Smith 2019-08-12 17:53:31 +01:00
parent 138e28fcbe
commit f407785f10
4 changed files with 12 additions and 3 deletions

View File

@ -521,6 +521,10 @@ include(CheckCXXFeatures)
# ahead of system-installed libs # ahead of system-installed libs
include_directories(BEFORE ${PROJECT_BINARY_DIR}/simgear) include_directories(BEFORE ${PROJECT_BINARY_DIR}/simgear)
if(${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD")
include_directories("/usr/X11R6/include")
endif()
add_definitions(-DHAVE_CONFIG_H) add_definitions(-DHAVE_CONFIG_H)
# configure a header file to pass some of the CMake settings # configure a header file to pass some of the CMake settings

View File

@ -31,6 +31,11 @@
// FreeBSD // FreeBSD
#define VG_API_FREEBSD #define VG_API_FREEBSD
#elif defined(__OpenBSD__)
// FreeBSD
#define VG_API_OPENBSD
#else #else
// Unsupported system // Unsupported system

View File

@ -34,7 +34,7 @@
#include <math.h> #include <math.h>
#include <float.h> #include <float.h>
#if !defined(VG_API_MACOSX) && !defined(__FreeBSD__) #if !defined(VG_API_MACOSX) && !defined(__FreeBSD__) && !defined(__OpenBSD__)
# include <malloc.h> # include <malloc.h>
#endif #endif
@ -161,7 +161,7 @@ SHfloat getMaxFloat();
/* OpenGL headers */ /* OpenGL headers */
#if defined(VG_API_LINUX) || defined(VG_API_FREEBSD) #if defined(VG_API_LINUX) || defined(VG_API_FREEBSD) || defined(VG_API_OPENBSD)
#include <GL/gl.h> #include <GL/gl.h>
#include <GL/glx.h> #include <GL/glx.h>
#elif defined(VG_API_MACOSX) #elif defined(VG_API_MACOSX)

View File

@ -1043,7 +1043,7 @@ std::string error_string(int errnum)
retcode = strerror_s(buf, sizeof(buf), errnum); retcode = strerror_s(buf, sizeof(buf), errnum);
#elif defined(_GNU_SOURCE) #elif defined(_GNU_SOURCE)
return std::string(strerror_r(errnum, buf, sizeof(buf))); return std::string(strerror_r(errnum, buf, sizeof(buf)));
#elif (_POSIX_C_SOURCE >= 200112L) || defined(SG_MAC) || defined(__FreeBSD__) #elif (_POSIX_C_SOURCE >= 200112L) || defined(SG_MAC) || defined(__FreeBSD__) || defined(__OpenBSD__)
int retcode; int retcode;
// POSIX.1-2001 and POSIX.1-2008 // POSIX.1-2001 and POSIX.1-2008
retcode = strerror_r(errnum, buf, sizeof(buf)); retcode = strerror_r(errnum, buf, sizeof(buf));