FYI everybody.
I have gradually reduced dependencies, especially LCL dependency, between units in Lazarus sources.
One important goal is to allow cmd line programs use the Project and Package systems. LazBuild is such a?cmd line program but currently it must use a NoGUI widgetset hack. Earlier it pulled in a big number of IDE units as dependencies. Now there is only one, unit BuildManager, directly in LazBuild source but it is a nasty one and has lots of dependencies currently.
Anyway, initially reducing the dependencies felt totally frustrating and useless. Removing one dependency in one unit did not change anything. Gradually more and more units could be moved to packages without LCL dependency. I was also able to totally remove?LCL dependency from the IdeProject and IdePackager packages. Now it looks realistic to have?LazBuild without LCL!
Please test. The latest refactoring did not change the public interfaces like some earlier refactoring?did (like LCLProc etc.). However a clean build is required because units have moved.
Juha
