Overview
********

This file is about the Cygnus Developer's Kit for Solaris: what's in it, how to install it, and how to reconfigure it.

Installing in Brief
*******************

You can run the brief installation procedure if:

  * Your Solaris computer has its own ||MEDIUM|| drive

  * You use the default installation directory /opt/gnu, and

  * You have at least ||DF|| MB available in /opt (try df /opt)

Otherwise, see Installing the Developer's Kit.

Steps for Brief Install:

The whole procedure takes between ?? minutes and ???.

 1. Make sure you have root access to the computer.

          eg$ su root
          password:                   (enter root password)

 2. Load the Progressive--||RELNO|| ||MEDIUM|| into your ||MEDIUM|| drive.

 3. Mount the CD-ROM:

          eg# mkdir /cdrom             (ignore any errors)
          eg# mount -F hsfs -o ro /dev/dsk/c0t6d0s0 /cdrom

 4. Run the pkgadd command like this:

          eg# /usr/sbin/pkgadd -n -d ||MEDstr|| GNUDEVTkit GNUDEVTsrc

     You will see messages about installation activity, ending with

          Cygnus Support software distribution installed!

 5. Build a symbolic link to make execution paths easy:

          eg# cd /opt/gnu
          eg# ln -s progressive-||RELNO|| progressive

You're done!  Anyone who puts /opt/progressive/bin in her or his PATH can use the Developer's Kit.

Release Contents
****************

This Developer's Kit is a Cygnus Support Progressive Release: the programs in it are recent versions, which have been tested and certified both individually and as a coordinated suite of tools. The kit includes both source and binaries for:

GCC
     C compiler

GDB
     debugger

MAKE
     compilation control program

Documentation Tools
     info, makeinfo

Support Utilities
     patch, the source-code update utility; GNU diff; and send_pr, the Cygnus problem-reporting utility

Supported Platforms
===================

||HOST||s
     All programs in your Developer's Kit are for ||HOST||s running Solaris; we ship binaries (configured to install and run under /opt/gnu) as well as all source code.

Other Platforms
     For information on other platforms or other programs that we may support, please contact Cygnus Support at:

     voice
          +1 415 322 3811

     hotline
          +1 415 322 7836

     fax
          +1 415 322 3270

     email
          info@cygnus.com

System Requirements
*******************

OS Level
     Progressive Release ||RELNO|| for ||HOST||s requires Solaris 2.0 or later.

A ||MEDIUM|| Drive
     You need access to a ||MEDIUM|| drive.  The ||MEDIUM|| drive need not be
     on the computer where you want to run the software; but it is best if
     the machine with a ||MEDIUM|| drive and your computer can mount a common
     file system.  At the very least, you need some sort of file transfer
     capability between the machine with a ||MEDIUM|| drive and your
     computer.

Disk Space
     The total space required to extract and install binaries and source for all programs is ||DF|| megabytes.

     The software is configured to go into /opt/gnu.  If you have space available, but not in the same file system as /opt, you can use ln -s to create /opt/gnu as a symbolic link to the file system where you do have the space available.

     If you don't have enough space, you may be able to install binaries only; see Not Enough Space.  The space required for installing the binaries is ||BD|| megabytes.

Root Access
     The standard Solaris installation procedures for optional packages require you to run the installation with root privileges.  We deplore this requirement, but consider it valuable nevertheless to conform to the standard Solaris installation procedure.

Installing the Developer's Kit
******************************

In examples, we show the system prompt as eg#.

The Cygnus Progressive--||RELNO|| ||MEDIUM|| is designed to work with the Solaris administration command pkgadd.

Two checklists follow.  The first checklist shows what to do if you have
a ||MEDIUM|| drive on the computer where you want to install the
Developer's Kit; the second shows how to use another networked machine
to read the ||MEDIUM||, then finish the installation on your computer.

Both checklists suggest installing the Developer's Kit binaries under /opt/gnu (which can be a symbolic link from somewhere else, if you like).  We recommend you use this location for the software, because the precompiled, ready-to-run versions of the tools are configured this way.  If you want to install elsewhere, see Changing the Paths.)

Both checklists are very similar to Installing in Brief, but provide more discussion of each step, and offer alternatives for systems whose available disk space is not in /opt and for installing only portions of the Developer's Kit.

Installing with a local ||MEDIUM|| drive
----------------------------------------

This procedure is for a ||HOST|| that has its own ||MEDIUM|| drive.  The complete procedure takes at least ?? minutes on a fast, unloaded machine; it may take up to ??? in other situations.

 1. Make sure you have root access to the computer.  The standard Solaris installation procedures for optional packages require root to run the complete installation.

          eg$ su root
          password:                   Enter root password.

 2. Check that you have enough space available in /opt (see System Requirements).  You can use df /opt to check.

 3. Load the Catalyst CDWARE disk into a disk caddy, and put the caddy in your CD-ROM drive.

 4. Mount the CD-ROM.  This note assumes your mount point for a cd-rom is a directory called /cdrom; substitute to match your site's conventions if necessary.

          FIXME! /dev/dsk/c0t6d0s0 for CD-ROM cribbed from Sun's generic optional-package install notes.  Is it really this cut and dried?  What about systems with more than one CD-ROM drive?

          eg# mkdir /cdrom             (ignore any errors)
          eg# mount -F hsfs -o ro /dev/dsk/c0t6d0s0 /cdrom

 5. Now you can install ready-to-run binaries; or source; or both.

       * Choose source or binaries by running pkgadd with either or both of the arguments GNUDEVTkit (to install binaries) or GNUDEVTsrc (for the source).

       * Run pkgadd interactively (that is, without the -n option) to choose the installation directory.

       * Use the -d option to identify your ||MEDIUM||.

     For instance, typing this command line starts installation of both the source package and the binary package:

          eg# /usr/sbin/pkgadd -d ||MEDstr|| GNUDEVTkit GNUDEVTsrc

 6. For each of the packages, pkgadd will ask for confirmation of the install directory /opt/gnu, or an alternative.

     For the source package GNUDEVTsrc, place the package wherever it's convenient; the only advantage of using the default location /opt/gnu is to keep the source near the binaries.

     For the GNUDEVTkit binaries, we recommend using the default location /opt/gnu, since this location is configured and compiled into all the tools.

          Warning! If you choose an alternate location for GNUDEVTkit binaries, you will need to override the compiled-in paths to run the programs.  See Changing the Paths.

     This example shows the interaction to accept /opt/gnu for the binaries:

          Extracting Solaris GNU Developer's Kit binaries.
           >>Installing in "/opt/gnu".  OK?  [y/n]> y

     This example shows the interaction to place the source in /usr/local/src instead of the default location.  After you type the location, the installation script asks you to confirm.  You can use this opportunity to avoid typographical errors in the install directory name.

          Extracting Solaris GNU Developer's Kit source.
           >>Installing in "/opt/gnu".  OK?  [y/n]> n
           >>Where do you want to install?  > /usr/local/src
           >>Installing in "/usr/local/src".  OK? [y/n]> y

 7. Installing the Developer's Kit binaries is a time-consuming step (between ?? minutes and ???, depending on the speed of your machine). pkgadd will display informative messages about its progress. After the initial extraction step, it prepares copies of your system header files, converted to comply better with ANSI C (see Why Convert System Header Files?).  A log for this step goes in /opt/gnu/progressive-||RELNO||/fixincludes.log. Your system's original header files are not changed; pkgadd writes the converted copies in a separate, GCC-specific directory.

     When installation is complete, pkgadd displays the message

          Cygnus Support software distribution installed!

 8. Now that the software is on your system, you should arrange for users to run it conveniently.  We recommend the following symbolic link; see Easy Access and Updating, for a discussion.

          eg# cd /opt/gnu
          eg# ln -s progressive-||RELNO|| progressive

You're done!  Anyone who puts /opt/progressive/bin in her or his PATH can use the Developer's Kit.

Installing with another machine's ||MEDIUM|| drive
--------------------------------------------------

This checklist is for a ||HOST|| that does not have its own ||MEDIUM|| drive,
but can share a file system with another machine that does have a ||MEDIUM||
drive.  The other machine need not be a ||HOST||, but it must be
running some version of UNIX System V release 4.  The complete
procedure takes between ?? and ???, depending on the speed of
each machine.

We show the other computer's prompt as other#, and your computer's prompt as eg#.

 1. find a machine with a suitable ||MEDIUM|| drive on the same network as your
     ||HOST||, and sign on to it.  If the only machine with a ||MEDIUM||
     drive isn't on the network, see No Local ||MEDIUM|| Drive.

 2. Make sure you have root access to both computers.  The standard Solaris installation procedures for optional packages require root to run all installation steps.

          other$ su root
          password:                   (enter root password)

 3. Choose a directory where you will extract the Developer's Kit.  The directory must be accessible from both machines (the one with the ||MEDIUM|| drive, and the ||HOST|| where you want to use the software). If possible, use /var/spool/pkg; this is the default package spooling directory for Solaris (and System V release 4 in general).

     Wherever this note uses SHR, substitute the name of the directory you chose.

 4. Check that you have enough space available (see System Requirements) in SHR.  You can use df SHR to check.

 5. Load the Catalyst CDWARE disk into a disk caddy, and put the caddy in your CD-ROM drive.

 6. Mount the CD-ROM.  This note assumes your mount point for a cd-rom is a directory called /cdrom; substitute to match your site's conventions if necessary.

          FIXME! /dev/dsk/c0t6d0s0 for CD-ROM cribbed from Sun's generic optional-package install notes.  Is it really this definite on all SVr4 systems?  What about systems with more than one CD-ROM drive?

          other# mkdir /cdrom             (ignore any errors)
          other# mount -F hsfs -o ro /dev/dsk/c0t6d0s0 /cdrom

 7. Now you can extract either the ready-to-run binary package, the source package, or both.

       * Choose source or binaries by running pkgadd with either or both of the arguments GNUDEVTkit (to install binaries) or GNUDEVTsrc (for the source).

          Warning: later, when installing on your ||HOST||, only the packages you extract now will be available.  We recommend you extract both packages at this point.

       * Use -s SHR to copy the packages to SHR, where you will be able to install them from your ||HOST||.

       * Use the -d option to identify your ||MEDIUM||.

     This is the command line to extract both packages into SHR:

          other# /usr/sbin/pkgadd -s SHR -d ||MEDstr|| \
            GNUDEVTkit GNUDEVTsrc

 8. Log off the computer with the ||MEDIUM|| drive, and log on to the
     ||HOST|| where you want to use the software.

 9. Make sure you have root access to this computer, too.  The standard Solaris installation procedures for optional packages require root to run the complete installation.

          eg$ su root
          password:                   (enter root password)

 10. Check that you have enough space available in /opt (see System Requirements).  You can use df /opt to check.

 11. Now you can install ready-to-run binaries; or source; or both.

       * Choose source or binaries by running pkgadd with either or both of the arguments GNUDEVTkit (to install binaries) or GNUDEVTsrc (for the source).

          Warning: if you extracted only one of these packages when reading the ||MEDIUM|| from another machine, you no longer have a choice---you can only specify that package name to complete the installation.

       * Run pkgadd interactively (that is, without the -n option) to choose the installation directory.

       * Use the -d SHR option to identify the shared directory where you extracted the packages earlier.  (If you used /var/spool/pkg as SHR, you can leave off this option; pkgadd uses that directory as the default location for packages to install.)

     For instance, typing this command line starts installation of both the source package and the binary package:

          eg# /usr/sbin/pkgadd -d SHR GNUDEVTkit GNUDEVTsrc

 12. For each of the packages, pkgadd will ask for confirmation of the install directory /opt/gnu, or an alternative.

     For the source package GNUDEVTsrc, place the package wherever it's convenient; the only advantage of using the default location /opt/gnu is to keep the source near the binaries.

     For the GNUDEVTkit binaries, we recommend using the default location /opt/gnu, since this location is configured and compiled into all the tools.

          Warning! If you choose an alternate location for GNUDEVTkit binaries, you will need to override the compiled-in paths to run the programs.  See Changing the Paths.

     This example shows the interaction to accept /opt/gnu for the binaries:

          Extracting Solaris GNU Developer's Kit binaries.
           >>Installing in "/opt/gnu".  OK?  [y/n]> y

     This example shows the interaction to place the source in /usr/local/src instead of the default location.  After you type the location, the installation script asks you to confirm.  You can use this opportunity to avoid typographical errors in the install directory name.

          Extracting Solaris GNU Developer's Kit source.
           >>Installing in "/opt/gnu".  OK?  [y/n]> n
           >>Where do you want to install?  > /usr/local/src
           >>Installing in "/usr/local/src".  OK? [y/n]> y

 13. Installing the Developer's Kit binaries is a time-consuming step (at least ?? minutes on a fast, unloaded machine; it may take as much as ??? under other circumstances).  pkgadd will display informative messages about its progress.  After copying the binaries into their installed locations, pkgadd prepares copies of your system header files, converted to comply better with ANSI C (see Why Convert System Header Files?).  A log for this step goes in /opt/gnu/progressive-||RELNO||/fixincludes.log. Your system's original header files are not changed; Install writes the converted copies in a separate, GCC-specific directory.

     When installation is complete, pkgadd displays the message

          Cygnus Support software distribution installed!

 14. Now that the software is on your system, you need to arrange for users to run it conveniently.  We recommend the following link; see Easy Access and Updating, for a discussion.

          eg# cd /opt/gnu
          eg# ln -s progressive-||RELNO|| progressive

You're done!  Anyone who puts /opt/progressive/bin in her or his PATH can use the Developer's Kit.

Installation Examples
*********************

Here are some examples covering common situations.

Installing binaries only
------------------------

     eg$ su root
     password:

     Insert ||MEDIUM|| into drive.

     eg# mkdir /cdrom
     eg# mount -F hsfs -o ro /dev/dsk/c0t6d0s0 /cdrom
     eg# /usr/sbin/pkgadd -n -d ||MEDstr|| GNUDEVTkit

     Extracting Solaris GNU Developer's Kit binaries.
      >>Installing in "/opt/gnu".  OK?  [y/n]> y

     Installation progress messages, ending with:

     Cygnus Support software distribution installed!

     eg# cd /opt/gnu
     eg# ln -s progressive-||RELNO|| progressive

     eg$ su root
     password:

     Insert ||MEDIUM|| into drive.

     eg# /usr/sbin/pkgadd -n -d ||MEDstr|| GNUDEVTkit

     Extracting Solaris GNU Developer's Kit binaries.
      >>Installing in "/opt/gnu".  OK?  [y/n]> y

     Installation progress messages, ending with:

     Cygnus Support software distribution installed!

     eg# cd /opt/gnu
     eg# ln -s progressive-||RELNO|| progressive

If you don't want the source---for instance, to save space---you can use the argument GNUDEVTbin and omit GNUDEVTsrc.

Reading ||MEDIUM|| on other machine, finishing on ||HOST||
----------------------------------------------------------

     On another SVr4 machine on your network with a ||MEDIUM|| drive:
     other$ su root
     password:

     Insert ||MEDIUM|| into drive.

     other# mkdir /cdrom             (ignore any errors)
     other# mount -F hsfs -o ro /dev/dsk/c0t6d0s0 /cdrom
     other# /usr/sbin/pkgadd -s /VAR/SPOOL/PKG -d ||MEDstr|| \
       GNUDEVTkit GNUDEVTsrc
     other# exit

     On your ||HOST||
     eg$ su root
     password:
     eg# /usr/sbin/pkgadd GNUDEVTkit GNUDEVTsrc

     Extracting Solaris GNU Developer's Kit binaries.
      >>Installing in "/opt/gnu".  OK?  [y/n]> y

     Extracting Solaris GNU Developer's Kit source.
      >>Installing in "/opt/gnu".  OK?  [y/n]> y

     Installation progress messages, ending with:

     Cygnus Support software distribution installed!

     eg# cd /opt/gnu
     eg# ln -s progressive-||RELNO|| progressive

If your ||HOST|| doesn't have a ||MEDIUM|| drive, but another SVr4 machine that can mount a shared directory (here the default package-spooling directory, /var/spool/pkg) does have one, you can carry out the first step of the installation from the machine with a ||MEDIUM|| drive, as shown.  Note that you have to use -s on the pkgadd command line.  This alerts pkgadd to stop the install procedure after it reads the ||MEDIUM||.  You still have to finish the installation, but the last two steps have to run on your ||HOST||.

Removing Source
---------------

The pkgrm command can remove any package installed by pkgadd.  For example, if after installing the complete Developer's Kit on your machine you decide to remove the source files:

     eg$ su root
     password:
     eg# /usr/sbin/pkgrm GNUDEVTsrc

Why Convert System Header Files?
================================

You may notice messages about running fixincludes during your Developer's Kit installation.  When the ANSI X3J11 committee finished developing a standard for the C language, a few things that had worked one way in many traditional C compilers ended up working differently in ANSI C.  Most of these changes are improvements. But some Unix header files still rely on the old C meanings, in cases where the Unix vendor has not yet converted to using an ANSI C compiler for the operating system itself.  The fixincludes portion of installation is a mechanical translation that writes ANSI C versions of some system header files into a new, GCC-specific include directory---your system's original header files are not affected.

The particular problems fixed include:

  * _IOR, _IOW, and _IORW macros use obsolete preprocessor facilities

  * #endif no longer ignores its argument

If you don't run fixincludes, the GNU C compiler can only use the original system header files when you compile new C programs.  In some cases, the resulting programs will fail at run-time.

Easy Access and Updating
************************

Once you've extracted them from the ||MEDIUM||, the Developer's Kit tools are installed under a directory named progressive-||RELNO||.  We put the release number in the directory name so that you can keep several releases installed at the same time, if you wish.  In order to simplify administrative procedures (such as upgrades to future Cygnus Progressive releases), we recommend that you establish a symbolic link /opt/gnu/progressive to this directory.  For example, assuming you've used the default installation path:

     eg# cd /opt/gnu
     eg# ln -s progressive-||RELNO|| progressive

We recommend building this link as the very last step in the installation process.  That way, users at your site will only see software in /opt/gnu/progressive when you're satisfied that the installation is complete and successful.

Running the Programs
********************

Any users who wish to run the Cygnus development tools will need to make sure the PATH environment variable will find them.  If you create the symbolic link we recommend above, users who want to run the Developer's Kit---regardless of whether they need binaries for a ||HOST||, or for some other platform---can use settings like one of the following in their initialization files.

     For shells compatible with Bourne shell (e.g. /bin/sh, bash, or Korn shell):

     PATH=/opt/gnu/progressive/bin:$PATH
     export PATH

     For C shell:

     set path=(/opt/gnu/progressive/bin $path)

You should also ensure that your man command can pick up the manual pages for these tools.  Some man programs recognize a MANPATH environment variable.  If your man program is one of these, users at your site can also include in their initialization file lines like

     For Bourne-compatible shells:

     MANPATH=/opt/gnu/progressive/man:$MANPATH:/opt/man
     export MANPATH

     For C shell:

     setenv MANPATH /opt/gnu/progressive/man:$MANPATH:/opt/man

If your man program doesn't recognize MANPATH, you may want to copy or link the files from progressive/man/man1 into your system's man/man1.

Changing the Paths
******************

The binaries shipped by Cygnus are configured for installation under the directory /opt/gnu.  If you wish to run the tools in another location, the best solution---and, to date, the only complete one---is to rebuild them from source.  See Rebuilding from Source.

In particular, gcc and the documentation browser info need to know the location of the distribution.

GCC Paths
---------

You can run the compiler GCC without recompiling, even if you install the distribution in an alternate location, by first setting the environment variable GCC_EXEC_PREFIX.  This variable specifies where to find the executables, libraries, and data files used by the compiler.  Its value will be different depending on which set of binaries you need to run.  For example, if you install the Developer's Kit binaries under /local (instead of the default /opt/gnu), and you wish to run GCC from there, you could set GCC_EXEC_PREFIX as follows.  (You can type the first two lines as a single line, if you like; the example is split using the line continuation character \ only to make it fit on the printed page.)

     GCC_EXEC_PREFIX=/local/progressive-||RELNO||/\
     lib/gcc/||TARGET||/||GCCvn||/
     export GCC_EXEC_PREFIX

The example assumes you use a shell compatible with the Bourne shell; if you run the C shell, use the following instead.  (Again, the line continuation character \ is only used for convenience in the example; feel free to use a single line.)

     setenv GCC_EXEC_PREFIX /local/progressive-||RELNO||/\
     lib/gcc/||TARGET||/||GCCvn||/

     Warning: The trailing slash / is important.  The gcc program uses GCC_EXEC_PREFIX simply as a prefix.  If you omit the slash (or make any other mistakes in specifying the prefix), gcc will fail with a message beginning installation problem, cannot exec....

info Paths
----------

You can use the --directory option, each time you run info, to specify a non-default location for the documentation files.  For example, if you read the distribution ||MEDIUM||s into /local, you could run info as follows:

     info --directory /local/progressive-||RELNO||/info

     Warning: the directory you specify with --directory must contain at least the structured file called dir, which specifies the menu structure that leads to the other documentation files.

You can also run info on a specific documentation file, regardless of its location, by giving the option -file followed by a pathname to the desired file; or you can use the command g(FILENAME) to the same effect, after entering the info program.

Some Things that Might go Wrong
*******************************

We've tried to make the installation of your Developer's Kit as painless as possible.  Still, some complications may arise.  Here are suggestions for dealing with some of them.

No Local ||MEDIUM|| Drive
=========================

If your ||HOST|| doesn't have an appropriate ||MEDIUM|| drive, you may
still be able to install your software.  Check with your system
administrator to see if another machine that runs Unix SVr4 at your site
has a ||MEDIUM|| drive you can use.  If so:

If a shared filesystem is available between the two machines, and it has enough space, see Installing with another machine's ||MEDIUM|| drive.

Not Enough Space
================

If you don't have enough space to install all of the ||MEDIUM|| distribution, you can instead extract only the compiled code, or only the source.

The following table summarizes the approximate space (rounded up to the next megabyte) needed for source and binaries. There is a little overlap between the partial installations: the documentation, and documentation tools, are always installed.

||BD|| MB
     ||HOST|| binaries

||SD|| MB
     source code for all programs

||DF|| MB
     total

You can easily extract these components independently of one another, by using the GNUDEVTsrc or GNUDEVTbin arguments to pkgadd.

Error Messages from Install
===========================

The Install script checks for many errors and inconsistencies in the way its arguments are used.  The messages are meant to be self-explanatory.  Here is a list of a few messages where further information might be useful:

Cannot read from device ||MEDSTR||
     The error message ends with the ||MEDIUM|| device or directory that pkgadd was trying to use.  Please check that it is the device you intended; possible causes of trouble might include leaving off the /dev/ prefix at the front of a device name.  A typo in the device name might also cause this problem.

     If the problem is neither of these things, perhaps your ||MEDIUM||
     device can't read our ||MEDIUM||; see No Local ||MEDIUM|| Drive, for a discussion of how to use another machine's ||MEDIUM||
     drive.

... This is a problem.
Cannot cd to INSTALLDIR
I do not know why I cannot create INSTALLDIR
hello.c fails to run
test-ioctl.c fails to run
I do not know how to remove an arch called ...
     These errors (the first covers anything that ends in This is a problem) are from paranoia checks; they are issued for situations that other checks should have covered, or for unlikely situations that require further diagnosis.

     If you get one of these messages, please

       * call the Cygnus hotline, +1 415 322 7836, or

       * send electronic mail to help@cygnus.com.

Rebuilding From Source
**********************

All Cygnus products are free software; your Developer's Kit includes complete source code for all programs.

Cygnus Support has implemented an automatic configuration scheme to adapt the programs to different environments.

Rebuilding the programs from source requires these steps:

 1. configuration

 2. compilation

 3. installation

For example, executing the following commands in sequence will rebuild and install a native version of all the tools in a nonstandard directory:

     cd progressive/src
     ./configure ||HOSTstr|| -prefix=/local/gnu
     make clean all install

We discuss each step in detail in the following sections.

Configuration
=============

You can configure the software in this release by using the shell script called configure.  The shell script requires one argument: the host type.  There are also several possible options, including a -target= option to configure for cross-system development.

Specifying Names for Hosts and Targets
======================================

The specifications used for hosts and targets in the configure script are based on a three-part naming scheme, but some short predefined aliases are also supported.  The full naming scheme encodes three pieces of information in the following pattern:

     ARCHITECTURE-VENDOR-OS

For example, you can use the alias solar as a HOST argument or in a -target=TARGET option, but the equivalent full name is sparc-sun-solaris2.

     Warning: configure can represent a very large number of combinations of architecture, vendor, and OS.  There is by no means support for all possible combinations!

configure Options
=================

This section summarizes the configure options and arguments. Your Developer's Kit contains full online documentation for the Cygnus configure system.  See Using Configure (configure.info), to read about configure in more detail, including information on how the configure options relate to Makefile variables.

     configure [-prefix=DEST]
               [-exec-prefix=BINDEST]
               [-srcdir=PATH]
               [-norecursion]
               [-target=TARGET]
               HOST

-prefix=DEST
     DEST is an installation directory path prefix, the root for the directories where make install will place things.  After you configure with this option, make install will install info files in DEST/info, man pages in DEST/man, and---unless you also use -exec-prefix---compiled programs in DEST/bin, and libraries in DEST/lib. If you specify -prefix=/local, for example, make install puts the development tools in /local/bin.

     WARNING: the default DEST path prefix in the source is not the same as the prefix for the preconfigured binaries distributed by Cygnus.

     -prefix=/opt/gnu/progressive-||RELNO|| was used to build this Cygnus Progressive Release.  If you do not use -prefix, the installation directory is /usr/local.

-exec-prefix=BINDEST
     -exec-prefix serves the same purpose as -prefix, but affects only machine-dependent targets (compiled programs and libraries).  Specifying both -prefix and -exec-prefix allows you to segregate machine-dependent files, so that machine-independent files can be shared.

     WARNING: the default BINDEST path prefix in the source is not the same as the prefix for the preconfigured binaries distributed by Cygnus.

     -exec-prefix=/opt/gnu/progressive-||RELNO|| was used to build this Cygnus Progressive Release. If you do not use -exec-prefix, the default directory for machine-dependent targets is whatever was specified with -prefix (by default, /usr/local).

-srcdir=PATH
     Warning: This option is only supported if you use GNU make (which is included in this Cygnus Progressive--||RELNO|| release). Use this option to make configurations in directories separate from the source directories. configure writes configuration specific files in the current directory, but arranges for them to use the source in the directory PATH.  configure will create directories under the working directory in parallel to the source directories below PATH.  Among other things, you can use this to build (or maintain) several configurations simultaneously, in separate directories.

-norecursion
     Configure only the directory level where configure is executed; do not propagate configuration to subdirectories.

-target=TARGET
     Configure the development tools for cross-development (compiling, debugging, or other processing) of programs running on the specified TARGET.  Without this option, programs are configured ``native'', that is, for managing programs that run on the same machine (HOST) as the development tools themselves.

     There is no convenient way to generate a list of all available targets.

HOST ...
     Configure the development tools to run on the specified HOST.

     There is no convenient way to generate a list of all available hosts.

The -prefix=DEST and -exec-prefix=BINDEST options are particularly important.  If you don't specify a DEST or BINDEST directory, the Makefile installs binaries in subdirectories of /usr/local.  These options are important because the DEST and BINDEST directories are used for several purposes:

 1. BINDEST is the directory where binaries are installed.

 2. BINDEST is built into the compiler itself for the locations of GCC specific include files, the locations of GCC subprograms, and the location of the GCC specific library libgcc.a.

 3. DEST is compiled into info as the default directory for the documentation.

Compilation
===========

After you've run configure (which writes the final Makefile in each directory), compilation is straightforward. To compile all the programs in the Developer's Kit, run:

     make

The overall Makefile propagates the value of the CC variable explicitly, so that you can easily control the compiler used in this step.  CFLAGS is treated the same way.  For instance, to build the compiler a second time, using GCC to compile itself (after building and installing it in the alternate directory /local/gnu), you might use

     make CC=/local/gnu/H-sun4/bin/gcc CFLAGS=-O

The conventional targets all, install, and clean are supported at all levels of Makefile.  Other targets are supported as well, as appropriate in each directory; please read the individual Makefile for details.  Each Makefile in the source directories includes ample comments to help you read it.  If you are not familiar with make, refer to Overview of make (GNU Make: A Program for Directing Recompilation).

Installation
============

Whether you configure an alternative path using -prefix, or you use the default installation path /usr/local, you can install the software by executing:

     make install

Removing Parts of the Developer's Kit
*************************************

You can use the pkgrm command to remove either part of this release from where pkgadd installed it.

To do this, call pkgrm with either or both of the arguments GNUDEVTkit (to remove binaries) or GNUDEVTsrc (to remove source).  For example, suppose you never look at the source, and are running short of disk space; you can remove the source, while leaving the rest of the Progressive Release undisturbed, as follows:

     eg# /usr/sbin/pkgrm GNUDEVTsrc

To remove the complete Progressive Release of the Developer's Kit from your system (if, eventually, you no longer want it), specify both package names as arguments to pkgrm

Cygnus Releases and the FSF
***************************

Most of the tools in this Developer's Kit are originally from the Free Software Foundation (FSF).  You can get versions of all these tools from the FSF as well as from Cygnus.  In general, Cygnus Progressive Releases add to FSF software in the following ways:

  * Commercial support is available.  Cygnus adds value to FSF releases in large measure by offering outstanding support services.

  * Coordination.  The tools in your Developer's Kit are certified to work together; you need not worry about tools being out of step with each other.

  * Bug fixes.  A Progressive Release includes many fixes, already integrated into the programs.  Cygnus repairs bugs discovered during testing, and also tracks and includes bug fixes developed for other Cygnus customers or distributed over the Internet.

  * Bug reporting.  Cygnus releases include the tool send_pr, which you can use to make sure your problem reports receive prompt attention, and are also incorporated in our future tests.

  * Documentation.  Cygnus revises and adds to available FSF documentation to give you better descriptions of all the software tools.

  * Stability.  Cygnus tests (and uses) all the programs it releases.

About Cygnus Support
********************

Cygnus Support was founded in 1989 to provide commercial support for free software.  Cygnus supplies products and services that benefit advanced development groups by allowing them to use state-of-the-art tools without having to maintain them.  With Cygnus Support, sites that once were forced to do their own tool support can recover that valuable staff time.  Former users of proprietary software now may choose supported free software, combining the advantages of both worlds.

Free software is faster, more powerful, and more portable than its proprietary counterparts.  It evolves faster because users who want to make improvements are free to do so.  Cygnus tracks these improvements and integrates them into tested, stable versions ready for commercial use, then backs this software with comprehensive support.

With Cygnus Support as your partner, you will have the software and the support you need to meet your business objectives.  Cygnus is intimately familiar with this software from extensive experience using, debugging, and implementing it.  You get direct access to the most qualified support people: the authors of the software.

We provide ``vintage'' releases---the most stable versions, which have been though even more extensive use and testing---or up-to-the minute ``progressive'' releases, for those who need the very latest version.

Because all our improvements are also free software, you can distribute them widely within your organization, or to your customers, without extra cost.

     Cygnus Support
     814 University Avenue
     Palo Alto, CA 94301, USA

     +1 415 322 3811
     hotline: +1 415 322 7836
     email: info@cygnus.com
     fax: +1 415 322 3270