EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: src/ reorganization
From: Stephen Lewis <[email protected]>
To: "Davidsaver, Michael" <[email protected]>
Cc: EPICS core-talk <[email protected]>
Date: Mon, 06 Dec 2010 12:59:13 -0800
Sounds good to me.

On 6 Dec 2010, at 12:34 , Davidsaver, Michael wrote:

> 
> Now that the Base repository is being tracked with a tool which
> understands renames I think that it is time to consider reorganizing the
> source tree.  To that end I would like to propose the following.  First,
> to change the directory structure to better reflect the different
> components in Base.  Second, to merge the many *Ioc libraries.
> 
> The first change could be made transparently to outside users.  The
> second will present problems for those not using $(EPICS_BASE_IOC_LIBS).
> But with 3.15 on the horizon this is the time for such things.
> 
> If we are going to do something like this it should be done early in the
> release cycle to minimize the impact.
> 
> = src/ reorganization
> 
> When I look at the src/ directory I see seven categories:
> 
> tools - Build system helpers
> 
> libCom - Things with no dependence on IOCs or CA
> 
> template - the make*App.pl scripts and templates
> 
> ioc - Everything related to PDB mechanics
> 
> std - Standard record definitions and soft device supports
> 
> ca - CA client library
> 
> cas - portable CA server
> 
> 
> == Dependencies
> 
> tools :
> libCom : tools
> template : tools
> ioc : ca tools
> std : ioc
> ca  : libCom
> cas : ca
> 
> And a diagram:
> 
> https://pubweb.bnl.gov/~mdavidsaver/files/base-reorg.png
> 
> The missing pieces here are dependencies from 'catools', 'cap5', and
> 'cas' on some header files from dbStatic including alarm.h.  This isn't
> a problem since everything is in one source tree, but perhaps there
> should be a module for common epics definitions?  Could this be part of
> libCom (ie 'libCom/epics/')?
> 
> 
> == Full list of renames
> 
> tools      = tools  (perhaps "buildtools"?)
> libCom     = libCom
> toolsComm  = libCom/tools
> as         = ioc/as
> bpt        = ioc/bpt
> db         = ioc/db
> dbStatic   = ioc/dbStatic
> dbtools    = ioc/dbtemplate
> misc       = ioc/misc
> registry   = ioc/registry
> rsrv       = ioc/rsrv
> RTEMS      = ioc/RTEMS
> vxWorks    = ioc/vxWorks
> dev        = std/dev
> rec        = std/rec
> softIoc    = std/softIoc
> ca         = ca
> cap5       = ca/perl
> catools    = ca/tools
> cas        = cas
> excas      = cas/ex
> gdd        = cas/gdd
> makeBaseApp= template/base
> makeBaseExt= template/ext
> util        (split up.  ca_test in ca/test, logserver in libCom/tools)
> 
> 
> 
> = Library mergers
> 
>> From what I can tell most of the *Ioc libraries can't really be used
> independently of one another.
> It seems to me that they fall into three groups.
> 
> dbBase = asIoc, dbIoc, dbStaticIoc, dbtoolsIoc, miscIoc, rsrvIoc,
> registryIoc
> 
>  The basic processing mechanisms which operate on dbCommon.
> 
> dbStd  = recIoc, softDevIoc, testDevIoc
> 
>  The standard recordtypes
> 
> dbHost = asHost, dbStaticHost
> 
>  Host tools like dbExpand use this
> 
> 
> 


References:
src/ reorganization Davidsaver, Michael

Navigate by Date:
Prev: src/ reorganization Davidsaver, Michael
Next: RE: src/ reorganization Jeff Hill
Index: 2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: src/ reorganization Davidsaver, Michael
Next: RE: src/ reorganization Jeff Hill
Index: 2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 02 Feb 2012 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·