mit-scheme-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[MIT-Scheme-devel] patch for NetBSD support


From: Jed Davis
Subject: [MIT-Scheme-devel] patch for NetBSD support
Date: Sun, 21 Jan 2007 03:23:42 -0500
User-agent: Mutt/1.5.10i

Having noticed on freenode #scheme a call for volunteers to test
improvements to the C backend, I found a few things I had to fix to make
things work on NetBSD (some of which ought to be relevant to the other
BSDs as well).  The attached diff:

1) fixes the entry in c-compiler-switch-table in ctop.scm

2) removes the leading left-parens from the case statements in
   compiler/configure; the lack of support for these in NetBSD's
   /bin/sh has already been recognized as a problem and fixed for
   the next release[*], and could be worked around by setting
   CONFIG_SHELL=/bin/ksh, but the parens' absence doesn't seem to harm
   anything.

3) adds a check to microcode/configure.ac for dlopen in -lc; NetBSD has
   no libdl, but dlopen &c. are defined in the dynamic linker.

4) finally, in the same file, adds a case under "OS-dependent
   customizations" to treat it the same way as Linux, except for using
   RPATH to find the X11 library[&].

Tested on NetBSD/i386 (-current at various points after 3.0);
regression-tested on Mac OS X x86 and Linux/x86 (at least to the extent
that the build completes and edwin can be loaded and started).

Note that the system curses library doesn't do terminfo, so isn't used;
I haven't tried building with ncurses, but that should work.  Nor am I
yet familiar enough with the build machinery (having not seen any of
this before today) to investigate the native backend.


[*] http://mail-index.netbsd.org/source-changes/2006/06/20/0028.html
[&] as, e.g., http://sourceware.org/ml/insight/2002-q1/msg00096.html
-- 
(let ((C call-with-current-continuation)) (apply (lambda (x y) (x y)) (map
((lambda (r) ((C C) (lambda (s) (r (lambda l (apply (s s) l))))))  (lambda
(f) (lambda (l) (if (null? l) C (lambda (k) (display (car l)) ((f (cdr l))
(C k)))))))    '((#\J #\d #\D #\v #\s) (#\e #\space #\a #\i #\newline)))))

Attachment: mit-scheme-nb.diff
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]