Added generation of include/osmocom/core/socket_compat.h

This file is required to compile header files on machines that do not
have sys/socket.h.

Change-Id: Ia3eafc992221900bbbf1760f669725bf9da92105
This commit is contained in:
Andreas Eversberg 2023-06-09 15:21:56 +02:00 committed by laforge
parent 8d42394c89
commit bb20d4e703
3 changed files with 18 additions and 0 deletions

View File

@ -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=""])

View File

@ -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

View File

@ -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