[SWEXA.WRK]LOGICALS.COM_SRC

$       sav_vfy = 'f$verify(0)'
$ !++
$ !
$ !  DCL command procedure:
$ !     LOGICALS
$ !
$ !  Purpose:
$ !     Application LOGICALS command procedure which is normally executed
$ !     by the application BOOT command procedure.
$ !
$ !  Copyright:
$ !!    Copyright © 1987 - 2009 Corpita Pty Ltd
$ !     15 Bedford Street, Collingwood 3066, Australia
$ !
$ !  History:
$ !     2009-08-06 BY SLJ
$ !         VERSION 3.5
$ !     03-Feb-2007 by SLJ
$ !         Up to version V3.4-1
$ !     28-Apr-2005 by SLJ
$ !         Add Ada support
$ !     26-Mar-2003 by SLJ
$ !         Force use of Rdb 7.0
$ !     25-Oct-2001 by SLJ
$ !         Up to version V3.4
$ !     01-Jul-2001 by SLJ
$ !         Use architecture specific compile time databases
$ !     10-Aug-2000 by SLJ
$ !         Up to version V3.3
$ !     18-Mar-2000 by SLJ
$ !         Add database logicals
$ !     27-Mar-1999 by SLJ
$ !         Use more common logicals
$ !     24-Feb-1997 by SLJ
$ !         Fix variant and version logicals
$ !         Tidy source directory handling
$ !     10-Feb-1996 by SLJ
$ !         Add AIL (architecture independent library) directory support
$ !     31-Jul-1995 by SLJ
$ !         Add multi-architecture support
$ !     29-Jul-1995 by SLJ
$ !         Add variant support
$ !     26-Jan-1994 by SLJ
$ !         Add support for test directory
$ !     02-Apr-1993 by SLJ
$ !         Update for latest CMS handling and add SDC_ support
$ !     25-Jul-1992 by SLJ
$ !         Add proper source root handling
$ !     10-May-1990 by Simon L. Jackson
$ !         New version
$ !
$ !--
$
$ !  Determine the context sensitive stuff
$       cls_sfx = ""
$       if cur_var .nes. "" then cls_sfx := _var'cur_var'
$       if cur_vsn .nes. "" then cls_sfx := _'cur_vsn'
$
$ !  Define traditional SysWorks logicals
$       defapp  swexa_aib_dir           yes     disk_'cur_env':['dir_rot'.aib]
$       defapp  swexa_aij_dir           yes     disk_'cur_env':['dir_rot'.aij]
$       defapp  swexa_bck_dir           yes     disk_'cur_env':['dir_rot'.bck]
$       defapp  swexa_dat_dir           yes     disk_'cur_env':['dir_rot'.dat]
$       defapp  swexa_doc_dir           yes     disk_'cur_env':['dir_rot'.doc]
$       defapp  swexa_jnl_dir           yes     disk_'cur_env':['dir_rot'.jnl]
$       defapp  swexa_rda_dir           yes     disk_'cur_env':['dir_rot'.rda]
$       defapp  swexa_rdb_dir           yes     disk_'cur_env':['dir_rot'.rdb]
$       defapp  swexa_run_dir           yes     disk_'cur_env':['dir_rot'.run]
$       defapp  swexa_ruj_dir           yes     disk_'cur_env':['dir_rot'.ruj]
$       defapp  swexa_scr_dir           yes     disk_'cur_env':['dir_rot'.scr]
$       defapp  swexa_sft_dir           yes     disk_'cur_env':['dir_rot'.sft'dir_arc']
$       defapp  swexa_snp_dir           yes     disk_'cur_env':['dir_rot'.snp]
$       defapp  swexa_srt_dir           yes     disk_'cur_env':['dir_rot'.srt]
$       defapp  swexa_tps_dir           yes     disk_'cur_env':['dir_rot'.tps]
$       defrot  swexa_tps_root          yes     disk_'cur_env':['dir_rot'.tps]
$       defapp  swexa_tst_dir           yes     disk_'cur_env':['dir_rot'.tst'dir_arc']
$       defapp  swexa_wrk_dir           yes     disk_'cur_env':['dir_rot'.wrk]
$       defapp  swexa_www_dir           yes     disk_'cur_env':['dir_rot'.www]
$       defrot  swexa_www_root          yes     disk_'cur_env':['dir_rot'.www]
$
$       deflit  swexa_version           no      v3.5
$
$ !  Define database logicals
$       define/table=lnm$process_directory lnm$job lnm_swexa_'cur_env'
$       @sys$library:rdb$setver 7.0 /job
$       deassign/table=lnm$process_directory lnm$job
$       deflit  swexa_compiletime_database -
                                        no      swexa_lib_dir:swexa_database.rdb
$       deflit  swexa_runtime_database  no      swexa_rdb_dir:swexa_database.rdb
$       dbaman execute logicals appl_cod:=swexa
$
$ !  Define other file, related and special logicals
$       deflit  sortwork0               no      swexa_srt_dir:
$       deflit  sortwork1               no      swexa_srt_dir:
$       deflit  sortwork2               no      swexa_srt_dir:
$       deflit  sortwork3               no      swexa_srt_dir:
$       deflit  sortwork4               no      swexa_srt_dir:
$       deflit  sortwork5               no      swexa_srt_dir:
$       deflit  sortwork6               no      swexa_srt_dir:
$       deflit  sortwork7               no      swexa_srt_dir:
$       deflit  sortwork8               no      swexa_srt_dir:
$       deflit  sortwork9               no      swexa_srt_dir:
$       deflit  swexa_help_lib          no      swexa_doc_dir:swexahlp.hlb
$
$ !  Possibly define developent related logicals
$       envr_rec = f$trnlnm("swrk_envr_''cur_env'","lnm_swrk_database")
$       envr_work = f$element(0,"\",f$extract(f$locate("WORK=",envr_rec)+5,-1,envr_rec))+0
$       if envr_work then gosub define_source
$
$       exit 1 + 0*f$verify(sav_vfy)
$
$ define_source:
$       src_root = f$parse("disk_''cur_env':[''dir_rot'.src]") - ".;"
$       if src_root .eqs. ""
$         then
$           envr_scop = f$element(0,"\",f$extract(f$locate("SCOP=",envr_rec)+5,-1,envr_rec))
$           gen_sfx = ""
$           if envr_scop .nes. "COMMON" then gen_sfx := +
$           if cur_var .eqs. ""
$             then
$               cms_path := swexa_'cur_env''cls_sfx''gen_sfx'
$               envr_vacl = f$element(0,"\",f$extract(f$locate("VACL=",envr_rec)+5,-1,envr_rec))
$               if envr_vacl then deflit swexa_cms_variant no a
$             else
$               cms_path := swexa_'cur_env''cls_sfx''gen_sfx',swexa_'cur_env''gen_sfx'
$               deflit swexa_cms_variant no 'cur_var'
$             endif
$           src_root = f$parse("disk_appl:[swexa.src]") - ".;"
$         endif
$
$       defapp  swexa_adalib_dir        yes     disk_'cur_env':['dir_rot'.adalib'dir_arc']
$       defapp  swexa_ail_dir           yes     disk_'cur_env':['dir_rot'.lib]
$       defrot  swexa_ail_root          yes     disk_'cur_env':['dir_rot'.lib]
$       defapp  swexa_cdd_dir           yes     disk_'cur_env':['dir_rot'.cdd]
$       deflit  swexa_cms_path          no      "''cms_path'"
$       defapp  swexa_gen_dir           yes     disk_'cur_env':['dir_rot'.gen]
$       defapp  swexa_kit_dir           no      disk_'cur_env':['dir_rot'.kit]
$       defapp  swexa_lib_dir           yes     disk_'cur_env':['dir_rot'.lib'dir_arc']
$       defrot  swexa_lib_root          yes     disk_'cur_env':['dir_rot'.lib'dir_arc']
$       defapp  swexa_src_dir           yes     'src_root'
$       defrot  swexa_src_root          yes     'src_root'
$
$       deflit  swexa_copy_lib          no      swexa_lib_dir:swexatxt.tlb
$       deflit  swexa_image_lib         no      swexa_sft_dir:swexalib.olb
$       deflit  swexa_macro_lib         no      swexa_lib_dir:swexamac.mlb
$       deflit  swexa_mms_lib           no      swexa_lib_dir:swexamms.tlb
$       deflit  swexa_object_lib        no      swexa_lib_dir:swexaobj.olb
$       deflit  swexa_symbol_lib        no      swexa_sft_dir:swexasym.olb
$
$       librins swexa_help_lib/application
$       librins swexa_image_lib/application
$       librins swexa_symbol_lib/application
$       librins swexa_object_lib/application
$
$       deflit  cdd$default             no      swexa_cdd_dir:
$       deflit  cms$lib                 no      swexa_src_root:[cmslib]
$       deflit  dtm$lib                 no      swexa_src_root:[dtmlib]
$       deflit  sca$library             no      swexa_lib_root:[scalib]
$       deflit  swexa_fields            no      swexa_cdd_dir:
$       deflit  swexa_records           no      swexa_cdd_dir:
$
$       return