On September 23, 2014 12:54:28 PM EDT, "Bjørn Roald"
On 09/23/2014 11:01 AM, Rob Stewart wrote:
On September 22, 2014 5:20:10 PM EDT, "Bjørn Roald"
wrote: On 09/22/2014 11:37 AM, Rob Stewart wrote:
On September 21, 2014 11:12:51 AM EDT, "Bjørn Roald"
wrote: What is a "main module"?
For library A, the main module live in libs/A/include libs/A/src etc.
Each sub-library contain a module as well, sub.library A/x live in: libs/A/x/include libs/A/y/src etc.
all these modules are modules of library A, but the main module is a sort of focus point. It is the boost library's primary features. Sub libraries are there to provide optional utilities that depend on or or create a bridge to other modules, boost or external modules. Sub-libraries could be used for other purposes than modularization, e.g. logical partitioning of a libraries facilities. But if that is useful,
it is off-topic, so I leave that.
Did you notice how you switched from using "module" to using "library" in your discussion?
Why do you say that, I can not say I switched, at lieat not in that direction. Further down I discuss if sublibraries should simply be called modules.
My impression, when reading your explanation, the first time, is that you began using "library" rather than "module". As I read it now, I see was mistaken.
I fail to see the distinction you're trying to make between the two.
OK, first and most important. Library is an established boost term, I do not want to suggesting anything fundamentally about that term. A library contains one or more modules. If more than one module, then the terms sub-module, sub-library have been used about these extra modules in the modularization discussions. I suggested to call them sub-library, and avoid calling them submodules due to probable confusion with git submodule, but I think maybe it is better to simply call them modules, and a Boost library may bave more than one of them to facilitate modularization.
I see nothing that makes "module" distinct from "library" in the foregoing.
Module: A organized set of boost library code that can be handled in a uniform manner by boost tools. A module shall contain the include, test, build, and doc directory, Modules that are not header-only shall also contain the src directory that is used to build one or more corresponding library files.
How is a module distinct from a library?
A library can have more than one module. If it has one it is more or less the same.
You also discuss "sublibraries" in the same way.
Both are defined in terms of the directories they contain. Each is defined in terms of the other.
Do you follow my point now?
Module take 2: A organized set of boost code that can be handled in a uniform manner by boost tools. A module shall contain the include, test, build, and doc directory, Modules that are not header-only shall also contain the src directory that contain sources used to build static and dynamic library files that the user will link with.
I don't understand how that is distinct from "library".
A library may contain more than one module, if not modularization will create new boost libraries needing maintainers, reviews, etc.
A library can contain more than one sublibrary. Why do you need "module" and "submodule" when "library" and "sublibrary" would do as well? If you only use "library" and "sublibrary" in every case, the substance of what you've written doesn't change as I see it. If you still think there's something to a library that isn't part of a module, please explain. So far, they appear to be synonyms to me. ___ Rob (Sent from my portable computation engine)