Subject Re: [IB-Architect] First impressions
Author Ann Harrison
At 10:22 AM 7/27/2000 +1000, Jan Mikkelsen wrote:
>I've spent a little bit of time looking through the source code. Here are
>my first impressions:
>
>- The build system is really bad. Was there an improved system which was
>not released, or is this it?

Sorry, this is it - can you believe? The Y2K thing was a disaster
because several of the build machines were scrapped, requiring a
redo of the build system.

>- The #ifdef approach to multiplatform code needs to be altered
>considerably. Splitting things into method specific files, with ifdefs by
>feature, rather than by platform is probably going to help. Things like
>really need to be fixed:
>
>#ifndef RANDOM_PLATFORM_1
>#ifndef RANDOM_PLATFORM_2
>#ifndef RANDOM_PLATFORM_3
> do something;
>#endif
>#endif
>#endif

Right again. You'll notice that some things are done that way
(e.g. the system specific variants of PIO.)


>- There seems to be (unless I've missed something) a bootstrapping problem:
>Just about everything (including gpre) seems to require files generated by
>codes.e which needs gpre to compile.

Yes. Fortunately, gpre generates close to system independent code,
and can be built as a "cross-preprocessor."

>- sprintf() seems to be used unsafely (ie: with buffers potentially too
>small) in at least one place. I haven't gone looking for this kind of
>thing, so I assume it happens regularly.

Yep. That's a signature problem.



>What's next:
>
>Unless someone has already done it, I'm going to throw away the current
>build system and create Makefiles for our in-house build system. Beyond
>that, I think there will be cruft removal and cleanup before any more
>functionality is added.

Jan,
If you work on the makefiles, I'll work on cruft removal. We deliberately
left some very ancient and ugly ports in place - various people had various
reasons for wanting them.

Best,

Ann