[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Minios-devel] [UNIKRAFT/LIBLWIP v2] 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 <felipe.huici@xxxxxxxxx>
---
 Makefile.uk          | 2 +-
 include/netdb.h      | 7 +++----
 include/sys/socket.h | 2 ++
 3 files changed, 6 insertions(+), 5 deletions(-)

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..59d0bd7 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 <uk/config.h>
+#if CONFIG_LWIP_SOCKETS
 #if CONFIG_HAVE_LIBC
 #include <fcntl.h>
 #include <poll.h>
@@ -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_ */
-- 
2.20.1


_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.