Added the support for bsd sockets made by Julian Stecklina and ported to windows by M. Goffioul

This commit is contained in:
jjgarcia 2005-02-11 18:00:24 +00:00
parent f027e1ed22
commit 9f16d5106e
10 changed files with 2491 additions and 402 deletions

View file

@ -41,6 +41,13 @@ ECL 0.9f
- When *PRINT-READABLY*=T, vectors just print as arrays.
* Contributed modules:
- MIT test unit rt.lisp is now available as #p"sys:rt"
- SBCL sockets have been ported to unix (J. Stecklina) and to windows
(M. Goffioul) and are built when using the configuration option --with-tcp.
;;; Local Variables: ***
;;; mode:text ***
;;; fill-column:79 ***

View file

@ -89,6 +89,9 @@ ecl-config: ecl-config.pre
sysfun.lsp:
ln -s -f $(srcdir)/cmp/sysfun.lsp ./
rt.lisp:
cp $(srcdir)/../contrib/rt/rt.lisp ./
BUILD-STAMP: config.status
(echo "#"; uname -a) > $@
head -8 config.status | tail -6 >> $@

View file

@ -9,6 +9,7 @@
;;; find headers and libraries in the build directory.
;;;
(si::pathname-translations "SRC" `(("**;*.*.*" "@true_srcdir@/**/*.*")))
(si::pathname-translations "EXT" `(("**;*.*.*" "@true_srcdir@/../contrib/**/*.*")))
(si::pathname-translations "BUILD" `(("**;*.*.*" "@true_builddir@/**/*.*")))
(si::pathname-translations "SYS" '(("**;*.*.*" "@true_builddir@/**/*.*")))
@ -55,6 +56,8 @@
;;; * Timed compilation facility.
;;;
(defun compile-if-old (destdir sources &rest options)
(unless (probe-file destdir)
(si::mkdir destdir #o0777))
(mapcar #'(lambda (source)
(let ((object (merge-pathnames destdir (compile-file-pathname source :type :object))))
(unless (and (probe-file object)

View file

@ -64,6 +64,9 @@ main(int argc, char **args)
#endif
#ifdef CLX
SYM_VAL(@'*features*') = CONS(make_keyword("WANTS-CLX"), SYM_VAL(@'*features*'));
#endif
#ifdef TCP
SYM_VAL(@'*features*') = CONS(make_keyword("WANTS-SOCKETS"), SYM_VAL(@'*features*'));
#endif
top_level = _intern("TOP-LEVEL", cl_core.system_package);
cl_def_c_function(top_level, si_simple_toplevel, 0);

View file

@ -124,6 +124,24 @@ ranlib ../@LIBPREFIX@ecl.@LIBEXT@'")
;;:shared-data-file "build:cmp.sdat"
))
;;;
;;; * Sockets library.
;;;
(defconstant +sockets-module-files+
'("ext:sockets;sockets.lisp"))
(setq si::*init-function-prefix* "EXT")
#+WANTS-SOCKETS
(progn
(proclaim '(optimize (safety 2) (speed 1)))
(let* ((objects (compile-if-old "build:ext;" +sockets-module-files+
:system-p t :c-file t :data-file t :h-file t)))
(c::build-static-library "sockets" :lisp-files objects)
#+dlopen
(c::build-fasl "sockets" :lisp-files objects)))
;;;
;;; * Compile the portable CLX library.
;;;
@ -156,8 +174,6 @@ ranlib ../@LIBPREFIX@ecl.@LIBEXT@'")
(progn
(proclaim '(optimize (safety 2) (speed 1)))
(push :clx-ansi-common-lisp *features*)
(unless (probe-file "build:clx;")
(si::mkdir "build:clx;" #o0777))
(mapcar #'load +clx-module-files+)
(let* ((objects (compile-if-old "build:clx;" +clx-module-files+
:system-p t :c-file t :data-file t :h-file t)))
@ -171,5 +187,6 @@ ranlib ../@LIBPREFIX@ecl.@LIBEXT@'")
#+(or cross stage1) "ecl"
#-(or cross stage1) "ecl2"
:lisp-files '(#+(and (not dlopen) WANTS-CMP) cmp
#+(and (not dlopen) WANTS-SOCKETS) sockets
#+(and (not dlopen) WANTS-CLX) clx)
:ld-flags '(#-msvc "-L./"))

1349
src/configure vendored

File diff suppressed because it is too large Load diff

View file

@ -243,12 +243,17 @@ fi
if test "${tcp}" -o "${clx}"; then
AC_DEFINE(TCP)
EXTRA_OBJS="${EXTRA_OBJS} tcp.${OBJEXT}"
if test ${shared} = "yes" ; then
LSP_LIBRARIES="${LSP_LIBRARIES} sockets.fas"
else
LSP_LIBRARIES="${LSP_LIBRARIES} ${LIBPREFIX}sockets.${LIBEXT}"
fi
CLIBS="${CLIBS} ${TCPLIBS}"
fi
if test "${oldloop}"; then
AC_DEFINE(ECL_OLD_LOOP)
fi
if test "${cmuformat}"; then
if test "${cmuformat}" = "yes"; then
closstreams="yes"
AC_DEFINE(ECL_CMU_FORMAT)
fi