Trying to make an all-Boost header/library

I started out making a group Boost project for Xcode, so I can compile Boost.Test and S11N just once and include them in my other projects. Then I wondered how far can I take this. 1. I tried including all the sources in the libs/ directory. 2. It seems that there is source code in the detail, function-types, and smart_ptr that we don't really need, so I've now excluded it. (The function-types one needed the Wave _tool_ to be created, so I really hope it's not needed.) 3. Just like Linux has various package installers (apt-get, etc.), so does Mac OS X. I originally had Fink, but switched to MacPorts. Dowloaded packages include: bzip2, docbook, doxygen, expat, fop, ghostscript, graphviz, icu, libxml1, openmpi, subversion, texlive, and zlib. 4. I generally have one static library file for each Boost library. For libraries that need another, I made the corresponding targets dependencies, but I didn't link the results together. 5. The test library gets three static libraries. They all include a "main" or something like it, so I'll probably make a custom fourth library for a grand Boost library file. 6. The graph library has extra support for Expat, which I included from MacPorts. Should I leave that out for a publicly distributed grand Boost library file, since I can't guarantee a general user having it? 7. The iostreams library has extra support for bzip2 and zlib, which I originally included from MacPorts. I realized that my system (Mac OS X 10.4, PowerPC) includes copies of those libraries and headers, so I switched to those. This means that I can safely include them in a grand Boost library, right? 8. I left out the long-double versions of the math functions because they're disabled on my system. Should I try (conditionally?) including them on Intel-builds since I think they're supported there? How do I do that? 9. I have the MPI library built because I have OpenMPI through MacPorts. Should I leave that out of a grand Boost library? 10. For the Python library, I tried connecting to the OS's Python.framework. 11. Because of [9] and [10], I made the MPI-Python library too. I guess its status for a grand Boost library depends on the answer for [9]. 12. Does anyone have any idea how to create a Python extension? I did a very quick read of the docs and couldn't get it. So I just made a shared library for the MPI extension for Python and included the applicable static libraries and framework. (It seems you are supposed to use a special Python script, and _never_ manually.) Since I made a final product, I had to link in my static libraries for MPI, Python, MPI-Python, and S11N, then link the OpenMPI libraries from MacPorts, then the system's Python framework, then a surprise need for some Open libraries also from MacPorts. 13. For the regex library, I defined having ICU, and included it from MacPorts. Should I leave out ICU support in a grand Boost library? Actually, I think the system has buried copies of Expat and ICU, but I don't know how to reach them, or if it's even possible. Maybe I should try making a framework of all of Boost, modulo the answers on what I should include above. Should I somehow include object-code for the parts of the Test library that bring a "main"? Or do I have to tell the user to get the framework, then download regular Boost to build what's needed for Testing (or MPI, MPI/Python, Graph/Expat, or Regex/ICU)? I think I would have to make a "boost/boost.hpp" overall header to be the focal point of the framework, which may be a good idea to create anyway. How would I test it? Hmm, would anyone here like to take a challenge to create a program that uses ALL of Boost, so every symbol gets exercised? -- Daryle Walker Mac, Internet, and Video Game Junkie darylew AT hotmail DOT com
participants (1)
-
Daryle Walker