-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi Ben,
On 11/03/2015 08:30 AM, Benjamin Franksen wrote:
> There is one small problem in the build system (probably in all
> 3.15 versions) and it concerns dependency generation when a
> generated header file is included. This can cause error messages
> from gcc when using parallel make, such as
>
>> ../builtin.c:11:17: fatal error: snl.h: No such file or
>> directory #include "snl.h"
>>
>> compilation terminated.
>
> The solution is to add -MG to the compiler flags when generating
> dependencies (see the attached patch). According to the gcc man
> page, "-MG assumes missing header files are generated files and
> adds them to the dependency list without raising an error."
Your -MG solution assumes that we only use gcc to build Base, which is
not true for some targets, and it doesn't always result in the correct
dependency information being output.
The correct solution is to make snl.h an explicit dependency of the
builtin$(DEP) and any similar targets in your Makefile, for example:
...
include $(TOP)/configure/RULES
ifdef BASE_3_15
builtin$(DEP): $(COMMON_DIR)/snl.h
endif
This tells GNUmake to create the snl.h file before trying to generate
the builtin.d file, which is where your errors are coming from.
You can see other examples in the std/filters/test/Makefile and
ioc/db/test/Makefile of Base-3.15, although they don't need to have
the version check in them. This is mentioned in the Release Notes
under the Parallel Builds heading.
Are you trying to fix Peter Heesterman's sequencer build problem? The
- -MG flag wouldn't help him anyway since he's building on Windows, but
the above $(DEP): fix should.
- - Andrew
- --
Light thinks it travels faster than anything but it is wrong.
No matter how fast light travels, it finds the darkness has
always got there first, and is waiting for it.
-- Terry Pratchett, Reaper Man
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.14 (GNU/Linux)
iQIcBAEBAgAGBQJWOORbAAoJEGx0HvquSvYW9OEQALJJUI8GCBEl/PezVUsxeI48
cGTTRhJ3G0n6KUQKK7L2nvmKaI/SBgVql5oOD39k8xkXq/sXLoZARayc3xTadFBi
l4JUKu4clzZZ6glkztW/g+mAyz6s+y5c57M4wfvFd2Tjljmgw9rTcTAcb9jivUom
Xa4diHudobaXmRB4vu1fC6LwTCO7bumqsqvaDtKS66R7rfKwCb053c/agkj3uqTn
Mct8IBxMyNpYYesNqPxsWMW9TY1JJlv5KhwCtYMSZE0/HQ4JIIhqgiF/SY9npQMY
7Hre9gUQ1u7UvS14PCMfqcwrDb7pOF1g9iV9ykBdjJ1TjsQ9MRamBAqi/+9HP7uT
/eoT2LLLzl3maYF2tSHC8ncjw9Bu9Q0ZQakiU4VmO16Fe07hAN0GNS4bAcXPHdem
BjQHLtMR4RHvKfD8z26FFBCYLQZlzP3RHyywB4x3GRvIdjr1UejzFnBrXjkVZvmG
1u/gS2a/vg6R1IKEgBBZz2t0D6wu9y8VXT3nLRkDncrqo2c2shHD9eC1e1qkpqoa
Ti2KeZNUNgajWo0G9eakpNkaZFXlVibokRD7Tjtm6BfLQ8UbxbeU32s8NGIXKHbP
qdrxLtgTz2guLOrqS1yu9NSW3XOCMyKTDMNSxarKKJ0iGEgeicQXusclvxT69QAq
HglOqwU+SdvFItClOyQv
=Yl17
-----END PGP SIGNATURE-----
- Replies:
- Re: EPICS Base R3.15.3-rc1 available Benjamin Franksen
- References:
- EPICS Base R3.15.3-rc1 available Ralph Lange
- Re: EPICS Base R3.15.3-rc1 available Benjamin Franksen
- Navigate by Date:
- Prev:
Re: EPICS Base R3.15.3-rc1 available Benjamin Franksen
- Next:
Re: EPICS Base R3.15.3-rc1 available Benjamin Franksen
- 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:
Re: EPICS Base R3.15.3-rc1 available Benjamin Franksen
- Next:
Re: EPICS Base R3.15.3-rc1 available Benjamin Franksen
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
<2015>
2016
2017
2018
2019
2020
2021
2022
2023
2024
|