- Aug 22, 2022
-
-
Simon Rose authored
The ultimate issue here was that we performed a ``` cat $( ... ) | sed '1d' ``` and if that inner block was empty, then `cat` reverted to waiting for user input. The error also came up with non-specified build numbers, so we need to make sure that those are also being fetched correctly. The upshot is now `<module>_VERSION` will automatically fetch the correct build number; the only potential downside is that if we have a newer version in `${E3_SITEMODS_PATH}` in comparison to `${EPICS_MODULES}` (read: cellMods), then it won't pick that up. However, this seems to be a pretty special corner case.
-
Simon Rose authored
-
Simon Rose authored
E3-921: Add test to ensure that failed architectures cause build to fail See merge request e3/e3-require!94
-
- Aug 19, 2022
-
-
Simon Rose authored
-
Simon Rose authored
This adds a test that checks that if a single architecture fails, then the build fails as a whole. There are some slight complications in terms of writing good tests, since we do not want to use real architectures. Since the source files are converted from `SOURCES -> SRCS -> LIBOBJS` and we finally have the dependency ```make ${DEPFILE}: ${LIBOBJS} ``` we need to ensure that `LIBOBJS` is properly populated before we get to this point. The challenge, however, is that `LIBOBJS` is defined (in terms of `SRCS` as ```make LIBOBJS += $(addsuffix $(OBJ),$(notdir $(basename $(filter-out %.$(OBJ) %$(LIB_SUFFIX),$(sort ${SRCS}))))) ``` and `LIB_SUFFIX` is set in `${CONFIG}/os/CONFIG.Common.${T_A}`. This is why we need to do the workaround of hand-defining it at the beginning.
-
Lucas Magalhães authored
E3-920: Set custom E3_MODULES_PATH for test target See merge request e3/e3-require!93
-
- Aug 18, 2022
-
-
Lucas Magalhães authored
The test rule for e3 modules actually does a cellinstall and run the tests inside this temporary installation. The cellinstall needs to overwrite some path variables to work this variables were not accessible through the test rule as they are just changed if cell is on MAKECMDGOALS. This made impossible to use the standard path variables inside module's custom test rules. To fix it the same mechanism used in cellinstall is implemented for test and the variables paths are now overwritten. This makes possible ie. to use E3_MODULES_INSTALL_LOCATION_BIN inside custom test rules. This commit also introduces an unwanted behavior. As the test rule is now overwriting the standard path variables it cannot longer be along with the install rule. For example, running `make test install` will install the module inside the test dir. This is a known issue for cellinstall as well and a restructure of the Makefile code should be made to isolate the rules.
-
- Aug 17, 2022
-
-
Lucas Magalhães authored
E3 924: General require cleanup See merge request e3/e3-require!92
-
Lucas Magalhães authored
-
Lucas Magalhães authored
-
Lucas Magalhães authored
-
- Aug 10, 2022
-
-
Lucas Magalhães authored
E3-895: Use bash also for debug on CONFIG_SHELL See merge request e3/e3-require!91
-
- Aug 09, 2022
-
-
Lucas Magalhães authored
-
Lucas Magalhães authored
-
Simon Rose authored
E3-662: Improved IOC startup output See merge request e3/e3-require!90
-
Simon Rose authored
-
- Aug 04, 2022
-
-
Simon Rose authored
E3-453: Remove EPICSVERSION loop See merge request e3/e3-require!89
-
- Aug 03, 2022
-
-
Simon Rose authored
-
Simon Rose authored
-
Simon Rose authored
-
Simon Rose authored
This is necessary for the following reason: the previous mechanism used an eval/call combination that required SUBS and TMPS to be exported on a previous pass through. This allowed us to use `vpath` for each specific file in order to locate the correct source files. In order to avoid that, we add two new ingredients: * `VPATH` instead of `vpath`, since it allows us to have variables that are expanded later * `.SECONDEXPANSION`, which allows a target (`db_internal`, in this case) to perform a second variable expansion at the _end_ of the pass through. All of this is necessary because the typical module makefile looks like: ``` include driver.makefile SUBS += ... ``` i.e. `SUBS` and `TMPS` are defined _after_ the inclusion of driver.makefile. If we don't want to force a re-write of every single module makefile, we needed to do some of the above changes.
-
Simon Rose authored
Note that there is something surprising here: `EXCLUDE_ARCHS` _filters_ the architectures (i.e. runs it as %arch%), while `ARCH_FILTER` matches exactly. This is exactly backwards from what the names suggest. However, I am leaving this as is for the time being since there are possibly existing wrappers that use these two variables in this way; a further investigation should be done to ensure that we can improve this in some sense. If we make such a change, we should regard it as breaking.
-
Simon Rose authored
-
Simon Rose authored
-
Simon Rose authored
-
Lucas Magalhães authored
E3-879: driver.Makefile: Add check for inconsistent versions between dependencies See merge request e3/e3-require!88
-
Lucas Magalhães authored
In a dependency chain like B->A->C and also B->C where A needs a version of C different than B the build should fail. This commit adds this check during dependency treatment on the built target.
-
- May 31, 2022
-
-
Simon Rose authored
E3-847: Apply all the patches See merge request e3/e3-require!87
-
- May 30, 2022
-
-
Simon Rose authored
-
Simon Rose authored
-
Simon Rose authored
-
Simon Rose authored
-
- May 06, 2022
-
-
Simon Rose authored
E3-822: Register dependencies for expanded db files See merge request e3/e3-require!86
-
Simon Rose authored
-
- May 05, 2022
-
-
Simon Rose authored
-
Simon Rose authored
This follows the same pattern as the .d files generated during compilation; the .d files are generated as a side effect of generating the output file, and we then include them all at build-time to register the correct dependencies. See line 634 of driver.makefile.
-
Simon Rose authored
-
- Apr 20, 2022
-
-
Anders Lindh Olsson authored
E3-670: Propose linters See merge request e3/e3-require!85
-
Anders Lindh Olsson authored
-
Anders Lindh Olsson authored
-