mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-29 19:30:36 +02:00
Don't use a sub-configure' for
guile-readline'.
* acinclude.m4 (GUILE_READLINE): New macro, based on the former `guile-readline/configure.ac'. * configure.ac: Remove `AC_CONFIG_SUBDIRS' invocation. Add `GUILE_READLINE' invocation. Produce files under `guile-readline'. * guile-readline/Makefile.am: Conditionalize the meat under `HAVE_READLINE'. (INCLUDES): Rename to... (AM_CPPFLAGS): this. Users updates. (AM_CFLAGS): New variable. (libguilereadline_v_@LIBGUILEREADLINE_MAJOR@_la_LIBADD): Add $(READLINE_LIBS). * guile-readline/readline.c: Include <config.h>. * guile-readline/configure.ac, guile-readline/autogen.sh: Remove.
This commit is contained in:
parent
afe5e6baa7
commit
7a5ab3693c
7 changed files with 95 additions and 118 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -12,7 +12,6 @@ config.guess
|
|||
config.status
|
||||
config.log
|
||||
config.h
|
||||
guile-readline-config.h
|
||||
*.doc
|
||||
*.x
|
||||
*.lo
|
||||
|
@ -65,8 +64,6 @@ pre-inst-guile-env
|
|||
stamp-h1
|
||||
guile-procedures.txt
|
||||
guile-config/guile-config
|
||||
guile-readline/guile-readline-config.h
|
||||
guile-readline/guile-readline-config.h.in
|
||||
*.go
|
||||
TAGS
|
||||
/meta/guile-2.0.pc
|
||||
|
|
69
acinclude.m4
69
acinclude.m4
|
@ -1,3 +1,5 @@
|
|||
dnl -*- Autoconf -*-
|
||||
|
||||
dnl On the NeXT, #including <utime.h> doesn't give you a definition for
|
||||
dnl struct utime, unless you #define _POSIX_SOURCE.
|
||||
|
||||
|
@ -308,3 +310,70 @@ else
|
|||
fi
|
||||
AC_LANG_RESTORE
|
||||
])dnl ACX_PTHREAD
|
||||
|
||||
dnl GUILE_READLINE
|
||||
dnl
|
||||
dnl Check all the things needed by `guile-readline', the Readline
|
||||
dnl bindings.
|
||||
AC_DEFUN([GUILE_READLINE], [
|
||||
for termlib in ncurses curses termcap terminfo termlib ; do
|
||||
AC_CHECK_LIB(${termlib}, [tgoto],
|
||||
[READLINE_LIBS="-l${termlib} $READLINE_LIBS"; break])
|
||||
done
|
||||
|
||||
AC_LIB_LINKFLAGS([readline])
|
||||
|
||||
if test "x$LTLIBREADLINE" = "x"; then
|
||||
AC_MSG_WARN([GNU Readline was not found on your system.])
|
||||
else
|
||||
rl_save_LIBS="$LIBS"
|
||||
LIBS="$LIBREADLINE $READLINE_LIBS $LIBS"
|
||||
|
||||
AC_CHECK_FUNCS([siginterrupt rl_clear_signals rl_cleanup_after_signal])
|
||||
|
||||
dnl Check for modern readline naming
|
||||
AC_CHECK_FUNCS([rl_filename_completion_function])
|
||||
|
||||
dnl Check for rl_get_keymap. We only use this for deciding whether to
|
||||
dnl install paren matching on the Guile command line (when using
|
||||
dnl readline for input), so it's completely optional.
|
||||
AC_CHECK_FUNCS([rl_get_keymap])
|
||||
|
||||
AC_CACHE_CHECK([for rl_getc_function pointer in readline],
|
||||
ac_cv_var_rl_getc_function,
|
||||
[AC_TRY_LINK([
|
||||
#include <stdio.h>
|
||||
#include <readline/readline.h>],
|
||||
[printf ("%ld", (long) rl_getc_function)],
|
||||
[ac_cv_var_rl_getc_function=yes],
|
||||
[ac_cv_var_rl_getc_function=no])])
|
||||
if test "${ac_cv_var_rl_getc_function}" = "yes"; then
|
||||
AC_DEFINE([HAVE_RL_GETC_FUNCTION], 1,
|
||||
[Define if your readline library has the rl_getc_function variable.])
|
||||
fi
|
||||
|
||||
if test $ac_cv_var_rl_getc_function = no; then
|
||||
AC_MSG_WARN([*** GNU Readline is too old on your system.])
|
||||
AC_MSG_WARN([*** You need readline version 2.1 or later.])
|
||||
LTLIBREADLINE=""
|
||||
LIBREADLINE=""
|
||||
fi
|
||||
|
||||
LIBS="$rl_save_LIBS"
|
||||
|
||||
READLINE_LIBS="$LTLIBREADLINE $READLINELIBS"
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL([HAVE_READLINE], [test "x$LTLIBREADLINE" != "x"])
|
||||
|
||||
AC_CHECK_FUNCS([strdup])
|
||||
|
||||
AC_SUBST([READLINE_LIBS])
|
||||
|
||||
. $srcdir/guile-readline/LIBGUILEREADLINE-VERSION
|
||||
AC_SUBST(LIBGUILEREADLINE_MAJOR)
|
||||
AC_SUBST(LIBGUILEREADLINE_INTERFACE_CURRENT)
|
||||
AC_SUBST(LIBGUILEREADLINE_INTERFACE_REVISION)
|
||||
AC_SUBST(LIBGUILEREADLINE_INTERFACE_AGE)
|
||||
AC_SUBST(LIBGUILEREADLINE_INTERFACE)
|
||||
])
|
||||
|
|
13
configure.ac
13
configure.ac
|
@ -51,14 +51,6 @@ AC_CONFIG_SRCDIR([GUILE-VERSION])
|
|||
AC_CONFIG_HEADERS([config.h])
|
||||
AH_TOP(/*GUILE_CONFIGURE_COPYRIGHT*/)
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
#
|
||||
# Independent Subdirectories
|
||||
#
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
AC_CONFIG_SUBDIRS(guile-readline)
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
AC_LANG([C])
|
||||
|
@ -1437,6 +1429,9 @@ LIBLOBJS="`echo ${LIB@&t@OBJS} | sed 's,\.[[^.]]* ,.lo ,g;s,\.[[^.]]*$,.lo,'`"
|
|||
EXTRA_DOT_DOC_FILES="`echo ${LIB@&t@OBJS} | sed 's,\.[[^.]]* ,.doc ,g;s,\.[[^.]]*$,.doc,'`"
|
||||
EXTRA_DOT_X_FILES="`echo ${LIB@&t@OBJS} | sed 's,\.[[^.]]* ,.x ,g;s,\.[[^.]]*$,.x,'`"
|
||||
|
||||
# GNU Readline bindings.
|
||||
GUILE_READLINE
|
||||
|
||||
AC_SUBST(GUILE_MAJOR_VERSION)
|
||||
AC_SUBST(GUILE_MINOR_VERSION)
|
||||
AC_SUBST(GUILE_MICRO_VERSION)
|
||||
|
@ -1532,6 +1527,8 @@ AC_CONFIG_FILES([
|
|||
lang/Makefile
|
||||
libguile/Makefile
|
||||
srfi/Makefile
|
||||
guile-readline/Makefile
|
||||
guile-readline/ice-9/Makefile
|
||||
test-suite/Makefile
|
||||
test-suite/standalone/Makefile
|
||||
meta/Makefile
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
## Process this file with Automake to create Makefile.in
|
||||
##
|
||||
## Copyright (C) 1998, 1999, 2000, 2001, 2004, 2006, 2007, 2008 Free Software Foundation, Inc.
|
||||
## Copyright (C) 1998, 1999, 2000, 2001, 2004, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
|
||||
##
|
||||
## This file is part of guile-readline.
|
||||
##
|
||||
|
@ -21,13 +21,17 @@
|
|||
|
||||
SUBDIRS = ice-9
|
||||
|
||||
if HAVE_READLINE
|
||||
|
||||
## Prevent automake from adding extra -I options
|
||||
DEFS = @DEFS@ @EXTRA_DEFS@
|
||||
## Check for headers in $(srcdir)/.., so that #include
|
||||
## <libguile/MUMBLE.h> will find MUMBLE.h in this dir when we're
|
||||
## building. Also look for Gnulib headers in `lib'.
|
||||
INCLUDES = -I. -I.. -I$(srcdir)/.. \
|
||||
-I$(top_srcdir)/lib -I$(top_builddir)/lib
|
||||
AM_CPPFLAGS = -I. -I.. -I$(srcdir)/.. \
|
||||
-I$(top_srcdir)/lib -I$(top_builddir)/lib
|
||||
|
||||
AM_CFLAGS = $(GCC_CFLAGS)
|
||||
|
||||
GUILE_SNARF = ../libguile/guile-snarf
|
||||
|
||||
|
@ -35,25 +39,31 @@ lib_LTLIBRARIES = libguilereadline-v-@LIBGUILEREADLINE_MAJOR@.la
|
|||
|
||||
libguilereadline_v_@LIBGUILEREADLINE_MAJOR@_la_SOURCES = readline.c
|
||||
libguilereadline_v_@LIBGUILEREADLINE_MAJOR@_la_LIBADD = \
|
||||
../libguile/libguile.la ../lib/libgnu.la
|
||||
libguilereadline_v_@LIBGUILEREADLINE_MAJOR@_la_LDFLAGS = -version-info @LIBGUILEREADLINE_INTERFACE@ -export-dynamic -no-undefined
|
||||
$(READLINE_LIBS) \
|
||||
../libguile/libguile.la ../lib/libgnu.la
|
||||
|
||||
libguilereadline_v_@LIBGUILEREADLINE_MAJOR@_la_LDFLAGS = \
|
||||
-version-info @LIBGUILEREADLINE_INTERFACE@ -export-dynamic \
|
||||
-no-undefined
|
||||
|
||||
|
||||
BUILT_SOURCES = readline.x
|
||||
|
||||
pkginclude_HEADERS = readline.h
|
||||
|
||||
snarfcppopts = $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
|
||||
snarfcppopts = $(DEFS) $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS)
|
||||
SUFFIXES = .x
|
||||
.c.x:
|
||||
$(GUILE_SNARF) -o $@ $< $(snarfcppopts)
|
||||
|
||||
EXTRA_DIST = LIBGUILEREADLINE-VERSION ChangeLog-2008
|
||||
|
||||
MKDEP = gcc -M -MG $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
|
||||
MKDEP = gcc -M -MG $(DEFS) $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS)
|
||||
|
||||
CLEANFILES = *.x
|
||||
|
||||
endif HAVE_READLINE
|
||||
|
||||
dist-hook:
|
||||
(temp="/tmp/mangle-deps.$$$$"; \
|
||||
trap "rm -f $$temp" 0 1 2 15; \
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
[ -f readline-activator.scm ] || {
|
||||
echo "autogen.sh: run this command only in the guile-readline directory."
|
||||
exit 1
|
||||
}
|
||||
|
||||
autoreconf -i --force
|
|
@ -1,88 +0,0 @@
|
|||
AC_PREREQ(2.50)
|
||||
|
||||
dnl Don't use "echo -n", which is not portable (e.g., not available on
|
||||
dnl MacOS X). Instead, use `patsubst' to remove the newline.
|
||||
AC_INIT(guile-readline,
|
||||
patsubst(m4_esyscmd(. ../GUILE-VERSION && echo ${GUILE_VERSION}), [
|
||||
]),
|
||||
[bug-guile@gnu.org])
|
||||
|
||||
AC_CONFIG_AUX_DIR([../build-aux])
|
||||
AC_CONFIG_SRCDIR(readline.c)
|
||||
AM_CONFIG_HEADER([guile-readline-config.h])
|
||||
AM_INIT_AUTOMAKE([foreign no-define])
|
||||
|
||||
. $srcdir/../GUILE-VERSION
|
||||
|
||||
AC_PROG_INSTALL
|
||||
AC_PROG_CC
|
||||
AM_PROG_CC_STDC
|
||||
AC_LIBTOOL_WIN32_DLL
|
||||
AC_PROG_LIBTOOL
|
||||
|
||||
dnl
|
||||
dnl Check for Winsock and other functionality on Win32 (*not* CygWin)
|
||||
dnl
|
||||
AC_CYGWIN
|
||||
AC_MINGW32
|
||||
EXTRA_DEFS=""
|
||||
if test "$MINGW32" = "yes" ; then
|
||||
if test $enable_shared = yes ; then
|
||||
EXTRA_DEFS="-DSCM_IMPORT"
|
||||
fi
|
||||
fi
|
||||
AC_SUBST(EXTRA_DEFS)
|
||||
|
||||
for termlib in ncurses curses termcap terminfo termlib ; do
|
||||
AC_CHECK_LIB(${termlib}, tgoto,
|
||||
[LIBS="-l${termlib} $LIBS"; break])
|
||||
done
|
||||
|
||||
AC_LIB_LINKFLAGS(readline)
|
||||
AC_CHECK_LIB(readline, readline)
|
||||
if test $ac_cv_lib_readline_readline = no; then
|
||||
AC_MSG_WARN([libreadline was not found on your system.])
|
||||
fi
|
||||
|
||||
AC_CHECK_FUNCS(siginterrupt rl_clear_signals rl_cleanup_after_signal)
|
||||
|
||||
dnl Check for modern readline naming
|
||||
AC_CHECK_FUNCS(rl_filename_completion_function)
|
||||
|
||||
dnl Check for rl_get_keymap. We only use this for deciding whether to
|
||||
dnl install paren matching on the Guile command line (when using
|
||||
dnl readline for input), so it's completely optional.
|
||||
AC_CHECK_FUNCS(rl_get_keymap)
|
||||
|
||||
AC_CACHE_CHECK([for rl_getc_function pointer in readline],
|
||||
ac_cv_var_rl_getc_function,
|
||||
[AC_TRY_LINK([
|
||||
#include <stdio.h>
|
||||
#include <readline/readline.h>],
|
||||
[printf ("%ld", (long) rl_getc_function)],
|
||||
[ac_cv_var_rl_getc_function=yes],
|
||||
[ac_cv_var_rl_getc_function=no])])
|
||||
if test "${ac_cv_var_rl_getc_function}" = "yes"; then
|
||||
AC_DEFINE(HAVE_RL_GETC_FUNCTION, 1,
|
||||
[Define if your readline library has the rl_getc_function variable.])
|
||||
fi
|
||||
|
||||
if test $ac_cv_lib_readline_readline = yes \
|
||||
-a $ac_cv_var_rl_getc_function = no; then
|
||||
AC_MSG_WARN([*** libreadline is too old on your system.])
|
||||
AC_MSG_WARN([*** You need readline version 2.1 or later.])
|
||||
fi
|
||||
|
||||
AC_CHECK_FUNCS(strdup)
|
||||
|
||||
. $srcdir/LIBGUILEREADLINE-VERSION
|
||||
AC_SUBST(LIBGUILEREADLINE_MAJOR)
|
||||
AC_SUBST(LIBGUILEREADLINE_INTERFACE_CURRENT)
|
||||
AC_SUBST(LIBGUILEREADLINE_INTERFACE_REVISION)
|
||||
AC_SUBST(LIBGUILEREADLINE_INTERFACE_AGE)
|
||||
AC_SUBST(LIBGUILEREADLINE_INTERFACE)
|
||||
|
||||
AC_SUBST(GUILE_EFFECTIVE_VERSION)
|
||||
|
||||
AC_CONFIG_FILES(Makefile ice-9/Makefile)
|
||||
AC_OUTPUT
|
|
@ -1,6 +1,6 @@
|
|||
/* readline.c --- line editing support for Guile */
|
||||
|
||||
/* Copyright (C) 1997,1999,2000,2001, 2002, 2003, 2006, 2007, 2008 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1997,1999,2000,2001, 2002, 2003, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
@ -21,9 +21,9 @@
|
|||
|
||||
|
||||
|
||||
|
||||
/* Include private, configure generated header (i.e. config.h). */
|
||||
#include "guile-readline-config.h"
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_RL_GETC_FUNCTION
|
||||
#include "libguile.h"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue