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  2010  <20112012  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  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Sequencer Preprocessor Build Rules
From: Andrew Johnson <[email protected]>
To: Benjamin Franksen <[email protected]>, Janet Anderson <[email protected]>
Cc: EPICS tech-talk <[email protected]>
Date: Thu, 9 Jun 2011 11:58:01 -0500
Shifu Xu just showed me a sequencer build problem he found when upgrading a 
3.13.10 application to R3.14.11.  Put this line in an snc.st file and compile 
it for vxWorks:
    %%#include <vxWorks.h>

The line gets translated by the C pre-processor into this in the intermediate 
snc.i file, which is obviously wrong:
    %%#include <1 .h>

That's because the pre-processor is being given the flag '-DvxWorks' and it 
doesn't know that it should not substitute macros inside <angle-quotes>.

It should be possible to prevent this by adjusting the appropriate rule in the 
sequencer's RULES_BUILD file to exclude that flag, but I'm not sure if we 
should try to do that or not.  How come this didn't used to occur with 
R3.13.10?

It is possible to work around the problem by using double-quotes instead:
    %%#include "vxWorks.h"
The other suggestion I made to Shifu was to just delete that line completely 
from the source program as all our vxWorks compiles are given the flag
    -include /path/to/vxWorks.h'
but I'm not sure whether we should encourage people to rely on that in case we 
want to delete that flag in the future.

Comments/ideas?  Just document it and ignore it?

- Andrew
-- 
Optimization is the process of taking something that works and
replacing it with something that almost works, but costs less.
-- Roger Needham

Replies:
Re: Sequencer Preprocessor Build Rules J. Lewis Muir

Navigate by Date:
Prev: RE: asyn connection management with asynPortDriver Mark Rivers
Next: driver support for SIS3302 and SIS3305 Hu, Yong
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: APS Website issues Andrew Johnson
Next: Re: Sequencer Preprocessor Build Rules J. Lewis Muir
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·