tenomoto/dotwrp — pull request #1 by mcg1969 (2014-03-22 21:00:31+00:00)
Title: Updated dortwp

This is pretty much a rewrite of dotwrp; I hope you will consider it. It does the following:

* Added all of the BLAS routines affected by the F2C/GNU Fortran incompatibility issue.
* Converted the single source file from f90 to c for more flexibility.
* Given all of the functions an ``__attribute__((visibility ("hidden")))`` label.

This last point merits some explanation. This recipe is built as a static library. With the previous version of dotwrp, every function created was exported as an external symbol, which would then appear as an external symbol in any project that used the code. This was causing conflicts in certain projects.

For example, Octave works best *without* this shim code. But it also depends on the ``qrupdate`` library, which as of this writing depends on ``dotwrp``. Octave ends up picking up the BLAS replacements when ``qrupdate`` is linked in---but it wasn't expecting them, because it wasn't built that way.

By making the symbols hidden, each library can decide for itself whether to use it, without causing conflicts with upstream projects that link multiple libraries together.