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: Building for more than one host architecture
From: [email protected] (Janet B. Anderson)
To: [email protected]
Date: Tue, 13 Jun 1995 10:36:13 -0500

Another goal in in using epics on more than one host architecture which has 
not been previously mentioned in the tech-talk dialog is to have application
developers automatically have the correct paths set. Since the `arch` command
does not always exist or yield the proper epics architecture value, the
startup files used to properly define epics path and environement variables
described in Chapter 4: Getting Started and in Chapter 7: Site Manager Interface
in the "EPICS Source/Release Control" manual have to be modified.  Here are the
changes that we are currently thinking of proposing.

   All epics base and extension developers and epics application developers now
   execute a epics startup script when they login.  This startup script would
   be modified to define a new HOST_ARCH environment variable using the
   following statement
   
      setenv HOST_ARCH `/usr/local/epics/startup/HostArch`
   
   where HostArch is the file created by Nick Rees. (The master copy of the
   HostArch file would exist in the epics/base/tools directory.)

   This new environment variable would then be used as follows.

       1)  The EPICS startup script will add the following directories to
           a user's path (for application development)
           
               ./base/bin/$HOST_ARCH
               ./base/tools
               /usr/local/epics/extensions/bin/$HOST_ARCH
   
       2) Developers of base or of both base and extensions have the following
          lines in the epics/cshrc file in their development directories.
   
                DVL = `pwd`
                set path = ($DVL/base/tools $DVL/base/bin/$HOST_ARCH $oldpath)
                rehash
   
       3) Developers of extensions only have the following lines in the
          epics/cshrc file in their development directories.
   
                REL = <epics release>
                set path = ($REL/base/tools $REL/base/bin/$HOST_ARCH $oldpath)
                rehash

       4) HOST_ARCH could come from the environment for all builds of base and 
          extensions and for all builds in the application directories. Then the
          CONFIG_SITE file would probably have the following lines
   
               #  HOST_ARCH is now an environment variable
               ifndef HOST_ARCH
                     HOST_ARCH=unsupported
               endif

   

Also, how about making something like the following changes to the CONFIG files
to allow a site to optionally specify only a subset of their host architectures
to do cross compiling. 

        CONFIG_SITE
             CROSS_COMPILER_TARGET_ARCHS=mv167 ...
             CROSS_COMPILER_HOST_ARCHS=sun4 (cross compile only on sun4)
           or
             CROSS_COMPILER_HOST_ARCHS=  (cross compile on all host archs)

        CONFIG 
            Unconditionaly include CONFIG_COMMON file
            (i.e  move "ifdef T_A" down) 

        CONFIG_COMMON
             BUILD_ARCHS=$(HOST_ARCH)
             ifndef CROSS_COMPILER_HOST_ARCHS
                 BUILD_ARCHS+=$(CROSS_COMPILER_TARGET_ARCHS)
             else
                  ifeq ($(HOST_ARCH),$(findstring $(HOST_ARCH),$(CROSS_COMPILER_HOST_ARCHS)))
                      BUILD_ARCHS+=$(CROSS_COMPILER_TARGET_ARCHS)
                  endif
             endif
             ifdef T_A
                <rest of CONFIG_COMMON file> 
             endif

Janet


Replies:
Re: Building for more than one host architecture watson

Navigate by Date:
Prev: Real-Time Software Engineer Position mcgehee
Next: Re: Building for more than one host architecture watson
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 Tony Carter, MIT Bates Linac
Next: Re: Building for more than one host architecture watson
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 ·