Le 23/12/2012 14:18, Volker Braun a écrit :
You can pull out the rug under your feet if you have a dumb blas library that doesn't depend on anything. It gets a bit more tricky if you have library versions and dependencies (e.g. ATLAS cblas depends on pthreads and libatlas, which you nowadays have to specify on the linker command line).
At compile time, the linker indeed has to know that the particular libblas library you use has such and such deps, but will only put in the dependence on libblas. The runtime linker, when relinking your executable, will link to the now-available libblas, see that it depends on something else, and link to that something else too. And that means that if you change the implementation (and the deps of libblas), then your executable still works the same.
To demonstrate it works like I describe, you'll find attached a trivial test. Run "sh autogen.sh", then make, then go have a look in .libs/ using ldd: there you'll find that the libvisible library depends on an libhidden library, but that the test program only links to libvisible.
This is why I think wrappers are not needed, Snark on #sagemath -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. Visit this group at http://groups.google.com/group/sage-devel?hl=en.
test-0.0.0.tar.bz2
Description: application/bzip
