Skip to content

Commit 4568b89

Browse files
committed
fix: HaikuOS support
1 parent 8c8b383 commit 4568b89

2 files changed

Lines changed: 14 additions & 2 deletions

File tree

‎include/redasm/support/byteorder.h‎

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,25 @@
22

33
#include <redasm/config.h>
44

5-
#if !defined(_WIN32)
5+
#if defined(__HAIKU__)
6+
#include <endian.h>
7+
#elif !defined(_WIN32)
68
#include <sys/param.h>
9+
#else
10+
#error "byteorder: unsupported platform"
711
#endif
812

913
#if defined(_WIN32) // Windows is always little-endian
1014
#define RD_IS_LITTLE_ENDIAN 1
1115
#define RD_IS_BIG_ENDIAN 0
16+
#elif defined(__HAIKU__)
17+
#if BYTE_ORDER == BIG_ENDIAN
18+
#define RD_IS_LITTLE_ENDIAN 0
19+
#define RD_IS_BIG_ENDIAN 1
20+
#else
21+
#define RD_IS_LITTLE_ENDIAN 1
22+
#define RD_IS_BIG_ENDIAN 0
23+
#endif
1224
#elif defined(__BYTE_ORDER)
1325
#if defined(__BIG_ENDIAN) && (__BYTE_ORDER == __BIG_ENDIAN)
1426
#define RD_IS_LITTLE_ENDIAN 0

‎src/support/utils.c‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ static const char* _rd_get_temp_path(void) {
3232
DWORD len = GetTempPath(MAX_PATH, tmp);
3333
if(len == 0 || len > MAX_PATH) return NULL;
3434
return tmp;
35-
#elif defined(__unix__) || defined(__APPLE__)
35+
#elif defined(__unix__) || defined(__APPLE__) || defined(__HAIKU__)
3636
const char* const CANDIDATES[] = {
3737
getenv("TMPDIR"), getenv("TEMP"), getenv("TMP"), P_tmpdir, "/tmp",
3838
};

0 commit comments

Comments
 (0)