Setting C and C++ properties

You can set the C and C++ properties for the MVS™ Files subsystem, MVS subprojects, data sets, and members.

Procedure

  1. Create a property group and open the Properties editor:
    1. Switch to the Property Group view.
    2. Right-click a connection, and select New Property Group.
  2. Specify a name for the property group.
  3. Click the C/C++ Settings tab to open the C/C++ Settings properties page.
  4. Click Procedures and Steps in the leftmost list.
    The settings in the Procedures and Steps table affect the Generate JCL and Remote Syntax Check actions and various features of the Remote C and C++ and z Systems® LPEX editors. By default, the following procedures are defined in the C/C++ Settings tab:
    • ELAXFCPP: The host procedure that is defined for C++ compile processes. By default, this procedure contains one C++ step.
    • ELAXFCPC: The host procedure that is defined for C compile processes. By default, this procedure contains one C step.
  5. To modify either of the predefined steps (C++ or C), select the step from the Procedures and Steps table.
    You can modify any of these compile options for the selected step:
    • Compile Procedure Name: The name of the host procedure to be called in the JCL script that is generated and submitted. The compile procedure name is used in the Generate JCL and Remote Syntax Check actions.
    • Compile Procedure Step Name: The name of the step in the host procedure. If the step name is changed in the host procedure, update this field.
    • Compiler Options: A list of the compiler options to pass to the compile procedure, Separate multiple entries with spaces. For example, to write listing output to MEMBER1 in TEST.PDS, type LIST(TEST.PDS(MEMBER1)). For a list of accepted compiler options, see Compiler options.
    • Macro Definitions: A list of the macro definitions to be used during compilation. Separate multiple entries with spaces. For example, TEST=1 defines a macro that is called TEST and sets its value to 1. This list of macro definitions is used in the JCL script that is generated for the Generate JCL and Remote Syntax Check actions. In the generated JCL script, the macro definitions are passed to the compiler as the DEFINE compiler option. The macro definitions are also used by the Remote C/C++ editor and the z Systems LPEX editor to display content assist proposals. Additionally, the macro definitions open declarations that are applicable to the defined macros. They are also used to determine which C and C++ elements are displayed in the Outline view.
    • Listing Output Data Set: The data set that is passed to the compiler as the LIST option. The Generate JCL and Remote Syntax Check actions automatically generate the member name. The member name is the same as the name of the member that is being compiled.
    • Object Deck Data Set: The location of the output object from the compilation. The name of the output object is the name of the member that is being compiled. The default value of this field is HLQ.CPPOBJS.OBJ. The HLQ variable is replaced by the high-level qualifier of the partitioned data set (PDS) or PDS member that is being compiled. This value of this field is placed into the SYSLIN DD name entry in the generated JCL script as part of the Generate JCL action.
    • System Libraries: A list of system libraries, which are separated by spaces. This list is used in the Generate JCL and Remote Syntax Check actions. The generated JCL script uses this list of system libraries for the SYSLIB DD name entries. The list of system libraries is also used by the Remote C/C++ editor and the z Systems LPEX editor for content assist and the Open include and Open declaration actions. If source files contain include directives such as #include header_file, the list of system libraries is used to determine the location of the header.
    • User Libraries: A list of user libraries, which are separated by spaces. This list is used in the Generate JCL and Remote Syntax Check actions. The JCL script that is generated passes the LSEARCH compiler option that contains the values from the User Libraries field. The list of user libraries is also used by the Remote C/C++ editor and the z Systems LPEX editor for content assist and the Open include and Open declaration actions. If source files contain include directives such as #include "header_file", the list of user libraries is used to determine the location of the header.
    • Event File Data Set: The event file data set or directory, which used in the Remote Syntax Check action. The member name of the event file is the same as the name of the source member that is being compiled. The generated JCL script passes the event file data set as part of the SYSEVENT DD name. Use this option only when the host procedure contains the EVENTS compiler option or when the EVENTS option is passed in the Compiler Options field. The event file that is generated is used to populate the remote error list. After the remote error list is populated, the event file is deleted.
    • Additional JCL: Additional JCL statements to be added to the generated JCL script when you run the Generate JCL and Remote Syntax Checkactions.
  6. To add a step to the generated JCL script, select the procedure to add the step to, and click Add step:
    1. In the Step name field, specify a name for the new step.
    2. In the Options field, specify the compiler options to pass to the compile procedure.
    3. In the Additional JCL section, specify more JCL statements to be added to the generated JCL script when you run the Generate JCL and Remote Syntax Check actions.
    This step can be used to add a preprocessing step before the actual compilation.
  7. To specify JCL variables and their values, click the JCL Substitution item in the list on the left. These variable-value pairs are passed to the generated JCL script for the Generate JCL and Remote Syntax actions.
  8. To add new JCL substitution variable, click Add to open the Add a user variable dialog box:
    1. In the Variable name field, specify a name for the new JCL substitution variable.
    2. In the Variable value field, specify a value for the new JCL substitution variable.
    3. Click OK to save the new JCL substitution variable and close the dialog box. The new variable is displayed in the list of JCL substitution variables.
  9. Press Ctrl+S to save your changes in the Properties editor.
  10. Associate a property group with an MVS data set or member:
    1. Right-click the item in the Remote Systems view.
    2. Click Property group > Associate property group.
    3. Specify the property group by checking it in the list.
    4. Select OK.
  11. Optional: Override a property group for an MVS member:
    1. Right-click the item in the Remote Systems view.
    2. Click Property group > Override properties.
    3. Change properties in the Properties editor.
    4. Save your changes and exit the editor.
  12. Set the property group for an MVS subproject:
    1. Right-click the subproject.
    2. Click Property group>Associate property group.
    3. Specify the property group by checking it in the list.
    4. Click OK.
  13. Set the property group for an MVS data set in a subproject:
    1. Right-click the data set.
    2. Select Property group>Associate property group.
    3. Specify the property group by checking it in the list.
    4. Click OK.
  14. Override a property group for an MVS member in a project:
    1. Right-click the item in the project.
    2. Click Property group>Override properties.
    3. Change properties in the Properties Editor.
    4. Save your changes, and exit the editor.