[Info-vax] Native compilers
Arne Vajhøj
arne at vajhoej.dk
Thu Feb 24 13:19:11 EST 2022
On 2/24/2022 12:47 PM, Dave Froble wrote:
> On 2/24/2022 11:17 AM, Johnny Billquist wrote:
>> On 2022-02-24 16:18, Dave Froble wrote:
>>> My practice, for many years, is to include build procedures with every
>>> application, perhaps for a single program, or for many programs. A
>>> command
>>> file contains the procedure for compiling and linking the program.
>>> Thus, one
>>> doesn't need to remember, and the thing is self documenting.
>>
>> Isn't that what MMS is for? Or make under Unix. Heck, I even wrote my
>> own make
>> clone for RSX over 20 years ago, so whenever I want to do something more
>> complex, I just use that. And sure, I can put all sort of complex
>> stuff in there
>> so I don't have to type it all the time.
>> To be honest, I'm surprised by people who write their own scripts to
>> rebuild
>> anything when there are good tools around that helps you with that in
>> better
>> ways than simple scripting do.
>
> 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.
But I would not discard native scripts totally.
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.
- everybody knows it - everybody working on VMS has to know
DCL while many would not know MMS/MMK or make
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.
I would only go for build systems if one of:
- builds need to be done on multiple platforms (maintaining
native scripts becomes expensive)
- it is a really huge system (where build rules are significantly
simpler than just build commands)
- dependency download is needed
- tools used are cumbersome to use (so build system encapsulation
really saves something)
Arne
More information about the Info-vax
mailing list