Strategy to link/include library
o3o
orfeo.davia at gmail.com
Wed Jan 16 07:08:11 PST 2013
On Wednesday, 16 January 2013 at 12:00:54 UTC, Jacob Carlborg
wrote:
Thanks for your prompt response.
> [cut]
> You usually place it in a common directory. You then use the -I
> switch to make the compiler aware of this directory.
Let me play with some scenario: I've a library 'acme' release 1.0
and two client C1 and C2.
* scenario 1: acme in common directory
+ acme
...
+ C1
...
+ C2
...
So, in C1
$dms -I../acme *.d
and in C2
$dms -I../acme *.d
suppose that C2 need a new feature from acme library, so I modify
and
recompile acme sources and I get the new acme rel. 2.0.
But C1 still uses the old release 1.0, and if I recompile C1 it
is linked to new new acme rel. 2.0...
* scenario 2: acme in subdirectory
If I include acme as subdirectory like this:
+ C1
...
+ acme
+ C2
...
+ acme
I resolve the problem on scenario 1. (C1 uses rel. 1.0 and C2
rel. 2.0) but if I fix a bug in acme, I should update C1, C2 and
all other clients that use acme.
What do you think? what is your way of working?
> Ideally this should be handled by a package manager and a build
> tool.
which package manager do you suggest? (of course orbit :) ), and
which build tool (I use rake)?
Thank you very much
More information about the Digitalmars-d-learn
mailing list