fix libosmocore build for NuttX target

this fixes some compilation issues with libosmocore under NuttX,
particularly as some #defines are missing or some header files are
slightly different.
diff --git a/configure.ac b/configure.ac
index ef74932..acd153d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -31,7 +31,7 @@
 
 dnl checks for header files
 AC_HEADER_STDC
-AC_CHECK_HEADERS(execinfo.h sys/select.h sys/socket.h syslog.h ctype.h)
+AC_CHECK_HEADERS(execinfo.h sys/select.h sys/socket.h syslog.h ctype.h netinet/tcp.h)
 # for src/conv.c
 AC_FUNC_ALLOCA
 AC_SEARCH_LIBS([dlopen], [dl dld], [LIBRARY_DL="$LIBS";LIBS=""])
diff --git a/src/application.c b/src/application.c
index 881f011..9c3fe52 100644
--- a/src/application.c
+++ b/src/application.c
@@ -81,10 +81,16 @@
 void osmo_init_ignore_signals(void)
 {
 	/* Signals that by default would terminate */
+#ifdef SIGPIPE
 	signal(SIGPIPE, SIG_IGN);
+#endif
 	signal(SIGALRM, SIG_IGN);
+#ifdef SIGHUP
 	signal(SIGHUP, &sighup_hdlr);
+#endif
+#ifdef SIGIO
 	signal(SIGIO, SIG_IGN);
+#endif
 }
 
 /*! \brief Initialize the osmocom logging framework
diff --git a/src/ctrl/control_if.c b/src/ctrl/control_if.c
index c20c1e0..dc19120 100644
--- a/src/ctrl/control_if.c
+++ b/src/ctrl/control_if.c
@@ -31,10 +31,12 @@
 
 #include <arpa/inet.h>
 
-#include <netinet/tcp.h>
 #include <netinet/in.h>
+#ifdef HAVE_NETINET_TCP_H
+#include <netinet/tcp.h>
+#endif
 
-#include <sys/fcntl.h>
+#include <fcntl.h>
 #include <sys/ioctl.h>
 #include <sys/socket.h>
 #include <sys/types.h>
@@ -378,6 +380,7 @@
 	LOGP(DLCTRL, LOGL_INFO, "accept()ed new control connection from %s\n",
 		inet_ntoa(sa.sin_addr));
 
+#ifdef TCP_NODELAY
 	on = 1;
 	ret = setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, &on, sizeof(on));
 	if (ret != 0) {
@@ -385,6 +388,7 @@
 		close(fd);
 		return ret;
 	}
+#endif
 	ccon = ctrl_connection_alloc(listen_bfd->data);
 	if (!ccon) {
 		LOGP(DLCTRL, LOGL_ERROR, "Failed to allocate.\n");
diff --git a/src/gsm/a5.c b/src/gsm/a5.c
index de821e8..10a063e 100644
--- a/src/gsm/a5.c
+++ b/src/gsm/a5.c
@@ -39,6 +39,11 @@
 
 #include <osmocom/gsm/a5.h>
 
+/* Somme OS (like Nuttx) don't have ENOTSUP */
+#ifndef ENOTSUP
+#define ENOTSUP EINVAL
+#endif
+
 /*! \brief Main method to generate a A5/x cipher stream
  *  \param[in] n Which A5/x method to use
  *  \param[in] key 8 byte array for the key (as received from the SIM)
diff --git a/src/macaddr.c b/src/macaddr.c
index 7bc4401..59c481f 100644
--- a/src/macaddr.c
+++ b/src/macaddr.c
@@ -89,6 +89,7 @@
 
 #include <sys/ioctl.h>
 #include <net/if.h>
+#include <netinet/in.h>
 #include <netinet/ip.h>
 
 int osmo_get_macaddr(uint8_t *mac_out, const char *dev_name)