Hi Charlie.
I have not hacked mktclIndex!
On AIX it has worked for years – I think back to 3.3.0 – like this
mktclindex {fdw_xlate_top.tcl,icm_xlate_top.tcl}
>Put some echo statements in there if you like
I did and found an inconsistency with the ‘glob’ function that I could work around in mktclindex but not the auto_mktclindex.
This is a simple script – based on mktclindex – with output from an execution on AIX and Linux for CL 5.8
#!/apps/aise01t/cis5.8/integrator/bin/hcitcl
if { [lempty $argv] } {
set argv “*.tcl”
}
puts “Arg >$argv<"
puts “Cmd >glob -nocomplain -directory . $argv<"
puts “Exe >[glob -nocomplain -directory . $argv]<"
puts “Exe(eval) >[eval glob -nocomplain -directory . $argv]<"
exit
AIX
[5.8] he00387> mX {fdw_xlate_top.tcl,icm_xlate_top.tcl}
Arg >{{fdw_xlate_top.tcl,icm_xlate_top.tcl}}<
Cmd >glob -nocomplain -directory . {{fdw_xlate_top.tcl,icm_xlate_top.tcl}}<
Exe >./fdw_xlate_top.tcl ./icm_xlate_top.tcl<
Exe(eval) >./fdw_xlate_top.tcl ./icm_xlate_top.tcl<
Linux
[5.8] he00387> mX {fdw_xlate_top.tcl,icm_xlate_top.tcl}
Arg >fdw_xlate_top.tcl icm_xlate_top.tcl<
Cmd >glob -nocomplain -directory . fdw_xlate_top.tcl icm_xlate_top.tcl<
Exe ><
Exe(eval) >./fdw_xlate_top.tcl ./icm_xlate_top.tcl<
Perhaps this should never have worked! Although as it has done for many years on AIX!
>I am curious what you gain by putting a wrappers around
>mktclindex rather than run it directly?
We have many TCL translation scripts, all using a translation package I wrote many years ago.
To add a translate for an HL7 segment, all that is required is to add a (default prefix Xlate) proc Xlate to a the translation script.
As a result, there are many XlatePID procedures!
We also have library code and packages.
In an applications site, we use a Makefile to ensure that only the required scripts required are checked out of CVS and the standard mktclindex script is used (on all files in the directory). For Cloverleaf versions that don’t have a master site, the tclIndex for the library and extra code is added to the tclIndex file. The tclIndex file looks like this
# Tcl autoload index file, version 2.0
…
set auto_index(icm_xlate_top)
]
set auto_index(icm_xlate_ult)
]
…
set auto_index(gen_code_resend)
]
set auto_index(Print)
]
set auto_index(RetRepeat)
]
…
In my development site, I have all the code and often – we are under resourced – have many scripts with changes ‘in progress’, so I don’t want to delete them. I use a Makefile to generate an appropriate tclIndex containing the library code and application code.
The only issue I have found is the Makefile in my development site.
I hope this makes sense!