HCC(1)

NAME
hcc, mpicc, hcp, mpiCC - Compile LAM C/C++ programs.

SYNTAX
hcc [-showme] ...

hcp [-showme] ...

see cc(1) and CC(1) (or whatever your underlying C/C++ compilers are) for all other options.

DESCRIPTION
hcc and hcp are convenience wrappers for the local native C and C++ compilers. Translation of a LAM program requires the linkage of the LAM specific libraries which may not reside in one of the standard search directories of ld(1). It also often requires the inclusion of header files what may also not be found in a standard location. hcc passes its arguments to the local native C compiler along with the -I, -L and -l options required by LAM programs. This includes all necessary options for ROMIO and/or C++ bindings support (if ROMIO/C++ support was included when LAM was compiled). hcp is similar, but invokes the native C++ compiler instead.

mpicc is now the same as hcc, just as mpiCC is now the same as hcp. See the NOTES section, below.

By default, hcc uses the C compiler that was selected when LAM was configured (with the --with-cc flag to ./configure, or by setting the environment variable CC before ./configure was invoked) as the local native C compiler, but this can be overridden by the LAMHCC environment variable. Likewise, hcp uses the C++ compiler that was selected when LAM was configured (with the --with-cpp flag to ./configure, or by setting the environment variable CXX before invoking ./configure) by default, but this can be overridden by the LAMHCP environment variable.

OPTIONS

-showme
    Does not invoke the underlying C/C++ compiler. Instead, it shows the command line that would be executed to compile the C/C++ program.

NOTES
Previous versions of hcc and hcp did not automatically link in the MPI library. Starting with LAM version 6.3, since hcc and hcp have become the de facto LAM C and C++ compilers, the -lmpi option is now automatically passed to the underlying compiler when linking LAM/MPI programs.

Previous versions of LAM included the mpicc and mpiCC wrapper scripts to automatically pass -lmpi to hcc and/or hcp. These scripts are now obsolete since hcc and hcp now include -lmpi automatically. mpicc and mpiCC are now symbolic links to hcc and hcp, respectively, to ensure backward compatibility.

SEE ALSO
cc(1), CC(1), ld(1), lam-helpfile(5)