Sorry, I forgot to check and clean the deprecated messages from Lazarus sources caused by deprecating those Debug procedures.
LCLBase already depends on LazUtils through the FreeTypeLaz package.
LazLoggerBase can be added to any uses section without problems. Can you please do it?
LazUtils has the least amount of dependencies and can be used in console programs.
LCLBase and LCL pull a GUI library dependency with them. It is important to move code that is
not specific to GUI out of LCL. Especially unit LCLProc had lots of such code.
The ongoing effort is to reduce dependencies. It makes the code more modular and improves it.
The Lazarus package system is already in its own package IdePackager. Removing LCL dependency from it is realistic but requires some refactoring.
The project related code is much harder. It contains sessions and is tied to the IDE. Requires much more refactoring.