.\" Written by Tommi Höynälänmaa (tommi.hoynalanmaa@iki.fi) .TH THEME_D_LINK 1 2019-05-17 GNU "Theme-D Linker" . .SH NAME theme-d-link \- the Theme-D linker . .SH SYNOPSIS .B theme-d-link .RB [\| .IR OPTION .RB \|] .RB ... .IR FILE . .SH DESCRIPTION Link the Theme-D pseudocode file .IR FILE and Theme-D libraries it uses into Guile bytecode. The default bytecode filename is obtained by appending .IR .go to the basename of .IR FILE . Command .B 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 .IR .tree-il or .IR .scm . . .PP By default, the output file and the intermediate file are placed into the directory where the command .B theme-d-link is invoked. . .SH OPTIONS .TP .BR \-o ", " \-\-output =\fIOUTPUTFILE\fR Specify the compilation output file. . .TP .BR \-m ", " \-\-module-path =\fIPATH\fR Specify the search path for Theme-D modules. The path should be a list of directories separated with :\(aqs. You can prefix the list with a colon in order to include the default Theme-D library path in the search path. . .TP .BR \-l ", " \-\-message-level =\fILEVEL\fR 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. . .TP .BR \-n ", " \-\-intermediate-file =\fIINTFILE\fR Specify the intermediate filename. . .TP .BR \-i ", " \-\-intermediate-language =\fILANGUAGE\fR Specify the intermediate language. Value .IR LANGUAGE has to be either .IR tree-il , .IR tree-il-3.0 , .IR tree-il-2.2 , .IR tree-il-2.0 , .IR scheme , .IR scheme-no-opt , or .IR racket . When value .IR tree-il is used the Tree-IL version for which Theme-D has been configured is used. Choosing intermediate language .IR racket implies options .BR \-\-keep-intermediate and .BR \-\-no-final-compilation . . .TP .BR \-x\ \fIMODULE\fR Link (load) module .IR MODULE into the target program. The syntax of .IR MODULE depends on the intermediate language. The syntax is .IR sym1/.../symn for Racket and .IR (sym1 ... symn) in double quotes for other intermediate languages (Guile). . .TP .BR \-y\ \fIMODULE\fR Link (load) module .IR MODULE into the target program. A relative path is used for the module. See Racket documentation. This option is available only for intermediate language .IR racket . . .TP .BR \-\-no-final-compilation Do not compile the intermediate file with .BR guild .BR compile . . .TP .BR \-\-no-strip Do not strip away unused code. . .TP .BR \-\-no-factorization Do not factorize the type expressions out of procedure implementations. . .TP .BR \-\-no-weak-assertions Do not check ordinary assertions. Strong assertions are always checked. . .TP .BR \-\-backtrace Print backtrace on compilation error. . .TP .BR \-\-pretty-print Pretty print the pseudocode output. . .TP .BR \-\-no-verbose-errors Less information in the error messages. . .TP .BR \-\-keep-intermediate Keep the intermediate Tree-IL or Scheme file. By default the intermediate file is deleted. . .TP .BR \-\-link-to-cache Link the target bytecode file into the guile cache. . .TP .BR \-\-runtime-pretty-backtrace Generate code to support runtime pretty printed backtraces. . .TP .BR \-\-no-unlinked-procedure-names Do not generate code for reporting unlinked procedure names. . .SH TARGET PLATFORMS Theme-D programs can be built for Guile or Racket. The following intermediate languages are available: .TP .IR tree-il Guile Tree-IL. Use the Guile version from Theme-D configuration. . .TP .IR tree-il-3.0 Guile 3.0 Tree-IL. This is currently identical to Guile 2.2 Tree-IL. . .TP .IR tree-il-2.2 Guile 2.2 Tree-IL. . .TP .IR tree-il-2.0 Guile 2.0 Tree-IL. . .TP .IR scheme Guile Scheme. . .TP .IR scheme-no-opt Guile Scheme without optimizations. . .TP .IR racket Racket Scheme. . .SH ENVIRONMENT .TP .BR 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. . .SH FILES .TP .IR /etc/theme-d-config The Theme-D configuration file. . .TP .IR ~/.theme-d-config The Theme-D configuration file. This file should be normally present only if you use Theme-D in local mode. . .SH SEE ALSO .BR theme-d-compile (1), .BR run-theme-d-program (1), .BR setup-theme-d-test-env (1), .IR /usr/share/doc/theme-d-doc/theme-d-user-guide.pdf.gz