EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Base 3.14.12.5-pre1 Available
From: Benjamin Franksen <[email protected]>
To: <[email protected]>
Date: Sat, 28 Feb 2015 19:14:27 +0100
On Thursday 26 February 2015 10:44:28 Andrew Johnson wrote:
> I created the 3.14.12.5-pre1 release yesterday and uploaded a tarball
> to the website. There have been a number of changes to the
> cross-build configuration files in recent days, so I would especially
> appreciate feedback on tests of linux-arm and derived targets. This
> build also supports cross-compiling for 32-bit Windows MinGW from
> Linux if you have the cross-build tools installed..
>
> The 3.14.12.5-rc1 release is slated for March 9th, and the final
> release for March 23rd assuming no major show-stoppers appear.

Hi Andrew

we have accumulated a number of small patches to the EPICS build system
over the years. I thought this would be a good opportunity to offer them
for merging with the mainline. I checked that they all (still) apply
cleanly to 3.14.12.5-pre1 (and did some cleanup, too).

1) fixed-release_perl_module_dirs.patch

RELEASE_PERL_MODULE_DIRS is generated wrongly: <TOP>_LIB is not the same
as <TOP>/lib.

2) fix_-improve-misleading-_installing-____-messages-in-rules_db.patch

This just fixes some "Creating..." messages.

3) fix_-re_defined-echo-in-configure_os_config_common_rtems.patch

We found that the RTEMS build system (we use 4.9) has its own definition
of ECHO, so we re-define ECHO after including them.

4) fix_-release_cfg_config-and-_rules-should-be-in-reverse-order.patch

RULES and CONFIG files from the cfg subdir of other modules must be
included in the opposite order in which they appear in the
configure/RELEASE file. This is because the RELEASE file lists them in
reverse dependency order. This is the correct order when creating search
paths (because in that case earlier entries win over later ones), but
not when including make file snippets (because in that case later
entries win over earlier ones).

5) extend-the-cfg-mechanism-to-rules_top.patch

Finally one patch which adds a feature and is not a bug fix: in addition
to adding RULES in a support module, this allows users to add TOP_RULES.
In case it is not evident why this is useful, please shout and I'll
explain.

Cheers
Ben
--
"Make it so they have to reboot after every typo." ― Scott Adams

________________________________

Helmholtz-Zentrum Berlin für Materialien und Energie GmbH

Mitglied der Hermann von Helmholtz-Gemeinschaft Deutscher Forschungszentren e.V.

Aufsichtsrat: Vorsitzender Prof. Dr. Dr. h.c. mult. Joachim Treusch, stv. Vorsitzende Dr. Beatrix Vierkorn-Rudolph
Geschäftsführung: Prof. Dr. Anke Rita Kaysser-Pyzalla, Thomas Frederking

Sitz Berlin, AG Charlottenburg, 89 HRB 5583

Postadresse:
Hahn-Meitner-Platz 1
D-14109 Berlin

http://www.helmholtz-berlin.de
patch 0abae40e4caf07ff750b8e47a332e4f2f3f1d211
Author: [email protected]
Date:   Tue Mar  4 13:53:53 CET 2014
  * fixed RELEASE_PERL_MODULE_DIRS
diff -rN -u old-base-3.14.12.5-pre1-hzb/configure/CONFIG_APP_INCLUDE new-base-3.14.12.5-pre1-hzb/configure/CONFIG_APP_INCLUDE
--- old-base-3.14.12.5-pre1-hzb/configure/CONFIG_APP_INCLUDE	2015-02-28 15:25:04.977516085 +0100
+++ new-base-3.14.12.5-pre1-hzb/configure/CONFIG_APP_INCLUDE	2015-02-28 15:25:04.977516085 +0100
@@ -16,7 +16,7 @@
   RELEASE_INCLUDES += $$(addprefix -I,$$(wildcard $$(strip $$($(1)))/include))
   RELEASE_DBD_DIRS += $$(wildcard $$(strip $$($(1)))/dbd)
   RELEASE_DB_DIRS += $$(wildcard $$(strip $$($(1)))/db)
-  RELEASE_PERL_MODULE_DIRS += $$(wildcard $$($(1)_LIB)/perl)
+  RELEASE_PERL_MODULE_DIRS += $$(wildcard $$(strip $$($(1)))/lib/perl)
 endef
 $(foreach top, $(RELEASE_TOPS), $(eval $(call RELEASE_FLAGS_template,$(top)) ))
 
patch 7d2c39fd878254ba9d4d0cee6a2c13c103da62f5
Author: Ben Franksen <[email protected]>
Date:   Sat Feb 28 15:26:22 CET 2015
  * Fix: RELEASE_CFG_CONFIG and _RULES should be in reverse order
diff -rN -u old-base-3.14.12.5-pre1-hzb/configure/CONFIG new-base-3.14.12.5-pre1-hzb/configure/CONFIG
--- old-base-3.14.12.5-pre1-hzb/configure/CONFIG	2015-02-28 15:32:48.257738076 +0100
+++ new-base-3.14.12.5-pre1-hzb/configure/CONFIG	2015-02-28 15:32:48.257738076 +0100
@@ -89,7 +89,8 @@
 #
 ifneq ($(CONFIG),$(TOP)/configure)
 RELEASE_TOPS := $(shell $(CONVERTRELEASE) -T $(TOP) releaseTops)
-RELEASE_CFG_CONFIGS = $(foreach top, $(RELEASE_TOPS), $(wildcard $($(top))/cfg/CONFIG*))
+RELEASE_TOPS_REVERSE := $(shell $(PERL) -e 'print(join(" ",reverse @ARGV))' $(RELEASE_TOPS))
+RELEASE_CFG_CONFIGS = $(foreach top, $(RELEASE_TOPS_REVERSE), $(wildcard $($(top))/cfg/CONFIG*))
 ifneq ($(RELEASE_CFG_CONFIGS),)
 include $(RELEASE_CFG_CONFIGS)
 endif
diff -rN -u old-base-3.14.12.5-pre1-hzb/configure/CONFIG_APP_INCLUDE new-base-3.14.12.5-pre1-hzb/configure/CONFIG_APP_INCLUDE
--- old-base-3.14.12.5-pre1-hzb/configure/CONFIG_APP_INCLUDE	2015-02-28 15:32:48.257738076 +0100
+++ new-base-3.14.12.5-pre1-hzb/configure/CONFIG_APP_INCLUDE	2015-02-28 15:32:48.257738076 +0100
@@ -2,6 +2,7 @@
 export IOCAPPS
 
 RELEASE_TOPS := $(shell $(CONVERTRELEASE) -T $(TOP) releaseTops)
+RELEASE_TOPS_REVERSE := $(shell $(PERL) -e 'print(join(" ",reverse @ARGV))' $(RELEASE_TOPS))
 
 ifneq ($(RELEASE_TOPS),)
 
diff -rN -u old-base-3.14.12.5-pre1-hzb/configure/RULES_FILE_TYPE new-base-3.14.12.5-pre1-hzb/configure/RULES_FILE_TYPE
--- old-base-3.14.12.5-pre1-hzb/configure/RULES_FILE_TYPE	2015-02-28 15:32:48.257738076 +0100
+++ new-base-3.14.12.5-pre1-hzb/configure/RULES_FILE_TYPE	2015-02-28 15:32:48.257738076 +0100
@@ -20,7 +20,7 @@
 #---------------------------------------------------------------
 # Include <top>/cfg/RULES* definitions from tops defined in RELEASE* files
 #
-RELEASE_CFG_RULES = $(foreach top, $(RELEASE_TOPS), $(wildcard $($(top))/cfg/RULES*))
+RELEASE_CFG_RULES = $(foreach top, $(RELEASE_TOPS_REVERSE), $(wildcard $($(top))/cfg/RULES*))
 ifneq ($(RELEASE_CFG_RULES),)
   include $(RELEASE_CFG_RULES)
 endif
patch 3afcf301577012f0264d0e46f82f1c68ce5dead4
Author: [email protected]
Date:   Thu Aug 25 14:52:31 CEST 2011
  * Fix: re-defined ECHO in configure/os/CONFIG.Common.RTEMS
  Looks as if the included RTEMS Makefiles also define ECHO, so we
  need to overwrite it.
diff -rN -u old-base-3.14.12.5-pre1-hzb/configure/os/CONFIG.Common.RTEMS new-base-3.14.12.5-pre1-hzb/configure/os/CONFIG.Common.RTEMS
--- old-base-3.14.12.5-pre1-hzb/configure/os/CONFIG.Common.RTEMS	2015-02-28 15:26:00.670501651 +0100
+++ new-base-3.14.12.5-pre1-hzb/configure/os/CONFIG.Common.RTEMS	2015-02-28 15:26:00.670501651 +0100
@@ -73,6 +73,8 @@
  $(USR_CPPFLAGS) $(CMD_CPPFLAGS) $(ARCH_DEP_CPPFLAGS) $(OP_SYS_CPPFLAGS)\
  $(OP_SYS_INCLUDE_CPPFLAGS) $(CODE_CPPFLAGS)
 
+ECHO := $(if $(findstring s,$(MAKEFLAGS)),\#,@echo)
+
 #--------------------------------------------------
 # Although RTEMS uses gcc, it wants to use gcc its own way
 CROSS_CPPFLAGS =
patch 6b56a781f336706bab27db43262358d6310054f3
Author: [email protected]
Date:   Wed Aug 24 14:23:31 CEST 2011
  * Fix: improve misleading "Installing ..." messages in RULES.Db
diff -rN -u old-base-3.14.12.5-pre1-hzb/configure/RULES.Db new-base-3.14.12.5-pre1-hzb/configure/RULES.Db
--- old-base-3.14.12.5-pre1-hzb/configure/RULES.Db	2015-02-28 15:22:36.134885315 +0100
+++ new-base-3.14.12.5-pre1-hzb/configure/RULES.Db	2015-02-28 15:22:36.134885315 +0100
@@ -199,7 +199,7 @@
 endif
 
 $(INSTALL_DB)/%.substitutions: %.substitutions
-	$(ECHO) "Installing db file $@"
+	$(ECHO) "Installing substitution file $@"
 	@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
 
 .PRECIOUS: $(COMMON_DIR)/%.substitutions
@@ -213,7 +213,7 @@
 	@$(RM) [email protected]
 
 $(INSTALL_DB)/%.template: %.template
-	$(ECHO) "Installing db file $@"
+	$(ECHO) "Installing template file $@"
 	@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
 
 .PRECIOUS: $(COMMON_DIR)/%.template
@@ -351,7 +351,7 @@
 else
 
 $(INSTALL_DB)/%: %
-	$(ECHO) "Installing db file $@"
+	$(ECHO) "Installing $@"
 	@$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D)
 endif
 
patch 331f4d7604b0979eabbd6c1949286384100234a7
Author: [email protected]
Date:   Sat Feb 28 15:29:28 CET 2015
  * extend the cfg mechanism to RULES_TOP
diff -rN -u old-base-3.14.12.5-pre1-hzb/configure/RULES_TOP new-base-3.14.12.5-pre1-hzb/configure/RULES_TOP
--- old-base-3.14.12.5-pre1-hzb/configure/RULES_TOP	2015-02-28 15:34:28.427520937 +0100
+++ new-base-3.14.12.5-pre1-hzb/configure/RULES_TOP	2015-02-28 15:34:28.431521009 +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_REVERSE), $(wildcard $($(top))/cfg/TOP_RULES*))
+ifneq ($(RELEASE_CFG_TOP_RULES),)
+  include $(RELEASE_CFG_TOP_RULES)
+endif

Replies:
Re: Base 3.14.12.5-pre1 Available Andrew Johnson
References:
Base 3.14.12.5-pre1 Available Andrew Johnson

Navigate by Date:
Prev: Jenkins build is back to stable : epics-base-3.14-mac #27 APS Jenkins
Next: Build failed in Jenkins: epics-base-3.15-mac #8 APS Jenkins
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Base 3.14.12.5-pre1 Available Andrew Johnson
Next: Re: Base 3.14.12.5-pre1 Available Andrew Johnson
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 16 Dec 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·