table of contents
| THEME_D_LINK(1) | Theme-D Linker | THEME_D_LINK(1) |
NAME¶
theme-d-link - the Theme-D linker
SYNOPSIS¶
theme-d-link [ OPTION ] ... FILE
DESCRIPTION¶
Link the Theme-D pseudocode file FILE and Theme-D libraries it uses into Guile bytecode. The default bytecode filename is obtained by appending .go to the basename of FILE. Command theme-d-link creates an intermediate file either in Guile Tree-IL or Scheme and uses Guile to compile it into bytecode. The default suffix of the intermediate file is either .tree-il or .scm.
By default, the output file and the intermediate file are placed into the directory where the command theme-d-link is invoked.
OPTIONS¶
- -o, --output=OUTPUTFILE
- Specify the compilation output file.
- -m, --module-path=PATH
- Specify the search path for Theme-D modules. The path should be a list of directories separated with :'s. You can prefix or suffix the list with a colon in order to include the default Theme-D library path in the search path.
- -l, --message-level=LEVEL
- Specify the message level of the compiler. The level has to be an integer number from 0 to 3. Value 0 means no output and value 3 the most verbose output.
- -n, --intermediate-file=INTFILE
- Specify the intermediate filename.
- -i, --intermediate-language=LANGUAGE
- Specify the intermediate language. Value LANGUAGE has to be either tree-il, tree-il-3.0, tree-il-2.2, scheme, or scheme-no-opt. When value tree-il is used the Tree-IL version for which Theme-D has been configured is used.
- -x MODULE
- Link (load) module MODULE into the target program. The syntax of MODULE is (sym1...symn) in double quotes.
- --no-final-compilation
- Do not compile the intermediate file with guild compile.
- --no-strip
- Do not strip away unused code.
- --no-factorization
- Do not factorize the type expressions out of procedure implementations.
- --no-weak-assertions
- Do not check ordinary assertions. Strong assertions are always checked.
- --backtrace
- Print backtrace on compilation error.
- --pretty-print
- Pretty print the pseudocode output.
- --no-verbose-errors
- Less information in the error messages.
- --verbose-typechecks
- More information for runtime type errors.
- --keep-intermediate
- Keep the intermediate Tree-IL or Scheme file. By default the intermediate file is deleted.
- --link-to-cache
- Link the target bytecode file into the guile cache.
- --runtime-pretty-backtrace
- Generate code to support runtime pretty printed backtraces.
- --no-unlinked-procedure-names
- Do not generate code for reporting unlinked procedure names.
- --module-debug-output
- Print debug messages when a module body linkage is started and ended.
- --show-inst-number
- Show the numbers for instantiated expressions.
- --check-all-primitives
- Check that primitive procedure result values match the result types for all primitives, including those defined with unchecked-prim-proc.
- --duplicates=symbols
- Set the values passed to default-duplicate-binding-handler in the target program. If there are several symbols enclose them in quotes.
- --split
- Split the linker output.
- --split-dir=dir
- Set the directory where to put the split linker output.
- --split-basename=name
- Split the basename for split linker output files.
- --guile-opt-level=level
- Set the optimization level for final guile compilation. The default is 1.
- --extra-guild-options=options
- Set extra guild options for the final compilation. If there are several options enclose the in quotes.
- --no-inline-constructors
- Do not inline constructors in the linked code.
- --no-optimization
- Use the nonoptimized Guile backend. This option has no effect if the Tree-IL backend is used.
- --no-pair-class-optimization
- Do not optimize pair class typechecking.
- --no-proc-arg-opt
- Do not optimize procedure arguments by inlining.
- --unit-type=name
- Specify the source file unit type explicitly. The unit type has to be one of proper-program, script, body, or interface.
- --module
- Link the file modularly to a Guile bytecode module.
- --plugin
- Link the file modularly to a Theme-D plugin. This option implies --module. The file has to be a Theme-D module body.
- --allow-dupl-foreign-classes
- Do not give an error if the same foreign class is used to implement several Theme-D foreign class definitions.
- --guile-target-path=DIRS
- Set the Guile library path for final compilation. The argument DIRS has to be a colon-separated list of directories. You can prefix or suffix the list with a colon in order to include the default path in the search path.
- --empty-guile-target-path
- Set GUILE_LOAD_COMPILED_PATH to an empty string. Normally the value of GUILE_LOAD_COMPILED_PATH is not modified if no Guile target path is given.
- -M, --full-module-path=DIRS
- This option is equivalent to -m DIRS --guile-target-path=DIRS.
- --version
- Show the Theme-D version number and exit.
TARGET PLATFORMS¶
The following intermediate languages are available:
ENVIRONMENT¶
- THEME_D_CONFIG_FILE
- If this variable is defined its value is used as the Theme-D configuration file instead of the default configuration file.
FILES¶
- /etc/theme-d-config
- The Theme-D configuration file.
- ~/.theme-d-config
- The Theme-D configuration file. This file should be normally present only if you use Theme-D in local mode.
SEE ALSO¶
theme-d-compile(1), run-theme-d-program(1), setup-theme-d-test-env(1), /usr/share/doc/theme-d-doc/theme-d-user-guide.pdf.gz
| 2022-04-25 | GNU |