[Info-vax] How to tell SET COMMAND where the .EXE file is?
Steven Schweda
sms.antinode at gmail.com
Mon Sep 26 00:45:23 EDT 2022
> I'm trying to set up DIRSORT from the freeware site. [...]
Thanks for the helpful link. I fetched a kit from:
https://www.digiater.nl/openvms/freeware/v80/lww-dirsort/
Perhaps it's similar to whatever you found wherever.
> I suspect that the DIRSORT utility .CLD is similarly-written.
Not really. No "IMAGE" statement (unless you count the comment). As
its .CLD file is used, none is needed.
> $ SET COMMAND DIRSORT
You're working too hard. There's no need for the user to deal with
"SET COMMAND"; the build procedure does that. All the user needs to do
is define a DCL symbol which points to the executable. (Or use
DCL$PATH? (Gack.))
The documentation is a bit sparse, but I tried the following:
ITS $ @ build.com
CC /standard=vaxc/optimize/nodebug DIRSORT.C
CC /standard=vaxc/optimize/nodebug SUPPORT.C
SET COMMAND/OBJECT=DIRSORT_CLD.OBJ DIRSORT.CLD
link /exe=DIRSORT/sysexe /nodebug/nomap/notraceback dirsort/opt, sys$load
able_images:dcldef.stb
purge /exclude=(*.c,*.h,*.cld)
End Time: 23:20:23.70
Begin Time: 23:20:20.31
Elapsed time: 0:03.39
ITS $
ITS $ dirsort == "$ ''f$environment( "default")'DIRSORT.EXE"
ITS $ dirsort
Directory ITS$DKA0:[UTILITY.SOURCE.DIRSORT.V1R2S4.DIRSORT]
2022-Sep-25 23:07:30.44 aaareadme.txt;1
2022-Sep-25 23:07:30.48 bin.DIR;1
2022-Sep-25 23:07:30.54 build.com;1
[...]
2022-Sep-25 23:20:23.38 support.OBJ;1
2022-Sep-25 23:20:23.44 DIRSORT_CLD.OBJ;1
2022-Sep-25 23:20:23.67 DIRSORT.EXE;1
Total of 18 files
ITS $
Note that the Info-ZIP Zip and UnZip "_CLI" programs work similarly.
Many improvements are possible in that kit, from eliminating
"/standard=vaxc" to using separate product directories for different
hardware architectures (including IA64 and X86_64).
> I consider it good practice [...]
I agree. I have a UTILITY directory for such add-ons.
More information about the Info-vax
mailing list