Chris Hanson [Mon, 23 Jul 2007 00:34:02 +0000 (00:34 +0000)]
Compare XML names as strings rather than as expanded names.
Taylor R. Campbell [Tue, 17 Jul 2007 04:40:19 +0000 (04:40 +0000)]
Fix bug in liarc object initialization: dload_initialize_file must
return the complete object name with the prefix in order for it to be
properly loaded. Formerly it was returning only the name without the
prefix, so the run-time system thought that the load failed, even
though it registered the object by its full URI, and so the top-level
forms would not be executed until the file was loaded a second time.
Chris Hanson [Sun, 15 Jul 2007 22:03:15 +0000 (22:03 +0000)]
Various style tweaks, mostly spacing and indentation.
Chris Hanson [Sun, 15 Jul 2007 21:40:04 +0000 (21:40 +0000)]
Ignore key events with unknown keysyms.
Chris Hanson [Mon, 9 Jul 2007 00:46:44 +0000 (00:46 +0000)]
Make sure left-shifted constants are always cast to unsigned long.
Chris Hanson [Sun, 8 Jul 2007 22:21:54 +0000 (22:21 +0000)]
Fix some indentation problems.
Taylor R. Campbell [Sun, 8 Jul 2007 16:49:12 +0000 (16:49 +0000)]
Fix bug in dynamic initialization code: the nonce must be quoted.
Otherwise the C compiler will choke on any file compiled for dynamic
loading. Was this ever tested??
This same change could be effected in liarc.h by changing
DECLARE_DYNAMIC_INITIALIZATION & DECLARE_DYNAMIC_OBJECT_INITIALIZATION
so that they generate the line
const char dload_nonce [] = #nonce;
rather than
const char dload_nonce [] = nonce;
Taylor R. Campbell [Sun, 8 Jul 2007 06:37:31 +0000 (06:37 +0000)]
Work around bug lurking after change to store buffer contents in
external strings: %GROUP-WRITE, called in WRITE-MIME-MESSAGE-BODY-1,
passes along an external string to the writer procedure, but
ENCODE-QUOTED-PRINTABLE:UPDATE expects an internal string. Copy the
string into the heap for now with XSUBSTRING, rather than fixing the
MIME encoder to accept external strings.
Chris Hanson [Sat, 7 Jul 2007 17:22:19 +0000 (17:22 +0000)]
Implement and use EOF-OBJECT procedure.
Chris Hanson [Sat, 7 Jul 2007 17:21:38 +0000 (17:21 +0000)]
Rewrite OS/PARSE-PATH-STRING to treat multiple adjacent backslashes as
equivalent to a single backslash. (Thanks to Matthew Halfant for
noticing this.)
Chris Hanson [Sat, 7 Jul 2007 17:20:12 +0000 (17:20 +0000)]
Eliminate unbound-variable reference.
Chris Hanson [Sat, 30 Jun 2007 23:16:12 +0000 (23:16 +0000)]
Don't depend on -i and +i syntax in number parser.
Chris Hanson [Sat, 23 Jun 2007 05:56:04 +0000 (05:56 +0000)]
Explicitly specify mit-scheme-native when that's intended.
Chris Hanson [Sat, 23 Jun 2007 05:47:44 +0000 (05:47 +0000)]
For native system, install executable as mit-scheme-native rather than
just mit-scheme.
Taylor R. Campbell [Fri, 22 Jun 2007 21:25:55 +0000 (21:25 +0000)]
Fix thinko in recent change: || in C yields 1 or 0, not the first
non-zero value.
Taylor R. Campbell [Fri, 22 Jun 2007 20:18:58 +0000 (20:18 +0000)]
Rework mmap_heap_malloc so that it checks /proc/<pid>/maps only on
Linux, and on other systems just goes ahead and tries a fixed map.
Previously, mmap_heap_malloc would try a fixed map, and if it failed,
try an unfixed map; then it was changed so that it would try a fixed
map only if it knew there was a good address. I think that this only
affects Linux, so on other systems it will again try a fixed map first,
and an unfixed map only if that fails.
Taylor R. Campbell [Fri, 22 Jun 2007 18:46:53 +0000 (18:46 +0000)]
Fix typo in recent change for OpenBSD: DO_GCC_TESTS, not DO_GCC_TEST.
Taylor R. Campbell [Fri, 22 Jun 2007 08:09:25 +0000 (08:09 +0000)]
Add initial trivial configuration for OpenBSD.
This works well enough to build Scheme with liarc; whether there are
other bugs lurking, I don't know, but I imagine that it is probably OK.
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.