EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

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

Subject: [Fwd: RE: Patches to support linux-arm for EPICS base]
From: Andrew Johnson <[email protected]>
To: Janet Anderson <[email protected]>
Cc: EPICS core-talk <[email protected]>
Date: Thu, 17 Nov 2005 09:38:38 -0600
Janet,

Can you consider what we might change in the build system (for R3.14.9) to resolve this issue that Diamond have - they want to be able to specify different products based on the target architecture; the OS_CLASS is not sufficient. I will reply to Peter with this 'do-it-yourself' solution; should we integrate this into the build system?
	PROD_IOC_linux-arm = product
	PROD_IOC += PROD_IOC_$(T_A)

- Andrew

-------- Original Message --------
Subject: RE: Patches to support linux-arm for EPICS base
Date: Thu, 17 Nov 2005 10:38:41 +0000
From: Denison, PN (Peter) <[email protected]>
To: Andrew Johnson <[email protected]>

Denison, PN (Peter) wrote:
> > The last stanza is merely to assist people in understanding the role

> of the overrides in $(App_TOP)/configure/CONFIG, and how they can > control the build. It took us a while to work out, so I thought I'd > document it.

BUILD_ARCHS is not really meant to be overridden in that way, you can get slightly funny results if you set it and then try and build on a host architecture that's not listed.

[...]

Many of the Makefile variables can be used in this way, see the Application Developers Guide section 4.6 for the full details of what's possible, in particular 4.6.12 and on.

Yeah, I find that section 4 is the most commonly open bit of the ADG on
my desk!

If you have specific requirements that the current build system can't support, please let me know and we'll see what .

The problem is that there isn't a way of specifying accurately enough
what you want to build. The situation we have is 3 architectures:
linux-x86: HOST and IOC, OS_CLASS=Linux
linux-arm: IOC, OS_CLASS=Linux
vxWorks-ppc604_long: IOC, OS_CLASS=vxWorks

There are some applications which will only build for linux-arm. As far
as I can tell within the build system as it currently stands, you cannot
stop the build on the host arch if it shares an OS_CLASS with a target
you do want to build.

This is because there are rules for PROD_IOC_$(OS_CLASS) etc., but not
for the fully specified PROD_IOC_$(T_A) types.

Our workaround was to specify BUILD_ARCHS directly, but I accept that it
was a hack, and would rather do it a better way. We toyed with the idea
of having an OS_CLASS of linux_target, rather than Linux, but rejected
it as too much of a hack.

--
Peter Denison, Senior Software Engineer
Diamond Light Source Ltd., Diamond House, Chilton, Didcot, Oxon, OX11
0DE
Tel: +44 1235 778511

--
* * Matt Santos / / Leo McGarry * * For a Brighter America * *

Navigate by Date:
Prev: Re: mrkSoftTest doesn't compile Ralph Lange
Next: RE: R3.14.8 Status/logClient patch Jeff Hill
Index: 2002  2003  2004  <20052006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: converging Jeff Hill
Next: crash when exiting running softIOC as root Ernest L. Williams Jr.
Index: 2002  2003  2004  <20052006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 02 Feb 2012 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·