EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  <19951996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  <19951996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Building for more than one host architecture
From: [email protected] (Nick Rees)
To: [email protected]
Date: Tue, 6 Jun 1995 13:11:08 +0200
I did this last week at MPIA. The method I used was very similar to
Mark Rivers, but I think I solved his problems with simultaneous
builds. For what its worth, this is the procedure I followed:

1. In CONFIG_SITE, I defined HOST_ARCH to be the the default
   architecture I used to compile the IOC files on (in my case
   solaris).

2. In CONFIG_SITE.Unix.<arch> for other architectures, I replaced this
   with the correct definition. For example, in CONFIG_SITE.Unix.sun4,
   I had a line:

   HOST_ARCH = sun4

3. Since the home directory of Epics was in a different place on each
   machine, I also did the following in CONFIG_SITE.

   EPICS_LOGIN = $(shell echo "echo ~epics" | csh -fs)
   EPICS_BASE = $(EPICS_LOGIN)/R3.12.0Beta12/base
   EPICS_EXTENSIONS = $(EPICS_LOGIN)/R3.12.0Beta12/extensions

All this worked fine, except that `GetVar HOST_ARCH` always returned
solaris. The only place this mattered in the build was in the new version
of blderrSymTbl which did exactly that. I changed it to accept a -h <arch>
parameter and fed the correct one in from the makefile.

I think the ideal is to have a script in base/tools called HostArch
which returns the correct value of HOST_ARCH for the architecture you
are running on. Then, in CONFIG_SITE you define

HOST_ARCH = $(shell HostArch)

and it always works. The following should work (but has not been
checked on all architectures) for the current list of supported
hosts, but it would have to be adapted for new architectures:

#!/bin/sh
#
# base/bin/tools/HostArch - returns the Epics host architecture suitable
#                           for assigning to the HOST_ARCH variable

sysname=`uname`

case $sysname in
    HP-UX )
        echo hp700
        ;;
    OSF1 )
        echo alpha
        ;;
    SunOS )
        version=`uname -r | sed '1s/^\([0-9]*\).*$/\1/'`
        if [ ${version} -ge 5 ]; then
            echo solaris
        else
            echo sun4
        fi
        ;;
    * )
        echo unsupported
        ;;
esac



Navigate by Date:
Prev: Re: Task Delete of Sequence Crashes IOC Steve Lewis
Next: Re: AO record DOL field fails with a CA link Marty Kraimer
Index: 1994  <19951996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Building for more than one host architecture William Lupton
Next: Re: Building for more than one host architecture Nick Rees
Index: 1994  <19951996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·