CDPATH isn't supposed to be exported, but it can be; and POSIX says cd
should always use PWD after searching CDPATH, but some recent OS
releases still ship versions of /bin/sh that don't. So let's have our
build scripts continue to be explicit about where they're cd'ing to.
Based on patches by Daniel Herring:
* Simple --option and --option=arg command-line parser in make.sh.
* Supported options:
** --xc-host=<command> to specify XC host option instead of a
positional argument. (Incompatible change!)
** --prefix=<path> to specify a non-standard install location for
both build and install.sh.
Addresses https://bugs.launchpad.net/sbcl/+bug/550889
** --help
Semi-related minor cleanup:
* Use --no-userinit and --no-sysinit instead of version.lisp-expr as
the default inits for self-building: they have been around long
enough now that it should not stop anyone from building, and makes
for a somewhat less magical looking "//Build options: ..." line in
the build log.
* Threading now officially experimentally supported on Linux/PPC.
* Added PPC Linux to the list of platforms with experimental
thread support in the INSTALL file and the manual.
* Updated NEWS.
I'll let FreeBSD folks make the judgement if threads should be
default there as well.
Also: update INSTALL documentation regarding *FEATURES* a bit, and
make the documentation clear about availability of threads on
different builds.
* Imaginary parts were messed up on 64 bit platforms when
filling arrays of (COMPLEX SINGLE-FLOAT). Thanks to Paul Khuong.
* Also delay the transform of FILL till constraint propagation has
run, to get the constant argument form MAKE-ARRAY in properly.
* ...and eradicate remaining references to the SUPPORT file.
* I'm tired of typing the mantra, and it's probably good to make
it easy for users too to run SBCL before installation.
* Add to binary tarball, and mention in INSTALL.
Support for external formats in SB-ALIEN. The C-STRING alien-type
specifier now accepts :EXTERNAL-FORMAT and :ELEMENT-TYPE parameters.
This is a slightly incompatible change: to get the behaviour of
the old C-STRING alien-type, use (C-STRING :EXTERNAL-FORMAT :ASCII
:ELEMENT-TYPE BASE-CHAR).
Thanks to Yaroslav Kavenchuk for doing most of the work on this.
* Also add support for non-ascii pathnames
* Add some recent CONTRIBUTORS
* Update INSTALL
* Add argument quote/space escaping to RUN-PROGRAM on win32
Sneak in some INSTALL changes during the freeze ("Sssh! Don't
tell anyone.")
* Remove the misleading (DISABLE :SB-DOC) example for
customize-target-features.lisp-expr
* Add the -R parameter to the suggested memory randomization
workaround (required as of Fedora Core 4)
* Document x86-64/Linux and x86/Solaris as supported platforms
* Add "-noinit" to the suggested command line for building
with CMUCL as host
* fixed 32bitness in some places
* untangled waitqueues, mutexes and spinlocks
* updated the user manual
* removed target-unithread.lisp and target-multithread.lisp and
put everything into target-thread.lisp mainly for OOAO the docstrings,
but also to provide as much as possible of the thread interface
in unithread builds
* Merge sbcl-devel "Unneeded REX prefixes on x86-64"
(Lutz Euler, 2005-05-17)
* Merge sbcl-devel " x86-64 fp exceptions" (James Knight,
2005-05-17)
* Add "--userinit /dev/null --sysinit /dev/null" to the
default SBCL_XC_HOST.
* Clean up some stale x86 code (mostly floating point related)
in the x86-64 port.
* Generate smarter loader-stubs for ASDF-modules, so that
they can be REQUIRE'd even if ASDF:*CENTRAL-REGISTRY*
is cleared by the user.
* Correct INSTALL documentation: --core doesn't override
SBCL_HOME if SBCL_HOME exists.
Installation related fixes
... Include SUPPORT in binary distros, since install.sh now installs it.
... Align mis-aligned column in INSTALL: OpenBSD works on x86, not PPC.
INSTALL MORE DOCUMENTATION
... Clean up INSTALL
... Add "SEE ALSO" section to sbcl.1, and fold the DOCUMENTATION
section there. Also mention Slime in addition to ilisp,
and drop the mention of shell mode and package confusion.
... Make install.sh install the manual, BUGS, SUPPORT, CREDITS,
COPYING and NEWS as well, and make it tell where it put
everything. Don't install sbcl-asdf-install.1.
INSTALL fixes
... mention contrib/ as files you might want to keep around;
... patch (Nikodemus Siivola sbcl-devel 2004-03-27) for
more explicit description of typical form of SBCL_HOME
Fix for WTF bug on #lisp IRC
... adjust the EXPT derive-type logic to be more correct.
Text adjustments
... refer to base-target-features.lisp-expr in INSTALL
... add our newline back after the first line of the banner (I
hope without breaking gcc3.3 in the process...)
Fix the ASH bugs for mips (I think)
... just one vop to fix
While I'm at it, delete unused or bogus SXHASH assembly
routines;
Add mips to INSTALL as suggested by Lars Brinkhoff.
CLISP build megapatch
... mostly putting #-SB-XC in front of :COMPILE-TOPLEVEL,
because clisp gives a full warning for function and
macro redefinition;
... workaround clisp's buggy pretty printer by not exercising it
as much: use (INHIBIT-WARNINGS 3);
... explicit :INITIAL-ELEMENT 0 when we're using 0 to mean
"uninitialized" in MAKE-ARRAY;
... SPECIAL-OPERATOR-P isn't a good test on the host for what
can become a target macro;
... slightly more portable floating point logic:
Explicitly set *READ-DEFAULT-FLOAT-FORMAT* so that we
don't create host LONG-FLOATs by accident;
LOAD-TIME-VALUE magic for negative floating point zeros;
Minor associated text file frobbage
... braindump some unrelated TODO items
Obligatory runtime code improvement
... fix one warning in gencgc.h
Changes to PROVIDE/REQUIRE to make them (a) conform to ANSI,
(b) any use...
... cease nonstandardly downcasing elements in *MODULES*
... add a list of *MODULE-PROVIDER-FUNCTIONS* which the user
can hang functions off to make REQUIRE do whatever he
wants it to do.
... its default member knows how to load files in
$SBCL_ROOT/modulename/modulename
First pass at a contrib infrastructure...
... change install.sh to do new and exciting things, and as a
side benefit, able to install other than into /usr/local
... amend INSTALL instructions to match
Two contrib modules...
... asdf here is a direct copy of the one in cclan, but
despite being portable and therefore not really
qualifying, will be v. useful for loading the others
... bsd-sockets (db-sockets by any other name) is a fairly
low-level interface to the BSD socket API: high-level
interfaces (e.g. ACL-compatible, or CLOCC PORT) could be
built on top of it without getting dirty with ALIEN
Try harder to find GNU make (instead of first running
make-host-1.sh, then bailing out in make-target-1.sh)
as per Fufie, rudi, and Krystof on #lisp. (Google says
"don't be evil", and while we're not that good, at
least we can try not to be too annoying.:-)
Make chill.lisp not die on short package names. (inspired by
Rudi Schlatte's patch sbcl-devel 2003-01-04)
Fix bug 113
... allow logical hosts to be dumped, as references to the name
of the host
... test for dumping behaviour
Fix bug 174
... when the bad directive character has a name, print it as
part of the error message
Save a massive 20k or so on core size by zapping globaldb
entries for cold-init symbols
Various text file frobs and comments
finished translating the FFI chapter of the manual from LaTeX
to valid (though extremely clunky) DocBook up to date
(I hope) w.r.t. current SBCL behavior
made *SOFT-HEAP-LIMIT* default not NIL (after my application
overflowed the heap)
deleted bug 96 because it was implicitly a reference to the
old default implementation of TRACE in terms of
breakpointing the target function, and no longer
really applies now that the wrapper-based TRACE is the
default. TRACE still has the bug 67 problem which
keeps it from being used on functions which play a
role in the implementation of TRACE, but no longer
has a problem with functions just because they're
compiled into a particular physical representation.
Some cleanups for OpenMCL compilation
... change one IGNORE to IGNORABLE
... delete FIXME from errors (OpenMCL can compile that now)
... NB: it still doesn't quite work for some reason;
investigation is ongoing...
Text file updates
Merge TONYMS patch for ignored variables sbcl-devel 2002-06-06
... update for new def!constant definition
... delete eval-stack-related stuff in non-x86 trees too
Fixup in ldso-stubs.S to allow building with gcc again
... #define LANGUAGE_ASSEMBLY (but it might be better to put this
in Config files eventually)
Document build successes on SPARC
changed --noprogrammer behavior to support people building
interactive cores noninteractively...
...renamed --noprogrammer to --disable-debugger
...defined SB-EXT:DISABLE-DEBUGGER and SB-EXT:ENABLE-DEBUGGER
finally getting to CLISP bootstrapping...
...merged CSR patch "more controversial fixes" from "Re: CLISP
compilation" sbcl-devel 2002-04-15 (which don't look
very controversial except for the **CURRENT-SEGMENT**
code, which is going to have to be fixed somehow and
for which this fix looks plausible)
...made comment fixes mostly related to CSR patch
...fixed "#+"-should-be-"#!+" typos in parms.lisp
error handling
The MAKE-SPECIALIZABLE-ARRAY call in DEFUN INTERNAL-ERROR-ARGUMENTS
can become MAKE-ARRAY, since M-S-A is something to make it easier to
build parts of the cross-compiler under the cross-compilation host,
and DEFUN INTERNAL-ERROR-ARGUMENTS is in x86-vm.lisp, which is not
part of the cross-compiler, and so is never compiled by the
cross-compilation host.
changed MAKE-VALID-LISP-OBJ from a MACROLET macro to a global
function, for clarity and easier debugging
deleted unused SET-VALUE macro from MACROLET in DEFERR
deleted code marked REMOVEME, accidentally left over from previous
debugging exercises
changed CONTEXT-PC-ADDR, CONTEXT-PC, CONTEXT-REGISTER-ADDR, and
CONTEXT-REGISTER functions to use unsigned representations instead of
signed representations, to conform to implicit assumptions in the
debug-int code inherited from CMU CL. (Without this, new type errors
are generated in infinite regress when we try to handle errors
involving negative fixnums, e.g. (BUTLAST NIL -1).)
tweaked stuff in test/ directory a little bit in anticipation of
setting up real regression tests