[MERGED] libosmocore[master]: Fix build for OSX

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/OpenBSC@lists.osmocom.org/.

Holger Freyther gerrit-no-reply at lists.osmocom.org
Fri May 20 16:32:58 UTC 2016


Holger Freyther has submitted this change and it was merged.

Change subject: Fix build for OSX
......................................................................


Fix build for OSX

Change-Id: I580a500edcf4812e570be586890abef746083a8c
Reviewed-on: https://gerrit.osmocom.org/74
Tested-by: Jenkins Builder
Reviewed-by: Holger Freyther <holger at freyther.de>
---
M include/osmocom/core/endian.h
M src/stats.c
2 files changed, 24 insertions(+), 1 deletion(-)

Approvals:
  Jenkins Builder: Verified
  Holger Freyther: Looks good to me, approved



diff --git a/include/osmocom/core/endian.h b/include/osmocom/core/endian.h
index c890fd7..02c6406 100644
--- a/include/osmocom/core/endian.h
+++ b/include/osmocom/core/endian.h
@@ -23,6 +23,17 @@
         #else
                 #error "Unknown endian"
         #endif
+#elif defined(__APPLE__)
+#include <machine/endian.h>
+	#if defined(__DARWIN_LITTLE_ENDIAN)
+		#define OSMO_IS_LITTLE_ENDIAN		1
+		#define OSMO_IS_BIG_ENDIAN		0
+	#elif define(__DARWIN_BIG_ENDIAN)
+		#define OSMO_IS_LITTLE_ENDIAN		0
+		#define OSMO_IS_BIG_ENDIAN		1
+	#else
+		#error "Unknown endian"
+	#endif
 #else
 #include <endian.h>
         #if __BYTE_ORDER == __LITTLE_ENDIAN
diff --git a/src/stats.c b/src/stats.c
index 73b2703..5f1d028 100644
--- a/src/stats.c
+++ b/src/stats.c
@@ -301,6 +301,14 @@
 	if (sock == -1)
 		return -errno;
 
+#if defined(__APPLE__) && !defined(MSG_NOSIGNAL)
+	{
+		static int val = 1;
+
+		rc = setsockopt(sock, SOL_SOCKET, SO_NOSIGPIPE, (void*)&val, sizeof(val));
+		goto failed;
+	}
+#endif
 	if (srep->bind_addr_len > 0) {
 		rc = bind(sock, &srep->bind_addr, srep->bind_addr_len);
 		if (rc == -1)
@@ -345,7 +353,11 @@
 {
 	int rc;
 
-	rc = sendto(srep->fd, data, data_len, MSG_NOSIGNAL | MSG_DONTWAIT,
+	rc = sendto(srep->fd, data, data_len,
+#ifdef MSG_NOSIGNAL
+		MSG_NOSIGNAL |
+#endif
+		MSG_DONTWAIT,
 		&srep->dest_addr, srep->dest_addr_len);
 
 	if (rc == -1)

-- 
To view, visit https://gerrit.osmocom.org/74
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I580a500edcf4812e570be586890abef746083a8c
Gerrit-PatchSet: 5
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: Arran Cudbard-bell <a.cudbardb at freeradius.org>
Gerrit-Reviewer: Holger Freyther <holger at freyther.de>
Gerrit-Reviewer: Jenkins Builder



More information about the OpenBSC mailing list