* libguile/objcodes.c: Change to expect objcode on disk to be embedded
in ELF instead of having the funky cookie.
(to_native_order): Use already existing SCM_BYTE_ORDER style byte
order instead of chars.
(bytecode_to_objcode): No need for word_size arg.
(scm_bytecode_to_objcode, scm_objcode_to_bytecode): Take optional
endianness arg instead of sometimes using target-endianness.
(scm_load_objcode, scm_write_objcode, scm_bytecode_to_native_objcode):
Remove.
* libguile/objcodes.h: Adapt.
* libguile/vm.c (scm_load_compiled_with_vm): Use
scm_load_thunk_from_file.
(make_boot_program): Adapt to use scm_bytecode_to_objcode with
endianness arg.
* module/Makefile.am (OBJCODE_LANG_SOURCES): Add (language objcode
elf).
* module/language/objcode/elf.scm: New module, embeds objcode in ELF.
* module/language/bytecode/spec.scm (compile-objcode):
(decompile-objcode): Use (target-endianness).
* module/language/objcode/spec.scm: use (language objcode elf) for
write-objcode.
* module/scripts/disassemble.scm (disassemble):
* module/system/repl/command.scm (disassemble-file): Use
load-thunk-from-file.
* module/system/vm/objcode.scm: Remove load-objcode and write-objcode.
* test-suite/tests/asm-to-bytecode.test (test-target): Adapt to the new
ELF world.
* module/scripts/help.scm (show-help, show-summary, show-usage): Grovel
for %synopsis and %help variables as well, and show them
appropriately. Export these routines for other script modules to
use. Needs documentation.
* meta/guild.in (display-version): Display the version, not the
effective version.
* module/scripts/help.scm (list-commands)[help]: Add proper footer, as
per the GCS.
* meta/guild.in (display-version): Use (ice-9 command-line)'s
version-etc.
(main): Dispatch --help to guild help.
* module/scripts/help.scm: New file, a copy of list.scm, but with a
better name.
* module/Makefile.am: Add help.scm to the list.
* module/scripts/list.scm: Change to be an alias to "help".
(list-scripts): Restore this API.
* module/scripts/: Add %summary entries, and in many cases,
%include-in-guild-list entries to inhibit a script from appearing in
"guild list". Update list.scm to respect this new variable.
* module/scripts/PROGRAM.scm: Remove this useless template, which was
cluttering `guild list'. We'll perhaps cull the list a bit more in
2.2.
* module/Makefile.am: Adapt.
* module/scripts/list.scm (strip-extensions): Don't list programs
without extensions.
(main): Be prettier. Parse out a %summary from modules, for a brief
synopsis.
...by not using its own-rolled getopt, and moving the `list' function
to a separate script
* meta/guile-tools.in: Use (ice-9 getopt-long).
(directory-files, strip-extensions, unique, find-submodules,
list-scripts): Deleted (and moved to new `list.scm' file).
(getopt): Deleted.
(main): Use getopt-long. Default to calling the `list' script if no
script is specified.
* module/scripts/list.scm: New script.
* module/Makefile.am (SCRIPTS_SOURCES): Add list.scm.
* doc/ref/tools.texi (Executable Modules): Say "guile-tools modules"
instead of "executable modules". Remove obsolete statements about
not ending in .scm, being executable, and beginning with shell
script invocation sequence.
* module/scripts/README: Ditto.
* module/scripts/snarf-check-and-output-texi.scm
(process-multiline-directive): Be more accepting of source location
markers in the preprocessed source, by adding a couple cases in which
they can appear. Not foolproof, but it does adapt to what new GCCs are
putting out (e.g. cpp (GCC) 4.4.2 20091222 (Red Hat 4.4.2-20)).
* meta/guile-tools: Instead of fixing scripts I should have been fixing
the script runner.
* module/scripts/compile.scm:
* module/scripts/snarf-guile-m4-docs.scm: Fix to take rest args.
* meta/guile-tools: We can't use srfi-1, because on a fresh checkout
the srfi-1 shlib isn't built yet. Bummer.
* meta/uninstalled-env.in: Fix up the DYLD lines for BSDen.
* module/scripts/snart-guile-m4-docs.scm: Fix expected arguments.
* meta/guile-tools: Changed to be a scheme script. Instead of looking for
executables in a "scripts dir", we just look for modules in (scripts),
and load the modules directly.
* module/Makefile.am:
* module/scripts/: Move the scripts into module/ so they can be compiled.
Rename scripts from `foo' to `foo.scm'.
* libguile/Makefile.am: Invoke the snarf->texi code via guile-tools.
* configure.in:
* .gitignore: Update for changes.