mirror of
https://github.com/morgan9e/FreeRDP
synced 2026-04-15 00:44:19 +09:00
Necessary changes to get latest branch working on OpenBSD 5.6
This commit is contained in:
@@ -186,8 +186,10 @@ if(CMAKE_COMPILER_IS_GNUCC)
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "Release")
|
||||
set(CMAKE_C_FLAGS_RELEASE "-DNDEBUG")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "-DNDEBUG")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2")
|
||||
if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2")
|
||||
endif()
|
||||
|
||||
CHECK_C_COMPILER_FLAG (-Wno-builtin-macro-redefined Wno-builtin-macro-redefined)
|
||||
if(Wno-builtin-macro-redefined)
|
||||
@@ -364,6 +366,16 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "BSD")
|
||||
if(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
|
||||
set(FREEBSD TRUE)
|
||||
endif()
|
||||
if(${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD")
|
||||
set(OPENBSD TRUE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# OpenBSD
|
||||
if(OPENBSD)
|
||||
set(WITH_ALSA "OFF")
|
||||
set(WITH_PULSE "ON")
|
||||
set(WITH_WAYLAND "OFF")
|
||||
endif()
|
||||
|
||||
# Android
|
||||
@@ -631,6 +643,11 @@ if(BSD)
|
||||
include_directories(/usr/local/include)
|
||||
link_directories(/usr/local/lib)
|
||||
endif()
|
||||
if(OPENBSD)
|
||||
if(IS_DIRECTORY /usr/X11R6/include)
|
||||
include_directories(/usr/X11R6/include)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Configure files
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
typedef UINT32 ssize_t;
|
||||
typedef UINT32 mode_t;
|
||||
|
||||
#elif defined(__APPLE__) || defined(__FreeBSD__)
|
||||
#elif defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__)
|
||||
#define STAT stat
|
||||
#define OPEN open
|
||||
#define LSEEK lseek
|
||||
|
||||
@@ -36,7 +36,11 @@
|
||||
#include <libgen.h>
|
||||
#include <limits.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/soundcard.h>
|
||||
#if defined(__OpenBSD__)
|
||||
#include <soundcard.h>
|
||||
#else
|
||||
#include <sys/soundcard.h>
|
||||
#endif
|
||||
#include <sys/ioctl.h>
|
||||
|
||||
#include <freerdp/types.h>
|
||||
|
||||
@@ -28,7 +28,11 @@ set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME "xfreerdp" RUNTIME_O
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} xfreerdp-client)
|
||||
|
||||
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
|
||||
if(OPENBSD)
|
||||
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS} ossaudio)
|
||||
else()
|
||||
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
|
||||
endif()
|
||||
|
||||
install(TARGETS ${MODULE_NAME} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT client)
|
||||
|
||||
|
||||
@@ -76,7 +76,11 @@ set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS}
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} winpr freerdp)
|
||||
|
||||
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
|
||||
if(OPENBSD)
|
||||
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS} ossaudio)
|
||||
else()
|
||||
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
|
||||
endif()
|
||||
|
||||
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries EXPORT FreeRDPTargets)
|
||||
|
||||
|
||||
@@ -9,7 +9,11 @@ IF(UNIX)
|
||||
IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
|
||||
SET(OSS_HDR_NAME "sys/soundcard.h")
|
||||
ELSE(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
|
||||
SET(OSS_HDR_NAME "machine/soundcard.h")
|
||||
IF(CMAKE_SYSTEM_NAME MATCHES "OpenBSD")
|
||||
SET(OSS_HDR_NAME "soundcard.h")
|
||||
ELSE(CMAKE_SYSTEM_NAME MATCHES "OpenBSD")
|
||||
SET(OSS_HDR_NAME "machine/soundcard.h")
|
||||
ENDIF(CMAKE_SYSTEM_NAME MATCHES "OpenBSD")
|
||||
ENDIF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
|
||||
ENDIF(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
||||
ENDIF(UNIX)
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
#include <sys/filio.h>
|
||||
#endif
|
||||
|
||||
#ifdef __FreeBSD__
|
||||
#if defined(__FreeBSD__) || defined(__OpenBSD__)
|
||||
#ifndef SOL_TCP
|
||||
#define SOL_TCP IPPROTO_TCP
|
||||
#endif
|
||||
|
||||
@@ -1523,7 +1523,7 @@ char* freerdp_get_unix_timezone_identifier()
|
||||
return tzid;
|
||||
}
|
||||
|
||||
#ifdef __FreeBSD__
|
||||
#if defined(__FreeBSD__) || defined(__OpenBSD__)
|
||||
fp = fopen("/var/db/zoneinfo", "r");
|
||||
#else
|
||||
fp = fopen("/etc/timezone", "r");
|
||||
@@ -1682,7 +1682,7 @@ void freerdp_time_zone_detect(TIME_ZONE_INFO* clientTimeZone)
|
||||
local_time = localtime(&t);
|
||||
|
||||
#ifdef HAVE_TM_GMTOFF
|
||||
#if defined(__FreeBSD__)
|
||||
#if defined(__FreeBSD__) || defined(__OpenBSD__)
|
||||
if (local_time->tm_gmtoff >= 0)
|
||||
clientTimeZone->bias = (UINT32) (local_time->tm_gmtoff / 60);
|
||||
else
|
||||
|
||||
@@ -30,7 +30,7 @@ winpr_module_add(
|
||||
timer.c
|
||||
wait.c)
|
||||
|
||||
if((NOT WIN32) AND (NOT APPLE) AND (NOT ANDROID))
|
||||
if((NOT WIN32) AND (NOT APPLE) AND (NOT ANDROID) AND (NOT OPENBSD))
|
||||
winpr_library_add(rt)
|
||||
endif()
|
||||
|
||||
|
||||
@@ -109,7 +109,7 @@ static long long ts_difftime(const struct timespec *o,
|
||||
#if !defined(HAVE_PTHREAD_GNU_EXT)
|
||||
#include <pthread.h>
|
||||
|
||||
#if defined(__FreeBSD__) || defined(sun)
|
||||
#if defined(__FreeBSD__) || defined(sun) || defined(__OpenBSD__)
|
||||
/*the only way to get it work is to remove the static*/
|
||||
int pthread_mutex_timedlock(pthread_mutex_t *mutex, const struct timespec *timeout)
|
||||
#else
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
winpr_module_add(sysinfo.c)
|
||||
|
||||
if((NOT WIN32) AND (NOT APPLE) AND (NOT ANDROID))
|
||||
if((NOT WIN32) AND (NOT APPLE) AND (NOT ANDROID) AND (NOT OPENBSD))
|
||||
winpr_library_add(rt)
|
||||
endif()
|
||||
|
||||
|
||||
@@ -106,7 +106,7 @@ static DWORD GetNumberOfProcessors()
|
||||
int mib[4];
|
||||
size_t length = sizeof(numCPUs);
|
||||
mib[0] = CTL_HW;
|
||||
#if defined(__FreeBSD__)
|
||||
#if defined(__FreeBSD__) || defined(__OpenBSD__)
|
||||
mib[1] = HW_NCPU;
|
||||
#else
|
||||
mib[1] = HW_AVAILCPU;
|
||||
|
||||
@@ -577,9 +577,11 @@ int WSAGetLastError(void)
|
||||
break;
|
||||
#endif
|
||||
|
||||
#if defined(EPROTO)
|
||||
case EPROTO:
|
||||
iError = WSAECONNRESET;
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user