EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  <20012002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  <20012002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: CapFast Rules in 3.13.4 RULES.Host
From: "Dr. Chong Lee" <[email protected]>
To: "Redman, Russell O." <[email protected]>
Cc: "'Nick Rees'" <[email protected]>, [email protected], "'Lee, Chong'" <[email protected]>
Date: Fri, 04 May 2001 12:11:58 -0700
Dear Rusell and Nick,

In case you did not know, the source code of SCHFILES is available
(at no charge) for you to make enhancements you need.  Please let 
me know if you are interested in getting it.

Regards,
C Lee
Phase Three Logic

"Redman, Russell O." wrote:
> 
> Dear Nick,
> 
> I would hesitate just a little bit on this one.  It will possibly work OK on
> Unix/Linux systems, but the WIN32 version has a few problems.  I tested this
> routine out on a small example in the source directory
> C:\EPICS\src\example\capfast that contained a single example.sch file.  My
> EPICS symbols are in C:\EPICS\install\R3.13.4\templates\capfast\sym. As
> nearly as I can tell from the on-line documentation, the correct command
> should be
> 
>         schfiles -h -l -o example.depends example.sch
> 
> 1) Every invocation of SCHFILES.EXE pops up a pair of nested windows, even
> if an explicit output file is requested.  It does not appear possible to
> suppress these windows.
> 
> 2) The resulting output file contains a LOT of explanatory text:
> 
>         DESIGN HIERACHY
>         ===============
> 
>         In the following design hierachy tree, lower levels of hierachy are
> indented to
>         the right.  The number of dots preceding a name indicates the depth.
>         The general format of an entry is,
>                 schematic/design name (instance name <-> symbol name),
>         NOTE: instance name and symbol name are listed only where
> appropriate.
> 
>         example.sch
> 
> 
>         Schematic: .\example.sch
>             Symbol: c:\EPICS\install\R3.13.4\templates\capfast\sym\eais.sym
> (1)
>             Symbol:
> c:\EPICS\install\R3.13.4\templates\capfast\sym\ecalct.sym (1)
>             Symbol: c:\EPICS\install\R3.13.4\templates\capfast\sym\hwin.sym
> (1)
> 
> It does not appear possible to get JUST the hierarchy. I suspect it might be
> almost as much work parsing this file as it is to parse the original
> schematic files.
> 
> 3) The code seems to be stuck in the 8.3 file-naming era.  With the stated
> command the actual file generated was example.dep.  The extension was
> truncated to 3 characters without even a warning.  This is harmless enough,
> except that it complicates the make files if the program cannot generate
> files with the expected naming conventions.
> 
> 4) According to the help message that is displayed when schfiles is invoked
> without parameters
>         SCHFILES: CapFast File List and Archive Utility, Release 3.02
>         Copyright (c) 1993 by Phase Three Logic, Inc.
> 
>         Usage: schfiles [options] filename...
>         options are:
>         -a directory:  copy design and all related files to directory
>         -h          :  list out the schematic hierarchy
>         -l          :  omit files from ~p3\library and its subdirectories
>         -o outfile  :  write file list to outfile
>         -p pathlist :  set data file search path to pathlist
> 
> The intent is clearly that the -l option should suppress the listing of the
> primitive symbols.  These, in a normal EPICS installation, are generally in
> the extensions/edif directory, or its installed equivalent.  Although it
> would technically be possible to force these to be located under the
> ~p3\library directory, I do not think many EPICS sites do.
> 
> As a general comment, the use of the flag "-h" to list the hierarchy strikes
> me as a little odd.  Intuitively, I would have expected that "-h" would
> supply a help message.
> 
> I think the original purpose of this program is explained by the "-a"
> option.  It follows all the dependencies, then copies all and only the
> required files into another directory, effectively packaging the application
> for standalone operation.  This is a very interesting operation, but not
> quite the same as we need.
> 
> 5) In principle, we can restrict the search path to the current directory,
> which would be acceptable for simple EPICS applications, by adding the "-p."
> switch to the command line.  This produces a large number of errors,
> however, for the references to unresolved symbols:
>         schfiles: Reading file example.sch ...
>         schfiles: error: unable to open file ecalct.sym for reading
>         schfiles: error: unable to open file hwin.sym for reading
>         schfiles: error: unable to open file eais.sym for reading
>         schfiles: fatal error: Reading file example.sch failed
> 
> Perhaps Phase3 might add some options to SCHFILES to
> 
> a) -w => no windows, i.e. suppress the opening of the windows (command line
>         operation only with all output directed to stdout and stderr).
> Alternately,
>         suppress the opening of the windows when -o is specified.
> 
> b) -m <filename> => format the output as a makefile dependency, i.e.
> 
> target : list of dependencies
> 
>         with no extraneous text.  Preferably, relative paths should be used,
> not
>         absolute paths, so that files in the same directory do not have the
>         full path name prepended.
> 
> c) -q <path> => (opposite of -p) i.e. omit from the list any files that
> appear
>         in this search path.  This would allow us to selectively supress the
> listing
>         of standard symbols that are located in nonstandard places like
> epics/base
>         and epics/extensions.
> 
> The program should always honour the requested file name in the -o switch
> unless the file system rejects it as invalid.
> 
> Alternatively, might it not be easier, faster, and more in the spirit of
> EPICS, to translate Brian Bevan's csh script into perl so that it will run
> on more platforms?
> 
> Cheers,
> Russell O. Redman
> 
> -----Original Message-----
> From: Nick Rees [mailto:[email protected]]
> Sent: Thursday, May 03, 2001 6:10 PM
> To: [email protected]
> Subject: Re: Capfast Rules in 3.13.4 RULES.Host
> 
> Something I realised a while ago and meant to post to the exploder about
> Capfast dependencies. Brian Bevins posted a script to generate a Capfast
> heirarchy - but I found that the Capfast distribution includes a program
> to do the same thing called schfiles. So the upshot of the discussion is
> that I intend to implement a depends target for Capfast using schfiles.
> 
> Cheers,
> 
> Nick Rees
> 
> Joint Astronomy Centre               Ph:       +1 (808) 961-3756
> 660 N. Aohoku Place                  Fax:      +1 (808) 961-6516
> Hilo, HI.  96720                     Internet: [email protected]


References:
RE: CapFast Rules in 3.13.4 RULES.Host Redman, Russell O.

Navigate by Date:
Prev: RE: CapFast Rules in 3.13.4 RULES.Host Redman, Russell O.
Next: Looking for R3.13.1 Linux binaries Jane Richards
Index: 1994  1995  1996  1997  1998  1999  2000  <20012002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: CapFast Rules in 3.13.4 RULES.Host Redman, Russell O.
Next: [no subject] Mohan Ramanathan
Index: 1994  1995  1996  1997  1998  1999  2000  <20012002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·