Code review comment for ~dirk.zimoch/epics-base:vxWorks5

Revision history for this message
Andrew Johnson (anj) wrote :

Hi Dirk,

So you are looking to run the IOC and RSRV server from 7.0 on older VxWorks versions, but not the PVA modules. You appear to have showed that there are no major source code changes needed to do that other than one minor code change and restoring the templateInstance.cpp source files that were deleted before the 3.16.1 release back in 2016.

As long as you have your Jenkins building the 7.0 branch against those versions and you're willing to work with the other developers to fix any issues that it brings up I think that should be a reasonable request and I'd be okay with restoring the source files.

However I don't like your SKIP_BUILDS mechanism. It seems too arbitrary, and I'm not sure if it is even necessary to automate this in the build system at all.

My preferred solution would be for you to use a separate checkout of Base *without* checking out the git submodules, which would give you a tree that includes none of the PVA modules but does contain the libcom, ca and database modules since they are now part of the 7.0 branch again. The rules in the modules directory check for the presence of a Makefile in the submodule directories before trying to build in them, so this approach works fine.

If a separate checkout isn't acceptable and you really want to build everything in a single tree I would want to try filtering out the target architectures that can't be built from the CROSS_COMPILER_TARGET_ARCHS list inside the individual modules. You can add a file configure/CONFIG_SITE.local to each submodule that does something like this:

  CROSS_COMPILER_TARGET_ARCHS := $(filter-out vxWorks-68040, $(CROSS_COMPILER_TARGET_ARCHS))

Repeat that line for as many cross-target arch's as necessary. Note that you might need to modify the very first setting of CROSS_COMPILER_TARGET_ARCHS to make sure that it uses := instead of = (+= is fine for either after the first setting). I have used this approach before to disable building troublesome architectures on certain modules.

- Andrew

« Back to merge proposal