IDE CheckInterPkgFiles: a few questions... lazarus / 13-General ---------------------------------------------------------------------- ChrisF ยท 2015-06-15 17:42 Playing with the current trunk version of Lazarus, I've discovered a new functionality: a check of "consistency" between the packages installed in the IDE. Apparently (and unless I'm wrong), - this check is done when new package(s) have been added/modified/suppressed and the IDE is rebuilt: great, - but also each time a user project is compiled or even only run inside the IDE (for the packages used by the project): hum... - and is also dealing with the user's project files: argh ! Before I introduce any requests (and eventually patches) in the bug tracker concerning this new functionality, I'd like to know first the main concepts and goals about it. Therefore, a few preliminary questions ... 1/ Is this normal that this check is not called only when the IDE is build ? Or is it a temporary situation ? I've seen that some packages are recompiled (LCLBase, Lazutils, ...) when the EnableUTF8RTL option is modified. Is this the reason of the check for each project ? Is it temporary ? 2/ If 1/="Yes", would it be possible that the user's project files are excluded from this check (project directories and additional "-Fu" paths) ? For instance, considering my own case. I'm "overwriting" some package files (on purposes), using the '-Fu' compiler option. Of course, they have the same names than those present in the packages. Until Lazarus 1.4 included, everything was fine. Now, I'm getting an unpleasant "Warning: Duplicate file ..." message during each compilation (2 messages per each file, more over). Though the final executable is still produced and correct, indeed. I mean, checking "consistency" for the packages present in the IDE is certainly a good idea: more over, IDE code, IDE rules. But what I'm doing with my own projects is not the IDE business. Everything is between me (well, my code in fact) and the compiler: for this part, the IDE is just supposed to be a -useful- intermediate. That's why I'd wished to exclude the user's files from this check; or at least to have the possibility to do it. 3/ If 1/="Yes" and 2/="No", is there any way to suppress these warnings (at the user's level) ? Any language compiler has the possibility to exclude some part of the code from producing warnings. So, how can I ask to this new "IDE compiler" to do the same thing with my own duplicate files ? Additional note: Testing this functionality is currently really tricky, as it seems that there is an additional bug concerning it. The first time such a project is compiled, you get these warning messages. But after that (i.e. when the project .ppu files are present), you get instead an unexpected "division by zero" error (sic !). See: - attached "capture.png" file, - probably related also to: http://free-pascal- lazarus.989080.n3.nabble.com/Lazarus-Division-by-zero-with- fpc-r30855-td4042292.html Any other comments/opinions/suggestions are welcomed ...