diff options
-rw-r--r-- | configure.ac | 1 | ||||
-rw-r--r-- | include/osmocom/core/Makefile.am | 7 | ||||
-rw-r--r-- | include/osmocom/core/socket_compat.h.tpl | 10 |
3 files changed, 18 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index 5e17c7ab..ef15f22d 100644 --- a/configure.ac +++ b/configure.ac @@ -69,6 +69,7 @@ AC_SUBST(LTLDFLAGS_OSMOCTRL) dnl checks for header files AC_HEADER_STDC AC_CHECK_HEADERS(execinfo.h poll.h sys/select.h sys/socket.h sys/signalfd.h sys/eventfd.h sys/timerfd.h syslog.h ctype.h netinet/tcp.h netinet/in.h) +AC_CHECK_DECL(HAVE_SYS_SOCKET_H, AC_SUBST(HAVE_SYS_SOCKET_H, 1), AC_SUBST(HAVE_SYS_SOCKET_H, 0)) # for src/conv.c AC_FUNC_ALLOCA AC_SEARCH_LIBS([dlopen], [dl dld], [LIBRARY_DLOPEN="$LIBS";LIBS=""]) diff --git a/include/osmocom/core/Makefile.am b/include/osmocom/core/Makefile.am index 1d394cd3..e1b52d51 100644 --- a/include/osmocom/core/Makefile.am +++ b/include/osmocom/core/Makefile.am @@ -62,6 +62,7 @@ osmocore_HEADERS = \ sockaddr_str.h \ time_cc.h \ use_count.h \ + socket_compat.h \ $(NULL) if ENABLE_PLUGIN @@ -93,3 +94,9 @@ bit%gen.h: bitXXgen.h.tpl crc%gen.h: crcXXgen.h.tpl $(AM_V_GEN)$(MKDIR_P) $(dir $@) $(AM_V_GEN)sed -e's/XX/$*/g' $< > $@ + +socket_compat.h: socket_compat.h.tpl + $(AM_V_GEN)$(MKDIR_P) $(dir $@) + $(AM_V_GEN)sed -e's/XX/$(HAVE_SYS_SOCKET_H)/g' $< > $@ + +EXTRA_DIST = socket_compat.h.tpl diff --git a/include/osmocom/core/socket_compat.h.tpl b/include/osmocom/core/socket_compat.h.tpl new file mode 100644 index 00000000..43bee9ee --- /dev/null +++ b/include/osmocom/core/socket_compat.h.tpl @@ -0,0 +1,10 @@ +#define HAVE_STRUCT_SOCKADDR_STORAGE XX + +#if HAVE_STRUCT_SOCKADDR_STORAGE + #include <sys/socket.h> +#else +struct sockaddr_storage { + unsigned short ss_family; + char __data[128 - sizeof(unsigned short)]; +}; +#endif |