Skip to content
Snippets Groups Projects
  1. Aug 22, 2022
  2. Aug 19, 2022
    • Simon Rose's avatar
    • Simon Rose's avatar
      E3-921: Add test to ensure that failed architectures cause build to fail · 818eafee
      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.
      818eafee
    • Lucas Magalhães's avatar
      Merge branch 'E3-920' into 'master' · 65814b54
      Lucas Magalhães authored
      E3-920: Set custom E3_MODULES_PATH for test target
      
      See merge request e3/e3-require!93
      65814b54
  3. Aug 18, 2022
    • Lucas Magalhães's avatar
      Set custom E3_MODULES_PATH for test target · 88154b18
      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.
      88154b18
  4. Aug 17, 2022
  5. Aug 10, 2022
  6. Aug 09, 2022
  7. Aug 04, 2022
  8. Aug 03, 2022
    • Simon Rose's avatar
      Updated CHANGELOG, added comment to test · c51a6894
      Simon Rose authored
      c51a6894
    • Simon Rose's avatar
      Various comment cleanups · ad9e9b20
      Simon Rose authored
      ad9e9b20
    • Simon Rose's avatar
      Removed EPICSVERSION loop · 1187d3e8
      Simon Rose authored
      1187d3e8
    • Simon Rose's avatar
      Rewrote the .template/.substitution expansion · 96d2346d
      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.
      96d2346d
    • Simon Rose's avatar
      Add tests for architecture filtering · d666ced4
      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.
      d666ced4
    • Simon Rose's avatar
    • Simon Rose's avatar
      Slightly further along in terms of cleanup · c7c260ce
      Simon Rose authored
      c7c260ce
    • Simon Rose's avatar
      E3-453: Initial cleanup · ee31b23a
      Simon Rose authored
      ee31b23a
    • Lucas Magalhães's avatar
      Merge branch 'E3-879' into 'master' · 1087f84f
      Lucas Magalhães authored
      E3-879: driver.Makefile: Add check for inconsistent versions between dependencies
      
      See merge request e3/e3-require!88
      1087f84f
    • Lucas Magalhães's avatar
      driver.Makefile: Add check for inconsistent versions between dependencies · 91ab6382
      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.
      91ab6382
  9. May 31, 2022
  10. May 30, 2022
  11. May 06, 2022
  12. May 05, 2022
  13. Apr 20, 2022
Loading