Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017 Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017
<== Date ==> <== Thread ==>

Subject: Re: Additional RELEASE file checks
From: Michael Davidsaver <mdavidsaver@gmail.com>
To: Hugo Slepicka <hhslepicka@gmail.com>
Cc: "tech-talk@aps.anl.gov" <tech-talk@aps.anl.gov>
Date: Wed, 5 Apr 2017 20:25:12 -0400
On 04/05/2017 07:30 PM, Hugo Slepicka wrote:
> Hi,
> 
> Here at SLAC we organize our RELEASE files with variables for the
> versions of the modules and after that the path for them, e.g.:
> 
>     ASYN_MODULE_VERSION=R4.30-0.3.0
>     CEXP_MODULE_VERSION=R1.0.1
>     STREAM_MODULE_VERSION=R2.7.7-0.1
>     YAMLLOADER_VERSION=R1.0.1
> 
>     ASYN=$(EPICS_MODULES)/asyn/$(ASYN_MODULE_VERSION)
>     CEXP=$(EPICS_MODULES)/cexpsh/$(CEXP_MODULE_VERSION)
>     STREAM=$(EPICS_MODULES)/streamdevice/$(STREAM_MODULE_VERSION)
>     YAMLLOADER=$(EPICS_MODULES)/yamlloader/$(YAMLLOADER_VERSION)
> 
> With the migration to R3.15.5 and the change on our tag naming

Strictly speaking RELEASE should contain only epics module path
definitions.  In addition to GNUMake, it is parsed by a script to
construct the compiler/linker search paths (eg '-I/foo -I/bar').

So this RELEASE will look for eg. a directory "./R1.0.1/include".

Note that relative module paths are supported by using "$(TOP)".  eg.
"ASYN=$(TOP)/../asyn".

> *Here are the questions:*
> - What would be the problem of having more than one variable pointing to
> the same place?

"-I/foo -I/bar -I/foo" will give unpleasant results if /foo and /bar
contain the same header.

> - Are the order of the includes and linking defined by the other that
> they appear at the RELEASE file?

Yes.

> We know that there are solutions such as adding the variables
> immediately above or below the other and also bring the version number
> to the module path to avoid conflicts but we are curious to understand why.
> 
> *The additional checks were introduced with this commit:
> *
> https://github.com/epics-base/epics-base/commit/67097456e33cac9f33af0673c4ee5daa7fe09272#diff-62e7292bd50b6eeaec4ca166b146ba7eR243

As the commit message hints, this was done to support site which use my
debian package scheme which installs many modules together in
"/usr/lib/epics".


References:
Additional RELEASE file checks Hugo Slepicka

Navigate by Date:
Prev: Additional RELEASE file checks Hugo Slepicka
Next: Re: Additional RELEASE file checks Konrad, Martin
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017
Navigate by Thread:
Prev: Additional RELEASE file checks Hugo Slepicka
Next: Re: Additional RELEASE file checks Konrad, Martin
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017
ANJ, 05 Apr 2017 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·