[Info-vax] Native compilers

Johnny Billquist bqt at softjar.se
Thu Feb 24 14:08:48 EST 2022


On 2022-02-24 19:19, Arne Vajhøj wrote:
> On 2/24/2022 12:47 PM, Dave Froble wrote:
>>
>> Well, as far as I know, some or all of those tools didn't exist when I 
>> developed what I'll call my own "code management and build system". 
>> Talking around 40 or so years here.  Since my procedures still work, 
>> are well understood by me and my associates, they ain't broke, so I 
>> see no reason to fix them, nor do I see any reason to keep changing to 
>> newer systems when they show up.
> 
> As usual there are tradeoffs.

Of course.

> But I would not discard native scripts totally.

Agreed. No tool should be just dismissed.

> Native scripts (DCL on VMS, some shell on *nix, CMD on Windows)
> has some advantages over dedicated build software:
> - it is always available - there are no VMS system without DCL,
>    but plenty of VMS systems without MMS, MMK, Make clones etc.

Sortof true. But such tools are usually available and free. No reason to 
not install them.

> - everybody knows it - everybody working on VMS has to know
>    DCL while many would not know MMS/MMK or make

That is also true. But learning them is not a bad thing.

> The ability to only rebuild what needs to be rebuilt is
> not an advantage but a huge risk in a build system. It is
> better to rebuild everything than to hope the build system
> has understood all dependencies correctly.

That I very much disagree with. It can be a risk, yes. But it should not 
be. And calling it a "huge risk" I really disagree with.
I suspect there are very few larger software pieces of software that 
isn't using some make-like system these days.

You simply don't want to just blindly rebuild everything everytime you 
change something.

> I would only go for build systems if one of:
> - builds need to be done on multiple platforms (maintaining
>    native scripts becomes expensive)

For such situations, something like make is scary as well. When you have 
different platforms, you fall back to meta-tools like cmake, which I 
have much less positive experiences with. Or (*cough*) autoconf...

> - it is a really huge system (where build rules are significantly
>    simpler than just build commands)

Build rules only have to be explained once, and then you just need to 
know what you want to build. Good systems will even figure out all the 
dependencies on their own.

Way easier than writing scripts that cover everything.

> - dependency download is needed

Not even sure what that means.

> - tools used are cumbersome to use (so build system encapsulation
>    really saves something)

That is equally a win if you just write the script to do it. So in which 
way would a build system be better than just a script here?

(Just trying to understand your motivations, you don't really have to 
answer if this feels like it's drifting too much off topic...)

   Johnny



More information about the Info-vax mailing list