sac2c -h
and sac2c -help
now provide the same debug information, instead of being different.
Namely, they print:
---------------------------------------------------------------------------
SAC - Single Assignment C
---------------------------------------------------------------------------
Name: sac2c
Version: 2.0.0-Tintigny-66-g15bb7-dirty
The sac2c compiler transforms SAC source code into executable programs
(SAC programs) or into a SAC specific library format (SAC module and
class implementations), respectively.
The compilation process is performed in 4 separate stages:
1. sac2c uses any C preprocessor to preprocess the given SAC source;
while doing so we expose some internals via debug-flags:
SAC_BUILD_STYLE=<xyz>
SAC_BACKEND_<xyz>
SAC_BACKEND_STRING="<xyz>"
SAC_TARGET_<xyz>
SAC_TARGET_STRING="<xyz>"
SAC_RC_<resource-entry>=<val> for all numeric entries
2. sac2c itself transforms preprocessed SAC source code into C code;
3. sac2c uses any C compiler to generate target machine code;
4. sac2c uses any C linker to create an executable program
or sac2c itself creates a SAC library file.
When compiling a SAC program, sac2c stores the corresponding
intermediate C code either in the file a.out.c in the current directory
(default) or in the file <file>.c if <file> is specified using the -o
option. Here, any absolute or relative path name may be used.
The executable program is either written to the file a.out or to any
file specified using the -o option.
However, when compiling a SAC module/class implementation, the
resulting SAC library is stored in the files <mod/class name>.a
and <mod/class name>.so in the current directory.
In this case, the -o option may be used to specify a
different directory but not a different file name.
HELP OPTIONS:
-h desc Print tool description.
-h features Print installation-specific feature set.
-h options Print general compiler options.
-h typeinfer Print type inferencing options.
-h break Print break options.
-h print Print printing options.
-h fredfish Print Fred Fish's debug options.
-h debug Print debug options.
-h opt Print optimization options.
-h mt Print multithreading options.
-h cuda Print CUDA options.
-h distmem Print distributed memory backend options (experimental).
-h backend Print backend options.
-h feedback Print compile-time feedback options.
-h messaging Print compile-time messaging options.
-h rtcheck Print runtime checking options.
-h rttrace Print runtime tracing options.
-h rtprofile Print runtime profiling options.
-h cachesim Print runtime cache simulation options.
-h lib Print library options.
-h c Print C compiler options.
-h custom Print customization options.
-h env Print environment variables.
-h copyright Print copyright information.
-h contact Print contact information.
-h authors Print authors.
CONTACT:
WWW: https://www.sac-home.org/
E-Mail: info@sac-home.org
BUGS:
Bugs?? We????
SAC is a research project!
SAC tools are platforms for scientific research rather than
"products" for end users. Although we try to do our very best,
you may well run into a compiler bug. So, we are happy to receive
your bug reports (Well, not really "happy", but ...).
To print a specific subsection (help page), one can use sac2c -h thename
or sac2c -help thename
.
For example, features
---------------------------------------------------------------------------
SAC - Single Assignment C
---------------------------------------------------------------------------
Name: sac2c
Version: 2.0.0-Tintigny-66-g15bb7-dirty
INSTALLATION-SPECIFIC FEATURE SET:
- default path to sac2crc: /usr/local/share/sac2c/2.0.0-Tintigny-66-g15bb7-dirty/sac2crc_d
- build path to sac2crc: /home/jordy/Documents/sac2c/build_d/sac2crc_d
- default path to libsac2c: /usr/local/libexec/sac2c/2.0.0-Tintigny-66-g15bb7-dirty
- build path to libsac2c: /home/jordy/Documents/sac2c/build_d/lib
Alternatively, sac2c -h all
or sac2c -help all
prints EVERYTHING.