Hi,
I am trying to make my application aware of which version of TivaWare it is using.
Is there any way to read that information from an application?
A #define or something similar would be excellent?
Thank you,
Peter A.
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi,
I am trying to make my application aware of which version of TivaWare it is using.
Is there any way to read that information from an application?
A #define or something similar would be excellent?
Thank you,
Peter A.
Hi Robert,
Thank you for your reply.
I just want to be able to determine what build environment was used to build a running application in order to be able to rebuild the exact same software in case of situation when I need to reproduce and debug some problems.
Thank you,
Peter A.
Peter Adamus said:I just want to be able to determine what build environment was used to build a running application in order to be able to rebuild the exact same software in case of situation when I need to reproduce and debug some problems.
Laudable goal.
This is one of the things revision control systems are good for. Every build (or at least every build that could end up on a released unit) should have its own release number and be 'tagged' in the RCS so it can be easily found and extracted.
If you store in the RCS frequently during development (and I recommend it) then it's also easy to backtrack modifications.
The RCS should contain your libraries and your own source. I include the binaries as well since this lets me extract past versions w/o the necessity of compiling. Ideally you would include you compiler and other build tools, I'm not sure many manage that ideal.
If you're already storing the library so you can extract to re-compile against an RCS is actually probably easier.
Robert
Chuck Davenport said:With that said, I also understand the request for such a function
Yep, just trying to deal with the stated issue. Having that info immediately readable might be useful in some situations (although I'm not convinced it's a significant improvement over the revision number since there is a simple mapping from revision number to library version).
Chuck Davenport said:In many cases, the build environments are ghosted to a build maching or hard drive that is then preserve for recreating the same environment down the road if needed for legacy product support.
I know of such. The problem (besides getting IT to allow it) is a number of compilers are actively hostile to it*. They incorporate technology to prevent you from running the compiler (such as Flex) so the VM may run but that is insufficient to ensure the build environment is successful.
Robert
* - TI is one of the offenders here, I just spent several days doing a simple transfer of license between machines.
Hi Bryon,
Although I would like to provide a resounding recommendation for 1 or 2 of these types of systems, I don't have a lot of input on these matters at TI nor do I utilize them much at TI since I am not involved in a lot of SW development in my current role. In my not too distant past, I was, in fact, employed as a lead software engineer and have used many systems from proprietary to the overpriced name brand systems. In the end, I think that the best option is to evaluate your organizational needs, types of files you need to control, how many users are going to use it concurrently, etc and evaluate which will do the job for you.
By the way, TI has used GIT on a corporate level for some time but is currently evaluating other tools as a result of some changes to either the GIT organization or to an intermediate provider that we use (I am not familiar with all the details of this). The specific department that I work in also uses ClearCase to hold a variety of documents, source, executables, etc. (Note: this is in no way an endorsement or discouragement for either tool just data points and information that may be informative to you.)