
First off, BCP is excellent. Here is a suggestion which might make it even more excellent, but it might not be deemed doable or important enough considering the extra parsing that needs to be done. I would like to see BCP be able to take a compiler-version/operating system/standard library, or some combination of these possibilities, and produce its file list with these extra narrowing possibilities. This would largely mean being able to look at the config files and eliminate the files which don't pertain to a particular compiler/os/standard library, but it might also affect other files among Boost's headers and libraries. My idea is that one may want to only distribute certain Boost files and libraries for a particular implementation, whereas BCP gives all related files for a particular file without considering specific implementations. I realize that such an undertaking may be a considerable amount of work and I am not trying to saddle John Maddock with it, especially as manually eliminating files which do not pertain to a particular implementation may be fairly easy. Ideally, however, it would be nice if one could do this programatically.

"Edward Diener" <eddielee@tropicsoft.com> writes:
First off, BCP is excellent. Here is a suggestion which might make it even more excellent, but it might not be deemed doable or important enough considering the extra parsing that needs to be done. I would like to see BCP be able to take a compiler-version/operating system/standard library, or some combination of these possibilities, and produce its file list with these extra narrowing possibilities. This would largely mean being able to look at the config files and eliminate the files which don't pertain to a particular compiler/os/standard library, but it might also affect other files among Boost's headers and libraries.
My idea is that one may want to only distribute certain Boost files and libraries for a particular implementation, whereas BCP gives all related files for a particular file without considering specific implementations.
I realize that such an undertaking may be a considerable amount of work and I am not trying to saddle John Maddock with it, especially as manually eliminating files which do not pertain to a particular implementation may be fairly easy. Ideally, however, it would be nice if one could do this programatically.
Sounds like a job for the Wave preprocessor. -- Dave Abrahams Boost Consulting www.boost-consulting.com

David Abrahams wrote:
First off, BCP is excellent. Here is a suggestion which might make it even more excellent, but it might not be deemed doable or important enough considering the extra parsing that needs to be done. I would like to see BCP be able to take a compiler-version/operating system/standard library, or some combination of these possibilities, and produce its file list with these extra narrowing possibilities. This would largely mean being able to look at the config files and eliminate the files which don't pertain to a particular compiler/os/standard library, but it might also affect other files among Boost's headers and libraries.
My idea is that one may want to only distribute certain Boost files and libraries for a particular implementation, whereas BCP gives all related files for a particular file without considering specific implementations.
I realize that such an undertaking may be a considerable amount of work and I am not trying to saddle John Maddock with it, especially as manually eliminating files which do not pertain to a particular implementation may be fairly easy. Ideally, however, it would be nice if one could do this programatically.
Sounds like a job for the Wave preprocessor.
As far as the only task is to extract the file names of all included files given a set of pp constants (compiler/library/platfrom specific) this is supported by Wave out of the box. For this to happen I'd propose you create config files containing the corresponding macro definitions to mimic the needed compiler etc. For instance for the VC7.1 this would look like: vc7.1.cfg: -D_MSC_VER=1310 -D_MSC_FULL_VER=13103077 etc. Regards Hartmut BTW: There is a sample included in the Wave package, which shows how to use the include file listing feature (list_includes).

Hartmut Kaiser wrote:
David Abrahams wrote:
First off, BCP is excellent. Here is a suggestion which might make it even more excellent, but it might not be deemed doable or important enough considering the extra parsing that needs to be done. I would like to see BCP be able to take a compiler-version/operating system/standard library, or some combination of these possibilities, and produce its file list with these extra narrowing possibilities. This would largely mean being able to look at the config files and eliminate the files which don't pertain to a particular compiler/os/standard library, but it might also affect other files among Boost's headers and libraries.
My idea is that one may want to only distribute certain Boost files and libraries for a particular implementation, whereas BCP gives all related files for a particular file without considering specific implementations.
I realize that such an undertaking may be a considerable amount of work and I am not trying to saddle John Maddock with it, especially as manually eliminating files which do not pertain to a particular implementation may be fairly easy. Ideally, however, it would be nice if one could do this programatically.
Sounds like a job for the Wave preprocessor.
As far as the only task is to extract the file names of all included files given a set of pp constants (compiler/library/platfrom specific) this is supported by Wave out of the box. For this to happen I'd propose you create config files containing the corresponding macro definitions to mimic the needed compiler etc. For instance for the VC7.1 this would look like:
vc7.1.cfg: -D_MSC_VER=1310 -D_MSC_FULL_VER=13103077 etc.
Regards Hartmut
BTW: There is a sample included in the Wave package, which shows how to use the include file listing feature (list_includes).
I think the problem is more complicated. First off, the BCP program has the ability to specify header files, libraries, HTML files and links, licenses, and perhaps other things needed for a distribution. Secondly, my suggestion was more one of exclusion rather than inclusion. Once list of files has been created by BCP I want it to exclude those files which are specific to a compiler-version/platform/standard-library which does not match the particular one(s) I have chosen. I will look at Wave and while I believe that Wave may be able to tell me what header files make up the list when a particular set of macros is defined, something I feel is excellent in its own way, I don't know if that will be a complete solution for which BCP was created. Thanks, nonetheless, for bringing to my attention this capability of Wave.
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
participants (3)
-
David Abrahams
-
Edward Diener
-
hartmutkaiser@t-online.de