mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-20 11:40:18 +02:00
add $libir to the ltdl path, not $pkglibdir; add extensionsdir
* libguile/Makefile.am (libpath.h): Fix SCM_LIB_DIR to point to the libdir, not pkglibdir. Add SCM_EXTENSIONS_DIR, for a dir to put in the dynamic-link search path that's not managed by ldconfig or the like; and put this dir in the "extensionsdir" key of %guile-build-info. * libguile/dynl.c (sysdep_dynl_init): Rename the installed-libdir environment var to GUILE_SYSTEM_EXTENSIONS_PATH (from GUILE_SYSTEM_LTDL_PATH). Also add SCM_EXTENSIONS_DIR to the ltdl search path in the default case. * meta/uninstalled-env.in: Adapt override to match. * meta/guile-2.0.pc.in: Add extensionsdir, so you can pkg-config --variable=extensionsdir guile-2.0.
This commit is contained in:
parent
d71db1f9a9
commit
28af5ee5ec
4 changed files with 13 additions and 7 deletions
|
@ -601,7 +601,8 @@ libpath.h: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
|||
@echo '#define SCM_PKGDATA_DIR "$(pkgdatadir)"' >> libpath.tmp
|
||||
@echo '#define SCM_LIBRARY_DIR "$(pkgdatadir)/$(GUILE_EFFECTIVE_VERSION)"'>>libpath.tmp
|
||||
@echo '#define SCM_SITE_DIR "$(pkgdatadir)/site"' >> libpath.tmp
|
||||
@echo '#define SCM_LIB_DIR "$(pkglibdir)"' >> libpath.tmp
|
||||
@echo '#define SCM_LIB_DIR "$(libdir)"' >> libpath.tmp
|
||||
@echo '#define SCM_EXTENSIONS_DIR "$(pkglibdir)/$(GUILE_EFFECTIVE_VERSION)/extensions"' >> libpath.tmp
|
||||
@echo '#define SCM_CCACHE_DIR "$(pkglibdir)/$(GUILE_EFFECTIVE_VERSION)/ccache"' >> libpath.tmp
|
||||
@echo '#define SCM_EFFECTIVE_VERSION "$(GUILE_EFFECTIVE_VERSION)"' >> libpath.tmp
|
||||
@echo '#define SCM_BUILD_INFO { \' >> libpath.tmp
|
||||
|
@ -625,6 +626,7 @@ libpath.h: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
|||
@echo ' { "pkglibdir", "$(pkglibdir)" }, \' >> libpath.tmp
|
||||
@echo ' { "pkgincludedir", "$(pkgincludedir)" }, \' \
|
||||
>> libpath.tmp
|
||||
@echo ' { "extensionsdir", "$(pkglibdir)/$(GUILE_EFFECTIVE_VERSION)/extensions" }, \' >> libpath.tmp
|
||||
@echo ' { "guileversion", "@GUILE_VERSION@" }, \' >> libpath.tmp
|
||||
@echo ' { "libguileinterface", "@LIBGUILE_INTERFACE@" }, \' \
|
||||
>> libpath.tmp
|
||||
|
|
|
@ -118,17 +118,20 @@ sysdep_dynl_init ()
|
|||
|
||||
lt_dlinit ();
|
||||
|
||||
env = getenv ("GUILE_SYSTEM_LTDL_PATH");
|
||||
env = getenv ("GUILE_SYSTEM_EXTENSIONS_PATH");
|
||||
if (env && strcmp (env, "") == 0)
|
||||
/* special-case interpret system-ltdl-path=="" as meaning no system path,
|
||||
which is the case during the build */
|
||||
;
|
||||
else if (env)
|
||||
/* FIXME: should this be a colon-separated path? Or is the only point to
|
||||
allow the build system to turn off the installed extensions path? */
|
||||
lt_dladdsearchdir (env);
|
||||
#ifdef SCM_LIB_DIR
|
||||
else
|
||||
lt_dladdsearchdir (SCM_LIB_DIR);
|
||||
#endif
|
||||
{
|
||||
lt_dladdsearchdir (SCM_LIB_DIR);
|
||||
lt_dladdsearchdir (SCM_EXTENSIONS_DIR);
|
||||
}
|
||||
}
|
||||
|
||||
scm_t_bits scm_tc16_dynamic_obj;
|
||||
|
|
|
@ -7,6 +7,7 @@ datadir=@datadir@
|
|||
pkgdatadir=@datadir@/guile
|
||||
|
||||
sitedir=@sitedir@
|
||||
extensionsdir=@libdir@/guile/@GUILE_EFFECTIVE_VERSION@/extensions
|
||||
libguileinterface=@LIBGUILE_INTERFACE@
|
||||
|
||||
Name: GNU Guile
|
||||
|
|
|
@ -89,8 +89,8 @@ if ( env | grep -v -q -E '^GUILE_SYSTEM_COMPILED_PATH=' ); then
|
|||
export GUILE_SYSTEM_COMPILED_PATH=
|
||||
fi
|
||||
# Don't look in installed dirs for dlopen-able modules
|
||||
if ( env | grep -v -q -E '^GUILE_SYSTEM_LTDL_PATH=' ); then
|
||||
export GUILE_SYSTEM_LTDL_PATH=
|
||||
if ( env | grep -v -q -E '^GUILE_SYSTEM_EXTENSIONS_PATH=' ); then
|
||||
export GUILE_SYSTEM_EXTENSIONS_PATH=
|
||||
fi
|
||||
|
||||
# handle LTDL_LIBRARY_PATH (no clobber)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue