Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017 Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017
<== Date ==> <== Thread ==>

Subject: Re: EPICS 7.0.1-pre1 -- vxWorks 6.2
From: Dirk Zimoch <dirk.zimoch@psi.ch>
To: <core-talk@aps.anl.gov>
Date: Thu, 30 Nov 2017 09:39:48 +0100


On 29.11.2017 21:59, Mark Rivers wrote:
It's even more complicated than that though; once we get Base to only
build the PVA modules for some target architectures and not for others,
how are the Makefiles in downstream modules such as AreaDetector
supposed to be set up to only build things that depend on PVA for
targets that have PVA built?

areaDetector already handles this.  All of its Makefiles have constructs like this for things that depend on PVA (aka EPICS_V4).

ifeq ($(WITH_EPICS_V4), YES)
  DBD += NDPluginPva.dbd
  INC += NDPluginPva.h
  LIB_SRCS += NDPluginPva.cpp
endif

I was thinking of a similar solution, but WITH_PVA instead of WITH_EPICS_V4.
Also setting a macro for conditional compilation may be useful:
-D WITH_PVA

Maybe also -D WITH_CA for later?


Of course this brings up my favorite complaint about the fact that dbd files are in O.Common rather than an architecture-specific directory.  We now have to play silly games with naming DBD files differently for each architecture if one supports PVA and another does not.

Yes, really a pain. Once has to implement dummies.


Mark

-----Original Message-----
From: core-talk-bounces@aps.anl.gov [mailto:core-talk-bounces@aps.anl.gov] On Behalf Of Andrew Johnson
Sent: Wednesday, November 29, 2017 1:48 PM
To: core-talk@aps.anl.gov
Subject: Re: EPICS 7.0.1-pre1 -- vxWorks 6.2

On 11/29/2017 02:07 AM, Dirk Zimoch wrote:

I will try to implement something. My first attempt failed for the
reason Andrew outlined. It is not possible to simply skip the all PVA
modules for a specific T_A because at that time T_A is not yet defined.
A flag needs to be checked inside every module.

It's even more complicated than that though; once we get Base to only
build the PVA modules for some target architectures and not for others,
how are the Makefiles in downstream modules such as AreaDetector
supposed to be set up to only build things that depend on PVA for
targets that have PVA built?

After thinking this over last night I now think it would be much more
complex and invasive than the original idea appears. It certainly isn't
going to be possible in the 7.0.1 release.

If you want to use EPICS 7, I think you will have to upgrade your
devices to run on a fully supported OS; partial support like this is
likely to be too invasive to be cost-effective.

- Andrew


References:
EPICS 7.0.1-pre1 Andrew Johnson
Re: EPICS 7.0.1-pre1 Dirk Zimoch
Re: EPICS 7.0.1-pre1 -- vxWorks 6.2 Dirk Zimoch
Re: EPICS 7.0.1-pre1 -- vxWorks 6.2 Dirk Zimoch
Re: EPICS 7.0.1-pre1 -- vxWorks 6.2 Hartman, Steven M.
Re: EPICS 7.0.1-pre1 -- vxWorks 6.2 Timo Korhonen
Re: EPICS 7.0.1-pre1 -- vxWorks 6.2 Andrew Johnson
Re: EPICS 7.0.1-pre1 -- vxWorks 6.2 Dirk Zimoch
Re: EPICS 7.0.1-pre1 -- vxWorks 6.2 Andrew Johnson
RE: EPICS 7.0.1-pre1 -- vxWorks 6.2 Mark Rivers

Navigate by Date:
Prev: Re: EPICS 7.0.1-pre1 -- vxWorks 6.2 Dirk Zimoch
Next: Re: EPICS 7.0.1-pre1 -- vxWorks 6.2 Dirk Zimoch
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017
Navigate by Thread:
Prev: RE: EPICS 7.0.1-pre1 -- vxWorks 6.2 Mark Rivers
Next: RE: EPICS 7.0.1-pre1 -- vxWorks 6.2 Mark Rivers
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017
ANJ, 30 Nov 2017 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·