From b6b429ad4363a054b196c8fcbe09bbd74c5e608f Mon Sep 17 00:00:00 2001 From: Lunaphied Date: Sat, 4 Apr 2026 11:52:40 +0200 Subject: [PATCH] gowin: cleanup a few header dependencies to make LSP a bit happier This still leaves some warnings about indirect header includes which is annoying but those can be cleaned up later if desired. The changes to how constants are handled makes the LSP able to actually handle the header files that use constants at the cost of making it see the body of the himbaechel_constids.h file as commented out. --- himbaechel/himbaechel_constids.h | 4 ++-- himbaechel/uarch/gowin/cst.cc | 3 --- himbaechel/uarch/gowin/gowin.cc | 1 - himbaechel/uarch/gowin/gowin.h | 3 +++ himbaechel/uarch/gowin/gowin_utils.h | 7 +++++++ himbaechel/uarch/gowin/pack.h | 4 +++- himbaechel/uarch/gowin/pack_io.cc | 2 -- himbaechel/uarch/gowin/pack_iologic.cc | 3 --- 8 files changed, 15 insertions(+), 12 deletions(-) diff --git a/himbaechel/himbaechel_constids.h b/himbaechel/himbaechel_constids.h index 3a5ec254..2b019715 100644 --- a/himbaechel/himbaechel_constids.h +++ b/himbaechel/himbaechel_constids.h @@ -19,6 +19,7 @@ #ifndef HIMBAECHEL_CONSTIDS_H #define HIMBAECHEL_CONSTIDS_H +#ifdef HIMBAECHEL_CONSTIDS /* This enables use of 'constids' similar to a 'true' nextpnr arch in a HIMBAECHEL uarch. @@ -32,9 +33,7 @@ init #include "nextpnr_namespaces.h" -#ifdef HIMBAECHEL_MAIN #include "idstring.h" -#endif NEXTPNR_NAMESPACE_BEGIN @@ -72,3 +71,4 @@ void init_uarch_constids(Arch *arch) NEXTPNR_NAMESPACE_END #endif +#endif diff --git a/himbaechel/uarch/gowin/cst.cc b/himbaechel/uarch/gowin/cst.cc index ca4ad496..80e63635 100644 --- a/himbaechel/uarch/gowin/cst.cc +++ b/himbaechel/uarch/gowin/cst.cc @@ -3,12 +3,9 @@ #include #include "log.h" -#include "nextpnr.h" -#include "util.h" #define HIMBAECHEL_CONSTIDS "uarch/gowin/constids.inc" #include "himbaechel_constids.h" -#include "himbaechel_helpers.h" #include "cst.h" #include "gowin.h" diff --git a/himbaechel/uarch/gowin/gowin.cc b/himbaechel/uarch/gowin/gowin.cc index 40121ff3..420ec18f 100644 --- a/himbaechel/uarch/gowin/gowin.cc +++ b/himbaechel/uarch/gowin/gowin.cc @@ -4,7 +4,6 @@ #include "himbaechel_api.h" #include "himbaechel_helpers.h" #include "log.h" -#include "nextpnr.h" #define GEN_INIT_CONSTIDS #define HIMBAECHEL_CONSTIDS "uarch/gowin/constids.inc" diff --git a/himbaechel/uarch/gowin/gowin.h b/himbaechel/uarch/gowin/gowin.h index efbabad1..c83e0651 100644 --- a/himbaechel/uarch/gowin/gowin.h +++ b/himbaechel/uarch/gowin/gowin.h @@ -1,6 +1,9 @@ #ifndef GOWIN_H #define GOWIN_H +#define HIMBAECHEL_CONSTIDS "uarch/gowin/constids.inc" +#include "himbaechel_constids.h" + #include "nextpnr.h" NEXTPNR_NAMESPACE_BEGIN diff --git a/himbaechel/uarch/gowin/gowin_utils.h b/himbaechel/uarch/gowin/gowin_utils.h index f6a98a43..59409f66 100644 --- a/himbaechel/uarch/gowin/gowin_utils.h +++ b/himbaechel/uarch/gowin/gowin_utils.h @@ -1,6 +1,13 @@ #ifndef GOWIN_UTILS_H #define GOWIN_UTILS_H + +#define HIMBAECHEL_CONSTIDS "uarch/gowin/constids.inc" +#include "himbaechel_constids.h" +#include "himbaechel_helpers.h" + +#include "gowin.h" + #include "design_utils.h" #include "idstringlist.h" #include "nextpnr_namespaces.h" diff --git a/himbaechel/uarch/gowin/pack.h b/himbaechel/uarch/gowin/pack.h index d0c394ac..a1f2a2f9 100644 --- a/himbaechel/uarch/gowin/pack.h +++ b/himbaechel/uarch/gowin/pack.h @@ -1,7 +1,9 @@ #ifndef GOWIN_PACK_H #define GOWIN_PACK_H -#include "nextpnr.h" +#include "himbaechel_helpers.h" + +#include "gowin_utils.h" NEXTPNR_NAMESPACE_BEGIN diff --git a/himbaechel/uarch/gowin/pack_io.cc b/himbaechel/uarch/gowin/pack_io.cc index 26807fa7..ba57dc12 100644 --- a/himbaechel/uarch/gowin/pack_io.cc +++ b/himbaechel/uarch/gowin/pack_io.cc @@ -1,6 +1,5 @@ #include "design_utils.h" #include "log.h" -#include "nextpnr.h" #define HIMBAECHEL_CONSTIDS "uarch/gowin/constids.inc" #include "himbaechel_constids.h" @@ -10,7 +9,6 @@ #include "gowin_utils.h" #include "pack.h" -#include NEXTPNR_NAMESPACE_BEGIN diff --git a/himbaechel/uarch/gowin/pack_iologic.cc b/himbaechel/uarch/gowin/pack_iologic.cc index 80428e79..7c609b8d 100644 --- a/himbaechel/uarch/gowin/pack_iologic.cc +++ b/himbaechel/uarch/gowin/pack_iologic.cc @@ -1,6 +1,5 @@ #include "design_utils.h" #include "log.h" -#include "nextpnr.h" #define HIMBAECHEL_CONSTIDS "uarch/gowin/constids.inc" #include "himbaechel_constids.h" @@ -10,8 +9,6 @@ #include "gowin_utils.h" #include "pack.h" -#include - NEXTPNR_NAMESPACE_BEGIN // ===================================