The upcoming mulle-objc 0.22.1 release (IV): Supermarks
I finally found the time to implement the last feature as specified in the “master-plan”:
As you may or may not know, mulle-sde uses a tagging mechanism called “marks” for dependencies. For example the marks for the two dependencies mulle-c11 and farmhash-c for mulle-data looks like this:
address marks ------- ----- mulle-c11 no-all-load,no-cmake-inherit,no-import,no-link,no-recurse,no-singlephase src/farmhash-c no-all-load,no-build,no-clobber,no-header,no-import,no-link,no-readwrite,no-share,no-share-shirk
A mark directly steers the code generation or the way a dependency is fetched and linked. Though the meaning of the marks is documented, parsing them mentally is still burdensome. Supermarks are macros, that combine one or more marks. With output as supermarks the picture becomes clearer:
address supermarks ------- ---------- mulle-c11 C,TreeLeaf src/farmhash-c Amalgamated
Here you just have to know that an amalgamated dependency is source code, that is embedded in your project, but that also resides in a sibling project.
Given the power of the mulle-sourcetree, that is about as easy as it can get :)
The end of mulle-sde development ?
So for what it was originally intended, I see mulle-sde as feature complete. Of course there will be bugs fixes and code refinements. But for the foreseeable future I would prefer to not touch it and concentrate on mulle-objc exclusively now.
Post a comment
All comments are held for moderation; basic HTML formatting accepted.