On Wed 30 Apr 2008 13:49, [EMAIL PROTECTED] (Ludovic Courtès) writes:

> As for libraries, there's an additional problem.  Libraries that are not
> meant to be used from C (e.g., bindings of some C library whose C API is
> not public) would better fit under $pkglibdir than under $libdir.  In
> that case, the `.scm' module that calls `load-extension' must contain
> the full path to the lib, since it cannot expect it to be in ld.so's
> search path.  The problem is that doing so precludes running tests from
> the build tree, before installation.

This is cairo/config.scm.in:

(define-module (cairo config)
  :export     (*cairo-lib-path*
               *cairo-documentation-path*))

(define *cairo-lib-path* "@cairolibpath@")
(define *cairo-documentation-path* "@cairodocumentationpath@")


This is part of cairo/Makefile.am:

config.scm: Makefile config.scm.in
        sed -e "s|@cairolibpath\@|$(lib_builddir)/libguile-cairo|" \
            -e 
"s|@cairodocumentationpath\@|$(docs_builddir)/cairo-procedures.txt|" \
            $(srcdir)/config.scm.in > config.scm

install-data-local: Makefile config.scm.in
        $(mkinstalldirs) $(DESTDIR)$(moduledir)
        sed -e "s|@cairolibpath\@|$(libdir)/libguile-cairo|" \
            -e "s|@cairodocumentationpath\@|$(moduledir)/cairo-procedures.txt|" 
\
            $(srcdir)/config.scm.in > $(DESTDIR)$(moduledir)/config.scm
        chmod 644 $(DESTDIR)$(moduledir)/config.scm

uninstall-local:
        rm -f $(DESTDIR)$(moduledir)/config.scm

It's verbose but it does work in both cases.

Andy
-- 
http://wingolog.org/


Reply via email to