Next: Auxiliary output options, Previous: Verbosity options, Up: Invocation [Contents][Index]
These options are mutually exclusive. If more than one of these options is specified, only the first in this list will apply. If none of these options are specified, the default action is to compile and link the modules named on the command line to produce an executable.
-f
--generate-source-file-mapping
Output the module name to file name mapping for the list of source files given as non-option arguments to ‘mmc’ to Mercury.modules. This must be done before ‘mmc --generate-dependencies’ if there are any modules for which the file name does not match the module name. If there are no such modules the mapping need not be generated.
-M
--generate-dependencies
Output “Make”-style dependencies for the module and all of its dependencies to module.dep, module.dv and the relevant ‘.d’ files.
--generate-dependency-file
Output ‘Make’-style dependencies for the module to module.d’.
--generate-module-order
Output the strongly connected components of the module dependency graph in top-down order to module.order. Effective only if ‘--generate-dependencies’ is also specified.
--generate-standalone-interface basename
Output a stand-alone interface. basename is used as the basename of any files generated for the stand-alone interface. (See see Stand-alone interfaces for further details.)
--generate-mmc-deps
--generate-mmc-make-module-dependencies
Generate dependencies for use by ‘mmc --make’ even when using Mmake. This is recommended when building a library for installation.
-i
--make-int
--make-interface
Write the module interface to module.int. Also write the short interface to module.int2.
--make-short-int
--make-short-interface
Write the unqualified version of the short interface to module.int3.
--make-priv-int
--make-private-interface
Write the module’s private interface (used for compiling nested submodules) to module.int0.
--make-opt-int
--make-optimization-interface
Write information used for inter-module optimization to module.opt.
--make-trans-opt
--make-transitive-optimization-interface
Write the module.trans_opt file. This file is used to store information used for inter-module optimization. The information is read in when the compiler is invoked with the ‘--transitive-intermodule-optimization’ option. The file is called the “transitive” optimization interface file because a ‘.trans_opt’ file may depend on other ‘.trans_opt’ and ‘.opt’ files. In contrast, a ‘.opt’ file can only hold information derived directly from the corresponding ‘.m’ file.
--make-xml-documentation
Output an XML representation of all the declarations in the module into the file module.xml. This XML file can then be transformed via a XSL transform into another documentation format.
-P
--pretty-print
--convert-to-mercury
Convert to Mercury. Output to file module.ugly. This option acts as a Mercury ugly-printer. (It would be a pretty-printer, except that comments are stripped and nested if-then-elses are indented too much — so the result is rather ugly.)
--typecheck-only
Just check the syntax and type-correctness of the code. Don’t invoke the mode analysis and later passes of the compiler. When converting Prolog code to Mercury, it can sometimes be useful to get the types right first and worry about modes second; this option supports that approach.
-e
--errorcheck-only
Check the module for errors, but do not generate any code.
-C
--target-code-only
Generate target code (i.e. C in module.c, C# in module.cs, or Java in module.java, but not object code.
-c
--compile-only
Generate C code in module.c and object code in module.o but do not attempt to link the named modules.
--output-grade-string
Compute the canonical string representing the currently selected grade, and print it on the standard output.
--output-link-command
Print to standard output the command used to link executables.
--output-shared-lib-link-command
Print to standard output the command used to link shared libraries.
--output-stdlib-grades
Print to standard output the list of compilation grades in which the Mercury standard library is available with this compiler.
--output-libgrades
Print to standard output the list of compilation grades in which a library to be installed should be built.
--output-cc
Print to standard output the command used to invoke the C compiler.
--output-cc-type
--output-c-compiler-type
Print the C compiler type to the standard output.
--output-cflags
Print to standard output the flags with which the C compiler will be invoked.
--output-csharp-compiler
Print to standard output the command used to invoke the C# compiler.
--output-csharp-compiler-type
Print the C# compiler type to the standard output.
--output-library-link-flags
Print to standard output the flags that are passed to the linker in order to link against the current set of libraries. This includes the standard library, as well as any other libraries specified via the ‘--ml’ option.
--output-grade-defines
Print to standard output the flags that are passed to the C compiler to define the macros whose values specify the compilation grade.
--output-c-include-dir-flags
--output-c-include-directory-flags
Print to standard output the flags that are passed to the C compiler to specify which directories to search for C header files. This includes the C header files from the standard library.
--output-target-arch
Print the target architecture to the standard output.
--output-class-dir
--output-class-directory
--output-java-class-dir
--output-java-class-directory
Print to standard output the name of the directory in which generated Java class files will be placed.
--output-stdlib-modules
Print to standard output the names of the modules in the Mercury standard library.
Next: Auxiliary output options, Previous: Verbosity options, Up: Invocation [Contents][Index]