Experimental Physics and Industrial Control System
The arch-independent O.Common directory causes problems every once in a
while because people write rules with targets in O.Common without
realizing that this creates the same file in parallel for each target arch.
There are several solutions to this problem (like, first generate things
locally, then (atomically) move it to ../O.Common), but you have to
remember to apply at least one of them. Otherwise, sooner or later you
get corrupt files from a parallel build, which can give you lots of
headaches if these land in a production system. And all the
solutions/work-arounds complicate the build rules considerably.
It just occurred to me that a very simple solution for all these
problems is to throw out O.Common completely and instead include CONFIG
and RULES files that deal with architecture-independent stuff
conditionally, that is, only if the current T_A is equal to
EPICS_HOST_ARCH. Like in
ifeq ($(T_A),$(EPICS_HOST_ARCH))
include $(CONFIG)/Rules.Db
endif
This is pretty raw for the moment, I haven't considered all consequences
this may have, including compatibility etc etc. Just wanted to field the
idea.
Cheers
Ben
--
"Make it so they have to reboot after every typo." ― Scott Adams
Attachment:
signature.asc
Description: OpenPGP digital signature
- Navigate by Date:
- Prev:
Re: Travis emails? Dirk Zimoch
- Next:
Problem with performstruct test Dirk Zimoch
- Index:
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:
Jenkins build is back to normal : epics-base-3.15-ios #195 APS Jenkins
- Next:
Problem with performstruct test Dirk Zimoch
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
<2018>
2019
2020
2021
2022
2023
2024