Skip to content
Permalink
Browse files

Complete Haiku platform support. (#10311)

Fixing linkage/libraries missing issue.
Implements missing platform specifics.
  • Loading branch information
devnexen committed Aug 23, 2020
1 parent 98faeac commit cf5547227d9fffd9fb0043ce0b5633b831536eb6
Showing with 24 additions and 5 deletions.
  1. +4 −0 src/CMakeLists.txt
  2. +0 −5 src/network/CMakeLists.txt
  3. +10 −0 src/porting.cpp
  4. +2 −0 src/porting.h
  5. +4 −0 src/threading/thread.cpp
  6. +4 −0 src/threading/thread.h
@@ -351,6 +351,10 @@ else()
if (ICONV_LIBRARY)
set(PLATFORM_LIBS ${PLATFORM_LIBS} ${ICONV_LIBRARY})
endif()
if (HAIKU)
set(PLATFORM_LIBS ${PLATFORM_LIBS} intl network)
endif()

endif()

check_include_files(endian.h HAVE_ENDIAN_H)
@@ -16,8 +16,3 @@ if (BUILD_CLIENT)
PARENT_SCOPE
)
endif()

# Haiku networking support
if(HAIKU)
set(PLATFORM_LIBS -lnetwork ${PLATFORM_LIBS})
endif()
@@ -56,6 +56,10 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include <crt_externs.h>
#endif

#if defined(__HAIKU__)
#include <FindDirectory.h>
#endif

#include "config.h"
#include "debug.h"
#include "filesys.h"
@@ -321,6 +325,12 @@ bool getCurrentExecPath(char *buf, size_t len)
return true;
}

#elif defined(__HAIKU__)

bool getCurrentExecPath(char *buf, size_t len)
{
return find_path(B_APP_IMAGE_SYMBOL, B_FIND_PATH_IMAGE_PATH, NULL, buf, len) == B_OK;
}

//// Solaris
#elif defined(__sun) || defined(sun)
@@ -309,6 +309,8 @@ inline const char *getPlatformName()
#else
"SunOS"
#endif
#elif defined(__HAIKU__)
"Haiku"
#elif defined(__CYGWIN__)
"Cygwin"
#elif defined(__unix__) || defined(__unix)
@@ -225,6 +225,10 @@ void Thread::setName(const std::string &name)

pthread_setname_np(name.c_str());

#elif defined(__HAIKU__)

rename_thread(find_thread(NULL), name.c_str());

#elif defined(_MSC_VER)

// Windows itself doesn't support thread names,
@@ -36,6 +36,10 @@ DEALINGS IN THE SOFTWARE.
#include <sys/thread.h> // for tid_t
#endif

#ifdef __HAIKU__
#include <kernel/OS.h>
#endif

/*
* On platforms using pthreads, these five priority classes correlate to
* even divisions between the minimum and maximum reported thread priority.

0 comments on commit cf55472

Please sign in to comment.
You can’t perform that action at this time.