mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-27 17:40:49 +00:00
Add Guile as an extension language.
* NEWS: Mention Guile scripting. * Makefile.in (SUBDIR_GUILE_OBS): New variable. (SUBDIR_GUILE_SRCS, SUBDIR_GUILE_DEPS): New variables (SUBDIR_GUILE_LDFLAGS, SUBDIR_GUILE_CFLAGS): New variables. (INTERNAL_CPPFLAGS): Add GUILE_CPPFLAGS. (CLIBS): Add GUILE_LIBS. (install-guile): New rule. (guile.o): New rule. (scm-arch.o, scm-auto-load.o, scm-block.o): New rules. (scm-breakpoint.o, scm-disasm.o, scm-exception.o): New rules. (scm-frame.o, scm-iterator.o, scm-lazy-string.o): New rules. (scm-math.o, scm-objfile.o, scm-ports.o): New rules. (scm-pretty-print.o, scm-safe-call.o, scm-gsmob.o): New rules. (scm-string.o, scm-symbol.o, scm-symtab.o): New rules. (scm-type.o, scm-utils.o, scm-value.o): New rules. * configure.ac: New option --with-guile. * configure: Regenerate. * config.in: Regenerate. * auto-load.c: Remove #include "python/python.h". Add #include "gdb/section-scripts.h". (source_section_scripts): Handle Guile scripts. (_initialize_auto_load): Add name of Guile objfile script to scripts-directory help text. * breakpoint.c (condition_command): Tweak comment to include Scheme. * breakpoint.h (gdbscm_breakpoint_object): Add forward decl. (struct breakpoint): New member scm_bp_object. * defs.h (enum command_control_type): New value guile_control. * cli/cli-cmds.c: Remove #include "python/python.h". Add #include "extension.h". (show_user): Update comment. (_initialize_cli_cmds): Update help text for "show user". Update help text for max-user-call-depth. * cli/cli-script.c: Remove #include "python/python.h". Add #include "extension.h". (multi_line_command_p): Add guile_control. (print_command_lines): Handle guile_control. (execute_control_command, recurse_read_control_structure): Ditto. (process_next_line): Recognize "guile" commands. * disasm.c (gdb_disassemble_info): Make non-static. * disasm.h: #include "dis-asm.h". (struct gdbarch): Add forward decl. (gdb_disassemble_info): Declare. * extension.c: #include "guile/guile.h". (extension_languages): Add guile. (get_ext_lang_defn): Handle EXT_LANG_GDB. * extension.h (enum extension_language): New value EXT_LANG_GUILE. * gdbtypes.c (get_unsigned_type_max): New function. (get_signed_type_minmax): New function. * gdbtypes.h (get_unsigned_type_max): Declare. (get_signed_type_minmax): Declare. * guile/README: New file. * guile/guile-internal.h: New file. * guile/guile.c: New file. * guile/guile.h: New file. * guile/scm-arch.c: New file. * guile/scm-auto-load.c: New file. * guile/scm-block.c: New file. * guile/scm-breakpoint.c: New file. * guile/scm-disasm.c: New file. * guile/scm-exception.c: New file. * guile/scm-frame.c: New file. * guile/scm-gsmob.c: New file. * guile/scm-iterator.c: New file. * guile/scm-lazy-string.c: New file. * guile/scm-math.c: New file. * guile/scm-objfile.c: New file. * guile/scm-ports.c: New file. * guile/scm-pretty-print.c: New file. * guile/scm-safe-call.c: New file. * guile/scm-string.c: New file. * guile/scm-symbol.c: New file. * guile/scm-symtab.c: New file. * guile/scm-type.c: New file. * guile/scm-utils.c: New file. * guile/scm-value.c: New file. * guile/lib/gdb.scm: New file. * guile/lib/gdb/boot.scm: New file. * guile/lib/gdb/experimental.scm: New file. * guile/lib/gdb/init.scm: New file. * guile/lib/gdb/iterator.scm: New file. * guile/lib/gdb/printing.scm: New file. * guile/lib/gdb/types.scm: New file. * data-directory/Makefile.in (GUILE_SRCDIR): New variable. (VPATH): Add $(GUILE_SRCDIR). (GUILE_DIR): New variable. (GUILE_INSTALL_DIR, GUILE_FILES): New variables. (all): Add stamp-guile dependency. (stamp-guile): New rule. (clean-guile, install-guile, uninstall-guile): New rules. (install-only): Add install-guile dependency. (uninstall): Add uninstall-guile dependency. (clean): Add clean-guile dependency. doc/ * Makefile.in (GDB_DOC_FILES): Add guile.texi. * gdb.texinfo (Auto-loading): Add set/show auto-load guile-scripts. (Extending GDB): New menu entries Guile, Multiple Extension Languages. (Guile docs): Include guile.texi. (objfile-gdbdotext file): Add objfile-gdb.scm. (dotdebug_gdb_scripts section): Mention Guile scripts. (Multiple Extension Languages): New node. * guile.texi: New file. testsuite/ * configure.ac (AC_OUTPUT): Add gdb.guile. * configure: Regenerate. * lib/gdb-guile.exp: New file. * lib/gdb.exp (get_target_charset): New function. * gdb.base/help.exp: Update expected output from "apropos apropos". * gdb.guile/Makefile.in: New file. * gdb.guile/guile.exp: New file. * gdb.guile/scm-arch.c: New file. * gdb.guile/scm-arch.exp: New file. * gdb.guile/scm-block.c: New file. * gdb.guile/scm-block.exp: New file. * gdb.guile/scm-breakpoint.c: New file. * gdb.guile/scm-breakpoint.exp: New file. * gdb.guile/scm-disasm.c: New file. * gdb.guile/scm-disasm.exp: New file. * gdb.guile/scm-equal.c: New file. * gdb.guile/scm-equal.exp: New file. * gdb.guile/scm-error.exp: New file. * gdb.guile/scm-error.scm: New file. * gdb.guile/scm-frame-args.c: New file. * gdb.guile/scm-frame-args.exp: New file. * gdb.guile/scm-frame-args.scm: New file. * gdb.guile/scm-frame-inline.c: New file. * gdb.guile/scm-frame-inline.exp: New file. * gdb.guile/scm-frame.c: New file. * gdb.guile/scm-frame.exp: New file. * gdb.guile/scm-generics.exp: New file. * gdb.guile/scm-gsmob.exp: New file. * gdb.guile/scm-iterator.c: New file. * gdb.guile/scm-iterator.exp: New file. * gdb.guile/scm-math.c: New file. * gdb.guile/scm-math.exp: New file. * gdb.guile/scm-objfile-script-gdb.in: New file. * gdb.guile/scm-objfile-script.c: New file. * gdb.guile/scm-objfile-script.exp: New file. * gdb.guile/scm-objfile.c: New file. * gdb.guile/scm-objfile.exp: New file. * gdb.guile/scm-ports.exp: New file. * gdb.guile/scm-pretty-print.c: New file. * gdb.guile/scm-pretty-print.exp: New file. * gdb.guile/scm-pretty-print.scm: New file. * gdb.guile/scm-section-script.c: New file. * gdb.guile/scm-section-script.exp: New file. * gdb.guile/scm-section-script.scm: New file. * gdb.guile/scm-symbol.c: New file. * gdb.guile/scm-symbol.exp: New file. * gdb.guile/scm-symtab-2.c: New file. * gdb.guile/scm-symtab.c: New file. * gdb.guile/scm-symtab.exp: New file. * gdb.guile/scm-type.c: New file. * gdb.guile/scm-type.exp: New file. * gdb.guile/scm-value-cc.cc: New file. * gdb.guile/scm-value-cc.exp: New file. * gdb.guile/scm-value.c: New file. * gdb.guile/scm-value.exp: New file. * gdb.guile/source2.scm: New file. * gdb.guile/types-module.cc: New file. * gdb.guile/types-module.exp: New file.
This commit is contained in:
414
gdb/configure
vendored
414
gdb/configure
vendored
@@ -658,6 +658,9 @@ TARGET_SYSTEM_ROOT
|
||||
CONFIG_LDFLAGS
|
||||
RDYNAMIC
|
||||
ALLOCA
|
||||
GUILE_LIBS
|
||||
GUILE_CPPFLAGS
|
||||
pkg_config_prog_path
|
||||
PYTHON_LIBS
|
||||
PYTHON_CPPFLAGS
|
||||
PYTHON_CFLAGS
|
||||
@@ -813,6 +816,7 @@ with_gnu_ld
|
||||
enable_rpath
|
||||
with_libexpat_prefix
|
||||
with_python
|
||||
with_guile
|
||||
enable_libmcheck
|
||||
with_included_regex
|
||||
with_sysroot
|
||||
@@ -1530,6 +1534,8 @@ Optional Packages:
|
||||
--without-libexpat-prefix don't search for libexpat in includedir and libdir
|
||||
--with-python[=PYTHON] include python support
|
||||
(auto/yes/no/<python-program>)
|
||||
--with-guile[=GUILE] include guile support
|
||||
(auto/yes/no/<guile-version>/<pkg-config-program>)
|
||||
--without-included-regex
|
||||
don't use included regex; this is the default on
|
||||
systems with version 2 of the GNU C library (use
|
||||
@@ -8681,6 +8687,414 @@ fi
|
||||
|
||||
|
||||
|
||||
# -------------------- #
|
||||
# Check for libguile. #
|
||||
# -------------------- #
|
||||
|
||||
|
||||
# Extract the first word of "pkg-config", so it can be a program name with args.
|
||||
set dummy pkg-config; ac_word=$2
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
$as_echo_n "checking for $ac_word... " >&6; }
|
||||
if test "${ac_cv_path_pkg_config_prog_path+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
case $pkg_config_prog_path in
|
||||
[\\/]* | ?:[\\/]*)
|
||||
ac_cv_path_pkg_config_prog_path="$pkg_config_prog_path" # Let the user override the test with a path.
|
||||
;;
|
||||
*)
|
||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
for as_dir in $PATH
|
||||
do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
|
||||
ac_cv_path_pkg_config_prog_path="$as_dir/$ac_word$ac_exec_ext"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
fi
|
||||
done
|
||||
done
|
||||
IFS=$as_save_IFS
|
||||
|
||||
test -z "$ac_cv_path_pkg_config_prog_path" && ac_cv_path_pkg_config_prog_path="missing"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
pkg_config_prog_path=$ac_cv_path_pkg_config_prog_path
|
||||
if test -n "$pkg_config_prog_path"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pkg_config_prog_path" >&5
|
||||
$as_echo "$pkg_config_prog_path" >&6; }
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Check whether --with-guile was given.
|
||||
if test "${with_guile+set}" = set; then :
|
||||
withval=$with_guile;
|
||||
else
|
||||
with_guile=auto
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use guile" >&5
|
||||
$as_echo_n "checking whether to use guile... " >&6; }
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_guile" >&5
|
||||
$as_echo "$with_guile" >&6; }
|
||||
|
||||
try_guile_versions="guile-2.0"
|
||||
have_libguile=no
|
||||
case "${with_guile}" in
|
||||
no)
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: guile support disabled; some features will be unavailable." >&5
|
||||
$as_echo "$as_me: WARNING: guile support disabled; some features will be unavailable." >&2;}
|
||||
;;
|
||||
auto)
|
||||
|
||||
pkg_config=${pkg_config_prog_path}
|
||||
guile_version_list=${try_guile_versions}
|
||||
flag_errors=no
|
||||
|
||||
if test "${pkg_config}" = "missing"; then
|
||||
as_fn_error "pkg-config program not found" "$LINENO" 5
|
||||
fi
|
||||
if test ! -f "${pkg_config}"; then
|
||||
as_fn_error "pkg-config program ${pkg_config} not found" "$LINENO" 5
|
||||
fi
|
||||
found_usable_guile=checking
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for usable guile from ${pkg_config}" >&5
|
||||
$as_echo_n "checking for usable guile from ${pkg_config}... " >&6; }
|
||||
for guile_version in ${guile_version_list}; do
|
||||
${pkg_config} --exists ${guile_version} 2>/dev/null
|
||||
if test $? != 0; then
|
||||
continue
|
||||
fi
|
||||
new_CPPFLAGS=`${pkg_config} --cflags ${guile_version}`
|
||||
if test $? != 0; then
|
||||
as_fn_error "failure running pkg-config --cflags ${guile_version}" "$LINENO" 5
|
||||
fi
|
||||
new_LIBS=`${pkg_config} --libs ${guile_version}`
|
||||
if test $? != 0; then
|
||||
as_fn_error "failure running pkg-config --libs ${guile_version}" "$LINENO" 5
|
||||
fi
|
||||
found_usable_guile=${guile_version}
|
||||
break
|
||||
done
|
||||
if test "${found_usable_guile}" = "checking"; then
|
||||
if test "${flag_errors}" = "yes"; then
|
||||
as_fn_error "unable to find usable guile version from \"${guile_version_list}\"" "$LINENO" 5
|
||||
else
|
||||
found_usable_guile=no
|
||||
fi
|
||||
fi
|
||||
if test "${found_usable_guile}" != no; then
|
||||
save_CPPFLAGS=$CPPFLAGS
|
||||
save_LIBS=$LIBS
|
||||
CPPFLAGS="$CPPFLAGS $new_CPPFLAGS"
|
||||
LIBS="$LIBS $new_LIBS"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include "libguile.h"
|
||||
int
|
||||
main ()
|
||||
{
|
||||
scm_init_guile ();
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_link "$LINENO"; then :
|
||||
have_libguile=yes
|
||||
GUILE_CPPFLAGS=$new_CPPFLAGS
|
||||
GUILE_LIBS=$new_LIBS
|
||||
else
|
||||
found_usable_guile=no
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext \
|
||||
conftest$ac_exeext conftest.$ac_ext
|
||||
CPPFLAGS=$save_CPPFLAGS
|
||||
LIBS=$save_LIBS
|
||||
if test "${found_usable_guile}" = no; then
|
||||
if test "${flag_errors}" = yes; then
|
||||
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
|
||||
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
|
||||
as_fn_error "linking guile version ${guile_version} test program failed
|
||||
See \`config.log' for more details." "$LINENO" 5; }
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${found_usable_guile}" >&5
|
||||
$as_echo "${found_usable_guile}" >&6; }
|
||||
|
||||
;;
|
||||
yes)
|
||||
|
||||
pkg_config=${pkg_config_prog_path}
|
||||
guile_version_list=${try_guile_versions}
|
||||
flag_errors=yes
|
||||
|
||||
if test "${pkg_config}" = "missing"; then
|
||||
as_fn_error "pkg-config program not found" "$LINENO" 5
|
||||
fi
|
||||
if test ! -f "${pkg_config}"; then
|
||||
as_fn_error "pkg-config program ${pkg_config} not found" "$LINENO" 5
|
||||
fi
|
||||
found_usable_guile=checking
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for usable guile from ${pkg_config}" >&5
|
||||
$as_echo_n "checking for usable guile from ${pkg_config}... " >&6; }
|
||||
for guile_version in ${guile_version_list}; do
|
||||
${pkg_config} --exists ${guile_version} 2>/dev/null
|
||||
if test $? != 0; then
|
||||
continue
|
||||
fi
|
||||
new_CPPFLAGS=`${pkg_config} --cflags ${guile_version}`
|
||||
if test $? != 0; then
|
||||
as_fn_error "failure running pkg-config --cflags ${guile_version}" "$LINENO" 5
|
||||
fi
|
||||
new_LIBS=`${pkg_config} --libs ${guile_version}`
|
||||
if test $? != 0; then
|
||||
as_fn_error "failure running pkg-config --libs ${guile_version}" "$LINENO" 5
|
||||
fi
|
||||
found_usable_guile=${guile_version}
|
||||
break
|
||||
done
|
||||
if test "${found_usable_guile}" = "checking"; then
|
||||
if test "${flag_errors}" = "yes"; then
|
||||
as_fn_error "unable to find usable guile version from \"${guile_version_list}\"" "$LINENO" 5
|
||||
else
|
||||
found_usable_guile=no
|
||||
fi
|
||||
fi
|
||||
if test "${found_usable_guile}" != no; then
|
||||
save_CPPFLAGS=$CPPFLAGS
|
||||
save_LIBS=$LIBS
|
||||
CPPFLAGS="$CPPFLAGS $new_CPPFLAGS"
|
||||
LIBS="$LIBS $new_LIBS"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include "libguile.h"
|
||||
int
|
||||
main ()
|
||||
{
|
||||
scm_init_guile ();
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_link "$LINENO"; then :
|
||||
have_libguile=yes
|
||||
GUILE_CPPFLAGS=$new_CPPFLAGS
|
||||
GUILE_LIBS=$new_LIBS
|
||||
else
|
||||
found_usable_guile=no
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext \
|
||||
conftest$ac_exeext conftest.$ac_ext
|
||||
CPPFLAGS=$save_CPPFLAGS
|
||||
LIBS=$save_LIBS
|
||||
if test "${found_usable_guile}" = no; then
|
||||
if test "${flag_errors}" = yes; then
|
||||
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
|
||||
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
|
||||
as_fn_error "linking guile version ${guile_version} test program failed
|
||||
See \`config.log' for more details." "$LINENO" 5; }
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${found_usable_guile}" >&5
|
||||
$as_echo "${found_usable_guile}" >&6; }
|
||||
|
||||
;;
|
||||
[\\/]* | ?:[\\/]*)
|
||||
|
||||
pkg_config=${with_guile}
|
||||
guile_version_list=${try_guile_versions}
|
||||
flag_errors=yes
|
||||
|
||||
if test "${pkg_config}" = "missing"; then
|
||||
as_fn_error "pkg-config program not found" "$LINENO" 5
|
||||
fi
|
||||
if test ! -f "${pkg_config}"; then
|
||||
as_fn_error "pkg-config program ${pkg_config} not found" "$LINENO" 5
|
||||
fi
|
||||
found_usable_guile=checking
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for usable guile from ${pkg_config}" >&5
|
||||
$as_echo_n "checking for usable guile from ${pkg_config}... " >&6; }
|
||||
for guile_version in ${guile_version_list}; do
|
||||
${pkg_config} --exists ${guile_version} 2>/dev/null
|
||||
if test $? != 0; then
|
||||
continue
|
||||
fi
|
||||
new_CPPFLAGS=`${pkg_config} --cflags ${guile_version}`
|
||||
if test $? != 0; then
|
||||
as_fn_error "failure running pkg-config --cflags ${guile_version}" "$LINENO" 5
|
||||
fi
|
||||
new_LIBS=`${pkg_config} --libs ${guile_version}`
|
||||
if test $? != 0; then
|
||||
as_fn_error "failure running pkg-config --libs ${guile_version}" "$LINENO" 5
|
||||
fi
|
||||
found_usable_guile=${guile_version}
|
||||
break
|
||||
done
|
||||
if test "${found_usable_guile}" = "checking"; then
|
||||
if test "${flag_errors}" = "yes"; then
|
||||
as_fn_error "unable to find usable guile version from \"${guile_version_list}\"" "$LINENO" 5
|
||||
else
|
||||
found_usable_guile=no
|
||||
fi
|
||||
fi
|
||||
if test "${found_usable_guile}" != no; then
|
||||
save_CPPFLAGS=$CPPFLAGS
|
||||
save_LIBS=$LIBS
|
||||
CPPFLAGS="$CPPFLAGS $new_CPPFLAGS"
|
||||
LIBS="$LIBS $new_LIBS"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include "libguile.h"
|
||||
int
|
||||
main ()
|
||||
{
|
||||
scm_init_guile ();
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_link "$LINENO"; then :
|
||||
have_libguile=yes
|
||||
GUILE_CPPFLAGS=$new_CPPFLAGS
|
||||
GUILE_LIBS=$new_LIBS
|
||||
else
|
||||
found_usable_guile=no
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext \
|
||||
conftest$ac_exeext conftest.$ac_ext
|
||||
CPPFLAGS=$save_CPPFLAGS
|
||||
LIBS=$save_LIBS
|
||||
if test "${found_usable_guile}" = no; then
|
||||
if test "${flag_errors}" = yes; then
|
||||
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
|
||||
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
|
||||
as_fn_error "linking guile version ${guile_version} test program failed
|
||||
See \`config.log' for more details." "$LINENO" 5; }
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${found_usable_guile}" >&5
|
||||
$as_echo "${found_usable_guile}" >&6; }
|
||||
|
||||
;;
|
||||
"" | */*)
|
||||
# Disallow --with=guile="" and --with-guile=foo/bar.
|
||||
as_fn_error "invalid value for --with-guile" "$LINENO" 5
|
||||
;;
|
||||
*)
|
||||
# A space separate list of guile versions to try, in order.
|
||||
|
||||
pkg_config=${pkg_config_prog_path}
|
||||
guile_version_list=${with_guile}
|
||||
flag_errors=yes
|
||||
|
||||
if test "${pkg_config}" = "missing"; then
|
||||
as_fn_error "pkg-config program not found" "$LINENO" 5
|
||||
fi
|
||||
if test ! -f "${pkg_config}"; then
|
||||
as_fn_error "pkg-config program ${pkg_config} not found" "$LINENO" 5
|
||||
fi
|
||||
found_usable_guile=checking
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for usable guile from ${pkg_config}" >&5
|
||||
$as_echo_n "checking for usable guile from ${pkg_config}... " >&6; }
|
||||
for guile_version in ${guile_version_list}; do
|
||||
${pkg_config} --exists ${guile_version} 2>/dev/null
|
||||
if test $? != 0; then
|
||||
continue
|
||||
fi
|
||||
new_CPPFLAGS=`${pkg_config} --cflags ${guile_version}`
|
||||
if test $? != 0; then
|
||||
as_fn_error "failure running pkg-config --cflags ${guile_version}" "$LINENO" 5
|
||||
fi
|
||||
new_LIBS=`${pkg_config} --libs ${guile_version}`
|
||||
if test $? != 0; then
|
||||
as_fn_error "failure running pkg-config --libs ${guile_version}" "$LINENO" 5
|
||||
fi
|
||||
found_usable_guile=${guile_version}
|
||||
break
|
||||
done
|
||||
if test "${found_usable_guile}" = "checking"; then
|
||||
if test "${flag_errors}" = "yes"; then
|
||||
as_fn_error "unable to find usable guile version from \"${guile_version_list}\"" "$LINENO" 5
|
||||
else
|
||||
found_usable_guile=no
|
||||
fi
|
||||
fi
|
||||
if test "${found_usable_guile}" != no; then
|
||||
save_CPPFLAGS=$CPPFLAGS
|
||||
save_LIBS=$LIBS
|
||||
CPPFLAGS="$CPPFLAGS $new_CPPFLAGS"
|
||||
LIBS="$LIBS $new_LIBS"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include "libguile.h"
|
||||
int
|
||||
main ()
|
||||
{
|
||||
scm_init_guile ();
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_link "$LINENO"; then :
|
||||
have_libguile=yes
|
||||
GUILE_CPPFLAGS=$new_CPPFLAGS
|
||||
GUILE_LIBS=$new_LIBS
|
||||
else
|
||||
found_usable_guile=no
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext \
|
||||
conftest$ac_exeext conftest.$ac_ext
|
||||
CPPFLAGS=$save_CPPFLAGS
|
||||
LIBS=$save_LIBS
|
||||
if test "${found_usable_guile}" = no; then
|
||||
if test "${flag_errors}" = yes; then
|
||||
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
|
||||
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
|
||||
as_fn_error "linking guile version ${guile_version} test program failed
|
||||
See \`config.log' for more details." "$LINENO" 5; }
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${found_usable_guile}" >&5
|
||||
$as_echo "${found_usable_guile}" >&6; }
|
||||
|
||||
;;
|
||||
esac
|
||||
|
||||
if test "${have_libguile}" != no; then
|
||||
|
||||
$as_echo "#define HAVE_GUILE 1" >>confdefs.h
|
||||
|
||||
CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_GUILE_OBS)"
|
||||
CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_GUILE_DEPS)"
|
||||
CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_GUILE_SRCS)"
|
||||
CONFIG_INSTALL="$CONFIG_INSTALL install-guile"
|
||||
ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_GUILE_CFLAGS)"
|
||||
else
|
||||
# Even if Guile support is not compiled in, we need to have these files
|
||||
# included.
|
||||
CONFIG_OBS="$CONFIG_OBS guile.o"
|
||||
CONFIG_SRCS="$CONFIG_SRCS guile/guile.c"
|
||||
fi
|
||||
|
||||
|
||||
|
||||
# --------------------- #
|
||||
# Check for libmcheck. #
|
||||
# --------------------- #
|
||||
|
||||
Reference in New Issue
Block a user