Hi All
I propose an enhancement to the EPICS build system, for both 3.14 and 3.15
branches.
Since (at least) 3.14.12 users have the possibility to add build rules and
configuration by installing RULES* and CONFIG* files into the <top>/cfg (using
CFG += <filename>). This is supported by base/configure/RULES_BUILD including
(through base/configure/RULES_FILE_TYPE) all cfg/RULES* files found in any of
the support modules (as defined in configure/RELEASE). This is very nice, but
works only on the level of xyzApp directories, not in TOP, because RULES_TOP
deliberately does not include RULES_BUILD.
However, adding site specific rules at the top level is very useful, for
instance in order to standardize deployment mechanisms across a site. Another
application is to add rules that automatically generate top-level indexes e.g.
for generated documentation.
The proposal is therefore to add an analogous mechanism to
base/configure/RULES_TOP, so users can add site-specific rules that are
included only by the top level Makefile. The wildcard pattern I am proposing
for this case is "TOP_RULES*" (which avoids overlap with the "RULES*"
pattern). Effectively, cfg/TOP_RULES* files found in any support modules
mention in configure/RELEASE will be included by base/configure/RULES_TOP.
I attached a patch file that implements the proposal (a 7 lines addition to
base/configure/RULES_TOP).
The proposal is backwards compatible: existing applications should continue to
work (build) as before, which is why I propose it for the 3.14 branch, too.
Cheers
--
Ben Franksen
() ascii ribbon campaign - against html e-mail
/\ www.asciiribbon.org - against proprietary attachments
Thu Feb 28 15:14:56 CET 2013 [email protected]
* extend the cfg mechanism to RULES_TOP
diff -rN -u old-3-14-12-2-1/configure/RULES_TOP new-3-14-12-2-1/configure/RULES_TOP
--- old-3-14-12-2-1/configure/RULES_TOP 2013-02-28 15:18:58.884000662 +0100
+++ new-3-14-12-2-1/configure/RULES_TOP 2013-02-28 15:18:59.043993605 +0100
@@ -82,3 +82,10 @@
.PHONY: cleandirs distclean cvsclean realuninstall archuninstall uninstallDirs
.PHONY: uninstall help
+#---------------------------------------------------------------
+# Include <top>/cfg/TOP_RULES* definitions from tops defined in RELEASE* files
+#
+RELEASE_CFG_TOP_RULES = $(foreach top, $(RELEASE_TOPS), $(wildcard $($(top))/cfg/TOP_RULES*))
+ifneq ($(RELEASE_CFG_TOP_RULES),)
+ include $(RELEASE_CFG_TOP_RULES)
+endif
Attachment:
signature.asc
Description: This is a digitally signed message part.
- Navigate by Date:
- Prev:
New API for batched dbGet/dbPut Michael Davidsaver
- Next:
gethostbyname and getaddrinfo - multiple DNS entries for a hostname matthew.pearson
- 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: New API for batched dbGet/dbPut Michael Davidsaver
- Next:
gethostbyname and getaddrinfo - multiple DNS entries for a hostname matthew.pearson
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
<2013>
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|