sbcl.sbcl/clean.sh
William Harold Newman d7f6139a91 0.6.12.7.flaky1:
(This system state is seriously screwed up. It did build,
		both on Linux and on OpenBSD, but signalled an
		error after writing out sbcl.core on OpenBSD, and
		although it runs a little both on Linux and on
		OpenBSD, it hangs in the regression tests. It
		also has some temporary hacks marked REMOVEME,
		including one which suppresses PURIFY when
		building the system (!).)
	made the system build on OpenBSD again..
	..stubbed stuff out as a quick fix to the problem of FFI to
		64-bit stat.st_size
	tried to make the system run on OpenBSD again..
	..initialized current_dynamic_space, since it's now used
		instead of DYNAMIC_SPACE_START in PURIFY
	..added new assertions about GENCGC alloc_region stuff being
		reset when it should be
	renamed Lisp-level struct stat stuff to struct wrapped_stat
	tried to tidy up Lisp-level stat stuff; removed mysterious
		(STRING= NAME "") behavior from UNIX-STAT
	added slam.sh to help in low-level compile-and-try cycle
	pulled alloc_region-is-reset logic out into separate
		functions, and added more assertions on it (hunting
		for a bug which broke the old assertions)
	renamed gc_alloc_large to gc_alloc_possibly_large, and
		gc_quick_alloc_large_unboxed to
		gc_quick_alloc_unboxed_possibly_large
	enabled various GC checks, e.g. gencgc_zero_check=1
	deleted unused (and bizarre..) gencgc_verify_zero_fill()
	turned off PURIFY in order to get the system to build, since
		PURIFY seems to be misbehaving (leaving INIT-FUNCTION
		above the cutoff address..)
2001-05-15 14:08:31 +00:00

87 lines
3 KiB
Bash
Executable file

#!/bin/sh
# Remove everything in directories which are only used for output.
# In most cases, we can remove the directories, too.
#
# (We don't remove all the directories themselves for a stupid technical
# reason: "gmake clean" in the src/runtime directory gets unhappy if the
# output/ directory doesn't exist, because it tries to build Depends
# before it cleans itself, and src/c-runtime/sbcl.h is a symlink into
# the output/ directory, and it gets the gcc dependency processing gets
# all confused trying to figure out a header file which is a symlink
# into a directory which doesn't exist. We'd like to be able to run
# this script (including "gmake clean" in the src/runtime directory)
# several times in a row without failure.. so we leave the output/
# directory in place.)
rm -rf obj/* output/* doc/user-manual \
doc/user-manual.junk doc/DBTOHTML_OUTPUT_DIR*
# (The doc/user-manual.junk and doc/DBTOHTML_OUTPUT_DIR* directories
# are created by the Cygnus db2html script when it formats the the
# user manual, and since this db2html script is the one which is
# currently used to format the manual for the standard binary
# distribution, we automatically clean up after it here in the
# standard clean.sh file.)
# Ask some other directories to clean themselves up.
pwd=`pwd`
for d in tools-for-build; do
cd $d
make clean
cd $pwd
done
# Within all directories, remove things which don't look like source
# files. Some explanations:
# (symlinks)
# are never in the sources; they must've been created
# sbcl
# the runtime environment, created by compiling C code
# sbcl.h
# information about Lisp code needed to build the runtime environment,
# created by running GENESIS
# Config, target
# architecture-dependent or OS-dependent symlinks
# *.htm, *.html
# probably machine-generated translation of DocBook (*.sgml) files
# core
# probably a Unix core dump -- not part of the sources anyway
# *.o, *.lib, *.nm
# results of C-style linking, assembling, etc.
# *.core, *.map
# looks like SBCL SAVE-LISP-AND-DIE or GENESIS output, and
# certainly not source
# *~, #*#, TAGS
# common names for editor temporary files
# *.htm, *.html
# The system doc sources are SGML, any HTML is automatically
# generated output.
# depend
# made by "make depend" (or "gmake depend" or some such thing)
# *.x86f, *.axpf, *.lbytef, *.fasl
# typical extensions for fasl files
find . \( \
-type l -or \
-name '*~' -or \
-name '#*#' -or \
-name '?*.x86f' -or \
-name '?*.axpf' -or \
-name '?*.lbytef' -or \
-name '?*.fasl' -or \
-name 'core' -or \
-name '?*.core' -or \
-name '*.map' -or \
-name '*.nm' -or \
-name '*.host-obj' -or \
-name '*.lisp-obj' -or \
-name '*.target-obj' -or \
-name '*.lib' -or \
-name '*.tmp' -or \
-name '*.o' -or \
-name 'sbcl' -or \
-name 'sbcl.h' -or \
-name 'depend' -or \
-name '*.htm' -or \
-name '*.html' -or \
-name 'TAGS' -or \
-name 'local-target-features.lisp-expr' \) -print | xargs rm -f