
Hi, Inn a light of recent discussion on earlier freezing, I have following question/proposition: Is it exist in Boost.Build or could we add feature that allow us to specify cvs tag dependency as a dependency grist? Example1: Jamfile ------- MY_SRCS = .... tag_to_test = my_lib_dev # HEAD run my_test : <tag:$(tag_to_test)>$(MY_SRCS) Now If I want to test my new development branch I just set tag to appropriate value. Example2: Jamfile ------- exe my_test : ...sources... <tag:1_31_0><lib>../build/boost_unit_test_framework Now I want stable version of library - I specify which one I want. Example3: Jamfile ------- exe my_test : ...sources... <tag:1_30_0>...abc.h Here I know my code works with that version of header file I want to use it specifically. And so on. This feature could allow us to: 1. Test development branches for regressions 2 .Test new features before moving it in cvs HEAD 3. Depend on stable version of dependency, without need to keep up with changes in it. 4. Test development version Boost.Test with stable version of it e.t.c I am sure it's not easy to do. But may be it worth a shot. Gennadiy.

On 06/30/2004 01:08 PM, Rozental, Gennadiy wrote: [snip]
Example3:
Jamfile -------
exe my_test : ...sources... <tag:1_30_0>...abc.h
Here I know my code works with that version of header file I want to use it specifically.
And so on.
This feature could allow us to:
1. Test development branches for regressions 2 .Test new features before moving it in cvs HEAD 3. Depend on stable version of dependency, without need to keep up with changes in it. 4. Test development version Boost.Test with stable version of it e.t.c
I am sure it's not easy to do. But may be it worth a shot.
I've had a similar problem where I frequently try different versions of files, get the exe to run, then make several changes and get the exe to work, etc. I would like to be able to revert to all the files which the exe depended on at a specific date. The way I've done it is to keep the dependencies for each "version" of the exe I might want to revert to. The dependencies are kept in: <toplevel>/release/<how>/<what>/my_test.release.log where: <toplevel> is similar to the boost build directory <how> is a subpath encoding which compiler and options are used, e.g. intel/debug <what> is a subpath encoding what is being created, e.g. libs/managed_ptr/test and the my_test.release.log records all dependencies and the versions used to create the exe. For example: 1.1 ./boost/managed_ptr/auto_overhead.hpp 1.2 ./boost/managed_ptr/basis_specializer.hpp 1.9 ./boost/managed_ptr/cycle_basis_mgr.hpp 1.25 ./boost/managed_ptr/managed_ptr_ctor_forwarder.hpp 1.5 ./boost/managed_ptr/marg_ostream_refcnt_overhead_ptr.hpp 1.4 ./boost/managed_ptr/optimally_inherit.hpp The release.logs are versioned just like any file; hence, instead of remembering which tag to specify for each file, you could just specify which version of the release.log you wanted to use. Of course this would require reworking for use with bjam, since bjam uses a completely different method for recording <how> and <what>, but the idea that might be useful to you in bjam is the release.log. I was actually thinking about doing something in bjam --v2 to emulate this since I've often felt the need. Would this satisfy your needs?

"Rozental, Gennadiy" <gennadiy.rozental@thomson.com> writes:
Hi,
Inn a light of recent discussion on earlier freezing, I have following question/proposition:
Is it exist in Boost.Build or could we add feature that allow us to specify cvs tag dependency as a dependency grist?
I _think_ what you're proposing is interesting, but the means of getting there may be completely inappropriate for Boost.Build, if I understand it at all. Why don't you try to say what you're trying to accomplish without trying to design the Boost.Build feature? Are you trying to get cvs checkout actions into the build system? If so, why? What's wrong with doing cvs update -rwhatever_tag before kicking off the test? -- Dave Abrahams Boost Consulting http://www.boost-consulting.com
participants (3)
-
David Abrahams
-
Larry Evans
-
Rozental, Gennadiy