Matt Birkholz [Wed, 20 Nov 2013 18:12:49 +0000 (11:12 -0700)]
gtk-screen: Add DESTDIR arg, now required by install-load-option.
Matt Birkholz [Wed, 20 Nov 2013 01:00:16 +0000 (18:00 -0700)]
gtk-screen: Eliminate compile-system.
Matt Birkholz [Tue, 19 Nov 2013 23:18:45 +0000 (16:18 -0700)]
ffi: Avoid most longjmps in C-CALL primitive (callout_continue).
Rather than abort after every callout (in callout_continue), call the
second trampoline directly, after unsealing the Scheme stack.
Matt Birkholz [Tue, 19 Nov 2013 00:01:46 +0000 (17:01 -0700)]
Merge branch 'Gtk' into Gtk-Screen.
Matt Birkholz [Mon, 18 Nov 2013 20:21:41 +0000 (13:21 -0700)]
Merge branch 'master' into Gtk.
Matt Birkholz [Mon, 18 Nov 2013 18:43:29 +0000 (11:43 -0700)]
make.so is supposed to be found in the compiler bundle.
It must have been Chaos that slipped in this bogus fix.
Matt Birkholz [Mon, 18 Nov 2013 18:41:26 +0000 (11:41 -0700)]
src/Makefile.tools.in: Missing dependency made cross-compiler crawl.
Matt Birkholz [Sun, 17 Nov 2013 19:59:48 +0000 (12:59 -0700)]
Merge branch 'Gtk' into Gtk-Screen.
Matt Birkholz [Sun, 17 Nov 2013 19:56:26 +0000 (12:56 -0700)]
ffi: test-ffi.scm: Need a newline before running make.
Matt Birkholz [Sun, 17 Nov 2013 19:51:50 +0000 (12:51 -0700)]
gio: g_try_malloc0 does not abort.
Matt Birkholz [Sun, 17 Nov 2013 19:50:51 +0000 (12:50 -0700)]
gtk: Issue warning if `make check' cannot open DISPLAY.
Matt Birkholz [Sun, 17 Nov 2013 19:47:41 +0000 (12:47 -0700)]
gtk: Make test-gport-performance.scm a standalone script.
Matt Birkholz [Sun, 17 Nov 2013 19:46:40 +0000 (12:46 -0700)]
planetarium: Call test procedures in mit-make.scm.
Matt Birkholz [Tue, 12 Nov 2013 23:33:54 +0000 (16:33 -0700)]
Merge branch 'Gtk' into Gtk-Screen.
Matt Birkholz [Tue, 12 Nov 2013 23:27:50 +0000 (16:27 -0700)]
planetarium: Combine mit-compile.scm and mit-compile-3d.scm.
Avoided the bug that required the fluid-let in mit-compile-3d.scm (by
relying on load-package-set?). Separate compilation is back again.
Matt Birkholz [Tue, 12 Nov 2013 17:47:18 +0000 (10:47 -0700)]
Merge branch 'Gtk' into Gtk-Screen.
Matt Birkholz [Mon, 11 Nov 2013 22:31:15 +0000 (15:31 -0700)]
Use the new, flying <glx-viewport> and draw a shaded terrainmap.
Add a label to the terrain window showing position, altitude and
heading. Also convert request-google-elevation to
request-google-elevationS, which loops making a request every 60
seconds, and add a jasper-seamount procedure.
Matt Birkholz [Mon, 11 Nov 2013 22:13:03 +0000 (15:13 -0700)]
Use glu:perspective and glu:look-at to "fly" a <glx-viewport>.
Also added gl:light-model, gl:blend-func all of the primitive, lights,
material params...
Matt Birkholz [Tue, 5 Nov 2013 16:17:28 +0000 (09:17 -0700)]
gtk: Warn, do not die, if start_gtk returns 0 (failure).
(load-option 'gtk) should work when DISPLAY is not set.
Matt Birkholz [Tue, 5 Nov 2013 16:07:49 +0000 (09:07 -0700)]
planetarium/google-earth-requests: Do not truncate logged data.
Matt Birkholz [Mon, 4 Nov 2013 23:19:05 +0000 (16:19 -0700)]
planetarium: google-earth-requests: Replace open-input-gfile.
Open-input-gfile hangs when DISPLAY is not set -- when a cron job.
Replace it with (open-input-string (http-response-body (http-get...
Matt Birkholz [Mon, 4 Nov 2013 21:05:56 +0000 (14:05 -0700)]
planetarium: Request 8 Google elevations at once.
Matt Birkholz [Mon, 4 Nov 2013 00:50:38 +0000 (17:50 -0700)]
dist/shared.sh: Add gtk and gl to the list of PLUGINS.
Matt Birkholz [Mon, 4 Nov 2013 00:46:02 +0000 (17:46 -0700)]
planetarium: Add request-google-elevation, make-google-elevations.
Make-google-elevations creates a <glx-viewport> viewing a height map
created from the data collected by request-google-elevation.
Matt Birkholz [Mon, 4 Nov 2013 00:21:28 +0000 (17:21 -0700)]
planetarium/mit-snapshot: Remove redundant draw-tellurion call(!).
Matt Birkholz [Mon, 4 Nov 2013 00:20:47 +0000 (17:20 -0700)]
planetarium: Add geodesic-distance, angular-separation,...
...and an angular-separation test procedure.
Matt Birkholz [Mon, 4 Nov 2013 00:08:31 +0000 (17:08 -0700)]
gl: Enhance glxgears demo.
Allow FPS rate reporting to be toggled off. Try to use visibility
notify events to avoid spinning when the display is blanked. Remove
stereo support. (Move it to the new <glx-viewport> widget.)
Matt Birkholz [Mon, 4 Nov 2013 00:05:45 +0000 (17:05 -0700)]
gl: Move original glxgears translation to package (gl glxgears~).
Add a %trace? variable.
Matt Birkholz [Mon, 4 Nov 2013 00:04:36 +0000 (17:04 -0700)]
gl: Simplify make.scm
Suppression of option loading messages is now the default.
Matt Birkholz [Mon, 4 Nov 2013 00:02:11 +0000 (17:02 -0700)]
gl: Add gl:display, gl:cull-face, gl:color-material, gl:scale...
gl:scaled should have been gl:scale.
Matt Birkholz [Sun, 3 Nov 2013 23:51:41 +0000 (16:51 -0700)]
gl: with-glx-viewport, with-glx-widget
with-glx-device is now with-glx-widget. The new <glx-viewport> takes
a draw procedure and provides key-press handling that allows the arrow
keys to orbit the view around the origin.
Matt Birkholz [Sun, 3 Nov 2013 23:44:59 +0000 (16:44 -0700)]
gl: make check
Set library-directory-path; fluid-binding does not work so well when
glx-widget key-press handlers and destroy callbacks run in gtk-thread.
Join with animation thread to ensure gc-flip will clean up everything.
Check that everything is cleaned up.
Matt Birkholz [Thu, 31 Oct 2013 20:02:24 +0000 (13:02 -0700)]
gl: New wrapper for libGL, libGLU.
Matt Birkholz [Thu, 31 Oct 2013 19:46:15 +0000 (12:46 -0700)]
gtk: Simplify make.scm.
Suppression of option loading messages is now the default.
Matt Birkholz [Thu, 31 Oct 2013 19:45:10 +0000 (12:45 -0700)]
gtk: Simplify configure.ac and fix its copyright notices.
Matt Birkholz [Thu, 31 Oct 2013 19:44:25 +0000 (12:44 -0700)]
gtk: re-generate gtk-*.pkd when gtk.pkg changes.
Matt Birkholz [Thu, 31 Oct 2013 19:39:05 +0000 (12:39 -0700)]
Quiet load-option; suppress loading messages.
Matt Birkholz [Thu, 31 Oct 2013 19:37:41 +0000 (12:37 -0700)]
Merge branch 'master' into Gtk.
Matt Birkholz [Thu, 31 Oct 2013 19:23:20 +0000 (12:23 -0700)]
ffi: Add flovec_* functions and abort_to_c for shims.
Add flovec_length, flovec_loc and flovec_ref. The abort_to_c function
allows the Gtk shim's run_gtk() to stop Scheme and return to the
toolkit.
Matt Birkholz [Thu, 31 Oct 2013 19:05:52 +0000 (12:05 -0700)]
ffi/build.scm.in: Install compile-file:sf-only?ed options.
Copy the .bin if there is no .com. Copy .ext too.
Matt Birkholz [Thu, 31 Oct 2013 19:03:12 +0000 (12:03 -0700)]
doc/ffi: typo
Matt Birkholz [Thu, 31 Oct 2013 19:02:10 +0000 (12:02 -0700)]
mhash: Simplify configure.ac.
Matt Birkholz [Wed, 16 Oct 2013 18:51:33 +0000 (11:51 -0700)]
gtk: Catch up with install-shim's DESTDIR support.
Matt Birkholz [Wed, 16 Oct 2013 00:13:45 +0000 (17:13 -0700)]
Merge branch 'master' into Gtk.
Matt Birkholz [Wed, 16 Oct 2013 00:01:35 +0000 (17:01 -0700)]
doc/user-manual (Unix Installation): Added plugin building.
Matt Birkholz [Tue, 15 Oct 2013 18:11:54 +0000 (11:11 -0700)]
Revert
aab92f7 to allow building on 9.1.1, until master is fixed.
Matt Birkholz [Tue, 15 Oct 2013 18:08:14 +0000 (11:08 -0700)]
Merge branch 'master' into Gtk.
Matt Birkholz [Tue, 15 Oct 2013 18:05:32 +0000 (11:05 -0700)]
src/Makefile.in: Make xml/xml-unx.pkd depend on cref-star-parser.
Matt Birkholz [Tue, 15 Oct 2013 17:55:39 +0000 (10:55 -0700)]
dist/make-src-files: Fix $plugin-config log file names.
Matt Birkholz [Tue, 15 Oct 2013 17:19:42 +0000 (10:19 -0700)]
Revert
13b5bca. Use the host's runtime, not a cross runtime.
Revert
41c0070 and
5cf6bfc too, and the "training" in cref/make.scm
(for the compiler) and runtime.sf (for a cross runtime).
Matt Birkholz [Tue, 15 Oct 2013 16:18:50 +0000 (09:18 -0700)]
dist/make-src-files: Autoconf plugins (FFI wrappers).
Fix a confusing error message too.
Matt Birkholz [Tue, 15 Oct 2013 16:15:54 +0000 (09:15 -0700)]
ffi: Add DESTDIR support.
Matt Birkholz [Sun, 13 Oct 2013 08:21:34 +0000 (01:21 -0700)]
Merge branch 'master' into Gtk.
Matt Birkholz [Sun, 13 Oct 2013 08:03:15 +0000 (01:03 -0700)]
Fix LIAR/svm build to cross from 9.1.1.
As for LIAR/C, do not cross compile host .bins containing sequence-3s.
Chuck them to STAGEX/ and re-syntax with cross runtime. And syntax
compiler/base/crsend AFTER said chucking.
Matt Birkholz [Sun, 13 Oct 2013 07:48:19 +0000 (00:48 -0700)]
Make compile-xml dependent on cref-star-parser.
xml.pkg wants (global-definitions "../star-parser/parser") else
;Warning: Could not find global definitions: ...
Matt Birkholz [Sun, 13 Oct 2013 07:44:16 +0000 (00:44 -0700)]
Fix LIAR/C build to cross from 9.1.1.
Toss the .bins generated by the host runtime (which include
sequence-3). Only cross-compile .bins generated by the cross runtime.
Matt Birkholz [Sun, 13 Oct 2013 02:58:57 +0000 (19:58 -0700)]
More FFI cleanups: no need to include microcode/achost.ac.
Matt Birkholz [Sun, 13 Oct 2013 01:17:44 +0000 (18:17 -0700)]
Fix new build to cross from 9.1.1.
On a 9.1.1 host, the new build dies while compiling the compiler.
; Generating SCode for file: "fggen/canon.scm" => "fggen/canon.bin"...
;MICROCODE-TYPE: Unknown name sequence
The usual remedies did not suffice. In fact now the temporary code in
cref/make.scm is not needed. The compiler is compiled with a cross
runtime that provides the necessary patch via its utabs.scm, where
access to type-aliases and returns-aliases is easy, though
insufficient to train the host. 9.1.1 still needs the training in
runtime.sf.
Unlike a cross compile, a cross runtime was not used by this build(?).
Use a new compile-cross-runtime target and --fasl make.com to make
tools/syntaxer.com. Make syntax-cross-cref and syntax-cross-sf
dependent on syntax-cross-runtime for its runtime.pkd (pinching off a
little parallelism, but allowing them to proceed while the runtime
compiles). Did not try to syntax anything but the new compiler with
the new star-parser.
Matt Birkholz [Wed, 9 Oct 2013 23:51:29 +0000 (16:51 -0700)]
planetarium: Log tellurion draw times.
Matt Birkholz [Wed, 9 Oct 2013 23:39:02 +0000 (16:39 -0700)]
Eliminate compile-system in gtk and planetarium.
Fixed old, build-tree-relative global-definitions declarations.
Matt Birkholz [Wed, 9 Oct 2013 23:27:57 +0000 (16:27 -0700)]
gtk/Makefile.in (clean): Cleanup formatted documentation.
Matt Birkholz [Wed, 9 Oct 2013 23:20:58 +0000 (16:20 -0700)]
handle-subprocess-status-change: Do not close i/o channels!
On Unix subprocess i/o channels need only be closed by subprocess-
delete or the GC. Otherwise subprocess termination can close them
before their readers/writers can drain them, resulting in truncated
output.
Matt Birkholz [Wed, 9 Oct 2013 19:06:16 +0000 (12:06 -0700)]
Merge branch 'master' into Gtk.
Matt Birkholz [Wed, 9 Oct 2013 18:59:26 +0000 (11:59 -0700)]
Eliminate compile-system.
Matt Birkholz [Tue, 8 Oct 2013 18:29:56 +0000 (11:29 -0700)]
Merge branch 'master' into Gtk.
Taylor R Campbell [Tue, 8 Oct 2013 02:56:57 +0000 (02:56 +0000)]
Automatically clean tree and build tools if necessary.
Taylor R Campbell [Tue, 8 Oct 2013 02:55:57 +0000 (02:55 +0000)]
Turn some phony rules into explicit file rules to reduce rebuilds. [retry]
Unfinished conversion; some of the explicit file rules still depend
on phony rules. Finishing this is left as an exercise for the
reader.
Taylor R Campbell [Tue, 8 Oct 2013 02:54:21 +0000 (02:54 +0000)]
Revert "Turn some phony rules into explicit file rules to reduce rebuilds."
This reverts commit
54e7f433ab16f65cd12779b7a672edf713c72427.
That commit wasn't supposed to revert an earlier change to SVM1; not
sure how that snuck in there.
Taylor R Campbell [Mon, 7 Oct 2013 22:57:53 +0000 (22:57 +0000)]
Turn some phony rules into explicit file rules to reduce rebuilds.
Unfinished conversion; some of the explicit file rules still depend
on phony rules. Finishing this is left as an exercise for the
reader.
Taylor R Campbell [Mon, 7 Oct 2013 22:35:16 +0000 (22:35 +0000)]
Reduce SVM1 address decoding indirection.
This must have hammered horrendously on the CPU's branch target
predictor. No measurements yet but I'm sure SVM1 should be a lot
faster now.
Taylor R Campbell [Mon, 7 Oct 2013 22:07:19 +0000 (22:07 +0000)]
Tweak svm1-interp a little.
- Mark several routines inline.
- Add branch predictions.
- Fail gracefully, don't abort, on illegal instructions.
Taylor R Campbell [Mon, 7 Oct 2013 21:07:26 +0000 (21:07 +0000)]
Add a few more file types for save/restore targets.
Taylor R Campbell [Mon, 7 Oct 2013 20:54:45 +0000 (20:54 +0000)]
In COMPILE-SYSTEM, load the bin if cross-compiling too.
XXX COMPILE-SYSTEM is completely wrong; it needs to be eliminated in
favour of a principled way to identify macro dependencies, like in
Scheme48 and Racket.
Taylor R Campbell [Mon, 7 Oct 2013 20:52:57 +0000 (20:52 +0000)]
Call it `saved-objects', not `obj', to avoid confusing BSD make.
Taylor R Campbell [Mon, 7 Oct 2013 20:46:08 +0000 (20:46 +0000)]
Don't list compiler twice in SUBDIRS.
Taylor R Campbell [Mon, 7 Oct 2013 20:36:55 +0000 (20:36 +0000)]
Load ffimacro.bin in win32.sf, not ffimacro.
Avoids accidentally loading cross-compiled gobbledegook which the
toolchain barfs on.
Taylor R Campbell [Mon, 7 Oct 2013 19:16:33 +0000 (19:16 +0000)]
Explain what the `cross-target' target does.
Taylor R Campbell [Mon, 7 Oct 2013 18:43:19 +0000 (18:43 +0000)]
toolchain target should really depend on tools/syntaxer.com too.
Taylor R Campbell [Mon, 7 Oct 2013 18:37:10 +0000 (18:37 +0000)]
Remove unfinished kludge to build IMAIL with LIARC.
Taylor R Campbell [Mon, 7 Oct 2013 18:32:32 +0000 (18:32 +0000)]
Recompile edwin/edwin.bld only if necessary.
Taylor R Campbell [Mon, 7 Oct 2013 17:30:55 +0000 (17:30 +0000)]
Recompile *.pkd files for liarc only if necessary.
Taylor R Campbell [Mon, 7 Oct 2013 17:30:11 +0000 (17:30 +0000)]
Fasload errors should fail gracefully, not terminate Scheme.
Taylor R Campbell [Mon, 7 Oct 2013 17:17:47 +0000 (17:17 +0000)]
Lots of changes toward making liarc build use new structure.
Doesn't fully work yet, but it's progress!
Old build system is still all there; you must use `make all-native'
to try the new one.
Taylor R Campbell [Mon, 7 Oct 2013 17:14:23 +0000 (17:14 +0000)]
Use $@ and $< for liarc .c.o rule, not $*.o and $*.c.
Otherwise, it won't work in subdirectories.
Taylor R Campbell [Mon, 7 Oct 2013 14:25:20 +0000 (14:25 +0000)]
Update links created by Setup.sh to reflect installed lib directory.
Taylor R Campbell [Mon, 7 Oct 2013 02:26:29 +0000 (02:26 +0000)]
Compile IMAIL in --batch-mode.
Taylor R Campbell [Sun, 6 Oct 2013 23:07:37 +0000 (23:07 +0000)]
OOPS! Don't forget to build compiler/rtlopt...
Taylor R Campbell [Sun, 6 Oct 2013 22:23:48 +0000 (22:23 +0000)]
Dependents of cross-target must be conditionalized on @IF_CROSS@.
Taylor R Campbell [Sun, 6 Oct 2013 22:22:09 +0000 (22:22 +0000)]
First whack at making new build system work for liarc.
Taylor R Campbell [Sun, 6 Oct 2013 22:21:43 +0000 (22:21 +0000)]
Rename cross-barrier/cross-end to cross-host/cross-target.
Taylor R Campbell [Sun, 6 Oct 2013 22:21:13 +0000 (22:21 +0000)]
Add cast to avoid negative arguments to isalnum.
Taylor R Campbell [Sun, 6 Oct 2013 21:46:08 +0000 (21:46 +0000)]
compile-imail needs cross-end, not just cross-barrier.
Taylor R Campbell [Sun, 6 Oct 2013 21:14:04 +0000 (21:14 +0000)]
Just cast to long; don't check whether %td will work for ptrdiff_t.
Taylor R Campbell [Sun, 6 Oct 2013 18:15:08 +0000 (18:15 +0000)]
Don't reset AS_FLAGS and M4_FLAGS to empty in microcode/configure.
Taylor R Campbell [Sun, 6 Oct 2013 18:14:53 +0000 (18:14 +0000)]
Use a compile-test, not a run-test, for __ELF__.
Taylor R Campbell [Sun, 6 Oct 2013 18:14:28 +0000 (18:14 +0000)]
Use CAREFUL-OBJECT-DATUM in i386 MULTIPLY-OBJECT-BY-2.
Taylor R Campbell [Sun, 6 Oct 2013 18:11:00 +0000 (18:11 +0000)]
Merge branch 'make-cross-tools'
Taylor R Campbell [Sun, 6 Oct 2013 18:10:33 +0000 (18:10 +0000)]
Make the `save' makefile targets fail noisily.
Taylor R Campbell [Sun, 6 Oct 2013 16:17:19 +0000 (16:17 +0000)]
Fix missing close paren in Makefile.in.
Taylor R Campbell [Sun, 6 Oct 2013 16:07:06 +0000 (16:07 +0000)]
Call it the toolchain, not the bootstrap toolchain.
Rename Makefile.boot -> Makefile.tools, boot/ -> tools/.
`Bootstrap toolchain' sounds like something that is useful only to
bootstrap MIT Scheme, when in fact the object of the exercise is to
make it a general-purpose cross-compilation toolchain application
that you can use to cross-compile anything.