7.1.2 Library Creation

Use the following switches to create a preprocessed library:

-inline_create=<library name>   [-incr]
-ipa_create=<library name>      [-ipacr]

To specify an existing library file to inline from, use the -inline_from_libraries= or -ipa_from_libraries= switch.

The default source for routines to put into the library is the current source file. If -inline_from... or - ipa_from... is specified, the routines in the listed files are the ones put into the library. This provides a method to combine or expand libraries - just include the old library(ies) in an -inline_from_libraries or -ipa_from_ libraries switch, along with an -inline_from_ files or -ipa_from_files switch giving source files containing any new subroutines and functions.

Routines are included in libraries in the order in which they appear in the input file(s). This is to make sure that if multiple routines with the same name are in the same source file, the one chosen for inlining will be the one that you expect from the algorithm under the -inline_from... switch.

A library created with -inline_create will work for inlining or IPA, because it is just partially reduced source code, but a library made with -ipa_create may not appear in an -inline_from= list. It is flagged with a Warning message.

If no library name is given, the name used is file.klib , where file is the input file name with any trailing .f, .for, or .ftn stripped off.

When creating a library, only one -inline_create (-ipa_create) switch may be given. That is, only one library may be created per KAP run. If the library file existed prior to running KAP, it is overwritten.

When -inline_create (-ipa_create) is specified on the command line, no transformed code file will be generated.

See the description of the -inline_from_libraries and -ipa_from_libraries switches for information about using libraries created with these switches.

If no -inline (-ipa) switch is given, the default will be to include all the routines from the inlining universe in the library, if possible. If -inline=<name list> or -ipa=<name list> is specified, only the named routines will be included in the library. See Section 7.5 for a list of conditions that can prevent a routine from being inlined.

An example of inlining from the library created previously is included in Section 7.2.


Previous Page | Next Page | Contents | Index |
Command Line Switches