From bdbcc765a19bf8f07072f6b4478c0083cf24a70b Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 28 May 2025 03:22:33 +0200 Subject: [PATCH] debug.h: Avoid cyclic include dependency The "lwip/opt.h" header file includes "lwip/debug.h". Do not include "lwip/opt.h" in "lwip/debug.h". Produce an error if "lwip/debug.h" is included before "lwip/opt.h". --- contrib/ports/freertos/sys_arch.c | 1 + contrib/ports/unix/port/netif/fifo.c | 1 + contrib/ports/unix/port/netif/pcapif.c | 1 + contrib/ports/unix/port/netif/sio.c | 1 + contrib/ports/unix/port/sys_arch.c | 2 +- src/include/lwip/debug.h | 5 ++++- 6 files changed, 9 insertions(+), 2 deletions(-) diff --git a/contrib/ports/freertos/sys_arch.c b/contrib/ports/freertos/sys_arch.c index 856835384..088886376 100644 --- a/contrib/ports/freertos/sys_arch.c +++ b/contrib/ports/freertos/sys_arch.c @@ -31,6 +31,7 @@ */ /* lwIP includes. */ +#include "lwip/opt.h" #include "lwip/debug.h" #include "lwip/def.h" #include "lwip/sys.h" diff --git a/contrib/ports/unix/port/netif/fifo.c b/contrib/ports/unix/port/netif/fifo.c index 350d3eaed..2756b1eb5 100644 --- a/contrib/ports/unix/port/netif/fifo.c +++ b/contrib/ports/unix/port/netif/fifo.c @@ -3,6 +3,7 @@ /* ---------------------------------------------- */ /* --- fifo 4 unix ------------------------------ */ /* ---------------------------------------------- */ +#include "lwip/opt.h" #include "lwip/err.h" #include "netif/fifo.h" #include "lwip/debug.h" diff --git a/contrib/ports/unix/port/netif/pcapif.c b/contrib/ports/unix/port/netif/pcapif.c index 2851c8227..aee73dc35 100644 --- a/contrib/ports/unix/port/netif/pcapif.c +++ b/contrib/ports/unix/port/netif/pcapif.c @@ -32,6 +32,7 @@ #ifndef linux /* Apparently, this doesn't work under Linux. */ +#include "lwip/opt.h" #include "lwip/debug.h" #include diff --git a/contrib/ports/unix/port/netif/sio.c b/contrib/ports/unix/port/netif/sio.c index 41bbba5d5..a834fcebe 100644 --- a/contrib/ports/unix/port/netif/sio.c +++ b/contrib/ports/unix/port/netif/sio.c @@ -17,6 +17,7 @@ #include "netif/sio.h" #include "netif/fifo.h" +#include "lwip/opt.h" #include "lwip/debug.h" #include "lwip/def.h" #include "lwip/sys.h" diff --git a/contrib/ports/unix/port/sys_arch.c b/contrib/ports/unix/port/sys_arch.c index 1e094e800..dcc6a8cca 100644 --- a/contrib/ports/unix/port/sys_arch.c +++ b/contrib/ports/unix/port/sys_arch.c @@ -46,6 +46,7 @@ */ #define _GNU_SOURCE /* pull in pthread_setname_np() on Linux */ +#include "lwip/opt.h" #include "lwip/debug.h" #include @@ -64,7 +65,6 @@ #endif #include "lwip/sys.h" -#include "lwip/opt.h" #include "lwip/stats.h" #include "lwip/tcpip.h" diff --git a/src/include/lwip/debug.h b/src/include/lwip/debug.h index 0ec7e76ec..6e7506637 100644 --- a/src/include/lwip/debug.h +++ b/src/include/lwip/debug.h @@ -38,7 +38,10 @@ #define LWIP_HDR_DEBUG_H #include "lwip/arch.h" -#include "lwip/opt.h" + +#ifndef LWIP_HDR_OPT_H +#error "lwip/opt.h must be included before this header file" +#endif /** * @defgroup debugging_levels LWIP_DBG_MIN_LEVEL and LWIP_DBG_TYPES_ON values