From: Felipe Huici Date: Fri, 14 Feb 2020 13:12:14 +0000 (+0100) Subject: Fix compile error when enabling Operation mode (Mainloop (non-threaded). X-Git-Tag: RELEASE-0.4~2 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=2da808bf5ecdbb28b377a934592a237bafb90594;p=unikraft%2Flibs%2Flwip.git Fix compile error when enabling Operation mode (Mainloop (non-threaded). Enabling operating mode non-threaded (aka CONFIG_LWIP_NOTHREADS) disables the socket API from lwip. This commit makes it so that our socket-related glue code isn't added to the build if this option is enabled. Signed-off-by: Felipe Huici Reviewed-by: Simon Kuenzer --- diff --git a/Makefile.uk b/Makefile.uk index 56ebcfc..5054ef4 100644 --- a/Makefile.uk +++ b/Makefile.uk @@ -80,6 +80,7 @@ LIBLWIP_SRCS-y += $(LIBLWIP_BASE)/proto.c LIBLWIP_SRCS-y += $(LIBLWIP_BASE)/host.c LIBLWIP_SRCS-y += $(LIBLWIP_BASE)/serv.c LIBLWIP_SRCS-y += $(LIBLWIP_BASE)/inet.c|unikraft +LIBLWIP_SRCS-$(CONFIG_LWIP_DNS) += $(LIBLWIP_BASE)/getnameinfo.c|unikraft endif LIBLWIP_SRCS-$(CONFIG_LWIP_THREADS) += $(LIBLWIP_BASE)/mutex.c|unikraft LIBLWIP_SRCS-$(CONFIG_LWIP_THREADS) += $(LIBLWIP_BASE)/semaphore.c|unikraft @@ -91,7 +92,6 @@ LIBLWIP_SRCS-y += $(LIBLWIP_BASE)/time.c|unikraft LIBLWIP_SRCS-y += $(LIBLWIP_BASE)/sendfile.c|unikraft LIBLWIP_SRCS-$(CONFIG_LWIP_SOCKET) += $(LIBLWIP_BASE)/sockets.c|unikraft LIBLWIP_SOCKETS_FLAGS-y += -Wno-cast-function-type -LIBLWIP_SRCS-$(CONFIG_LWIP_DNS) += $(LIBLWIP_BASE)/getnameinfo.c|unikraft LIBLWIP_SRCS-y += $(LIBLWIP_EXTRACTED)/core/init.c LIBLWIP_SRCS-y += $(LIBLWIP_EXTRACTED)/core/def.c LIBLWIP_SRCS-y += $(LIBLWIP_EXTRACTED)/core/inet_chksum.c diff --git a/include/netdb.h b/include/netdb.h index 7742012..b5ae70a 100644 --- a/include/netdb.h +++ b/include/netdb.h @@ -23,6 +23,9 @@ int getaddrinfo(const char *node, const char *service, struct addrinfo **res); void freeaddrinfo(struct addrinfo *res); +int getnameinfo(const struct sockaddr *addr, socklen_t addrlen, + char *host, socklen_t hostlen, + char *serv, socklen_t servlen, int flags); #endif /* LWIP_DNS && LWIP_SOCKET && !(LWIP_COMPAT_SOCKETS) */ @@ -74,10 +77,6 @@ void setprotoent(int stayopen); #define EAI_SYSTEM -11 #define EAI_OVERFLOW -12 -int getnameinfo(const struct sockaddr *addr, socklen_t addrlen, - char *host, socklen_t hostlen, - char *serv, socklen_t servlen, int flags); - struct servent *getservbyname(const char *name, const char *proto); struct servent *getservbyport(int port, const char *proto); int getservbyport_r(int port, const char *prots, struct servent *se, diff --git a/include/sys/socket.h b/include/sys/socket.h index 8007cb8..8f6ecbc 100644 --- a/include/sys/socket.h +++ b/include/sys/socket.h @@ -38,6 +38,7 @@ extern "C" { #endif #include +#if CONFIG_LWIP_SOCKETS #if CONFIG_HAVE_LIBC #include #include @@ -105,4 +106,5 @@ int socketpair(int domain, int type, int protocol, int sv[2]); } #endif +#endif /* CONFIG_LWIP_SOCKETS */ #endif /* _UK_LWIP_SOCKET_H_ */