One general problem with combining libraries into larger projects is that
 
* the package providing of the library knows best about the necessary 
compiler/linker flags, but
* packages using the library must specify the compiler/linker flags

Pkgconfig is the standard for solving this problem, 
http://en.wikipedia.org/wiki/Pkg-config. It consists of a helper 
commandline program pkg-config and plain-text configuration files (*.pc) 
that contain the compiler/linker flags necessary. The library then just has 
to install a suitable libfoo.pc file, and the users of the library call 
e.g. "pkg-config --cflags libfoo" to get the compiler flags.

At http://trac.sagemath.org/15742, have packaged 

* a command-line implementation (pkgconf) of the pkgconfig spec 
* and a python interface to pkg-config

and propose to make it a standard spkg. In the future, spgk-install scripts 
shall use pkgconfig whenever possible.In particular, I'm working with 
Francois Bissey to use pkgconfig for packages using blas/cblas/lapack. This 
will allow us to switch between different blas/cblas/lapack implementations 
just by exchanging the pkgconfig (*.pc) files.

This is the obligatory "new spkg" vote... 

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to