Boost logo

Boost Testing :

From: Stephen Carson (StephenC_at_[hidden])
Date: 2005-01-09 22:52:43


> Rene Rivera wrote:
>[cut]
>> Error : Unknown option 'arn'; expected one of '1, 2, or 3'
>> while parsing option '-w'
>[cut]
>
>Interesting.. The warning control options are different :-\
>
>First thing to try is doing a replace of "-warn" with "-w" to see if
>that helps. Other than that trying to match the Windows options would
be
>best. Here's what those are, from "mwcc --help"..

I'm going to try "-warnings", looks like that will work for both PC & Mac.
Though the PC seems to have a few warning options that are not on
the Mac, the ones that both do support use the same keywords. I'm not
sure what to do about the ones that are on the PC but not on the Mac in
the .jam script, (should i just remove the lines that contain them for
now?).

Here are the Mac flags from "mwcc --help":
-------------------------------------------------------------------------------
Warning Options
-------------------------------------------------------------------------------
  -w+keyword[,...] # global; cased; for this tool;
                             # compatibility warning options
     1 # same as -w on
     2 # same as -w all
     3 # same as -w on,nounused
                             #
  -w[arnings] keyword[,...] # global; for this tool;
                             # warning options
     [no]options | # passed to all tools;
       [no]cmdline # command-line parser warnings
     off # passed to all tools;
                             # turn off all warnings
     on # passed to all tools;
                             # turn on most warnings, except 'largeargs'
                             # and 'structclass'
     all|full # turn on all warnings, require prototypes
     [no]err[or] | # passed to all tools;
       [no]iserr[or] # warnings are errors
     [no]pragmas | # illegal #pragmas
       [no]illpragmas #
     [no]empty[decl] # empty declarations
     [no]possible | # possible unwanted effects
       [no]unwanted #
     [no]unused # unused arguments and variables
     [no]unusedarg # unused arguments
     [no]unusedvar # unused variables
     [no]unused # same as -w [no]unusedarg,[no]unusedvar
     [no]extracomma | # extra commas
       [no]comma #
     [no]pedantic | # pedantic error checking
       [no]extended #
     [no]hidevirtual | # hidden virtual functions
       [no]hidden[virtual] #
     [no]implicit[conv] # implicit arithmetic conversions
     [no]notinlined # 'inline' functions not inlined
     [no]largeargs # passing large arguments to unprototyped
                             # functions
     [no]structclass # inconsistent use of 'class' and 'struct'
     display|dump # display list of active warnings

--------
Alright, no more warning problems, now it is:
   Error : Unknown option 'runtime'

Errors caused tool to abort.

It is not obvious to me how to proceed. The complete dump of "mwcc --
help" from the Mac is attached.

-Stephen

_______________________________________________________
_________
Sent via the WebMail system at Mail.Dirxion.com

 
                   


Metrowerks C/C++ Compiler for Mac OS X/PPC.
Copyright (c)1993-2003 Metrowerks, Inc.
All rights reserved.
Version 3.2.4 build 418
Runtime Built: Jul 29 2004 13:46:40

Usage: mwcc [-options]... [files]... [-_at_response]...

Please enter 'mwcc -help' for information about options.

-------------------------------------------------------------------------------
General Command-Line Options
                                                                               
   All the options are passed to the linker unless otherwise noted.
                                                                               
   Please see '-help usage' for details about the meaning of this help.
-------------------------------------------------------------------------------
  -help [keyword[,...]] # global; for this tool;
                             # display help
     usage # show usage information
     [no]spaces # insert blank lines between options in
                             # printout
     all # show all standard options
     [no]normal # show only standard options
     [no]obsolete # show obsolete options
     [no]ignored # show ignored options
     [no]deprecated # show deprecated options
     [no]meaningless # show options meaningless for this target
     [no]compatible # show compatibility options
     opt[ion]=name # show help for a given option; for 'name',
                             # maximum length 63 chars
     search=keyword # show help for an option whose name or help
                             # contains 'keyword' (case-sensitive); for
                             # 'keyword', maximum length 63 chars
     group=keyword # show help for groups whose names contain
                             # 'keyword' (case-sensitive); for 'keyword',
                             # maximum length 63 chars
     tool=keyword[,...] # categorize groups of options by tool;
                             # default
        all # show all options available in this tool
        this # show options executed by this tool;
                             # default
        other|skipped # show options passed to another tool
        both # show options used in all tools
                             #
                             #
  -version # global; for this tool;
                             # show version, configuration, and build date
  -timing # global; collect timing statistics
  -progress # global; show progress and version
  -v[erbose] # global; verbose information; cumulative;
                             # implies -progress
  -search # global; search access paths for source files
                             # specified on the command line; may specify
                             # object code and libraries as well; this
                             # option provides the IDE's 'access paths'
                             # functionality
  -[no]wraplines # global; word wrap messages; default
  -maxerrors max # specify maximum number of errors to print, zero
                             # means no maximum; default is 0
  -maxwarnings max # specify maximum number of warnings to print,
                             # zero means no maximum; default is 0
  -msgstyle keyword # global; set error/warning message style
     mpw # use MPW message style
     std # use standard message style
     gcc # use GCC-like message style
     IDE # use CW IDE-like message style; default
     parseable # use context-free machine-parseable message
                             # style
                             #
  -[no]stderr # global; use separate stderr and stdout streams;
                             # if using -nostderr, stderr goes to stdout
  -[no]stdopt # global; use standard command-line options
                             # (specified by the environment variable
                             # $MWCOptions); added before all options on the
                             # command line

-------------------------------------------------------------------------------
Preprocessing, Precompiling, and Input File Control Options
-------------------------------------------------------------------------------
  -c # global; compile only, do not link
  -[no]codegen # global; generate object code
  -[no]convertpaths # global; interpret #include filepaths specified
                             # for a foreign operating system; i.e.,
                             # <sys/stat.h> or <sys\stat.h>; when enabled,
                             # '/' and '\' will separate directories and
                             # cannot be used in filenames; default
  -cwd keyword # specify #include searching semantics: before
                             # searching any access paths, the path
                             # specified by this option will be searched
     proj # begin search in current working directory;
                             # default
     source # begin search in directory of source file
     explicit # no implicit directory; only search '-I' or
                             # '-ir' paths
     include # begin search in directory of referencing
                             # file
                             #
  -D+ | -d[efine] # cased; define symbol 'name' to 'value' if
    name[=value] # specified, else '1'
  -[no]defaults # global; passed to linker;
                             # same as '-[no]stdinc'; default
  -dis[assemble] # global; passed to all tools;
                             # disassemble files to stdout
  -E # global; cased; preprocess source files
  -EP # global; cased; preprocess and strip out
                             # #line/#pragma directives
  -enc[oding] keyword # specify default source encoding; compiler will
                             # automatically detect UTF-8 header or
                             # UCS-2/UCS-4 encodings regardless of setting
     ascii # ASCII; default
     autodetect|multibyte| # scan file for multibyte_encoding (slower)
       mb #
     system # use system locale
     UTF[8|-8] # UTF-8
     SJIS|Shift-JIS| # Shift-JIS
       ShiftJIS #
     EUC[JP|-JP] # EUC-JP
     ISO[2022JP|-2022-JP] # ISO-2022-JP
                             #
  -ext extension # global; specify extension for generated object
                             # files; with a leading period ('.'), appends
                             # extension; without, replaces source file's
                             # extension; for 'extension', maximum length 14
                             # chars; default is none
  -F+ | -F path # global; cased; passed to linker;
                             # append access path to current framework
                             # access paths list
  -framework framework # global; cased; passed to linker;
                             # append framework to the frameworks list
  -gccinc[ludes] # global; adopt GCC #include semantics: add '-I'
                             # paths to system list if '-I-' is not
                             # specified, and search directory of
                             # referencing file first for #includes (same as
                             # '-cwd include')
  -i- | -I- # global; change target for '-I' access paths to
                             # the system list; implies '-cwd explicit';
                             # while compiling, user paths then system paths
                             # are searched when using '#include "..."; only
                             # system paths are searched with '#include
                             # <...>'
  -I+ | -i path # global; cased; append access path to current
                             # #include list(see '-gccincludes' and '-I-')
  -include file # prefix text file or precompiled header onto all
                             # source files
  -ir path # global; append a recursive access path to
                             # current #include list
  -[no]keepobj[ects] # global; keep object files generated after
                             # invoking linker; if disabled, intermediate
                             # object files are temporary and deleted after
                             # link stage; objects are always kept when
                             # compiling; default
  -M # global; cased; scan source files for
                             # dependencies and emit Makefile, do not
                             # generate object code
  -MM # global; cased; like -M, but do not list system
                             # include files
  -MD # global; cased; like -M, but write dependency
                             # map to a file and generate object code
  -MMD # global; cased; like -MD, but do not list system
                             # include files
  -make # global; scan source files for dependencies and
                             # emit Makefile, do not generate object code
  -nofail # continue working after errors in earlier files
  -nolink # global; compile only, do not link
  -noprecompile # do not precompile any files based on the
                             # filename extension
  -nosyspath # global; treat #include <...> like #include
                             # "..."; always search both user and system
                             # path lists
  -o file|dir # specify output filename or directory for object
                             # file(s) or text output, or output filename
                             # for linker if called
  -P # global; cased; preprocess and send output to
                             # file; do not generate code
  -precompile file|dir # generate precompiled header from source; write
                             # header to 'file' if specified, or put header
                             # in 'dir'; if argument is "", write header to
                             # source-specified location; if neither is
                             # defined, header filename is derived from
                             # source filename; note: the driver can tell
                             # whether to precompile a file based on its
                             # extension; '-precompile file source' then is
                             # the same as '-c -o file source'
  -preprocess # global; preprocess source files
  -ppopt keyword[,...] # specify options affecting the preprocessed
                             # output
     [no]break # emit file/line breaks; default
     [no]line # emit #line directives, else comments;
                             # default
     [no]full[path] # emit full path of file, else base filename;
                             # default
     [no]pragma # keep #pragma directives, else strip them;
                             # default
     [no]comment # keep comments, else strip them
     [no]space # keep whitespace, else strip it; default
                             #
  -prefix file # prefix text file or precompiled header onto all
                             # source files
  -S # global; cased; passed to all tools;
                             # disassemble and send output to file
  -[no]stdinc # global; use standard system include paths
                             # (specified by the environment variable
                             # $MWCIncludes); added after all system '-I'
                             # paths; default
  -U+ | -u[ndefine] name # cased; undefine symbol 'name'

-------------------------------------------------------------------------------
Front-End C/C++ Language Options
-------------------------------------------------------------------------------
  -ansi keyword # specify ANSI conformance options, overriding
                             # the given settings
     off # same as '-stdkeywords off', '-enum min', and
                             # '-strict off'
     on|relaxed # same as '-stdkeywords on', '-enum min', and
                             # '-strict on'
     strict # same as '-stdkeywords on', '-enum int', and
                             # '-strict on'
                             #
  -bool on|off # enable C++ 'bool' type, 'true' and 'false'
                             # constants; default is on
  -char keyword # set sign of 'char'
     signed # chars are signed; default
     unsigned # chars are unsigned
                             #
  -Cpp_exceptions on|off # enable or disable C++ exceptions; default is on
  -dialect | -lang keyword # specify source language
     c|ansic # treat source as C always
     cplus[plus] | c++ # treat source as C++ always
     ec++ # generate warnings for use of C++ features
                             # outside Embedded C++ subset (implies
                             # '-dialect cplus')
     objc # compile for Objective C
     c99 # compile with C99 extensions
                             #
  -enum keyword # specify default size for enumeration types
     min # use the minimal-sized type
     int # use int-sized enums; default
                             #
  -for_scoping on|off # control legacy (non-standard) for-scoping
                             # behavior; when enabled, variables declared in
                             # 'for' loops are visible to the enclosing
                             # scope; when disabled, such variables are
                             # scoped to the loop only; default is off
  -fl[ag] pragma # specify an 'on/off' compiler #pragma;
                             # '-flag foo' is the same as '#pragma foo on',
                             # '-flag no-foo' is the same as '#pragma foo
                             # off'; use '-pragma' option for other cases
  -inline keyword[,...] # specify inline options
     on|smart # turn on inlining for 'inline' functions;
                             # default
     none|off # turn off inlining
     auto # auto-inline small functions (without
                             # 'inline' explicitly specified)
     noauto # do not auto-inline; default
     all # turn on aggressive inlining: same as
                             # '-inline on, auto'
     deferred # defer inlining until end of compilation
                             # unit; this allows inlining of functions
                             # defined before and after the caller
     level=n # cased; inline functions up to 'n' levels
                             # deep; level 0 is the same as '-inline on';
                             # for 'n', range 0 - 8
     [no]bottomup # inline bottom-up, starting from leaves of
                             # the call graph rather than the top-level
                             # function; default
                             #
  -inst[mgr | ance_manager] # enable C++ template instance manager; must be
    keyword[,...] # enabled or disabled for all files in a
                             # target; remove the database along with a
                             # 'make clean'
     on # enable manager
     off # disable manager; default
     file=<path> # specify database used for instance manager
                             # tracking (default 'cwinst.db')
                             #
  -iso_templates on|off # enable ISO C++ template parser; default is off
  -[no]mapcr # reverse mapping of '\n' and '\r' so that
                             # '\n'==13 and '\r'==10 (for Macintosh MPW
                             # compatability)
  -msext keyword # [dis]allow Microsoft VC++ extensions
     on # enable extensions: redefining macros,
                             # allowing XXX::yyy syntax when declaring
                             # method yyy of class XXX,
                             # allowing extra commas,
                             # ignoring casts to the same type,
                             # treating function types with equivalent
                             # parameter lists but different return types
                             # as equal,
                             # allowing pointer-to-integer conversions,
                             # and various syntactical differences
     off # disable extensions; default on non-x86
                             # targets
                             #
  -notonce # allow header files to be processed more than
                             # once; default
  -once # prevent header files from being processed more
                             # than once
  -pragma ... # specify a #pragma for the compiler such as
                             # "#pragma ..."; quote the parameter if you
                             # provide an argument (i.e., '-pragma "myopt
                             # reset"')
  -r[equireprotos] # require prototypes
  -relax_pointers # relax pointer type-checking rules in C
  -RTTI on|off # select run-time typing information (for C++);
                             # default is on
  -stdkeywords on|off # allow only standard keywords; default is off
  -str[ings] keyword[,...] # specify string constant options
     [no]reuse # reuse strings; equivalent strings are the
                             # same object; default
     dontreuse # don't reuse strings; equivalent strings are
                             # distinct objects
     [no]pool[strings] # pool strings into a single data object
     [no]readonly | [no]ro # make all string constants read-only; default
                             #
  -strict on|off # specify ANSI strictness checking; default is
                             # off
  -trigraphs on|off # enable recognition of trigraphs; default is off
  -wchar_t on|off # enable wchar_t as a built-in C++ type; default
                             # is off
  -fhandle-exceptions # enable true C++ exceptions; default
  -fno-handle-exceptions # disable true C++ exceptions
  -funsigned-char # unspecified chars as unsigned
  -fno-strict-prototype # don't require prototypes; default
  -fobjc # allow Objective C extensions

-------------------------------------------------------------------------------
Mach-O PowerPC CodeGen Options
-------------------------------------------------------------------------------
  -align keyword[,...] # specify structure/array alignment options
     power[pc] # PowerPC alignment. (Defaults to power_mw.
                             # Default controlled by #pragma
                             # alignment_metrowerks on|off|reset)
     mac68k # Macintosh 680x0 alignment
     mac68k4byte # Mac 680x0 4-byte alignment
     natural|ppc-natural # PowerPC natural alignment
     power_mw|ppc-mw # Metrowerks PowerPC alignment; default
     power_gcc|ppc-gcc # GCC PowerPC alignment
     array[members] # align members of arrays
                             #
  -common on|off # common variables; default is off
  -dynamic # dynamic addressing mode
  -fp_contract on|off # generate fused multiply-add instructions;
                             # default is on
  -pic # generate position independent code
  -proc[essor] | # specify target processor; currently used only
    -scheduling | -target # for scheduling
    keyword #
     generic # generic PowerPC; default
     601 # PPC 601
     603 # PPC 603
     603e # PPC 603e
     604 # PPC 604
     604e # PPC 604e
     750 # PPC 750
     7400 # PPC 7400 (AltiVec)
     7450 # PPC 7450 (AltiVec)
     altivec # Altivec
                             #
  -schedule | # turn on scheduling; default
    -fschedule-insns #
  -profile keyword # specify profiling method
     on|gprof # gprof-style profiling
     cw|mw|metrowerks # CodeWarrior-style profiling
     off # no profiling; default
                             #
  -rostr | -readonlystrings # make string constants read-only; default
  -compilerpoolsstrings # compiler pools string constants on a per object
                             # file basis
  -boolisint # treat bool type as 4 bytes instead of 1 byte
  -[no]volatileasm # treat inlined assembly as volatile
  -vector keyword[,...] # specify Altivec options
     on # turn on support for vector types / codegen
     off # turn off vectorization; default
                             #
  -[no]altivec_move_block # use altivec instructions for moving blocks when
                             # possible
  -[no]relax_ieee # allow relaxed ieee floating point; default
  -strict_ieee # require strict ieee floating point
  -[no-]gen-fsel # generate FSEL (floating-point select)
                             # instruction
  -[no-]ordered-fp-compares # assume no unordered values for compares
  -function-align | # specify function alignment
    -funcalign keyword #
     4 # align by 4
     8 # align by 8
     16 # align by 16
     32 # align by 32
                             #
  -static # static addressing mode
  -faltivec # turn on support for vector types / codegen
  -fno-altivec # turn off support for vector types / codegen;
                             # default
  -fpeephole # turn on peephole optmizer; default
  -fno-peephole # turn off peephole optimizer
  -fcommon # allow common variable definitions
  -fno-common # dont allow common variable definitions; default
  -fpic # generate position independent code
  -fno-pic # dont generate position independent code
  -fwritable-strings # string constants are writable

-------------------------------------------------------------------------------
Optimizer Options
                                                                               
   Note that all options besides '-opt off|on|all|space|speed|level=...'
   (marked with 'compatibility') are for backwards compatibility or special
   needs only; other optimization options may be superceded by use of '-opt
   level=xxx'.
-------------------------------------------------------------------------------
  -O # same as '-O2'
  -O+keyword[,...] # cased; control optimization; you may combine
                             # options as in '-O4,p'
     0 # same as '-opt l0'
     1 # same as '-opt l1'
     2 # same as '-opt l2, peephole'
     3 # same as '-opt l3, peephole'
     4 # same as '-opt l4, peephole, schedule'
     p # same as '-opt speed'
     s # same as '-opt space'
                             #
  -opt keyword[,...] # specify optimization options
     off|none # suppress all optimizations
     on # same as '-opt l2, peephole'
     all|full # same as '-opt l4, speed, peephole, schedule'
     [no]space | [no]size # optimize for space
     [no]speed # optimize for speed
     l[evel]=num # set optimization level:
                             # level 0: global register allocation only
                             # for temporary values
                             # level 1: adds dead code elimination
                             # level 2: adds common subexpression
                             # elimination and copy propagation
                             # level 3: adds loop transformations,
                             # strength reducation, and loop-invariant
                             # code motion
                             # level 4: adds repeated common
                             # subexpression elimination and
                             # loop-invariant code motion; for 'num',
                             # range 0 - 4; default is 1
     [no]cse | # compatibility;
       [no]commonsubs # common subexpression elimination
     [no]deadcode # compatibility;
                             # removal of dead code
     [no]deadstore # compatibility;
                             # removal of dead assignments
     [no]lifetimes # compatibility;
                             # computation of variable lifetimes
     [no]loop[invariants] # compatibility;
                             # removal of loop invariants
     [no]prop[agation] # compatibility;
                             # propagation of constant and copy
                             # assignments
     [no]strength # compatibility;
                             # strength reduction; reducing
                             # multiplication by an index variable into
                             # addition
     [no]peep[hole] # peephole optimization
     [no]color # compatibility;
                             # register coloring
     [no]schedule # schedule instructions (see '-proc')
     display|dump # display list of active optimizations
                             #

-------------------------------------------------------------------------------
Debugging Control Options
-------------------------------------------------------------------------------
  -g # global; cased; generate debugging information;
                             # same as '-sym full'
  -sym keyword[,...] # global; specify debugging options
     off # do not generate debugging information;
                             # default
     on # turn on debugging information
     full[path] # store full paths to source files
                             #

-------------------------------------------------------------------------------
Warning Options
-------------------------------------------------------------------------------
  -w+keyword[,...] # global; cased; for this tool;
                             # compatibility warning options
     1 # same as -w on
     2 # same as -w all
     3 # same as -w on,nounused
                             #
  -w[arnings] keyword[,...] # global; for this tool;
                             # warning options
     [no]options | # passed to all tools;
       [no]cmdline # command-line parser warnings
     off # passed to all tools;
                             # turn off all warnings
     on # passed to all tools;
                             # turn on most warnings, except 'largeargs'
                             # and 'structclass'
     all|full # turn on all warnings, require prototypes
     [no]err[or] | # passed to all tools;
       [no]iserr[or] # warnings are errors
     [no]pragmas | # illegal #pragmas
       [no]illpragmas #
     [no]empty[decl] # empty declarations
     [no]possible | # possible unwanted effects
       [no]unwanted #
     [no]unused # unused arguments and variables
     [no]unusedarg # unused arguments
     [no]unusedvar # unused variables
     [no]unused # same as -w [no]unusedarg,[no]unusedvar
     [no]extracomma | # extra commas
       [no]comma #
     [no]pedantic | # pedantic error checking
       [no]extended #
     [no]hidevirtual | # hidden virtual functions
       [no]hidden[virtual] #
     [no]implicit[conv] # implicit arithmetic conversions
     [no]notinlined # 'inline' functions not inlined
     [no]largeargs # passing large arguments to unprototyped
                             # functions
     [no]structclass # inconsistent use of 'class' and 'struct'
     display|dump # display list of active warnings
                             #
  -Wmost # turn on pragmas, emptydecl, possible,
                             # hidevirtual
  -Wall # same as -w all
  -Werror # same as -w iserror
  -Wunused # same as -w unusedarg,unusedvar
  -Wno-unused # turns off -w unusedarg,unusedvar


Boost-testing list run by mbergal at meta-comm.com