Browse Source

Haiku: fix building with UNIX_ENABLED.

Kostadin Damyanov 10 years ago
parent
commit
4e07a2dea8

+ 5 - 1
drivers/unix/packet_peer_udp_posix.cpp

@@ -13,7 +13,11 @@
 #include <stdio.h>
 
 #ifndef NO_FCNTL
-#include <sys/fcntl.h>
+	#ifdef __HAIKU__
+		#include <fcntl.h>
+	#else
+		#include <sys/fcntl.h>
+	#endif
 #else
 #include <sys/ioctl.h>
 #endif

+ 7 - 2
drivers/unix/stream_peer_tcp_posix.cpp

@@ -39,7 +39,11 @@
 #include <netdb.h>
 #include <sys/types.h>
 #ifndef NO_FCNTL
-#include <sys/fcntl.h>
+	#ifdef __HAIKU__
+		#include <fcntl.h>
+	#else
+		#include <sys/fcntl.h>
+	#endif
 #else
 #include <sys/ioctl.h>
 #endif
@@ -202,7 +206,8 @@ Error StreamPeerTCPPosix::write(const uint8_t* p_data,int p_bytes, int &r_sent,
 
 	while (data_to_send) {
 
-		int sent_amount = send(sockfd, offset, data_to_send, MSG_NOSIGNAL);
+		// TODO: handle MSG_NOSIGNAL on __HAIKU__
+		int sent_amount = send(sockfd, offset, data_to_send, 0);
 		//printf("Sent TCP data of %d bytes, errno %d\n", sent_amount, errno);
 
 		if (sent_amount == -1) {

+ 5 - 1
drivers/unix/tcp_server_posix.cpp

@@ -41,7 +41,11 @@
 #include <netdb.h>
 #include <sys/types.h>
 #ifndef NO_FCNTL
-#include <sys/fcntl.h>
+	#ifdef __HAIKU__
+		#include <fcntl.h>
+	#else
+		#include <sys/fcntl.h>
+	#endif
 #else
 #include <sys/ioctl.h>
 #endif

+ 4 - 2
platform/haiku/detect.py

@@ -34,9 +34,11 @@ def configure(env):
 			env["bits"]="32"
 	
 	env.Append(CPPPATH = ['#platform/haiku'])
+	
+	# TODO: add clang and try gcc2 too
 	env["CC"] = "gcc-x86"
 	env["CXX"] = "g++-x86"
-	env.Append(CPPFLAGS = ['-DDEBUG_METHODS_ENABLED'])
 	
+	env.Append(CPPFLAGS = ['-DDEBUG_METHODS_ENABLED'])
 	env.Append(CPPFLAGS = ['-DUNIX_ENABLED'])
-	#env.Append(LIBS = ['be'])
+	env.Append(LIBS = ['be'])

+ 5 - 0
platform/haiku/os_haiku.cpp

@@ -0,0 +1,5 @@
+#include "os_haiku.h"
+
+String OS_Haiku::get_name() {
+	return "Haiku";
+}