[Halld-online] Proposed production directory structure and build system for readout lists

Serguei Boiarinov boiarino at jlab.org
Fri Nov 15 17:32:05 EST 2013


One remark from Hall B experience: multiple copies of BCAL_rol.c etc rols were found confusing,
at some point we decided to use one source code and ifdef flags set in makefile, so you can generate
BCAL_rol_cosmic.so, BCAL_rol_prod.so etc from the same source. Usually 95% of those rols are generic.

----- Original Message -----
From: Elliott Wolin <wolin at jlab.org>
To: halld-online at jlab.org
Sent: Fri, 15 Nov 2013 17:11:23 -0500 (EST)
Subject: [Halld-online] Proposed production directory structure and build system for readout lists

Hi,

As the ROC's come online in the hall I realized the existing build 
system needed a slight modification to support multiple sets of readout 
lists, and the fact that each readout list must be converted 
individually to a shared object file (typically groups of files are put 
into a single shared object file).

I modified the scons-based build system as required, tested it, checked 
it into the online repository and distributed it into our development 
build area.

The proposed production directory structure for readout lists is shown 
below (design based on discussions with Mark D and Dave L). Readout 
lists reside in the production builds hierarchy as a standard package 
named "rol".  Readout lists are built with our standard online build 
system, but note that they must be built for the same operating system 
as is running on the ROC hardware (currently CentOS5).

Below "cosmic", "fcalTest" and "prod" refer to sets of readout lists, 
and different sets can have lists with the same name (all names below 
are for illustration purposes, e.g. I don't know if we'll need a special 
list just for BCAL or FCAL).  Each set has its own SConscript file, as 
usual.

Another proposed package, rocLib (or rocUtil or something like that), 
would hold libraries, headers and other code common to all readout 
lists, as well as utility programs meant to run on the ROC's.


$ tree /gluex/builds/devel/packages/rol

|-- doc
|-- README
|-- SConstruct
`-- src
     |-- cosmic
     |   |-- BCAL_rol.c
     |   |-- FCAL_rol.c
     |   |-- SConscript
     |   `-- TS_rol.c
     |-- fcalTest
     |   |-- BCAL_rol.c
     |   |-- FCAL_rol.c
     |   |-- SConscript
     |   `-- TS_rol.c
     `-- prod
         |-- BCAL_rol.c
         |-- FCAL_rol.c
         |-- SConscript
         `-- TS_rol.c


Comments...?

Thanks,

-- 

				Sincerely,
					Elliott
  

================================================================================


  Those raised in a morally relative or neutral environment will hold
		    no truths to be self-evident.
				

Elliott Wolin
Staff Physicist, Jefferson Lab
12000 Jefferson Ave
Suite 8 MS 12A1
Newport News, VA 23606
757-269-7365

================================================================================

_______________________________________________
Halld-online mailing list
Halld-online at jlab.org
https://mailman.jlab.org/mailman/listinfo/halld-online



More information about the Halld-online mailing list