GCC Compiler/Dignus Installation Instructions

To install the GCC 3.2 using the Dignus Cross Support you must perform the following steps.

NOTE: These instructions pertain to the Dignus 1.6.0 version.

  1. It helps to create a Unix like structure and move the Dignus programs and modules into it. For example:

    /usr/local/dignus - The high level directory.
    /usr/local/dignus/bin - The binary directory.
    /usr/local/dignus/lib - The runtime libraries.
    /usr/local/dignus/maclib - The Macro library.
    /usr/local/dignus/include - The Include library.

  2. Copy the Dignus executables into the bin directory:

    $ cd /your_dignus_sysc
    $ cp d2s dar dcc dccpc dranlib goff2xsd plink /usr/local/dignus/bin/

    $ cd /your_dignus_sysasm
    $ cp dasm dccpa /usr/local/dignus/bin

    Also, put your license file into the bin directory.

  3. Create the runtime libraries:

    $ cd /your_dignus_sysc/objs_norent
    $ dar rv ../libc.a *
    $ dar rv ../libmvs.a *38
    $ cd ..
    $ dranlib libc.a
    $ dranlib libmvs.a
    $ cp libc.a libmvs.a /usr/local/dignus/lib/

    Note: GCC currently does not support the re-entrant libraries.

  4. Copy the maclib libraries:

    $ cd /your_dignus_sysc/maclib
    $ cp * /usr/local/dignus/maclib/

  5. Copy the include headers:

    $ cd /your_dignus_sysc
    $ cp -r include /usr/local/dignus

  6. Get the GCC 3.2 sources from the following site:

    gcc-3.2.tar.gz
    gcc-addons.tar.gz

  7. After getting the GCC 3.2 source onto your system do the following:

    $ cd /your_source_dir
    $ tar xzf gcc-3.2.tar.gz
    $ tar xzf gcc-addons.tar.gz

  8. Copy the GCC shims to the bin directory:

    $ cd /your_source_dir/gcc-addons/support/dignus
    $ cp gasm glink /usr/local/dignus/bin/

  9. You must now patch the Dignus headers to run with GCC:

    $ cd /usr/local/dignus
    $ patch -p0 -N < /your_source_dir/gcc-addons/support/dignus/include.diff

  10. These patches may not work on pre 1.6.0 versions of the Dignus include headers.

  11. Configure and make the compiler:

    $ cd /your_source_dir
    $ mkdir gcc-bin
    $ cd gcc-bin
    $ ../gcc-3.2/configure --enable-languages=c \
    --with-ld=/usr/local/dignus/bin/glink \
    --with-as=/usr/local/dignus/bin/gasm \
    --target=i370-ibm-mvsdignus
    $ make

  12. Install the compiler:

    $ mkdir -p /usr/local/lib/gcc-lib/i370-ibm-mvsdignus/3.2/
    $ cd /your_source_dir/gcc-bin/gcc
    $ cp cc1 collect2 cpp cpp0 gcov tradcpp0 specs \
    /usr/local/lib/gcc-lib/i370-ibm-mvsdignus/3.2/
    $ cp xgcc /usr/local/bin/gcc-mvsdignus

  13. Create a link to the Dignus Include headers:

    $ cd /usr/local/lib/gcc-lib/i370-ibm-mvsdignus/3.2
    $ ln -s /usr/local/dignus/include include

You are now ready to run GCC using the Dignus environment. The resulting output of the PLINK is not a true executable. It must be transferred to the IBM system in binary mode and run through the link editor to make a load module.


This page is maintained by David Pitts. Please email with comments and corrections.
Last modified 2020/04/08.