EPICS Controls 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  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Configuring an IOC to -not- build for host arch
From: Bruce Hill <[email protected]>
To: [email protected]
Date: Sun, 19 Sep 2010 21:27:28 -0700
 Hi Angus,
You can also use the technique Mark mentions for your IOC build:
PROD_IOC_RTEMS    = <appname>

That method, however, just restricts that library or product to a single OS class.
If you have more than one supported architecture for that OS, both will build.

For example, we build with host arch linux-x86_64, but cross compile for linux-x86
as well as RTEMS.    Using PROD_IOC_Linux still builds both linux targets, so
to build just the 32 bit IOC, I set the following in configure/CONFIG_SITE:

CROSS_COMPILER_TARGET_ARCHS = linux-x86
BUILD_FOR_HOST_ARCH=

Note that you can't just set BUILD_FOR_HOST_ARCH=0, it must be an empty string.

- Bruce



On 9/19/2010 8:44 PM, Mark Rivers wrote:
I would suggest doing this in your IOC and support library Makefiles, not globally.

For example, this is my Makefile for a library for VME/Industry Pack hardware.

*********************
corvette:ip330/ip330App/src>more Makefile

TOP=../..
include $(TOP)/configure/CONFIG

#----------------------------------------
#  ADD MACRO DEFINITIONS AFTER THIS LINE
#=============================

LIBRARY_IOC_vxWorks += ip330
LIBRARY_IOC_RTEMS   += ip330

# If your Linux system supports drvIpac and devLib then uncomment this line
LIBRARY_IOC_Linux += ip330

ip330_SRCS += drvIp330.c

INC += drvIp330.h
DBD += ip330Support.dbd
ip330_LIBS += $(EPICS_BASE_IOC_LIBS)

#=============================

#===========================
include $(TOP)/configure/RULES
#----------------------------------------
#  ADD RULES AFTER THIS LINE


********************* Mark


________________________________


From: [email protected] on behalf of Angus Gratton
Sent: Sun 9/19/2010 9:27 PM
To: tech-talk
Subject: Configuring an IOC to -not- build for host arch



I have a simple build question, answer must be in the build docs
somewhere but I can't track it down.

I have EPICS base building for RTEMS-mvme3100 and linux-x64 (host arch.)
Until now I've been building our IOC for both as well. The few places
where I needed RTEMS-specific calls I just #ifdefed them in.

I'm now adding significant RTEMS-specific functionality, so I'd like to
only build the IOC (and our specific hardware support library) for
RTEMS.

CROSS_COMPILER_TARGET_ARCHS seems to always apply "in addition to" the
host. What is the best way to disable a specific arch target in the
EPICS build system?

Cheers,

Angus





References:
Configuring an IOC to -not- build for host arch Angus Gratton
RE: Configuring an IOC to -not- build for host arch Mark Rivers

Navigate by Date:
Prev: RE: Configuring an IOC to -not- build for host arch Mark Rivers
Next: RE: Configuring an IOC to -not- build for host arch Angus Gratton
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: Configuring an IOC to -not- build for host arch Mark Rivers
Next: RE: Configuring an IOC to -not- build for host arch Angus Gratton
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 19 Sep 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·