EPICS
on Google+
Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012 
<== Date ==> <== Thread ==>

Subject: Re: Cross Building Extensions
From: Michael Abbott <michael.abbott@diamond.ac.uk>
To: Rod Nussbaumer <bomr@triumf.ca>
Cc: tech-talk <tech-talk@aps.anl.gov>
Date: Fri, 4 Dec 2009 18:20:53 +0000 (GMT)
On Fri, 4 Dec 2009, Rod Nussbaumer wrote:
> David Dudley wrote:
> > I have a project where I need to cross build some of the EPICS 
> > extensions for another architecture.
> > 
> > Specifically, I want to build the ChannelArchiver to run on a remote 
> > Linux host.
> > 
> > I already have the IOS compiled for the host (linux-xscale_be), and it 
> > works well, with all the libraries and programs functional on that 
> > architecture, but to make the machine I’m setting up an independent 
> > system, I need to run the ChannelArchiver as well on that device.
> > 
> > I defined ‘CROSS_COMPILER_TARGET_ARCHS’ in the extensions configure 
> > directory to ‘linux-xscale_be’, and when I build, I create a xscale_be 
> > bin directory, however the build system doesn’t pick up the target 
> > build tools, so it’s building 2 copies of the host programs.
> > 
> > What do I adjust to make the extensions build system pick up the 
> > proper toolset?
> > 
> > David Dudley
> 
> You will need to create 
> base/configure/os/CONFIG_SITE.linux-x86.linux-xscale_be
> 
> In it, you can assign to '$GNU_DIR' the path to your cross tools. When 
> you do this, leave off any trailing 'bin' directory name, as EPICS build 
> will append this by itself. See the corresponding files for other 
> architectures as a guide.

There already exists a linux-arm_eb target, which should serve: you should 
just need to edit GNU_DIR and GNU_TARGET in 
	configure/os/CONFIG_SITE.linux-x86.linux-arm_eb

GNU_DIR, as Rod says, points to the base directory for your cross 
compiler, and GNU_TARGET needs to be the compiler target tuple, or to be 
precise, the prefix in front of your compiler call: eg, I compile with
	arm-xscale-linux-gnueabi-gcc
and so I have
	GNU_TARGET = arm-xscale-linux-gnueabi

References:
Cross Building Extensions David Dudley
Re: Cross Building Extensions Rod Nussbaumer

Navigate by Date:
Prev: Re: Cross Building Extensions Rod Nussbaumer
Next: Re: Cross Building Extensions Janet Anderson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012 
Navigate by Thread:
Prev: Re: Cross Building Extensions Rod Nussbaumer
Next: Re: Cross Building Extensions Janet Anderson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012 
ANJ, 02 Sep 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICSv4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·