mirror of
https://github.com/PurpleI2P/i2pd
synced 2024-11-10 00:00:29 +03:00
Add Haiku OS support (#1970)
This commit is contained in:
parent
fb420bb563
commit
0cf656cd76
3
Makefile
3
Makefile
@ -67,6 +67,9 @@ else ifneq (, $(findstring linux, $(SYS))$(findstring gnu, $(SYS)))
|
|||||||
else ifneq (, $(findstring freebsd, $(SYS))$(findstring openbsd, $(SYS)))
|
else ifneq (, $(findstring freebsd, $(SYS))$(findstring openbsd, $(SYS)))
|
||||||
DAEMON_SRC += $(DAEMON_SRC_DIR)/UnixDaemon.cpp
|
DAEMON_SRC += $(DAEMON_SRC_DIR)/UnixDaemon.cpp
|
||||||
include Makefile.bsd
|
include Makefile.bsd
|
||||||
|
else ifneq (, $(findstring haiku, $(SYS)))
|
||||||
|
DAEMON_SRC += $(DAEMON_SRC_DIR)/UnixDaemon.cpp
|
||||||
|
include Makefile.haiku
|
||||||
else # not supported
|
else # not supported
|
||||||
$(error Not supported platform)
|
$(error Not supported platform)
|
||||||
endif
|
endif
|
||||||
|
10
Makefile.haiku
Normal file
10
Makefile.haiku
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
CXX = g++
|
||||||
|
CXXFLAGS := -Wall -std=c++11
|
||||||
|
INCFLAGS = -I/system/develop/headers
|
||||||
|
DEFINES = -D_DEFAULT_SOURCE -D_GNU_SOURCE
|
||||||
|
LDLIBS = -lbe -lbsd -lnetwork -lz -lcrypto -lssl -lboost_system -lboost_date_time -lboost_filesystem -lboost_program_options -lpthread
|
||||||
|
|
||||||
|
ifeq ($(USE_UPNP),yes)
|
||||||
|
DEFINES += -DUSE_UPNP
|
||||||
|
LDLIBS += -lminiupnpc
|
||||||
|
endif
|
@ -139,6 +139,10 @@ if(APPLE)
|
|||||||
add_definitions(-DMAC_OSX)
|
add_definitions(-DMAC_OSX)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(HAIKU)
|
||||||
|
add_definitions(-D_DEFAULT_SOURCE -D_GNU_SOURCE)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
add_definitions(-DWINVER=0x0600)
|
add_definitions(-DWINVER=0x0600)
|
||||||
add_definitions(-D_WIN32_WINNT=0x0600)
|
add_definitions(-D_WIN32_WINNT=0x0600)
|
||||||
|
@ -136,6 +136,14 @@ namespace fs {
|
|||||||
dataDir = (home != NULL && strlen(home) > 0) ? home : "";
|
dataDir = (home != NULL && strlen(home) > 0) ? home : "";
|
||||||
dataDir += "/Library/Application Support/" + appName;
|
dataDir += "/Library/Application Support/" + appName;
|
||||||
return;
|
return;
|
||||||
|
#elif defined(__HAIKU__)
|
||||||
|
char *home = getenv("HOME");
|
||||||
|
if (home != NULL && strlen(home) > 0) {
|
||||||
|
dataDir = std::string(home) + "/config/settings/" + appName;
|
||||||
|
} else {
|
||||||
|
dataDir = "/tmp/" + appName;
|
||||||
|
}
|
||||||
|
return;
|
||||||
#else /* other unix */
|
#else /* other unix */
|
||||||
#if defined(ANDROID)
|
#if defined(ANDROID)
|
||||||
const char * ext = getenv("EXTERNAL_STORAGE");
|
const char * ext = getenv("EXTERNAL_STORAGE");
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
#if defined(__FreeBSD__) || defined(__NetBSD__)
|
#if defined(__FreeBSD__) || defined(__NetBSD__)
|
||||||
#include <sys/endian.h>
|
#include <sys/endian.h>
|
||||||
|
|
||||||
#elif defined(__linux__) || defined(__FreeBSD_kernel__) || defined(__OpenBSD__) || defined(__GLIBC__)
|
#elif defined(__linux__) || defined(__FreeBSD_kernel__) || defined(__OpenBSD__) || defined(__GLIBC__) || defined(__HAIKU__)
|
||||||
#include <endian.h>
|
#include <endian.h>
|
||||||
|
|
||||||
#elif defined(__APPLE__) && defined(__MACH__)
|
#elif defined(__APPLE__) && defined(__MACH__)
|
||||||
|
@ -27,6 +27,17 @@
|
|||||||
# include <AvailabilityMacros.h>
|
# include <AvailabilityMacros.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(__HAIKU__)
|
||||||
|
#include <gnu/pthread.h>
|
||||||
|
#include <posix/pthread.h>
|
||||||
|
#include <posix/sys/sockio.h>
|
||||||
|
#include <posix/sys/ioctl.h>
|
||||||
|
#ifndef _DEFAULT_SOURCE
|
||||||
|
#define _DEFAULT_SOURCE
|
||||||
|
#include <bsd/ifaddrs.h>
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
Loading…
Reference in New Issue
Block a user