JuliaLang/julia — pull request #773 by ViralBShah (2012-04-29 15:48:09+00:00)
Title: RFC: Build related updates for more dynamic linkage of libraries and their inter-dependencies

On the local_blas branch, I have made a number of build related modifications, that will make it easier to integrate into various packaging systems and such:

1. Avoids multiple linking of BLAS and LAPACK into other libraries. The shared BLAS and LAPACK libraries are loaded by others that need them. (eg. ARPACK, SUITESPARSE).
2. Link the various julia binaries to the the libjulia shared library. No LD_LIBRARY_PATH mucking around should be needed. libjulia now lives with all the other libraries in lib/
3. Add Rmath to the default build
4. Move GLPK building to external and enable it in the default build
5. Disable LAPACK build, and instead make OpenBLAS build LAPACK, which replaces some routines with faster ones.
6. Change the way suitesparse is compiled. Now, each individual suitesparse library is compiled into its own shared library, rather than one monolithic libsuitesparse - which is more consistent with how various distributions handle it.
7. Version upgrades for some libraries.
8. Turn on threads in openblas and fftw build, although not yet used by the drivers

On Mac, the lapack tests will fail due to some lapack symbols not being visible, but strangely, everything works fine on linux. OpenBLAS 0.1.1 will fix this, and I will wait for this before merging.