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_PKGDATA_DIR "$(pkgdatadir)"' >> libpath.tmp
|
||||||
@echo '#define SCM_LIBRARY_DIR "$(pkgdatadir)/$(GUILE_EFFECTIVE_VERSION)"'>>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_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_CCACHE_DIR "$(pkglibdir)/$(GUILE_EFFECTIVE_VERSION)/ccache"' >> libpath.tmp
|
||||||
@echo '#define SCM_EFFECTIVE_VERSION "$(GUILE_EFFECTIVE_VERSION)"' >> libpath.tmp
|
@echo '#define SCM_EFFECTIVE_VERSION "$(GUILE_EFFECTIVE_VERSION)"' >> libpath.tmp
|
||||||
@echo '#define SCM_BUILD_INFO { \' >> 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 ' { "pkglibdir", "$(pkglibdir)" }, \' >> libpath.tmp
|
||||||
@echo ' { "pkgincludedir", "$(pkgincludedir)" }, \' \
|
@echo ' { "pkgincludedir", "$(pkgincludedir)" }, \' \
|
||||||
>> libpath.tmp
|
>> libpath.tmp
|
||||||
|
@echo ' { "extensionsdir", "$(pkglibdir)/$(GUILE_EFFECTIVE_VERSION)/extensions" }, \' >> libpath.tmp
|
||||||
@echo ' { "guileversion", "@GUILE_VERSION@" }, \' >> libpath.tmp
|
@echo ' { "guileversion", "@GUILE_VERSION@" }, \' >> libpath.tmp
|
||||||
@echo ' { "libguileinterface", "@LIBGUILE_INTERFACE@" }, \' \
|
@echo ' { "libguileinterface", "@LIBGUILE_INTERFACE@" }, \' \
|
||||||
>> libpath.tmp
|
>> libpath.tmp
|
||||||
|
|
|
@ -118,17 +118,20 @@ sysdep_dynl_init ()
|
||||||
|
|
||||||
lt_dlinit ();
|
lt_dlinit ();
|
||||||
|
|
||||||
env = getenv ("GUILE_SYSTEM_LTDL_PATH");
|
env = getenv ("GUILE_SYSTEM_EXTENSIONS_PATH");
|
||||||
if (env && strcmp (env, "") == 0)
|
if (env && strcmp (env, "") == 0)
|
||||||
/* special-case interpret system-ltdl-path=="" as meaning no system path,
|
/* special-case interpret system-ltdl-path=="" as meaning no system path,
|
||||||
which is the case during the build */
|
which is the case during the build */
|
||||||
;
|
;
|
||||||
else if (env)
|
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);
|
lt_dladdsearchdir (env);
|
||||||
#ifdef SCM_LIB_DIR
|
|
||||||
else
|
else
|
||||||
lt_dladdsearchdir (SCM_LIB_DIR);
|
{
|
||||||
#endif
|
lt_dladdsearchdir (SCM_LIB_DIR);
|
||||||
|
lt_dladdsearchdir (SCM_EXTENSIONS_DIR);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
scm_t_bits scm_tc16_dynamic_obj;
|
scm_t_bits scm_tc16_dynamic_obj;
|
||||||
|
|
|
@ -7,6 +7,7 @@ datadir=@datadir@
|
||||||
pkgdatadir=@datadir@/guile
|
pkgdatadir=@datadir@/guile
|
||||||
|
|
||||||
sitedir=@sitedir@
|
sitedir=@sitedir@
|
||||||
|
extensionsdir=@libdir@/guile/@GUILE_EFFECTIVE_VERSION@/extensions
|
||||||
libguileinterface=@LIBGUILE_INTERFACE@
|
libguileinterface=@LIBGUILE_INTERFACE@
|
||||||
|
|
||||||
Name: GNU Guile
|
Name: GNU Guile
|
||||||
|
|
|
@ -89,8 +89,8 @@ if ( env | grep -v -q -E '^GUILE_SYSTEM_COMPILED_PATH=' ); then
|
||||||
export GUILE_SYSTEM_COMPILED_PATH=
|
export GUILE_SYSTEM_COMPILED_PATH=
|
||||||
fi
|
fi
|
||||||
# Don't look in installed dirs for dlopen-able modules
|
# Don't look in installed dirs for dlopen-able modules
|
||||||
if ( env | grep -v -q -E '^GUILE_SYSTEM_LTDL_PATH=' ); then
|
if ( env | grep -v -q -E '^GUILE_SYSTEM_EXTENSIONS_PATH=' ); then
|
||||||
export GUILE_SYSTEM_LTDL_PATH=
|
export GUILE_SYSTEM_EXTENSIONS_PATH=
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# handle LTDL_LIBRARY_PATH (no clobber)
|
# handle LTDL_LIBRARY_PATH (no clobber)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue