EPICS Home

Experimental Physics and Industrial Control System


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

Subject: Re: EPICS 7.0.1-pre1 -- vxWorks 6.2
From: Dirk Zimoch <[email protected]>
To: <[email protected]>
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: [email protected] [mailto:[email protected]] On Behalf Of Andrew Johnson
Sent: Wednesday, November 29, 2017 1:48 PM
To: [email protected]
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  <20172018  2019  2020  2021  2022  2023  2024 
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  <20172018  2019  2020  2021  2022  2023  2024