AnsweredAssumed Answered

CodeWarrior static code and build replication

Question asked by Colin Cameron on Jul 1, 2015
Latest reply on Jul 6, 2015 by Fiona Kuang

Hi, I'm using CW 10.6 for 56800e. We're developing various products with it, they all share a common set of drivers for our hardware and we use PE to generate custom drivers per product.


We also have an automated build and test system. One thing we need is to be able to reproduce a binary identical image from unchanged code.


The problem comes from the 'Static Code' used by CodeWarrior, in order to ensure repeatability I put that code with our driver code that is shared between projects (i.e. configured the project in standalone mode and pointed the IDE at it). But it doesn't seem to be static at all. Either the code is changed when things are enabled / disabled in CodeWarrior, or it's changed between updates in 10.6. In any case the automated builds broke, it looks like the static code changed and a project built with 10.6 a while ago no longer builds because of the automatic updates applied to 10.6 in between.


So, is the static code fixed completely for a version of Code Warrior, or does it update with the automatic updates? Is it changed when the PE settings change? More generally, in this system, what code is it safe to store separately and share between projects (i.e. it will never change), what code needs stored with the project (i.e. it changes and is not generated) and what code does not need committed to revision control in either place (i.e. it is always completely regenerated in a clean build).


Additionally CodeWarrior seems to keep adding the normal 'default' location for the static code even though I want to store it somewhere else. This causes a build warning because the directory doesn't exist -- this is not ideal either (our build system catches 'new' warnings). But every time I delete this, no matter how or where I delete it, it get's re-added when I open the project the next time.


I would have thought this level of automation, replication of release builds and separation of shared code would be a fairly common use pattern but I can't see how to do it without problems. Perhaps I'm missing something or there's some reference or best practice people can point me too.