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: Michael Davidsaver <mdavidsaver@gmail.com>
To: Mark Rivers <rivers@cars.uchicago.edu>, 'Dirk Zimoch' <dirk.zimoch@psi.ch>, "core-talk@aps.anl.gov" <core-talk@aps.anl.gov>
Date: Wed, 29 Nov 2017 15:49:52 -0600
On 11/29/2017 03:13 PM, Mark Rivers wrote:
>> On 29.11.2017 01:05, Andrew Johnson wrote:
>>> Hi Timo,
>>>
>>> On 11/28/2017 10:46 AM, Timo Korhonen wrote:
>>>> Referring to Dirk's request earlier in this chain:
>>>>
>>>> So it would be nice to have an option in one of the CONFIG files to
>>>> declare that a specific architecture should build EPICS 7 without PVA
>>>> support.
>>>>
>>>>
>>>> If I understand the intention right, he would like to be able to build the
>>>> EPICS 7 base for many architectures but so that not all of them are
>>>> required to support PVA.
>>>>
>>>> I think that is a legitimate request: this way he can keep up with the
>>>> other updates in the base and does not have to abandon (at least
>>>> immediately) those architectures that are not able to support PVA.
>>>>
>>>> I think this could make the adoption of EPICS 7 easier not only for Dirk
>>>> but for other sites, too. The change does not look impossible to me.
>>>
>>> I agree that this is worthwhile goal, but I'm not sure how easy it will
>>> be to implement at this stage. The complication is that GNUmake descends
>>> through the tree just once, and it's not until it gets to the bottom
>>> Makefiles that it decides which target architectures to compile the code
>>> for. I don't want to have to edit every Makefile and put a conditional
>>> test in them, but I might be able to do something in the modules' own
>>> configure/CONFIG files.
>>>
>>> I can't promise anything for the -rc1, but I will try to implement
>>> something for the final release if I can do so cleanly.
>>>
>>> - Andrew
>>>
>>
>> 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.
>>
>> Dirk
> 
> This is a pain.  I have had to do it in ADSupport for all of the libraries (TIFF, JPEG,  GraphicsMagick, HDF5, etc.).  In GraphicsMagick alone there were 13 Makefiles where I added lines like this:
> 
> ifeq ($(WITH_GRAPHICSMAGICK),YES)
>   ifeq ($(GRAPHICSMAGICK_EXTERNAL),NO)
> 
>     LIBRARY = wmf
> 
> ...
> 
> It would have been very nice to put that logic in a single Makefile above GraphicsMagickSrc, but it does not seem to be possible with gnumake.

Of course gnumake, or at least gnumake alone, isn't the only game in town.

https://github.com/mdavidsaver/cmake4epics

Works great for all epics targets except vxWorks.

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 Mark Rivers

Navigate by Date:
Prev: RE: EPICS 7.0.1-pre1 -- vxWorks 6.2 Mark Rivers
Next: Re: EPICS 7 vxWorks diff Andrew Johnson
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 Dirk Zimoch
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 ·