Scroll to navigation

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

Specify the compilation output file.
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.
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.
Specify the intermediate filename.
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.
Link (load) module MODULE into the target program. The syntax of MODULE is (sym1...symn) in double quotes.
Do not compile the intermediate file with guild compile.
Do not strip away unused code.
Do not factorize the type expressions out of procedure implementations.
Do not check ordinary assertions. Strong assertions are always checked.
Print backtrace on compilation error.
Pretty print the pseudocode output.
Less information in the error messages.
More information for runtime type errors.
Keep the intermediate Tree-IL or Scheme file. By default the intermediate file is deleted.
Link the target bytecode file into the guile cache.
Generate code to support runtime pretty printed backtraces.
Do not generate code for reporting unlinked procedure names.
Print debug messages when a module body linkage is started and ended.
Show the numbers for instantiated expressions.
Check that primitive procedure result values match the result types for all primitives, including those defined with unchecked-prim-proc.
Set the values passed to default-duplicate-binding-handler in the target program. If there are several symbols enclose them in quotes.
Split the linker output.
Set the directory where to put the split linker output.
Split the basename for split linker output files.
Set the optimization level for final guile compilation. The default is 1.
Set extra guild options for the final compilation. If there are several options enclose the in quotes.
Do not inline constructors in the linked code.
Use the nonoptimized Guile backend. This option has no effect if the Tree-IL backend is used.
Do not optimize pair class typechecking.
Do not optimize procedure arguments by inlining.
Specify the source file unit type explicitly. The unit type has to be one of proper-program, script, body, or interface.
Link the file modularly to a Guile bytecode module.
Link the file modularly to a Theme-D plugin. This option implies --module. The file has to be a Theme-D module body.
Do not give an error if the same foreign class is used to implement several Theme-D foreign class definitions.
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.
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.
This option is equivalent to -m DIRS --guile-target-path=DIRS.
Show the Theme-D version number and exit.

TARGET PLATFORMS

The following intermediate languages are available:

Guile Tree-IL 3.0.
Guile Scheme 3.0.
Guile Scheme 3.0 without optimizations.

ENVIRONMENT

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