mpCC_r
 
 
  NAME
 
  mpCC_r - Invokes a shell script to compile C++ programs which use
  threaded MPI.
 
 
  SYNOPSIS
 
  mpCC_r [xlC_flags]... program.C
 
  The mpCC_r shell script compiles C++ programs while linking in the
  Partition Manager, the threaded implementation of Message Passing
  Interface (MPI), and Low-level Applications Programming Interface
  (LAPI).
 
 
  FLAGS
 
  Any of the compiler flags normally accepted by the xlC_r command can
  also be used on mpCC_r.  For a complete listing of these flag options,
  refer to the manual page for the xlC_r command.  Typical options to
  mpCC_r include:
 
  -v             causes a "verbose" output listing of the shell script.
 
  -g             Produces an object file with symbol table references.
                 This object file is needed by the Source Code view of
                 the Visualization Tool (vt).
 
  -o             names the executable.
 
  -l (lower-case L)
                 names additional libraries to be searched.  Several
                 libraries are automatically included, and are listed
                 below in the FILES section.
 
                 Note:  Not all AIX libraries are thread safe.  Verify
                        that your intended use is supported.
 
  -I (upper-case i)
                 names directories for additional includes.  The
                 directory /usr/lpp/ppe.poe/include is automatically
                 included.
 
  -p             enables profiling with the prof command.  For more
                 information, see the appendix on "Profiling Programs"
                 in IBM Parallel Environment for AIX: Operation and Use,
                 Volume 2, Tools Reference.
 
  -pg            enables profiling with the xprofiler and gprof
                 commands.  For more information, see the "Xprofiler"
                 chapter and the appendix on "Profiling Programs" in IBM
                 Parallel Environment for AIX: Operation and Use, Volume
                 2, Tools Reference.
 
 
  DESCRIPTION
 
  The mpCC_r shell script calls the AIX xlC_r compiler.  In addition,
  the Partition Manager and data communication interfaces are
  automatically linked in.  The script creates an executable that
  dynamically binds with the communication subsystem libraries.  If you
  wish to create a statically bound application, use the instructions in
  "Creating a Static Executable" in IBM Parallel Environment for AIX:
  Operation and Use, Volume 1, Using the Parallel Operating Environment
  in place of this script.
 
  Flags are passed by mpCC_r to the xlC_r command, so any of the xlC_r
  options can be used on the mpCC_r shell script.  The communication
  subsystem library implementation is dynamically linked when you invoke
  the executable using the poe command.  The value specified by the
  MP_EUILIB environment variable or the -euilib flag will then determine
  which communication subsystem library implementation is dynamically
  linked.
 
 
  ENVIRONMENT VARIABLES
 
  MP_NOPOECFG         used to determine if the /usr/lpp/ppe.poe/lib/poe.cfg
                      file should not be used to locate the xlC compiler
                      stanzas.  AIX Version 4.2 users compiling with the
                      "C and C++ Compilers for AIX Version 3.6" (5648-A81) or
                      "C for AIX, Version 4.3" (5765-C64) compilers should
                      set MP_NOPOECFG=YES (upper or lower case), which will
                      allow such programs to compile.  See the
                      /usr/lpp/ppe.poe/poe.README.IX76163 for more details.
 
  MP_PREFIX           sets an alternate path to the scripts library.  If
                      not set or NULL, the standard path
                      /usr/lpp/ppe.poe is used.  If this environment
                      variable is set, then all libraries are prefixed
                      by $MP_PREFIX/ppe.poe.
 
 
  EXAMPLES
 
  To compile a C++ program, enter:
 
    mpCC_r program.C -o program
 
 
  FILES
 
  When you compile a program using mpCC_r, the following libraries are
  automatically selected:
 
      /usr/lpp/ppe.poe/lib/libmpi_r.a  (Message passing interface,
      collective communication routines)
 
      /usr/lpp/ppe.poe/lib/libvtd_r.a  (VT tracing subsystem)
 
      /usr/lpp/ppe.poe/lib/libppe_r.a  (PE common routines)
 
      /usr/lpp/ppe.poe/lib/libc_r.a  (POE version of libc_r.a)
 
      The following library is selected if it exists as a symbolic link
      to /usr/lpp/ssp/css/lib/liblapi_r.a:
 
        /usr/lib/liblapi_r.a
 
 
  RELATED INFORMATION
 
  Commands:  mpcc_r(1), mpcc(1), mpCC(1), xlC(1), pdbx(1), pedb(1),
  vt(1), xprofiler(1)