When a developer consumes a shared library (say, zlib), they consume the 
library by binding to a library that is identified by NAME, PLATFORM (x86/x64), 
VERSION and PUBLICKEYTOKEN ... the publicKeyToken is derived from the public 
key of the signing certificate.

So, if the publisher of zlib wants to publish one for VC9 and one for VC10 they 
have to have two authenticode certificates.  A bit of a pain, yes. But we can 
have the same version of the library installed for multiple compilers at the 
same time, and never have a conflict.

                Ahh!  That's a great solution!

Boost immediately comes to mind as a project that intrinsically supports being 
built in all sorts of ways (different compilers, optimisations, etc), so the 
publicKeyToken approach will work very well, IMO.

....and here's some thoughts out loud:

New user story:
I'm a Windows developer that wants to consume a bunch of CoApp projects.  I 
need to know all of their NAME, PLATFORM, VERSION and PUBLICKEYTOKEN details 
with minimal fuss (I don't want to go to each project's website and have to 
find the details individually).

I'd like to go to http://use.coapp.org, be presented with a Google-like 
minimalist page; search box and not much else.  I'd like to type in `python 
boost apr zlib libpng` and then be presented with search results that clearly 
depict the latest versions of each, with NAME/PLATFORM/VERSION and 
PUBLICKEYTOKEN details readily available.  For projects with multiple builds 
(i.e. Boost), and thus, multiple PUBLICKEYTOKENS, I want clear descriptions of 
which build does what.

                Follow on questions:
What do I do with this information when I get it?  Do I plug it into an XML 
file that gets consumed/processed by the CoApp tool chain?  If so, couldn't 
http://use.coapp.org just generate the XML file for me?  i.e. after I type in 
the projects I want, I get search results with check boxes; I tick the ones I 
want, press a 'Generate' button, and wallah, I get my XML file that describes 
all my dependencies.


_______________________________________________
Mailing list: https://launchpad.net/~coapp-developers
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~coapp-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to