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
<2010>
2011
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
<2010>
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|