Chris Hanson [Fri, 22 Jun 2007 05:18:41 +0000 (05:18 +0000)]
Use --library option with boot compiler to override an environment
variable that misidentifies the library directory.
Chris Hanson [Fri, 22 Jun 2007 02:31:22 +0000 (02:31 +0000)]
Eliminate the use of the (non-POSIX) make variable $^. Prevent
"utabmd.bin" from being a microcode "make all" dependency when
configured for liarc.
Chris Hanson [Fri, 22 Jun 2007 02:29:24 +0000 (02:29 +0000)]
Force the use of mit-scheme-c when configuring for liarc-to-native
compilation.
Chris Hanson [Fri, 22 Jun 2007 02:27:48 +0000 (02:27 +0000)]
Don't use ASSQ with all interrupts off -- it can generate an unbounded
amount of garbage and overflow the heap.
Chris Hanson [Thu, 21 Jun 2007 22:39:21 +0000 (22:39 +0000)]
Fix typo: "liarcc" -> "liarc".
Chris Hanson [Thu, 21 Jun 2007 16:55:43 +0000 (16:55 +0000)]
Don't align heap_start and constant_start when doing DISK-SAVE. This
is totally wrong -- I can't imagine why it ever worked.
Taylor R. Campbell [Thu, 21 Jun 2007 06:17:16 +0000 (06:17 +0000)]
On OS X, for dynamically loadable modules, use `-bundle', not
`-dynamiclib' when invoking `ld'. The main difference is that dylibs
don't work for our purposes on older versions of OS X, whereas bundles
do, and are generally recommended for these purposes. I've forgotten
the technical details.
Chris Hanson [Tue, 19 Jun 2007 00:11:57 +0000 (00:11 +0000)]
Prevent liarc from recompiling files that are up to date.
Chris Hanson [Mon, 18 Jun 2007 23:58:40 +0000 (23:58 +0000)]
Prevent liarc from recompiling files that are up to date.
Chris Hanson [Mon, 18 Jun 2007 17:31:05 +0000 (17:31 +0000)]
Fix two bugs in the implementation of index-fixnum type checks.
Chris Hanson [Sun, 17 Jun 2007 18:45:13 +0000 (18:45 +0000)]
Remove makefiles_created on maintainer-clean.
Chris Hanson [Sun, 17 Jun 2007 16:54:35 +0000 (16:54 +0000)]
Change system ID for LIAR to show arch.
Chris Hanson [Sat, 16 Jun 2007 02:32:22 +0000 (02:32 +0000)]
Remove obsolete #defines that cause trouble for older gcc.
Chris Hanson [Sat, 16 Jun 2007 02:14:44 +0000 (02:14 +0000)]
Don't regenerate makefiles if they are already present and correct.
Chris Hanson [Fri, 15 Jun 2007 19:24:57 +0000 (19:24 +0000)]
Update for LIARC and other changes.
Chris Hanson [Fri, 15 Jun 2007 18:09:15 +0000 (18:09 +0000)]
Make changes to support maintenance of liarc with installed liarc.
Simplify top-level makefile. Clean up boot-root and stamp files after
finishing cross compilation.
Chris Hanson [Fri, 15 Jun 2007 18:07:28 +0000 (18:07 +0000)]
If using installed liarc compiler, also use its utilities.
Chris Hanson [Fri, 15 Jun 2007 18:05:34 +0000 (18:05 +0000)]
Eliminate now-unneeded "sos" link in "lib/".
Chris Hanson [Fri, 15 Jun 2007 03:41:35 +0000 (03:41 +0000)]
Get native-from-liarc compilation working (finally).
Chris Hanson [Fri, 15 Jun 2007 03:40:21 +0000 (03:40 +0000)]
Create more flexible set of command functions in "etc/functions.sh",
and change the shell files to use them.
Chris Hanson [Thu, 14 Jun 2007 17:41:10 +0000 (17:41 +0000)]
Eliminate now-unused procedures to finish cross compilation.
Chris Hanson [Thu, 14 Jun 2007 17:39:26 +0000 (17:39 +0000)]
Rename top-level procedures to FINISH-CROSS-COMPILATION:foo, and add
new procedure FINISH-CROSS-COMPILATION:DIRECTORY. Rewrite to update
and style.
Chris Hanson [Thu, 14 Jun 2007 13:31:33 +0000 (13:31 +0000)]
Eliminate requirement that fasload files have the same
HEAP_IN_LOW_MEMORY state as the microcode loading them.
Chris Hanson [Wed, 13 Jun 2007 13:37:03 +0000 (13:37 +0000)]
Change SOS so that it's not a boot bundle. Use cross compiler when
building native system with liarc.
Chris Hanson [Wed, 13 Jun 2007 13:35:38 +0000 (13:35 +0000)]
Resurrect the cross compiler.
Chris Hanson [Wed, 13 Jun 2007 13:34:47 +0000 (13:34 +0000)]
Fix thinko: OBJECT-FILE-PREFIX must always be a URI.
Chris Hanson [Mon, 11 Jun 2007 17:49:35 +0000 (17:49 +0000)]
Delete description of LOAD/DEFAULT-TYPES which has been removed from
the system.
Chris Hanson [Sun, 10 Jun 2007 18:29:55 +0000 (18:29 +0000)]
Initial revision.
Chris Hanson [Sat, 9 Jun 2007 02:42:35 +0000 (02:42 +0000)]
Implement COMPILER-MAKE-FILE to determine the correct "make" file to
load based on the contents of the "compiler/machine" symlink.
Chris Hanson [Sat, 9 Jun 2007 02:38:06 +0000 (02:38 +0000)]
Eliminate COMPILE-BOOTSTRAP-3 by moving its contents into C-PREPARE
and NATIVE-PREPARE, each of which needs more specific initialization.
Chris Hanson [Sat, 9 Jun 2007 01:22:56 +0000 (01:22 +0000)]
Rationalize arrangement of library directory. Rename "options" to
"runtime"; move contents of "edwin/autoload" and "edwin/etc" to
"edwin" and eliminate those now-empty directories; and eliminate "SRC"
by moving its contents into "edwin" and "runtime".
Chris Hanson [Sat, 9 Jun 2007 01:19:57 +0000 (01:19 +0000)]
Make sure "sos" is consistently treated as a boot dir.
Chris Hanson [Sat, 9 Jun 2007 01:19:14 +0000 (01:19 +0000)]
Add "--stack 200" to compiler options.
Chris Hanson [Fri, 8 Jun 2007 06:04:15 +0000 (06:04 +0000)]
Redesign the liarc compilation strategy again. The new strategy has
two features: (1) it uses a shell script to control the compilation
sequence, rather than trying to get make to do the job; and (2) it
creates the second bootstrap compiler by installing it into a
subdirectory, which isolates it from the state of the build tree.
Chris Hanson [Fri, 8 Jun 2007 05:58:53 +0000 (05:58 +0000)]
Don't use WITH-LOADER-BASE-URI here -- it doesn't work correctly. For
the moment, I'm reverting the change, until I figure out the right
fix.
Chris Hanson [Thu, 7 Jun 2007 15:12:17 +0000 (15:12 +0000)]
Export ADD-PRIMITIVE-GC-DAEMON! to global.
Chris Hanson [Thu, 7 Jun 2007 15:11:24 +0000 (15:11 +0000)]
Eliminate trailing whitespace.
Chris Hanson [Wed, 6 Jun 2007 20:03:25 +0000 (20:03 +0000)]
Use WITH-LOADER-BASE-URI in all the subsystem loaders.
Chris Hanson [Wed, 6 Jun 2007 19:42:43 +0000 (19:42 +0000)]
Reorganize the Scheme loader to simplify it so that I can understand
what it's doing. In the process, the LOAD-NOISILY and LOAD-NEWEST
_features_ have been eliminated, although the procedures remain as
aliases for LOAD.
New procedures FILE-LOADABLE? and FILE-FASLOADABLE? test whether a
particular file is one that LOAD or FASLOAD (respectively) knows how
to handle. New procedures SYSTEM-URI, SYSTEM-LIBRARY-URI, and
WITH-LOADER-BASE-URI provide a standard mechanism to refer to files in
the system library directory.
Eliminate DECLARE-SHARED-LIBRARY; register every .so file that's
loaded, and reload it on disk-restore.
Change the dynamic-loader interface to support unloading object files.
Make sure that all loaded object files are unloaded on DISK-RESTORE.
Implement low-level interface to the dynamic loader in
"runtime/io.scm" and use that in "runtime/load.scm". Implement new
primitive LIARC-COMPILED-BLOCKS, to simplify examination of the
compiled_blocks table.
Change registration of .so files to use URIs rather than ad-hoc
abbreviations. Standard URIs refer to parts of the system, and are
independent of the file-system details; file URIs refer to .so files
stored in particular locations.
Add an 8-byte random nonce to each .c file generated by liarc, so that
the loader can tell if it's the same file as a previously loaded one.
Write new program gen-nonce for use by c-bundle.sh.
Move makefile creation from Setup.sh to configure, so that it can
depend on the architecture.
Rewrite parts of "Makefile.in" and "etc/compile.scm" to support
compiling a native-code system using liarc. Change
"etc/utilities.scm" to support liarc when it is installed as well as
when it is being built.
Write new program extract-liarc-decls for c-bundle.sh to use, in place
of of grep. This program rewrites each declaration to specialize it
for bundling.
Chris Hanson [Wed, 6 Jun 2007 19:41:55 +0000 (19:41 +0000)]
Make sure that all open directory handles are closed on DISK-RESTORE.
Chris Hanson [Wed, 6 Jun 2007 19:39:07 +0000 (19:39 +0000)]
Rewrite PATHNAME-SIMPLIFY so that it better handles the case where
part of the pathname refers to non-existing file structure.
Chris Hanson [Wed, 6 Jun 2007 19:29:35 +0000 (19:29 +0000)]
Change error_with_argument() to signal ERR_IN_SYSTEM_CALL when
appropriate.
Chris Hanson [Wed, 6 Jun 2007 19:14:55 +0000 (19:14 +0000)]
Make sure that the values of *COMPILER-INPUT-PATHNAME* and
*COMPILER-OUTPUT-PATHNAME* are absolute pathnames.
Chris Hanson [Wed, 6 Jun 2007 02:53:48 +0000 (02:53 +0000)]
Don't signal error if new working directory doesn't exist. This can
sometimes be OK.
Chris Hanson [Sun, 3 Jun 2007 03:49:50 +0000 (03:49 +0000)]
Signal error if THERE-EXISTS? or FOR-ALL? is given a non-list
argument.
Chris Hanson [Wed, 23 May 2007 17:18:01 +0000 (17:18 +0000)]
Initial revision.
Chris Hanson [Mon, 21 May 2007 17:33:32 +0000 (17:33 +0000)]
Add optional REQUIRED? arguments to SYSTEM-LIBRARY-PATHNAME and
SYSTEM-LIBRARY-DIRECTORY-PATHNAME. When new arg not supplied, each
behaves as it used to.
Chris Hanson [Sun, 20 May 2007 02:02:34 +0000 (02:02 +0000)]
While loading a shared object file, remember the file name so that it
can be used by liarc declarations.
Chris Hanson [Sun, 20 May 2007 01:55:52 +0000 (01:55 +0000)]
Make sure that notifications for built-in object files are
"initialized" rather than "loaded".
Chris Hanson [Sun, 20 May 2007 01:52:37 +0000 (01:52 +0000)]
Don't bother calling BUILT-IN-OBJECT-FILE; it's already being done by
FASLOAD.
Chris Hanson [Sun, 20 May 2007 01:51:27 +0000 (01:51 +0000)]
Change notification messages for liarc-cc and liarc-ld to reduce
clutter.
Taylor R. Campbell [Wed, 16 May 2007 19:24:08 +0000 (19:24 +0000)]
Add SRFI-62 to the list of features, and add an identifying comment to
each SRFI feature.
Chris Hanson [Tue, 15 May 2007 05:23:22 +0000 (05:23 +0000)]
Fix bug: edwin bundle was missing "make".
Chris Hanson [Tue, 15 May 2007 05:15:50 +0000 (05:15 +0000)]
Make sure liarc-cc and liarc-ld get installed.
Chris Hanson [Tue, 15 May 2007 05:02:14 +0000 (05:02 +0000)]
Fix bug: "make install" wasn't installing liarc bundles.
Chris Hanson [Tue, 15 May 2007 01:49:46 +0000 (01:49 +0000)]
Eliminate misguided whitespace formatting.
Chris Hanson [Tue, 15 May 2007 01:46:23 +0000 (01:46 +0000)]
Fix mis-quoted variable references in install rules.
Chris Hanson [Tue, 15 May 2007 01:27:22 +0000 (01:27 +0000)]
<number> should be subclass of <object>, not <instance>. Thanks
Taylor.
Chris Hanson [Mon, 14 May 2007 16:59:48 +0000 (16:59 +0000)]
Move building of LIARC bundles into their respective directories.
Create bundle file lists from .pkg files rather than from directory
listings.
Change "make c" to "make liarc-dist". Restructure top-level makefile
to generate "liarc-dist" in distinct stages: (1) build a compiler in
the directory "boot-lib"; (2) run c-clean to discard all .c files; and
(3) rebuild everything using boot-lib compiler.
Delete "Makefile.std"; generate all subdirectory makefiles (except
microcode) using "Makefile-fragment" and standard prefix/suffix.
Rename COMPILE_FOR_DYNAMIC_LOADING to ENABLE_LIARC_FILE_INIT. Don't
build 6001 or xdoc subdirs. Use -fPIC only for shared objects, not
for scheme executable. Make sure -fPIC is given to linker as well as
compiler.
Chris Hanson [Mon, 14 May 2007 16:51:00 +0000 (16:51 +0000)]
Move building of LIARC bundles into their respective directories.
Create bundle file lists from .pkg files rather than from directory
listings.
Change "make c" to "make liarc-dist". Restructure top-level makefile
to generate "liarc-dist" in distinct stages: (1) build a compiler in
the directory "boot-lib"; (2) run c-clean to discard all .c files; and
(3) rebuild everything using boot-lib compiler.
Delete "Makefile.std"; generate all subdirectory makefiles (except
microcode) using "Makefile-fragment" and standard prefix/suffix.
Rename COMPILE_FOR_DYNAMIC_LOADING to ENABLE_LIARC_FILE_INIT. Don't
build 6001 or xdoc subdirs. Use -fPIC only for shared objects, not
for scheme executable. Make sure -fPIC is given to linker as well as
compiler.
Chris Hanson [Mon, 14 May 2007 16:49:16 +0000 (16:49 +0000)]
Simplify naming; guarantee that nonces are present in all exported
symbols.
Chris Hanson [Sun, 13 May 2007 12:22:47 +0000 (12:22 +0000)]
Fix bug: "Makefile.in" is cleaned by maintainer-clean, not by
distclean.
Chris Hanson [Thu, 10 May 2007 16:44:11 +0000 (16:44 +0000)]
Fix copyright statement.
Chris Hanson [Thu, 10 May 2007 03:45:45 +0000 (03:45 +0000)]
Forgot to update "triv.pkg" to match change to "cref.pkg".
Chris Hanson [Thu, 10 May 2007 03:45:22 +0000 (03:45 +0000)]
A couple of tweaks so that CREF/PACKAGE-FILES doesn't generate errors.
Chris Hanson [Wed, 9 May 2007 20:01:37 +0000 (20:01 +0000)]
Generate most of the Makefile.in files from fragments and boilerplate.
Replace "top_builddir = ." with "top_builddir = @top_builddir@" in all
configured makefiles, since autoconf now provides a reasonable default
for these.
Chris Hanson [Wed, 9 May 2007 19:12:04 +0000 (19:12 +0000)]
Fix typo: missing "-c".
Chris Hanson [Wed, 9 May 2007 02:06:22 +0000 (02:06 +0000)]
Restructure liarc to use shell scripts to compile and link its C
output files. These scripts are customized by the microcode's
configure script to have the right invocations. Removing this
knowledge from the compiler eliminates redundancy.
Chris Hanson [Wed, 9 May 2007 01:56:48 +0000 (01:56 +0000)]
Forgot to change calls to FORMAT-PACKAGES and FORMAT-PACKAGES-UNUSUAL.
Chris Hanson [Wed, 9 May 2007 01:55:47 +0000 (01:55 +0000)]
Implement CREF/PACKAGE-FILES to extract a list of filenames from a
.pkg file. Update some of the code, particularly in "forpkg.scm".
Chris Hanson [Tue, 8 May 2007 12:54:52 +0000 (12:54 +0000)]
Restructure top-level makefile to have different targets for C and
native compilation.
Chris Hanson [Mon, 7 May 2007 05:32:24 +0000 (05:32 +0000)]
Fix bug: CODE-POINTS->ALPHABET wasn't storing high-valued code points
correctly. This had no effect on correctness, but had a space and
time cost.
Chris Hanson [Sun, 6 May 2007 14:17:14 +0000 (14:17 +0000)]
Restructure the build scripts to allow building a native system from a
liarc system. More work needs to be done, but these changes don't
break the other builds.
Chris Hanson [Sun, 6 May 2007 04:45:18 +0000 (04:45 +0000)]
Create "lib/include" to allow liarc compilation outside of the
microcode directory.
Chris Hanson [Sun, 6 May 2007 04:43:06 +0000 (04:43 +0000)]
Add "install-include" rule to create the "lib/include" directory for
liarc.
Chris Hanson [Sun, 6 May 2007 00:01:01 +0000 (00:01 +0000)]
Fix typo.
Chris Hanson [Fri, 4 May 2007 19:35:37 +0000 (19:35 +0000)]
Fix FSF address.
Chris Hanson [Fri, 4 May 2007 18:51:56 +0000 (18:51 +0000)]
Eliminate support for microcode v14.
Chris Hanson [Fri, 4 May 2007 01:27:30 +0000 (01:27 +0000)]
Fix typo: we no longer have "etc/c-build-bands.sh".
Chris Hanson [Fri, 4 May 2007 01:26:59 +0000 (01:26 +0000)]
Fix several bugs in the "etc/compile.scm" rewrite.
Chris Hanson [Fri, 4 May 2007 01:26:10 +0000 (01:26 +0000)]
Fix typo: missing value for --fasl option.
Chris Hanson [Fri, 4 May 2007 01:24:31 +0000 (01:24 +0000)]
Make sure "compiler/machine" link is made properly.
Chris Hanson [Thu, 3 May 2007 18:53:22 +0000 (18:53 +0000)]
C-PREPARE must compile "microcode/utabmd".
Chris Hanson [Thu, 3 May 2007 12:49:12 +0000 (12:49 +0000)]
Conditionally compile .pkd files. Fix typos.
Chris Hanson [Thu, 3 May 2007 12:48:41 +0000 (12:48 +0000)]
Link "make.com" even for liarc.
Chris Hanson [Thu, 3 May 2007 12:48:07 +0000 (12:48 +0000)]
Tweak echo line to be more specific.
Chris Hanson [Thu, 3 May 2007 03:49:59 +0000 (03:49 +0000)]
"etc/c-bundle.sh" is now executable, so we can call it directly rather
than invoking it via the shell.
Chris Hanson [Thu, 3 May 2007 03:45:52 +0000 (03:45 +0000)]
Rewrite code to compile Scheme files; now "etc/compile.scm" contains
all of the compilation programs. Each shell script loads
"etc/compile.scm" and invokes the appropriate entry point.
Additionally, differences between native compilation and liarc
compilation have been integrated, so that there are now fewer
necessary scripts.
Chris Hanson [Thu, 3 May 2007 03:40:27 +0000 (03:40 +0000)]
Change "Clean.sh" files to use common shell function to manage file removal.
Chris Hanson [Thu, 3 May 2007 03:35:36 +0000 (03:35 +0000)]
Don't clean "make.dylib"; we don't generate it any more.
Chris Hanson [Wed, 2 May 2007 13:51:56 +0000 (13:51 +0000)]
Set up "scheme" and "bchscheme" symlinks properly when installing.
Chris Hanson [Wed, 2 May 2007 13:51:03 +0000 (13:51 +0000)]
Fix "(load-option 'compiler)" to work right with liarc.
Chris Hanson [Wed, 2 May 2007 13:50:04 +0000 (13:50 +0000)]
Simplify: no need for SCHEME_COMPILER variable since this script
should always use the compiler we just built.
Chris Hanson [Wed, 2 May 2007 13:49:02 +0000 (13:49 +0000)]
Eliminate unnecessary "(load-option 'sf)".
Chris Hanson [Wed, 2 May 2007 03:59:23 +0000 (03:59 +0000)]
Change meaning of "make c-clean" to delete only those files created by
"make c". Clean up "Setup.sh" and "Clean.sh" scripts to use "set -e",
to avoid gratuitous uses of "exit", and to have consistent quoting.
Chris Hanson [Wed, 2 May 2007 00:11:10 +0000 (00:11 +0000)]
Add new variable MICROCODE-ID/COMPILED-CODE-TYPE. Add optional ERROR?
argument to MICROCODE-IDENTIFICATION-VECTOR-SLOT and
MICROCODE-IDENTIFICATION-ITEM.
Chris Hanson [Wed, 2 May 2007 00:09:29 +0000 (00:09 +0000)]
Handle case where cc-arch isn't known. Change cc-arch names to match
the names used in "cmpintmd/".
Chris Hanson [Wed, 2 May 2007 00:07:51 +0000 (00:07 +0000)]
Simplify char_pointer_to_string.
Chris Hanson [Tue, 1 May 2007 19:52:32 +0000 (19:52 +0000)]
Add identification item for compiled-code architecture.
Chris Hanson [Tue, 1 May 2007 14:12:52 +0000 (14:12 +0000)]
Eliminate output optimization for binary; it was breaking column
tracking.