[CMake] Compaq Fortran 6.1 detection fails under Windows
Philippe Poilbarbe
Philippe.Poilbarbe at cls.fr
Mon Jun 19 11:32:09 EDT 2006
Hello,
I am trying to compile fortran code under Windows.
When the Fortran language is enabled, the fortran checking routine shows
the following error:
Determining if the Fortran compiler works failed with the following output:
nmake -f CMakeFiles\cmTryCompileExec.dir/build.make /nologo
-L CMakeFiles\cmTryCompileExec.dir\build
Building Fortran object
CMakeFiles/cmTryCompileExec.dir/testFortranCompiler.obj
C:\PROGRA~1\MICROS~2\DF98\BIN\F90.EXE -o
CMakeFiles/cmTryCompileExec.dir/testFortranCompiler.obj -c
C:\devel\BRAT\CMakeFiles\CMakeTmp\testFortranCompiler.f
F90: error: Switch '-o' is ambiguous
NMAKE : fatal error U1077: 'C:\PROGRA~1\MICROS~2\DF98\BIN\F90.EXE' :
return code '0x1'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual
Studio\VC98\BIN\nmake.exe"' : return code '0x2'
Stop.
Did somebody have the same kind of problem and solved it ?
The fortran compiler if Compaq Fortran 6.1 and it
does not seem to have a -o option (f90 -help command
output is below).
CMake version: 2.4.2
Thanks
--
Philippe Poilbarbe.
CLS - Space Oceanography Division
Compaq Visual Fortran Optimizing Compiler Version 6.1
Copyright (C) 1997,1999 DIGITAL Equipment Corp. All rights reserved.
Invokes Compaq Visual Fortran preprocessor, Compaq Visual Fortran compiler,
and linker.
f90 [options] file1 [file2...] [/link options]
Compiler Options
/align:keyword Specifies how data items are aligned.
Keywords are [no]commons, dcommons, [no]records,
rec1byte, rec2byte, rec4byte, rec8byte.
/[no]altparam Specifies if alternate form of parameter constant
declarations (without parenthesis) is recognized.
/architecture:keyword Specifies which version of the machine architecture
to generate instructions for.
On ALPHA, keyword is generic, host, ev4, ev5,
ev56, ev6
On Intel, keyword is generic, host, p5, p6
/[no]asmattr:keyword Specifies the information to generate in the
assembleable listing file.
Keywords are [no]source, [no]machine.
/[no]asmfile[:filename]
Specifies that an assembleable listing file
should be
generated.
/assume:keyword Specifies assumptions made by the optimizer and code
generator.
Keywords are none, [no]accuracy_sensitive,
[no]byterecl, [no]buffered_io, [no]dummy_aliases,
[no]minus0, [no]source_include, [no]underscore.
/[no]automatic Puts local variables on the run-time stack.
/bintext:string Places the string specified into the object file.
/[no]browser[:filename]
Specifies that source browser information should be
generated.
/[no]check:keyword Check run-time conditions.
Keywords are all, none, [no]bounds,
[no]flawed_pentium,
[no]format, [no]overflow, [no]output_conversion,
[no]power, [no]underflow.
/[no]compile_only Specifies that only the compilation phase is
performed.
/convert:keyword Specifies the format of unformatted files containing
numeric data.
Keyword is big_endian, cray, ibm, little_endian,
native, vaxd, vaxg.
/[no]d_lines Compile lines having a D or d character in column 1.
/[no]dbglibs Controls linking against debug C run-time library
/[no]debug:keyword Specifies the amount of debug information included.
Keyword is none, minimal, partial, full.
/define:symbol[=int] Defines the symbol specified for use with
conditional
compilation metacommands. Optionally, the
symbol can
be defined to be an integer value.
/[no]dll[:filename] Specifies that the program should be linked as a
dynamic-link (DLL) file.
/[no]error_limit:size Specifies the maximum number of error-level or
fatal-level compiler errors allowed.
/[no]exe[:filename] Specifies the name to be used for the built program
(.EXE) or dynamic-link (.DLL) library.
/extfor:ext Specifies file extensions to be processed as Fortran
source programs.
/[no]extend_source[:size]
Determines the column that ends the statement
field of
each source line in a fixed-format file.
/Extend_source
ends the source in column 132.
Size is 72, 80, 132.
/f66 Allows extensions that enhance FORTRAN-66
compatibility.
/[no]f77rtl Specifies that the Fortran 77 specific run-time
support
should be used.
/fast Generates most-optimized code.
/[no]fixed Interprets Fortran source files in the specified
form.
/[no]fltconsistency Specifies that improved floating-point consistency
should be used.
INTEL only.
/[no]fpconstant Extends the precision of single precision constants
assigned to double precision variables to double
precision.
/fpe:option Specifies behavior on floating-point exceptions.
Option is 0, 3.
/[no]fpscomp[:keyword] Specifies the level of compatibility to adhere to
with Fortran PowerStation.
Keywords are all, none, [no]filesfromcmd,
[no]general,
[no]ioformat, [no]libs, [no]logicals, [no]symbols.
/[no]free Interprets Fortran source files in the specified
form.
/granularity:keyword Ensures that data can be accessed from different
threads.
Keyword is byte, longword, quadword.
ALPHA only.
/iface:keyword Specifies the calling conventions to be used.
Keywords are [no]mixed_str_len_arg and one of cref,
default, stdref.
/[no]include:dir Defines the directories in which the compiler
searches
for INCLUDE files.
/[no]inline[:keyword] Allow user-control over inlining.
Keyword is all, none, manual, size, speed.
/[no]intconstant Use Compaq Fortran 77 semantics, rather than Compaq
Fortran 90, to determine kind of integer constants.
/integer_size:size Specifies the default size of integer and logical
variables.
Size on INTEL is 16, 32.
Size on ALPHA is 16, 32, 64.
/[no]libdir:keyword Controls the library names that should be
emitted into
the object file.
Keywords are all, none, [no]automatic, [no]user.
/libs[:keyword] Determines the default libraries to be linked
against.
Keyword is dll, qwin, qwins, static.
/[no]list[:filename] Creates a listing file.
/[no]machine_code Includes a machine-language representation of the
compiled code if a listing is generated.
/[no]map[:filename] Specifies that a link map file should be generated.
/math_library:keyword Specifies the math library routines to use.
Keyword on ALPHA is accurate, check, fast.
Keyword on INTEL is check, fast.
/[no]module[:path] Specifies path where mod files should be placed and
first location to look for mod files.
/names:keyword Specifies how source code identifiers and
external names
are interpreted.
Keyword is as_is, lowercase, uppercase.
/[no]object[:filename] Specifies the name of the object file.
/[no]optimize[:keyword]
Specifies the optimization level.
Keyword is 0, 1, 2, 3, 4, 5
/[no]pad_source Specifies that fixed form source records are
padded out
to the statement field width with blanks.
/[no]pdbfile[:filename]
Specifies that any debug related information
should be
generated to a program database file.
/[no]pipeline Enables software pipelining optimization.
ALPHA only.
/real_size:size Specifies the size of REAL and COMPLEX declarations,
constants, functions, and intrinsics.
Size is 32, 64.
/[no]recursive Compiles all procedures for possible recursive
execution.
/[no]reentrancy:keyword
Specifies whether the threaded, reentrant run-time
support should be used.
Keyword is none, threaded.
/rounding_mode:keyword Specifies how to round results of calculations.
Keyword is chopped, dynamic, minus_infinity,
nearest.
ALPHA only.
/[no]show:keyword Includes information in a listing.
Keywords are [no]code, [no]include, [no]map.
/source:filename Specifies that the file indicated should be
processed
as a Fortran source file.
/stand:keyword Specifies level of conformance with ANSI standard to
check for.
Keyword is f90, f95, none.
/[no]static Causes all local variables to be statically
allocated.
/[no]synchronous_exceptions
Associates an exception with the instruction that
causes it.
ALPHA only.
/[no]syntax_only Checks syntax only.
/[no]threads Specifies whether or not multi-threaded
libraries should
be linked against.
/[no]traceback Specifies whether the compiler generates PC
correlation
data used to display a symbolic traceback
rather than
a hexidecimal traceback at runtime failure.
/[no]transform_loops Specifies that the loop transformation specific
array optimizations be performed.
/tune:keyword Selects processor-specific instruction tuning.
On ALPHA, keyword is generic, host, ev4, ev5,
ev56, ev6
On Intel, keyword is generic, host, p5, p6
/unroll:count Specifies how may times loops are unrolled.
/[no]vms Causes the run-time system to provide certain
functions
like VAX FORTRAN.
/[no]warn:keyword Specifies the level of warning messages issued.
Keywords are [no]alignments, [no]argument_checking,
[no]declarations, [no]errors, [no]fileopt,
[no]general, [no]stderrors, [no]truncated_source,
[no]uncalled, [no]uninitialized, [no]usage.
Keyword [no]granularity ALPHA only.
/nowarn Suppresses all warning messages.
/winapp Specifies building windows application and links
against required libraries.
Miscellaneous Options
/compile_only Does not invoke the linker.
/extlnk:ext Specifies file extensions to be processed by the
linker.
/fpp:"options" Specifies options to be passed, as-is, to the
preprocessor. Type the command "FPP /HELP" for
information on preprocessor options.
/help,/? Displays information about the f90 command.
/keep Does not remove intermediate files.
/[no]link Precedes all linker options, which are passed,
as-is,
to the linker. If [no] is specified, does not
invoke
the linker.
/[no]logo Suppresses the copyright notice displayed when the
compiler starts.
/[no]watch:keyword Determines the status information to be displayed.
Keywords are all, none, [no]cmd, [no]source.
/what Displays the version numbers of the compiler and
command
driver and their file names.
Preprocessor Options
/comments Outputs C-style comments to the explicit output
file.
/define:symbol Defines symbol to the fpp preprocessor.
/extfpp:ext Specifies file extensions to be preprocessed.
/include:dir Defines the directories in which fpp searches for
#include files.
/preprocess_only Does not output line control information.
/undefine:symbol Removes any initial definition of symbol.
Many of the options supported by the Powerstation V4 compiler are supported
by the Compaq Visual Fortran compiler.
Specific f90 Driver Default Options
-nofpconstants -optimize:4 -altparam
More information about the CMake
mailing list