* acinclude.m4 (gl_CLOCK_TIME):
* configure.ac: Locally include gl_CLOCK_TIME. To be fixed properly
when gnulib updates their license to reflect the actual BSD state of
things.
* libguile/Makefile.am (libguile_@GUILE_EFFECTIVE_VERSION@_la_LDFLAGS):
Add -lrt for clock_gettime, if needed.
* meta/guile-2.0-uninstalled.pc.in:
* meta/guile-2.0.pc.in: Likewise, in Libs.private.
* meta/uninstalled-env.in: Our code that checked for paths already being
in the load path was not working for the last entry in the load path.
This caused the last entry to be re-added to the beginning, which also
caused relative filename canonicalization to prepend "module/" to
everything.
Terrible.
* meta/uninstalled-env.in (subdirs_with_ltlibs): Remove "srfi".
Reorder the load-path and load-compiled-path to put the root dir after
guile-readline, so that relative canonicalization computes the correct
path for ice-9/readline.scm.
This accounts for the fact that some public Guile macros and inline
functions use libgc functions.
* meta/guile-2.0.pc.in (Libs.private): Move @BDW_GC_LIBS@ to...
(Libs): ... here. Reported by Hans Aberg <haberg-1@telia.com>.
* meta/guile-2.0-uninstalled.pc.in: Likewise.
* Makefile.am:
* libguile/Makefile.am (modincludedir): Install into
$pkgincludedir/$GUILE_EFFECTIVE_VERSION. This allows multiple Guile
development packages to be installed at once.
* guile-readline/Makefile.am (modincludedir):
* srfi/Makefile.am (srfiincludedir): Likewise.
* meta/guile-2.0.pc.in (Cflags): Add the appropriate -I line so that
user code picks up the new location transparently.
* libguile/Makefile.am (lib_LTLIBRARIES): Instead of just "libguile.la",
make "libguile-@EFFECTIVE_VERSION@.la". This allows multiple versions
of Guile to be installed at once. See
http://www106.pair.com/rhp/parallel.html for a rationale.
(libguile_@GUILE_EFFECTIVE_VERSION@_la_CFLAGS):
(libguile_@GUILE_EFFECTIVE_VERSION@_la_SOURCES):
(EXTRA_libguile_@GUILE_EFFECTIVE_VERSION@_la_SOURCES):
(libguile_@GUILE_EFFECTIVE_VERSION@_la_DEPENDENCIES):
(libguile_@GUILE_EFFECTIVE_VERSION@_la_LIBADD):
(libguile_@GUILE_EFFECTIVE_VERSION@_la_LDFLAGS): Fixup automake vars
to include the effective version.
(guile_LDADD): Fix up the spelling of libguile.
* libguile/bytevectors.c (scm_bootstrap_bytevectors):
* libguile/foreign.c (scm_register_foreign):
* libguile/i18n.c (scm_bootstrap_i18n):
* libguile/instructions.c (scm_bootstrap_instructions):
* libguile/objcodes.c (scm_bootstrap_objcodes):
* libguile/programs.c (scm_bootstrap_programs):
* libguile/vm.c (scm_bootstrap_vm): Register extensions using e.g.
"libguile-2.0" as the libname -- i.e., including the effective version
in the libname.
* module/ice-9/i18n.scm:
* module/rnrs/bytevector.scm:
* module/rnrs/io/ports.scm:
* module/system/foreign.scm:
* module/system/vm/instruction.scm:
* module/system/vm/objcode.scm:
* module/system/vm/program.scm:
* module/system/vm/vm.scm: When doing a load-extension for something in
Guile, use the effective version also.
* meta/guile-2.0-uninstalled.pc.in (Libs):
* meta/guile-2.0.pc.in (Libs): Use -lguile-@EFFECTIVE_VERSION@. This
change should mean that code built against Guile should not be
affected by the libguile rename.
* guile-readline/Makefile.am (libguilereadline_v_@LIBGUILEREADLINE_MAJOR@_la_LIBADD):
* srfi/Makefile.am
(libguile_srfi_srfi_1_v_@LIBGUILE_SRFI_SRFI_1_MAJOR@_la_LIBADD):
(libguile_srfi_srfi_4_v_@LIBGUILE_SRFI_SRFI_4_MAJOR@_la_LIBADD):
(libguile_srfi_srfi_13_14_v_@LIBGUILE_SRFI_SRFI_13_14_MAJOR@_la_LIBADD):
(libguile_srfi_srfi_60_v_@LIBGUILE_SRFI_SRFI_60_MAJOR@_la_LIBADD):
* test-suite/standalone/Makefile.am (test_num2integral_LDADD):
(test_round_LDADD):
(libtest_asmobs_la_LIBADD):
(libtest_ffi_la_LIBADD):
(test_list_LDADD):
(test_unwind_LDADD):
(test_conversion_LDADD):
(test_loose_ends_LDADD):
(test_scm_c_read_LDADD):
(test_scm_take_locale_symbol_LDADD):
(test_scm_take_u8vector_LDADD):
(libtest_extensions_la_LIBADD):
(test_with_guile_module_LDADD):
(test_scm_with_guile_LDADD): Fix up the spelling of libguile.la.
* meta/uninstalled-env.in: Don't use the `-q' and `-E' options, which are
specific to GNU grep. Don't set-and-export environment variables at
once since this is a GNU Bash extension.
* 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.
make distcheck is currently failing for me with:
In file included from /usr/local/include/libguile/threads.h:35,
from /usr/local/include/libguile/async.h:28,
from /usr/local/include/libguile.h:37,
from ../../examples/box/box.c:22:
/usr/local/include/libguile/pthread-threads.h:33:31: error: libguile/boehm-gc.h: No such file or directory
In file included from /usr/local/include/libguile.h:93,
from ../../examples/box/box.c:22:
- which is because it's picking up a load of installed headers,
instead of those in the _inst tree
- which is because there is no output from the preceding guile-config
invocation:
PATH=/home/neil/SW/Guile/ovnight/guile-master-20090924/_inst/bin:$PATH PKG_CONFIG_PATH=/home/neil/SW/Guile/ovnight/guile-master-20090924/_inst/lib/pkgconfig /home/neil/SW/Guile/ovnight/guile-master-20090924/_inst/bin/guile-config compile
- which is because .../_inst/bin/guile-config is empty
- which is because the rule in meta/Makefile.am that generates
guile-config is missing $(srcdir), and so doesn't find
guile-config.in.
* meta/Makefile.am (guile-config): Look for guile-config.in in
$(srcdir).
* meta/Makefile.am (guile-config): New target.
(EXTRA_DIST): Add `guile-config.in'.
* meta/guile-config.in: New, formerly `guile-config'. Use the right
installed `guile', with the right $PKG_CONFIG_PATH. Disable
auto-compilation.
(%pkg-config-program): New variable.
(pkg-config): Use it.
* libguile/Makefile.am (libpath.h): Fix pkgdatadir, pkglibdir, and
pkgincludedir entries. Add a new define, SCM_LIB_DIR.
* libguile/dynl.c (sysdep_dynl_init): Add the libdir to the libltdl
search path. Should fix
http://thread.gmane.org/gmane.lisp.guile.bugs/4289/focus=4296 -- that
is, it should allow guile to be invoked from whereever it is
installed, without munging LTDL_LIBRARY_PATH or the like variables.
There is a trick though -- during the build, we don't want to be
looking in the $libdir for loadable modules. So as with
GUILE_SYSTEM_PATH, we have GUILE_SYSTEM_LTDL_PATH.
* meta/uninstalled-env.in: Set GUILE_SYSTEM_LTDL_PATH to "" when
building.
This is needed because <gc/gc.h> is included in public headers (via
<libguile/boehm-gc.h>.
* meta/guile-2.0-uninstalled.pc.in (Cflags): Add `@BDW_GC_CFLAGS'.
* meta/guile-2.0.pc.in (Cflags): Likewise.
* meta/Makefile.am (bin_SCRIPTS): Re-add guile-tools here (removed in
54b38caf19). Otherwise guile-tools
doesn't get installed. I think that 1.9.2 had this bug.
* libguile/load.c (scm_init_load_path): Append a slash after
XDG_CACHE_HOME.
* meta/gdb-uninstalled-guile.in:
* meta/guile.in (XDG_CACHE_HOME): Export this var so we write to a cache
within the build directory. Probably we should have a GUILE_CACHE_DIR
to be more specific, though.
* Makefile.am (clean-local): Clear the cache when making clean.
* examples/Makefile.am: Fix the installed guile-config invocation to set
PKG_CONFIG_PATH.
* meta/Makefile.am (EXTRA_DIST): Dist the bin_SCRIPTS.
* meta/guile-config (pkg-config): Better error messages if pkg-config
invocation fails.
* meta/uninstalled-env.in (PATH): Now that guile-config and guile-tools
are not generated, make it the srcdir/meta instead of the builddir.
(Guile itself will be picked up from libguile.)
* meta/guile-tools: Instead of fixing scripts I should have been fixing
the script runner.
* module/scripts/compile.scm:
* module/scripts/snarf-guile-m4-docs.scm: Fix to take rest args.
* meta/guile-1.8.pc.in: Include a pkgdatadir, which will map down to
`guile-config info pkgdatadir', used in existing guile.m4 files.
* meta/guile-config: Fix guile-config info varname. Facepalm.
* meta/guile.m4: Make GUILE_SITE_DIR use the sitedir variable instead.
Really it should use pkg-config directly, though.
* meta/guile-tools: We can't use srfi-1, because on a fresh checkout
the srfi-1 shlib isn't built yet. Bummer.
* meta/uninstalled-env.in: Fix up the DYLD lines for BSDen.
* module/scripts/snart-guile-m4-docs.scm: Fix expected arguments.
* meta/guile-tools: Changed to be a scheme script. Instead of looking for
executables in a "scripts dir", we just look for modules in (scripts),
and load the modules directly.
* module/Makefile.am:
* module/scripts/: Move the scripts into module/ so they can be compiled.
Rename scripts from `foo' to `foo.scm'.
* libguile/Makefile.am: Invoke the snarf->texi code via guile-tools.
* configure.in:
* .gitignore: Update for changes.