Subject Re: [IBO] Update on D2009 progress
Author Salvatore Besso
hi Jason,

I'm very happy to hear from you again after a so long time. Since the topic regards new IBO version, it would be time to
reorganize the package that you release. I had already sent a message here about nine months ago, but due to various
understandable reasons, it has passed unobserved to your eyes. My message was a reply to another message that you had
posted the day before:

> Subject: For next release if possible
>
> I am working on having separate debug DCU files generated.
> Care to test things when it is ready?
>
> Jason

The reason of my reply was not only your need to have separate debug and release units, but also because I'm already
doing so at every new IBO release with the aid of some batch files and modified packages. As you can imagine this is a
very annoying task to do every time an IBO version comes out and it would be great if the whole could be integrated in
IBO. Really not so difficult. I actually have the batch files for Delphi 7 and Delphi 2007 and the modified packages
(release and debug) for Delphi 2007, but using the existing batch files as templates it should be very easy to implement
the other files for all the other supported Delphi versions with just a few find & replace work (if I remember well the
minimum version is D3, right?). Making the other packages should be tricky too, but I haven't all the other Delphi
versions and mistakes could be made.

In substance the new folder structure should be, more or less, the following (I have not included all compiler versions
for brevity, but I suppose that it is clear enough):

IBO whatsoever version
|___Source
|___Packages
|___c3
|___c4
......
|___d2007
|___d2009
|___Debug packages
|___c3
|___c4
......
|___d2007
|___d2009
|___lib
|___c3
|___c4
......
|___d2007
|___d2009
|___debug
|___c3
|___c4
......
|___d2007
|___d2009
|___Logs
|___Addons
|___Docs (where to put release notes and other docs)
|
.....

Of course all the source files, demos and docs must be moved to the correct folders. The modified packages are changed
in order to automatically put dcu's in the correct folders during compilation as well (both release and debug versions)
using relative paths. The batch files are put in the root IBO folder. And as a bonus, using these batch files you can
drop the bpg files that are now useless. The only undefined thing is where to put bpl's and dcp's (actually the path is
hard coded in the batch files).

The "Logs" folder serves to store compilation log files, since dcc32 instruction in the batch file redirects compiler
output to such files. Then, using a small command line utility that I have written by myself, the log file is scanned
and analyzed for errors in the same batch file, just after compilation has finished, showing the file name and the line
number where the error has occurred. In this way I'm able to show compilation success/failure in the batch file itself.

In my opinion this might be a good starting point to restructure the whole IBO package that, always in my opinion :-) ,
it's a bit cahotic as it is now. Moreover I suppose that you can call this batch file from the installer, if required.
If you are interested I will be very glad to give you the batch files and modified packages (D2007) to study and
possibly use as templates and also the command line utility (Delphi source) to verify compilation result.

It is only a first step or an idea, but every journey begins with a first step :-)

Regards

--
Salvatore