mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-10 14:00:21 +02:00
support new configure options: --disable-posix, --disable-net
and --disable-regex.
This commit is contained in:
parent
e59373d65f
commit
52cfc69be6
19 changed files with 676 additions and 638 deletions
13
ChangeLog
13
ChangeLog
|
@ -1,3 +1,16 @@
|
|||
1999-09-23 Gary Houston <ghouston@freewire.co.uk>
|
||||
|
||||
* acconfig.h: add HAVE_POSIX, HAVE_NETWORKING. remove FD_SETTER,
|
||||
FILE_CNT_FIELD, FILE_CNT_GPTR, FILE_CNT_READPTR.
|
||||
|
||||
* configure.in: new options --disable-posix, --disable-net
|
||||
and --disable-regex
|
||||
export HAVE_POSIX and HAVE_NETWORKING definitions.
|
||||
don't add regex-posix.o to LIBOBJS if regex disabled.
|
||||
|
||||
LIBOBJS: add filesys.c, posix.c, net_db.c, socket.c,
|
||||
conditionally.
|
||||
|
||||
1999-09-25 Jim Blandy <jimb@savonarola.red-bean.com>
|
||||
|
||||
* Guile 1.3.4 released.
|
||||
|
|
8
NEWS
8
NEWS
|
@ -6,6 +6,14 @@ Please send Guile bug reports to bug-guile@gnu.org.
|
|||
|
||||
Changes since Guile 1.3.4:
|
||||
|
||||
configure has new options to remove support for certain features:
|
||||
|
||||
--disable-posix omit posix interfaces
|
||||
--disable-net omit networking interfaces
|
||||
--disable-regex omit regular expression interfaces
|
||||
|
||||
These are likely to become separate modules some day.
|
||||
|
||||
|
||||
Changes since Guile 1.3.2:
|
||||
|
||||
|
|
22
acconfig.h
22
acconfig.h
|
@ -52,24 +52,6 @@
|
|||
#undef DEBUG_EXTENSIONS
|
||||
#undef READER_EXTENSIONS
|
||||
|
||||
/* Define this if your system has a way to set a stdio stream's file
|
||||
descriptor. */
|
||||
#undef FD_SETTER
|
||||
|
||||
/* Set this to the name of a field in FILE which contains the number
|
||||
of buffered characters waiting to be read. */
|
||||
#undef FILE_CNT_FIELD
|
||||
|
||||
/* Define this if your stdio has _gptr and _egptr fields which can
|
||||
be compared to give the number of buffered characters waiting to
|
||||
be read. */
|
||||
#undef FILE_CNT_GPTR
|
||||
|
||||
/* Define this if your stdio has _IO_read_ptr and _IO_read_end fields
|
||||
which can be compared to give the number of buffered characters
|
||||
waiting to be read. */
|
||||
#undef FILE_CNT_READPTR
|
||||
|
||||
/* Define this if your system defines S_ISLNK in sys/stat.h */
|
||||
#undef HAVE_S_ISLNK
|
||||
|
||||
|
@ -134,6 +116,10 @@
|
|||
/* This is included as part of a workaround for a autoheader bug. */
|
||||
#undef HAVE_REGCOMP
|
||||
|
||||
#undef HAVE_POSIX
|
||||
|
||||
#undef HAVE_NETWORKING
|
||||
|
||||
/* Define if the operating system supplies bzero without declaring it. */
|
||||
#undef MISSING_BZERO_DECL
|
||||
|
||||
|
|
176
aclocal.m4
vendored
176
aclocal.m4
vendored
|
@ -443,6 +443,94 @@ done<<>>dnl>>)
|
|||
changequote([,]))])
|
||||
|
||||
|
||||
# serial 1
|
||||
|
||||
# @defmac AC_PROG_CC_STDC
|
||||
# @maindex PROG_CC_STDC
|
||||
# @ovindex CC
|
||||
# If the C compiler in not in ANSI C mode by default, try to add an option
|
||||
# to output variable @code{CC} to make it so. This macro tries various
|
||||
# options that select ANSI C on some system or another. It considers the
|
||||
# compiler to be in ANSI C mode if it handles function prototypes correctly.
|
||||
#
|
||||
# If you use this macro, you should check after calling it whether the C
|
||||
# compiler has been set to accept ANSI C; if not, the shell variable
|
||||
# @code{am_cv_prog_cc_stdc} is set to @samp{no}. If you wrote your source
|
||||
# code in ANSI C, you can make an un-ANSIfied copy of it by using the
|
||||
# program @code{ansi2knr}, which comes with Ghostscript.
|
||||
# @end defmac
|
||||
|
||||
AC_DEFUN(AM_PROG_CC_STDC,
|
||||
[AC_REQUIRE([AC_PROG_CC])
|
||||
AC_BEFORE([$0], [AC_C_INLINE])
|
||||
AC_BEFORE([$0], [AC_C_CONST])
|
||||
dnl Force this before AC_PROG_CPP. Some cpp's, eg on HPUX, require
|
||||
dnl a magic option to avoid problems with ANSI preprocessor commands
|
||||
dnl like #elif.
|
||||
dnl FIXME: can't do this because then AC_AIX won't work due to a
|
||||
dnl circular dependency.
|
||||
dnl AC_BEFORE([$0], [AC_PROG_CPP])
|
||||
AC_MSG_CHECKING(for ${CC-cc} option to accept ANSI C)
|
||||
AC_CACHE_VAL(am_cv_prog_cc_stdc,
|
||||
[am_cv_prog_cc_stdc=no
|
||||
ac_save_CC="$CC"
|
||||
# Don't try gcc -ansi; that turns off useful extensions and
|
||||
# breaks some systems' header files.
|
||||
# AIX -qlanglvl=ansi
|
||||
# Ultrix and OSF/1 -std1
|
||||
# HP-UX -Aa -D_HPUX_SOURCE
|
||||
# SVR4 -Xc -D__EXTENSIONS__
|
||||
for ac_arg in "" -qlanglvl=ansi -std1 "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
|
||||
do
|
||||
CC="$ac_save_CC $ac_arg"
|
||||
AC_TRY_COMPILE(
|
||||
[#include <stdarg.h>
|
||||
#include <stdio.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
|
||||
struct buf { int x; };
|
||||
FILE * (*rcsopen) (struct buf *, struct stat *, int);
|
||||
static char *e (p, i)
|
||||
char **p;
|
||||
int i;
|
||||
{
|
||||
return p[i];
|
||||
}
|
||||
static char *f (char * (*g) (char **, int), char **p, ...)
|
||||
{
|
||||
char *s;
|
||||
va_list v;
|
||||
va_start (v,p);
|
||||
s = g (p, va_arg (v,int));
|
||||
va_end (v);
|
||||
return s;
|
||||
}
|
||||
int test (int i, double x);
|
||||
struct s1 {int (*f) (int a);};
|
||||
struct s2 {int (*f) (double a);};
|
||||
int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
|
||||
int argc;
|
||||
char **argv;
|
||||
], [
|
||||
return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
|
||||
],
|
||||
[am_cv_prog_cc_stdc="$ac_arg"; break])
|
||||
done
|
||||
CC="$ac_save_CC"
|
||||
])
|
||||
if test -z "$am_cv_prog_cc_stdc"; then
|
||||
AC_MSG_RESULT([none needed])
|
||||
else
|
||||
AC_MSG_RESULT($am_cv_prog_cc_stdc)
|
||||
fi
|
||||
case "x$am_cv_prog_cc_stdc" in
|
||||
x|xno) ;;
|
||||
*) CC="$CC $am_cv_prog_cc_stdc" ;;
|
||||
esac
|
||||
])
|
||||
|
||||
|
||||
# serial 40 AC_PROG_LIBTOOL
|
||||
AC_DEFUN(AC_PROG_LIBTOOL,
|
||||
[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
|
||||
|
@ -848,91 +936,3 @@ AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl
|
|||
dnl This is just to silence aclocal about the macro not being used
|
||||
ifelse([AC_DISABLE_FAST_INSTALL])dnl
|
||||
|
||||
|
||||
# serial 1
|
||||
|
||||
# @defmac AC_PROG_CC_STDC
|
||||
# @maindex PROG_CC_STDC
|
||||
# @ovindex CC
|
||||
# If the C compiler in not in ANSI C mode by default, try to add an option
|
||||
# to output variable @code{CC} to make it so. This macro tries various
|
||||
# options that select ANSI C on some system or another. It considers the
|
||||
# compiler to be in ANSI C mode if it handles function prototypes correctly.
|
||||
#
|
||||
# If you use this macro, you should check after calling it whether the C
|
||||
# compiler has been set to accept ANSI C; if not, the shell variable
|
||||
# @code{am_cv_prog_cc_stdc} is set to @samp{no}. If you wrote your source
|
||||
# code in ANSI C, you can make an un-ANSIfied copy of it by using the
|
||||
# program @code{ansi2knr}, which comes with Ghostscript.
|
||||
# @end defmac
|
||||
|
||||
AC_DEFUN(AM_PROG_CC_STDC,
|
||||
[AC_REQUIRE([AC_PROG_CC])
|
||||
AC_BEFORE([$0], [AC_C_INLINE])
|
||||
AC_BEFORE([$0], [AC_C_CONST])
|
||||
dnl Force this before AC_PROG_CPP. Some cpp's, eg on HPUX, require
|
||||
dnl a magic option to avoid problems with ANSI preprocessor commands
|
||||
dnl like #elif.
|
||||
dnl FIXME: can't do this because then AC_AIX won't work due to a
|
||||
dnl circular dependency.
|
||||
dnl AC_BEFORE([$0], [AC_PROG_CPP])
|
||||
AC_MSG_CHECKING(for ${CC-cc} option to accept ANSI C)
|
||||
AC_CACHE_VAL(am_cv_prog_cc_stdc,
|
||||
[am_cv_prog_cc_stdc=no
|
||||
ac_save_CC="$CC"
|
||||
# Don't try gcc -ansi; that turns off useful extensions and
|
||||
# breaks some systems' header files.
|
||||
# AIX -qlanglvl=ansi
|
||||
# Ultrix and OSF/1 -std1
|
||||
# HP-UX -Aa -D_HPUX_SOURCE
|
||||
# SVR4 -Xc -D__EXTENSIONS__
|
||||
for ac_arg in "" -qlanglvl=ansi -std1 "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
|
||||
do
|
||||
CC="$ac_save_CC $ac_arg"
|
||||
AC_TRY_COMPILE(
|
||||
[#include <stdarg.h>
|
||||
#include <stdio.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
|
||||
struct buf { int x; };
|
||||
FILE * (*rcsopen) (struct buf *, struct stat *, int);
|
||||
static char *e (p, i)
|
||||
char **p;
|
||||
int i;
|
||||
{
|
||||
return p[i];
|
||||
}
|
||||
static char *f (char * (*g) (char **, int), char **p, ...)
|
||||
{
|
||||
char *s;
|
||||
va_list v;
|
||||
va_start (v,p);
|
||||
s = g (p, va_arg (v,int));
|
||||
va_end (v);
|
||||
return s;
|
||||
}
|
||||
int test (int i, double x);
|
||||
struct s1 {int (*f) (int a);};
|
||||
struct s2 {int (*f) (double a);};
|
||||
int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
|
||||
int argc;
|
||||
char **argv;
|
||||
], [
|
||||
return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
|
||||
],
|
||||
[am_cv_prog_cc_stdc="$ac_arg"; break])
|
||||
done
|
||||
CC="$ac_save_CC"
|
||||
])
|
||||
if test -z "$am_cv_prog_cc_stdc"; then
|
||||
AC_MSG_RESULT([none needed])
|
||||
else
|
||||
AC_MSG_RESULT($am_cv_prog_cc_stdc)
|
||||
fi
|
||||
case "x$am_cv_prog_cc_stdc" in
|
||||
x|xno) ;;
|
||||
*) CC="$CC $am_cv_prog_cc_stdc" ;;
|
||||
esac
|
||||
])
|
||||
|
||||
|
|
136
configure.in
136
configure.in
|
@ -41,20 +41,44 @@ AC_CONFIG_SUBDIRS(guile-readline)
|
|||
#--------------------------------------------------------------------
|
||||
|
||||
AC_ARG_ENABLE(dynamic-linking,
|
||||
[ --enable-dynamic-linking Include support for dynamic linking],,
|
||||
[ --enable-dynamic-linking include support for dynamic linking],,
|
||||
enable_dynamic_linking=yes)
|
||||
|
||||
AC_ARG_ENABLE(guile-debug,
|
||||
[ --enable-guile-debug Include internal debugging functions],
|
||||
[ --enable-guile-debug include internal debugging functions],
|
||||
if test "$enable_guile_debug" = y || test "$enable_guile_debug" = yes; then
|
||||
AC_DEFINE(GUILE_DEBUG)
|
||||
fi)
|
||||
|
||||
AC_ARG_ENABLE(posix,
|
||||
[ --disable-posix omit posix interfaces],,
|
||||
enable_posix=yes)
|
||||
|
||||
AC_ARG_ENABLE(networking,
|
||||
[ --disable-net omit networking interfaces],,
|
||||
enable_networking=yes)
|
||||
|
||||
AC_ARG_ENABLE(regex,
|
||||
[ --disable-regex omit regular expression interfaces],,
|
||||
enable_regex=yes)
|
||||
|
||||
dnl The --disable-debug used to control these two. But now they are
|
||||
dnl a required part of the distribution.
|
||||
AC_DEFINE(DEBUG_EXTENSIONS)
|
||||
AC_DEFINE(READER_EXTENSIONS)
|
||||
|
||||
dnl files which are destined for separate modules.
|
||||
|
||||
if test "$enable_posix" = yes; then
|
||||
LIBOBJS="$LIBOBJS filesys.o posix.o"
|
||||
AC_DEFINE(HAVE_POSIX)
|
||||
fi
|
||||
|
||||
if test "$enable_networking" = yes; then
|
||||
LIBOBJS="$LIBOBJS net_db.o socket.o"
|
||||
AC_DEFINE(HAVE_NETWORKING)
|
||||
fi
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
AC_PROG_CC
|
||||
|
@ -220,19 +244,21 @@ dnl to behave differently.)
|
|||
|
||||
AC_SYS_RESTARTABLE_SYSCALLS
|
||||
|
||||
if test "$ac_cv_header_regex_h" = yes ||
|
||||
test "$ac_cv_header_rxposix_h" = yes ||
|
||||
test "$ac_cv_header_rx_rxposix_h" = yes; then
|
||||
GUILE_NAMED_CHECK_FUNC(regcomp, norx, [LIBOBJS="regex-posix.o $LIBOBJS"],
|
||||
[AC_CHECK_LIB(rx, main)
|
||||
GUILE_NAMED_CHECK_FUNC(regcomp, rx, [LIBOBJS="regex-posix.o $LIBOBJS"])]
|
||||
)
|
||||
dnl The following should not be necessary, but for some reason
|
||||
dnl autoheader misses it if we don't include it!
|
||||
if test "$ac_cv_func_regcomp_norx" = yes ||
|
||||
test "$ac_cv_func_regcomp_rx" = yes; then
|
||||
AC_DEFINE(HAVE_REGCOMP)
|
||||
fi
|
||||
if test "$enable_regex" = yes; then
|
||||
if test "$ac_cv_header_regex_h" = yes ||
|
||||
test "$ac_cv_header_rxposix_h" = yes ||
|
||||
test "$ac_cv_header_rx_rxposix_h" = yes; then
|
||||
GUILE_NAMED_CHECK_FUNC(regcomp, norx, [LIBOBJS="regex-posix.o $LIBOBJS"],
|
||||
[AC_CHECK_LIB(rx, main)
|
||||
GUILE_NAMED_CHECK_FUNC(regcomp, rx, [LIBOBJS="regex-posix.o $LIBOBJS"])]
|
||||
)
|
||||
dnl The following should not be necessary, but for some reason
|
||||
dnl autoheader misses it if we don't include it!
|
||||
if test "$ac_cv_func_regcomp_norx" = yes ||
|
||||
test "$ac_cv_func_regcomp_rx" = yes; then
|
||||
AC_DEFINE(HAVE_REGCOMP)
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_REPLACE_FUNCS(inet_aton putenv strerror memmove)
|
||||
|
@ -310,85 +336,6 @@ AC_MSG_RESULT($scm_cv_struct_linger)
|
|||
if test $scm_cv_struct_linger = yes; then
|
||||
AC_DEFINE(HAVE_STRUCT_LINGER)
|
||||
fi
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
#
|
||||
# How can you violate a stdio abstraction by setting a stream's fd?
|
||||
#
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
dnl AC_MSG_CHECKING(how to set a stream file descriptor)
|
||||
dnl AC_CACHE_VAL(scm_cv_fd_setter,
|
||||
dnl AC_TRY_COMPILE([#include <stdio.h>],
|
||||
dnl [stdout->_file = 1],
|
||||
dnl scm_cv_fd_setter="_file",
|
||||
dnl AC_TRY_COMPILE([#include <stdio.h>],
|
||||
dnl [stdout->__file = 1],
|
||||
dnl scm_cv_fd_setter="__file",
|
||||
dnl AC_TRY_COMPILE([#include <stdio.h>],
|
||||
dnl [stdout->_fileno = 1],
|
||||
dnl scm_cv_fd_setter="_fileno",
|
||||
dnl scm_cv_fd_setter=""))))
|
||||
|
||||
dnl if test "$scm_cv_fd_setter"; then
|
||||
dnl AC_MSG_RESULT($scm_cv_fd_setter)
|
||||
dnl AC_DEFINE_UNQUOTED(FD_SETTER, $scm_cv_fd_setter)
|
||||
dnl else
|
||||
dnl AC_MSG_RESULT(we couldn't do it!)
|
||||
dnl fi
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# How to find out whether a FILE structure contains buffered data.
|
||||
# From Tk we have the following list:
|
||||
# _cnt: Most UNIX systems
|
||||
# __cnt: HPUX and SCO
|
||||
# _r: BSD
|
||||
# readCount: Sprite
|
||||
# Or, in GNU libc there are two fields, _gptr and _egptr, which
|
||||
# have to be compared.
|
||||
# These can also be known as _IO_read_ptr and _IO_read_end.
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
dnl AC_MSG_CHECKING(how to get buffer char count from FILE structure)
|
||||
dnl AC_CACHE_VAL(scm_cv_struct_file_count,
|
||||
dnl AC_TRY_COMPILE([#include <stdio.h>],
|
||||
dnl [FILE *f = stdin; f->_cnt = 0],
|
||||
dnl scm_cv_struct_file_count="_cnt",
|
||||
dnl AC_TRY_COMPILE([#include <stdio.h>],
|
||||
dnl [FILE *f = stdin; f->__cnt = 0],
|
||||
dnl scm_cv_struct_file_count="__cnt",
|
||||
dnl AC_TRY_COMPILE([#include <stdio.h>],
|
||||
dnl [FILE *f = stdin; f->_r = 0],
|
||||
dnl scm_cv_struct_file_count="_r",
|
||||
dnl AC_TRY_COMPILE([#include <stdio.h>],
|
||||
dnl [FILE *f = stdin; f->readCount = 0],
|
||||
dnl scm_cv_struct_file_count="readCount",
|
||||
dnl scm_cv_struct_file_count="")))))
|
||||
dnl if test "$scm_cv_struct_file_count"; then
|
||||
dnl AC_MSG_RESULT($scm_cv_struct_file_count)
|
||||
dnl AC_DEFINE_UNQUOTED(FILE_CNT_FIELD, $scm_cv_struct_file_count)
|
||||
dnl else
|
||||
dnl AC_CACHE_VAL(scm_cv_struct_file_gptr,
|
||||
dnl AC_TRY_COMPILE([#include <stdio.h>],
|
||||
dnl [FILE *f = stdin; f->_gptr = f->egptr;],
|
||||
dnl scm_cv_struct_file_gptr=1,
|
||||
dnl scm_cv_struct_file_gptr=""))
|
||||
dnl if test "$scm_cv_struct_gptr"; then
|
||||
dnl AC_MSG_RESULT(gptr)
|
||||
dnl AC_DEFINE_UNQUOTED(FILE_CNT_GPTR, $scm_cv_struct_file_gptr)
|
||||
dnl else
|
||||
dnl AC_CACHE_VAL(scm_cv_struct_file_readptr,
|
||||
dnl AC_TRY_COMPILE([#include <stdio.h>],
|
||||
dnl [FILE *f = stdin; f->_IO_read_ptr = f->_IO_read_end;],
|
||||
dnl scm_cv_struct_file_readptr=1))
|
||||
dnl if test "$scm_cv_struct_file_readptr"; then
|
||||
dnl AC_MSG_RESULT(read_ptr)
|
||||
dnl AC_DEFINE_UNQUOTED(FILE_CNT_READPTR, $scm_cv_struct_file_readptr)
|
||||
dnl else
|
||||
dnl AC_MSG_RESULT(we couldn't do it!)
|
||||
dnl fi
|
||||
dnl fi
|
||||
dnl fi
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
#
|
||||
|
@ -452,7 +399,6 @@ if test "${THREAD_PACKAGE}" != "" ; then
|
|||
fi
|
||||
fi
|
||||
|
||||
|
||||
## If we're using GCC, ask for aggressive warnings.
|
||||
case "$GCC" in
|
||||
yes )
|
||||
|
|
|
@ -1,3 +1,23 @@
|
|||
1999-09-23 Gary Houston <ghouston@freewire.co.uk>
|
||||
|
||||
* boot-9.scm (load-user-init): check that the posix feature is
|
||||
available before using getpw and getuid.
|
||||
(top-repl): don't install handlers for SIGINT etc., without posix.
|
||||
(file-is-directory?): use 'posix instead of i/o-extensions to
|
||||
check for stat.
|
||||
(load-user-init): use file-exists? and file-is-directory? to
|
||||
check for .guile, instead of stat.
|
||||
(file-is-directory?): don't display the file name if posix not
|
||||
available.
|
||||
(feature?): I guess this is deprecated. redefined using "provided?"
|
||||
and changed users in boot-9.scm to "provided?".
|
||||
Conditionally load posix.scm and networking.scm.
|
||||
|
||||
posix.scm, networking.scm: new files. Move definitions from
|
||||
boot-9.scm if they are only useful with posix/networking available.
|
||||
|
||||
* Makefile.am (ice9_sources): add posix.scm, networking.scm.
|
||||
|
||||
1999-09-17 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
|
||||
|
||||
* debugger.scm (read-and-dispatch-commands): Handle other throws
|
||||
|
|
|
@ -26,8 +26,9 @@ ice9_sources = \
|
|||
and-let*.scm boot-9.scm calling.scm common-list.scm debug.scm \
|
||||
debugger.scm emacs.scm expect.scm format.scm \
|
||||
getopt-gnu-style.scm getopt-long.scm hcons.scm lineio.scm \
|
||||
ls.scm mapping.scm \
|
||||
optargs.scm poe.scm popen.scm psyntax.pp psyntax.ss q.scm \
|
||||
ls.scm mapping.scm networking.scm \
|
||||
optargs.scm poe.scm popen.scm posix.scm \
|
||||
psyntax.pp psyntax.ss q.scm \
|
||||
r4rs.scm regex.scm runq.scm session.scm slib.scm \
|
||||
streams.scm string-fun.scm syncase.scm tags.scm threads.scm
|
||||
|
||||
|
|
|
@ -93,7 +93,7 @@ qtmds_s = @qtmds_s@
|
|||
AUTOMAKE_OPTIONS = foreign
|
||||
|
||||
# These should be installed and distributed.
|
||||
ice9_sources = and-let*.scm boot-9.scm calling.scm common-list.scm debug.scm debugger.scm emacs.scm expect.scm format.scm getopt-gnu-style.scm getopt-long.scm hcons.scm lineio.scm ls.scm mapping.scm optargs.scm poe.scm popen.scm psyntax.pp psyntax.ss q.scm r4rs.scm regex.scm runq.scm session.scm slib.scm streams.scm string-fun.scm syncase.scm tags.scm threads.scm
|
||||
ice9_sources = and-let*.scm boot-9.scm calling.scm common-list.scm debug.scm debugger.scm emacs.scm expect.scm format.scm getopt-gnu-style.scm getopt-long.scm hcons.scm lineio.scm ls.scm mapping.scm networking.scm optargs.scm poe.scm popen.scm posix.scm psyntax.pp psyntax.ss q.scm r4rs.scm regex.scm runq.scm session.scm slib.scm streams.scm string-fun.scm syncase.scm tags.scm threads.scm
|
||||
|
||||
|
||||
subpkgdatadir = $(pkgdatadir)/$(VERSION)/ice-9
|
||||
|
|
179
ice-9/boot-9.scm
179
ice-9/boot-9.scm
|
@ -40,6 +40,9 @@
|
|||
(define (provided? feature)
|
||||
(and (memq feature *features*) #t))
|
||||
|
||||
;;; presumably deprecated.
|
||||
(define feature? provided?)
|
||||
|
||||
|
||||
;;; {R4RS compliance}
|
||||
|
||||
|
@ -564,37 +567,15 @@
|
|||
(loop (f (car l)) (cdr l))))))
|
||||
|
||||
|
||||
;;; {Files}
|
||||
;;;
|
||||
;;; If no one can explain this comment to me by 31 Jan 1998, I will
|
||||
;;; assume it is meaningless and remove it. -twp
|
||||
;;; !!!! these should be implemented using Tcl commands, not fports.
|
||||
|
||||
(define (feature? feature)
|
||||
(and (memq feature *features*) #t))
|
||||
(if (provided? 'posix)
|
||||
(primitive-load-path "ice-9/posix.scm"))
|
||||
|
||||
;; Using the vector returned by stat directly is probably not a good
|
||||
;; idea (it could just as well be a record). Hence some accessors.
|
||||
(define (stat:dev f) (vector-ref f 0))
|
||||
(define (stat:ino f) (vector-ref f 1))
|
||||
(define (stat:mode f) (vector-ref f 2))
|
||||
(define (stat:nlink f) (vector-ref f 3))
|
||||
(define (stat:uid f) (vector-ref f 4))
|
||||
(define (stat:gid f) (vector-ref f 5))
|
||||
(define (stat:rdev f) (vector-ref f 6))
|
||||
(define (stat:size f) (vector-ref f 7))
|
||||
(define (stat:atime f) (vector-ref f 8))
|
||||
(define (stat:mtime f) (vector-ref f 9))
|
||||
(define (stat:ctime f) (vector-ref f 10))
|
||||
(define (stat:blksize f) (vector-ref f 11))
|
||||
(define (stat:blocks f) (vector-ref f 12))
|
||||
|
||||
;; derived from stat mode.
|
||||
(define (stat:type f) (vector-ref f 13))
|
||||
(define (stat:perms f) (vector-ref f 14))
|
||||
(if (provided? 'socket)
|
||||
(primitive-load-path "ice-9/networking.scm"))
|
||||
|
||||
(define file-exists?
|
||||
(if (feature? 'posix)
|
||||
(if (provided? 'posix)
|
||||
(lambda (str)
|
||||
(access? str F_OK))
|
||||
(lambda (str)
|
||||
|
@ -604,12 +585,10 @@
|
|||
#f)))))
|
||||
|
||||
(define file-is-directory?
|
||||
(if (feature? 'i/o-extensions)
|
||||
(if (provided? 'posix)
|
||||
(lambda (str)
|
||||
(eq? (stat:type (stat str)) 'directory))
|
||||
(lambda (str)
|
||||
(display str)
|
||||
(newline)
|
||||
(let ((port (catch 'system-error
|
||||
(lambda () (open-file (string-append str "/.")
|
||||
OPEN_READ))
|
||||
|
@ -650,82 +629,6 @@
|
|||
(apply error "unhandled-exception:" key args))))
|
||||
|
||||
|
||||
;;; {Non-polymorphic versions of POSIX functions}
|
||||
|
||||
(define (getgrnam name) (getgr name))
|
||||
(define (getgrgid id) (getgr id))
|
||||
(define (gethostbyaddr addr) (gethost addr))
|
||||
(define (gethostbyname name) (gethost name))
|
||||
(define (getnetbyaddr addr) (getnet addr))
|
||||
(define (getnetbyname name) (getnet name))
|
||||
(define (getprotobyname name) (getproto name))
|
||||
(define (getprotobynumber addr) (getproto addr))
|
||||
(define (getpwnam name) (getpw name))
|
||||
(define (getpwuid uid) (getpw uid))
|
||||
(define (getservbyname name proto) (getserv name proto))
|
||||
(define (getservbyport port proto) (getserv port proto))
|
||||
(define (endgrent) (setgr))
|
||||
(define (endhostent) (sethost))
|
||||
(define (endnetent) (setnet))
|
||||
(define (endprotoent) (setproto))
|
||||
(define (endpwent) (setpw))
|
||||
(define (endservent) (setserv))
|
||||
(define (getgrent) (getgr))
|
||||
(define (gethostent) (gethost))
|
||||
(define (getnetent) (getnet))
|
||||
(define (getprotoent) (getproto))
|
||||
(define (getpwent) (getpw))
|
||||
(define (getservent) (getserv))
|
||||
(define (setgrent) (setgr #f))
|
||||
(define (sethostent) (sethost #t))
|
||||
(define (setnetent) (setnet #t))
|
||||
(define (setprotoent) (setproto #t))
|
||||
(define (setpwent) (setpw #t))
|
||||
(define (setservent) (setserv #t))
|
||||
|
||||
(define (passwd:name obj) (vector-ref obj 0))
|
||||
(define (passwd:passwd obj) (vector-ref obj 1))
|
||||
(define (passwd:uid obj) (vector-ref obj 2))
|
||||
(define (passwd:gid obj) (vector-ref obj 3))
|
||||
(define (passwd:gecos obj) (vector-ref obj 4))
|
||||
(define (passwd:dir obj) (vector-ref obj 5))
|
||||
(define (passwd:shell obj) (vector-ref obj 6))
|
||||
|
||||
(define (group:name obj) (vector-ref obj 0))
|
||||
(define (group:passwd obj) (vector-ref obj 1))
|
||||
(define (group:gid obj) (vector-ref obj 2))
|
||||
(define (group:mem obj) (vector-ref obj 3))
|
||||
|
||||
(define (hostent:name obj) (vector-ref obj 0))
|
||||
(define (hostent:aliases obj) (vector-ref obj 1))
|
||||
(define (hostent:addrtype obj) (vector-ref obj 2))
|
||||
(define (hostent:length obj) (vector-ref obj 3))
|
||||
(define (hostent:addr-list obj) (vector-ref obj 4))
|
||||
|
||||
(define (netent:name obj) (vector-ref obj 0))
|
||||
(define (netent:aliases obj) (vector-ref obj 1))
|
||||
(define (netent:addrtype obj) (vector-ref obj 2))
|
||||
(define (netent:net obj) (vector-ref obj 3))
|
||||
|
||||
(define (protoent:name obj) (vector-ref obj 0))
|
||||
(define (protoent:aliases obj) (vector-ref obj 1))
|
||||
(define (protoent:proto obj) (vector-ref obj 2))
|
||||
|
||||
(define (servent:name obj) (vector-ref obj 0))
|
||||
(define (servent:aliases obj) (vector-ref obj 1))
|
||||
(define (servent:port obj) (vector-ref obj 2))
|
||||
(define (servent:proto obj) (vector-ref obj 3))
|
||||
|
||||
(define (sockaddr:fam obj) (vector-ref obj 0))
|
||||
(define (sockaddr:path obj) (vector-ref obj 1))
|
||||
(define (sockaddr:addr obj) (vector-ref obj 1))
|
||||
(define (sockaddr:port obj) (vector-ref obj 2))
|
||||
|
||||
(define (utsname:sysname obj) (vector-ref obj 0))
|
||||
(define (utsname:nodename obj) (vector-ref obj 1))
|
||||
(define (utsname:release obj) (vector-ref obj 2))
|
||||
(define (utsname:version obj) (vector-ref obj 3))
|
||||
(define (utsname:machine obj) (vector-ref obj 4))
|
||||
|
||||
(define (tm:sec obj) (vector-ref obj 0))
|
||||
(define (tm:min obj) (vector-ref obj 1))
|
||||
|
@ -862,16 +765,15 @@
|
|||
;; This is mostly for the internal use of the code generated by
|
||||
;; scm_compile_shell_switches.
|
||||
(define (load-user-init)
|
||||
(define (has-init? dir)
|
||||
(define (existing-file dir)
|
||||
(let ((path (in-vicinity dir ".guile")))
|
||||
(catch 'system-error
|
||||
(lambda ()
|
||||
(let ((stats (stat path)))
|
||||
(if (not (eq? (stat:type stats) 'directory))
|
||||
path)))
|
||||
(lambda dummy #f))))
|
||||
(let ((path (or (has-init? (or (getenv "HOME") "/"))
|
||||
(has-init? (passwd:dir (getpw (getuid)))))))
|
||||
(if (and (file-exists? path)
|
||||
(not (file-is-directory? path)))
|
||||
path
|
||||
#f)))
|
||||
(let ((path (or (existing-file (or (getenv "HOME") "/"))
|
||||
(and (provided? 'posix)
|
||||
(existing-file (passwd:dir (getpw (getuid))))))))
|
||||
(if path (primitive-load path))))
|
||||
|
||||
|
||||
|
@ -1000,7 +902,7 @@
|
|||
(read-hash-extend #\. (lambda (c port)
|
||||
(eval (read port))))
|
||||
|
||||
(if (feature? 'array)
|
||||
(if (provided? 'array)
|
||||
(begin
|
||||
(let ((make-array-proc (lambda (template)
|
||||
(lambda (c port)
|
||||
|
@ -2937,40 +2839,6 @@
|
|||
(define-module (guile-user) :use-module (ice-9 emacs)))
|
||||
|
||||
|
||||
;;; {I/O functions for Tcl channels (disabled)}
|
||||
|
||||
;; (define in-ch (get-standard-channel TCL_STDIN))
|
||||
;; (define out-ch (get-standard-channel TCL_STDOUT))
|
||||
;; (define err-ch (get-standard-channel TCL_STDERR))
|
||||
;;
|
||||
;; (define inp (%make-channel-port in-ch "r"))
|
||||
;; (define outp (%make-channel-port out-ch "w"))
|
||||
;; (define errp (%make-channel-port err-ch "w"))
|
||||
;;
|
||||
;; (define %system-char-ready? char-ready?)
|
||||
;;
|
||||
;; (define (char-ready? p)
|
||||
;; (if (not (channel-port? p))
|
||||
;; (%system-char-ready? p)
|
||||
;; (let* ((channel (%channel-port-channel p))
|
||||
;; (old-blocking (channel-option-ref channel :blocking)))
|
||||
;; (dynamic-wind
|
||||
;; (lambda () (set-channel-option the-root-tcl-interpreter channel :blocking "0"))
|
||||
;; (lambda () (not (eof-object? (peek-char p))))
|
||||
;; (lambda () (set-channel-option the-root-tcl-interpreter channel :blocking old-blocking))))))
|
||||
;;
|
||||
;; (define (top-repl)
|
||||
;; (with-input-from-port inp
|
||||
;; (lambda ()
|
||||
;; (with-output-to-port outp
|
||||
;; (lambda ()
|
||||
;; (with-error-to-port errp
|
||||
;; (lambda ()
|
||||
;; (scm-style-repl))))))))
|
||||
;;
|
||||
;; (set-current-input-port inp)
|
||||
;; (set-current-output-port outp)
|
||||
;; (set-current-error-port errp)
|
||||
|
||||
(define using-readline?
|
||||
(let ((using-readline? (make-fluid)))
|
||||
|
@ -2999,10 +2867,13 @@
|
|||
(define-module (guile-user) :use-module (ice-9 regex)))
|
||||
|
||||
(let ((old-handlers #f)
|
||||
(signals `((,SIGINT . "User interrupt")
|
||||
(,SIGFPE . "Arithmetic error")
|
||||
(,SIGBUS . "Bad memory access (bus error)")
|
||||
(,SIGSEGV . "Bad memory access (Segmentation violation)"))))
|
||||
(signals (if (provided? 'posix)
|
||||
`((,SIGINT . "User interrupt")
|
||||
(,SIGFPE . "Arithmetic error")
|
||||
(,SIGBUS . "Bad memory access (bus error)")
|
||||
(,SIGSEGV .
|
||||
"Bad memory access (Segmentation violation)"))
|
||||
'())))
|
||||
|
||||
(dynamic-wind
|
||||
|
||||
|
|
71
ice-9/networking.scm
Normal file
71
ice-9/networking.scm
Normal file
|
@ -0,0 +1,71 @@
|
|||
;;; installed-scm-file
|
||||
|
||||
;;;; Copyright (C) 1999 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
|
||||
;;;; the Free Software Foundation; either version 2, or (at your option)
|
||||
;;;; any later version.
|
||||
;;;;
|
||||
;;;; This program is distributed in the hope that it will be useful,
|
||||
;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;;; GNU General Public License for more details.
|
||||
;;;;
|
||||
;;;; You should have received a copy of the GNU General Public License
|
||||
;;;; along with this software; see the file COPYING. If not, write to
|
||||
;;;; the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
;;;; Boston, MA 02111-1307 USA
|
||||
;;;;
|
||||
|
||||
(define (gethostbyaddr addr) (gethost addr))
|
||||
(define (gethostbyname name) (gethost name))
|
||||
|
||||
(define (getnetbyaddr addr) (getnet addr))
|
||||
(define (getnetbyname name) (getnet name))
|
||||
|
||||
(define (getprotobyname name) (getproto name))
|
||||
(define (getprotobynumber addr) (getproto addr))
|
||||
|
||||
(define (getservbyname name proto) (getserv name proto))
|
||||
(define (getservbyport port proto) (getserv port proto))
|
||||
|
||||
(define (sethostent) (sethost #t))
|
||||
(define (setnetent) (setnet #t))
|
||||
(define (setprotoent) (setproto #t))
|
||||
(define (setservent) (setserv #t))
|
||||
|
||||
(define (gethostent) (gethost))
|
||||
(define (getnetent) (getnet))
|
||||
(define (getprotoent) (getproto))
|
||||
(define (getservent) (getserv))
|
||||
|
||||
(define (endhostent) (sethost))
|
||||
(define (endnetent) (setnet))
|
||||
(define (endprotoent) (setproto))
|
||||
(define (endservent) (setserv))
|
||||
|
||||
(define (hostent:name obj) (vector-ref obj 0))
|
||||
(define (hostent:aliases obj) (vector-ref obj 1))
|
||||
(define (hostent:addrtype obj) (vector-ref obj 2))
|
||||
(define (hostent:length obj) (vector-ref obj 3))
|
||||
(define (hostent:addr-list obj) (vector-ref obj 4))
|
||||
|
||||
(define (netent:name obj) (vector-ref obj 0))
|
||||
(define (netent:aliases obj) (vector-ref obj 1))
|
||||
(define (netent:addrtype obj) (vector-ref obj 2))
|
||||
(define (netent:net obj) (vector-ref obj 3))
|
||||
|
||||
(define (protoent:name obj) (vector-ref obj 0))
|
||||
(define (protoent:aliases obj) (vector-ref obj 1))
|
||||
(define (protoent:proto obj) (vector-ref obj 2))
|
||||
|
||||
(define (servent:name obj) (vector-ref obj 0))
|
||||
(define (servent:aliases obj) (vector-ref obj 1))
|
||||
(define (servent:port obj) (vector-ref obj 2))
|
||||
(define (servent:proto obj) (vector-ref obj 3))
|
||||
|
||||
(define (sockaddr:fam obj) (vector-ref obj 0))
|
||||
(define (sockaddr:path obj) (vector-ref obj 1))
|
||||
(define (sockaddr:addr obj) (vector-ref obj 1))
|
||||
(define (sockaddr:port obj) (vector-ref obj 2))
|
70
ice-9/posix.scm
Normal file
70
ice-9/posix.scm
Normal file
|
@ -0,0 +1,70 @@
|
|||
;;; installed-scm-file
|
||||
|
||||
;;;; Copyright (C) 1999 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
|
||||
;;;; the Free Software Foundation; either version 2, or (at your option)
|
||||
;;;; any later version.
|
||||
;;;;
|
||||
;;;; This program is distributed in the hope that it will be useful,
|
||||
;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;;; GNU General Public License for more details.
|
||||
;;;;
|
||||
;;;; You should have received a copy of the GNU General Public License
|
||||
;;;; along with this software; see the file COPYING. If not, write to
|
||||
;;;; the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
;;;; Boston, MA 02111-1307 USA
|
||||
;;;;
|
||||
|
||||
(define (stat:dev f) (vector-ref f 0))
|
||||
(define (stat:ino f) (vector-ref f 1))
|
||||
(define (stat:mode f) (vector-ref f 2))
|
||||
(define (stat:nlink f) (vector-ref f 3))
|
||||
(define (stat:uid f) (vector-ref f 4))
|
||||
(define (stat:gid f) (vector-ref f 5))
|
||||
(define (stat:rdev f) (vector-ref f 6))
|
||||
(define (stat:size f) (vector-ref f 7))
|
||||
(define (stat:atime f) (vector-ref f 8))
|
||||
(define (stat:mtime f) (vector-ref f 9))
|
||||
(define (stat:ctime f) (vector-ref f 10))
|
||||
(define (stat:blksize f) (vector-ref f 11))
|
||||
(define (stat:blocks f) (vector-ref f 12))
|
||||
|
||||
;; derived from stat mode.
|
||||
(define (stat:type f) (vector-ref f 13))
|
||||
(define (stat:perms f) (vector-ref f 14))
|
||||
|
||||
(define (passwd:name obj) (vector-ref obj 0))
|
||||
(define (passwd:passwd obj) (vector-ref obj 1))
|
||||
(define (passwd:uid obj) (vector-ref obj 2))
|
||||
(define (passwd:gid obj) (vector-ref obj 3))
|
||||
(define (passwd:gecos obj) (vector-ref obj 4))
|
||||
(define (passwd:dir obj) (vector-ref obj 5))
|
||||
(define (passwd:shell obj) (vector-ref obj 6))
|
||||
|
||||
(define (group:name obj) (vector-ref obj 0))
|
||||
(define (group:passwd obj) (vector-ref obj 1))
|
||||
(define (group:gid obj) (vector-ref obj 2))
|
||||
(define (group:mem obj) (vector-ref obj 3))
|
||||
|
||||
(define (utsname:sysname obj) (vector-ref obj 0))
|
||||
(define (utsname:nodename obj) (vector-ref obj 1))
|
||||
(define (utsname:release obj) (vector-ref obj 2))
|
||||
(define (utsname:version obj) (vector-ref obj 3))
|
||||
(define (utsname:machine obj) (vector-ref obj 4))
|
||||
|
||||
(define (getpwent) (getpw))
|
||||
(define (setpwent) (setpw #t))
|
||||
(define (endpwent) (setpw))
|
||||
|
||||
(define (getpwnam name) (getpw name))
|
||||
(define (getpwuid uid) (getpw uid))
|
||||
|
||||
(define (getgrent) (getgr))
|
||||
(define (setgrent) (setgr #f))
|
||||
(define (endgrent) (setgr))
|
||||
|
||||
(define (getgrnam name) (getgr name))
|
||||
(define (getgrgid id) (getgr id))
|
|
@ -1,3 +1,16 @@
|
|||
1999-09-23 Gary Houston <ghouston@freewire.co.uk>
|
||||
|
||||
* ioext.c (scm_init_ioext): enable "i/o-extensions" feature here
|
||||
instead of in scm_init_filesys.
|
||||
|
||||
* init.c (scm_boot_guile_1): don't call scm_init_posix or
|
||||
scm_init_filesys unless HAVE_POSIX is defined.
|
||||
don't call scm_init_netdb or scm_init_socket unless
|
||||
HAVE_NETWORKING is defined.
|
||||
|
||||
* Makefile.am (EXTRA_libguile_la_SOURCES): filesys.c, posix.c,
|
||||
net_db.c, socket.c: moved here from libguile_la_SOURCES.
|
||||
|
||||
1999-09-25 Jim Blandy <jimb@savonarola.red-bean.com>
|
||||
|
||||
* root.c (scm_make_root): Initialize all the fields of the new
|
||||
|
|
|
@ -37,13 +37,13 @@ guile_LDADD = libguile.la ${THREAD_LIBS_LOCAL}
|
|||
libguile_la_SOURCES = \
|
||||
alist.c arbiters.c async.c backtrace.c boolean.c chars.c \
|
||||
continuations.c debug.c dynl.c dynwind.c eq.c error.c eval.c \
|
||||
evalext.c feature.c filesys.c fluids.c fports.c gc.c gdbint.c \
|
||||
evalext.c feature.c fluids.c fports.c gc.c gdbint.c \
|
||||
gh_data.c gh_eval.c gh_funcs.c gh_init.c gh_io.c gh_list.c \
|
||||
gh_predicates.c gsubr.c guardians.c hash.c hashtab.c init.c \
|
||||
ioext.c keywords.c lang.c list.c load.c macros.c mallocs.c \
|
||||
modules.c net_db.c numbers.c objects.c objprop.c options.c pairs.c \
|
||||
ports.c posix.c print.c procprop.c procs.c ramap.c random.c read.c \
|
||||
root.c scmsigs.c script.c simpos.c smob.c socket.c sort.c \
|
||||
modules.c numbers.c objects.c objprop.c options.c pairs.c \
|
||||
ports.c print.c procprop.c procs.c ramap.c random.c read.c \
|
||||
root.c scmsigs.c script.c simpos.c smob.c sort.c \
|
||||
srcprop.c stackchk.c stacks.c stime.c strings.c strop.c strorder.c \
|
||||
strports.c struct.c symbols.c tag.c throw.c unif.c variable.c \
|
||||
vectors.c version.c vports.c weaks.c
|
||||
|
@ -64,7 +64,8 @@ BUILT_SOURCES = \
|
|||
|
||||
EXTRA_libguile_la_SOURCES = _scm.h \
|
||||
alloca.c inet_aton.c memmove.c putenv.c strerror.c \
|
||||
threads.c regex-posix.c iselect.c
|
||||
threads.c regex-posix.c iselect.c \
|
||||
filesys.c posix.c netdb.c socket.c
|
||||
|
||||
## This is kind of nasty... there are ".c" files that we don't want to
|
||||
## compile, since they are #included in threads.c. So instead we list
|
||||
|
|
|
@ -102,13 +102,13 @@ bin_PROGRAMS = guile
|
|||
guile_SOURCES = guile.c
|
||||
guile_LDADD = libguile.la ${THREAD_LIBS_LOCAL}
|
||||
|
||||
libguile_la_SOURCES = alist.c arbiters.c async.c backtrace.c boolean.c chars.c continuations.c debug.c dynl.c dynwind.c eq.c error.c eval.c evalext.c feature.c filesys.c fluids.c fports.c gc.c gdbint.c gh_data.c gh_eval.c gh_funcs.c gh_init.c gh_io.c gh_list.c gh_predicates.c gsubr.c guardians.c hash.c hashtab.c init.c ioext.c keywords.c lang.c list.c load.c macros.c mallocs.c modules.c net_db.c numbers.c objects.c objprop.c options.c pairs.c ports.c posix.c print.c procprop.c procs.c ramap.c random.c read.c root.c scmsigs.c script.c simpos.c smob.c socket.c sort.c srcprop.c stackchk.c stacks.c stime.c strings.c strop.c strorder.c strports.c struct.c symbols.c tag.c throw.c unif.c variable.c vectors.c version.c vports.c weaks.c
|
||||
libguile_la_SOURCES = alist.c arbiters.c async.c backtrace.c boolean.c chars.c continuations.c debug.c dynl.c dynwind.c eq.c error.c eval.c evalext.c feature.c fluids.c fports.c gc.c gdbint.c gh_data.c gh_eval.c gh_funcs.c gh_init.c gh_io.c gh_list.c gh_predicates.c gsubr.c guardians.c hash.c hashtab.c init.c ioext.c keywords.c lang.c list.c load.c macros.c mallocs.c modules.c numbers.c objects.c objprop.c options.c pairs.c ports.c print.c procprop.c procs.c ramap.c random.c read.c root.c scmsigs.c script.c simpos.c smob.c sort.c srcprop.c stackchk.c stacks.c stime.c strings.c strop.c strorder.c strports.c struct.c symbols.c tag.c throw.c unif.c variable.c vectors.c version.c vports.c weaks.c
|
||||
|
||||
|
||||
BUILT_SOURCES = cpp_err_symbols.c cpp_sig_symbols.c libpath.h alist.x arbiters.x async.x backtrace.x boolean.x chars.x continuations.x debug.x dynl.x dynwind.x eq.x error.x eval.x evalext.x feature.x filesys.x fluids.x fports.x gc.x gsubr.x guardians.x hash.x hashtab.x init.x ioext.x iselect.x keywords.x lang.x list.x load.x macros.x mallocs.x modules.x net_db.x numbers.x objects.x objprop.x options.x pairs.x ports.x posix.x print.x procprop.x procs.x random.x ramap.x read.x regex-posix.x root.x scmsigs.x script.x simpos.x smob.x socket.x sort.x srcprop.x stackchk.x stacks.x stime.x strings.x strop.x strorder.x strports.x struct.x symbols.x tag.x threads.x throw.x unif.x variable.x vectors.x version.x vports.x weaks.x
|
||||
|
||||
|
||||
EXTRA_libguile_la_SOURCES = _scm.h alloca.c inet_aton.c memmove.c putenv.c strerror.c threads.c regex-posix.c iselect.c
|
||||
EXTRA_libguile_la_SOURCES = _scm.h alloca.c inet_aton.c memmove.c putenv.c strerror.c threads.c regex-posix.c iselect.c filesys.c posix.c netdb.c socket.c
|
||||
|
||||
|
||||
noinst_HEADERS = coop-threads.c coop-threads.h coop.c
|
||||
|
@ -163,16 +163,16 @@ LDFLAGS = @LDFLAGS@
|
|||
LIBS = @LIBS@
|
||||
libguile_la_OBJECTS = alist.lo arbiters.lo async.lo backtrace.lo \
|
||||
boolean.lo chars.lo continuations.lo debug.lo dynl.lo dynwind.lo eq.lo \
|
||||
error.lo eval.lo evalext.lo feature.lo filesys.lo fluids.lo fports.lo \
|
||||
gc.lo gdbint.lo gh_data.lo gh_eval.lo gh_funcs.lo gh_init.lo gh_io.lo \
|
||||
error.lo eval.lo evalext.lo feature.lo fluids.lo fports.lo gc.lo \
|
||||
gdbint.lo gh_data.lo gh_eval.lo gh_funcs.lo gh_init.lo gh_io.lo \
|
||||
gh_list.lo gh_predicates.lo gsubr.lo guardians.lo hash.lo hashtab.lo \
|
||||
init.lo ioext.lo keywords.lo lang.lo list.lo load.lo macros.lo \
|
||||
mallocs.lo modules.lo net_db.lo numbers.lo objects.lo objprop.lo \
|
||||
options.lo pairs.lo ports.lo posix.lo print.lo procprop.lo procs.lo \
|
||||
ramap.lo random.lo read.lo root.lo scmsigs.lo script.lo simpos.lo \
|
||||
smob.lo socket.lo sort.lo srcprop.lo stackchk.lo stacks.lo stime.lo \
|
||||
strings.lo strop.lo strorder.lo strports.lo struct.lo symbols.lo tag.lo \
|
||||
throw.lo unif.lo variable.lo vectors.lo version.lo vports.lo weaks.lo
|
||||
mallocs.lo modules.lo numbers.lo objects.lo objprop.lo options.lo \
|
||||
pairs.lo ports.lo print.lo procprop.lo procs.lo ramap.lo random.lo \
|
||||
read.lo root.lo scmsigs.lo script.lo simpos.lo smob.lo sort.lo \
|
||||
srcprop.lo stackchk.lo stacks.lo stime.lo strings.lo strop.lo \
|
||||
strorder.lo strports.lo struct.lo symbols.lo tag.lo throw.lo unif.lo \
|
||||
variable.lo vectors.lo version.lo vports.lo weaks.lo
|
||||
PROGRAMS = $(bin_PROGRAMS)
|
||||
|
||||
guile_OBJECTS = guile.o
|
||||
|
@ -216,7 +216,7 @@ DEP_FILES = .deps/alist.P .deps/alloca.P .deps/arbiters.P .deps/async.P \
|
|||
.deps/hash.P .deps/hashtab.P .deps/inet_aton.P .deps/init.P \
|
||||
.deps/ioext.P .deps/iselect.P .deps/keywords.P .deps/lang.P \
|
||||
.deps/list.P .deps/load.P .deps/macros.P .deps/mallocs.P \
|
||||
.deps/memmove.P .deps/modules.P .deps/net_db.P .deps/numbers.P \
|
||||
.deps/memmove.P .deps/modules.P .deps/netdb.P .deps/numbers.P \
|
||||
.deps/objects.P .deps/objprop.P .deps/options.P .deps/pairs.P \
|
||||
.deps/ports.P .deps/posix.P .deps/print.P .deps/procprop.P \
|
||||
.deps/procs.P .deps/putenv.P .deps/ramap.P .deps/random.P .deps/read.P \
|
||||
|
|
|
@ -1203,8 +1203,6 @@ scm_basename (SCM filename, SCM suffix)
|
|||
void
|
||||
scm_init_filesys ()
|
||||
{
|
||||
scm_add_feature ("i/o-extensions");
|
||||
|
||||
scm_tc16_dir = scm_make_smob_type_mfpe ("directory", 0,
|
||||
NULL, scm_dir_free,scm_dir_print, NULL);
|
||||
|
||||
|
|
|
@ -461,7 +461,6 @@ scm_boot_guile_1 (base, closure)
|
|||
scm_init_fluids ();
|
||||
scm_init_backtrace (); /* Requires fluids */
|
||||
scm_init_fports ();
|
||||
scm_init_filesys ();
|
||||
scm_init_gc ();
|
||||
scm_init_gdbint ();
|
||||
scm_init_hash ();
|
||||
|
@ -475,20 +474,25 @@ scm_boot_guile_1 (base, closure)
|
|||
scm_init_macros ();
|
||||
scm_init_mallocs ();
|
||||
scm_init_modules ();
|
||||
scm_init_net_db ();
|
||||
scm_init_numbers ();
|
||||
scm_init_objprop ();
|
||||
scm_init_options ();
|
||||
scm_init_pairs ();
|
||||
scm_init_ports ();
|
||||
#ifdef HAVE_POSIX
|
||||
scm_init_filesys ();
|
||||
scm_init_posix ();
|
||||
#endif
|
||||
#ifdef HAVE_REGCOMP
|
||||
scm_init_regex_posix ();
|
||||
#endif
|
||||
scm_init_procs ();
|
||||
scm_init_procprop ();
|
||||
scm_init_scmsigs ();
|
||||
#ifdef HAVE_NETWORKING
|
||||
scm_init_net_db ();
|
||||
scm_init_socket ();
|
||||
#endif
|
||||
scm_init_sort ();
|
||||
#ifdef DEBUG_EXTENSIONS
|
||||
scm_init_srcprop ();
|
||||
|
|
|
@ -505,6 +505,8 @@ scm_fdes_to_ports (fd)
|
|||
void
|
||||
scm_init_ioext ()
|
||||
{
|
||||
scm_add_feature ("i/o-extensions");
|
||||
|
||||
#include "ioext.x"
|
||||
}
|
||||
|
||||
|
|
|
@ -150,6 +150,10 @@
|
|||
/* This is included as part of a workaround for a autoheader bug. */
|
||||
#undef HAVE_REGCOMP
|
||||
|
||||
#undef HAVE_POSIX
|
||||
|
||||
#undef HAVE_NETWORKING
|
||||
|
||||
/* Define if the operating system supplies bzero without declaring it. */
|
||||
#undef MISSING_BZERO_DECL
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue