[Developers] [Patches] RPATHDIRS for thorn-internal libraries

Erik Schnetter schnetter at cct.lsu.edu
Tue Oct 27 17:05:07 CST 2009

On Oct 27, 2009, at 15:01 , Frank Loeffler wrote:

> This patch adds Cactus support for thorns which require an rpath
> argument to be added to the linker line. Usually, rpath settings can  
> be
> left uppon the user to specify in the configuration file for a  
> specific
> machine. However, there are cases where this is not possible.
> One such example is ExternalLibraries/flickcurl. It provides the
> flickcurl library by configuring and building it inside the Cactus
> config tree. This means that the location of the library depends on  
> the
> name of the configuration (and the location of the Cactus source  
> tree).
> We cannot expect the user the adapt that every time he/she builds a  
> new
> configuration; Cactus should have a way to figure that out
> automatically.
> This patch adds that support. Configuration scripts of thorns can then
> specify RPATH_DIRECTORY in the way they already do for e.g.
> LIBRARY_DIRECTORY. Entries in RPATH_DIRECTORY will be added as
> rpath-option to the linker.

Does it make sense to have the RPATH_DIRECTORY and LIBRARY_DIRECTORY  
different?  It would be easier (and backward compatible) to use  
LIBRARY_DIRECTORY for both the link-time and run-time search path.  In  
most cases, it also doesn't make sense to use different search paths  
at link time and at run time.

> This changes configure.in to allow the variable RPATHDIRS to be passed
> to the make system. This would in general require autoconf to be rerun
> to generate a new file configure. I did that (using autoconf2.13 -  
> newer
> versions did not work). However, this produces a lot of unrelated
> changes to the 'configure' file. So I went ahead and edited  
> 'configure'
> by hand to introduce those changes there as well (this is just two
> simple lines).

Yes, the Cactus build system requires autoconf 2.13.  We typically  
only audit the changes to configure.in, and then just re-generate  
configure before committing to cvs, independent of how extensive the  
changes are.  Most of the changes are probably only due to differences  
in line numbers and can be safely ignored.

> The rest of the patch are the changes to the perl code used to parse  
> the
> output of the thorn config scripts and the code used to generate the
> make.link input file for the make system.


Erik Schnetter <schnetter at cct.lsu.edu>   http://www.cct.lsu.edu/~eschnett/

More information about the Developers mailing list