[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