Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ sde(5) — DG/UX R4.11MU05

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

sde-target(1)

sde-chooser(1)

sdetab(4)

elink(5)



sde(5)                         DG/UX R4.11MU05                        sde(5)


NAME
       sde - software development environment

DESCRIPTION
       A software development environment (SDE) is a set of tools, libraries
       and system definitions that are specifically designed to work
       together to build an application that has certain qualities.

       The environments provided in the current release are:

       ix86dg - Creates objects and executables that use the full set of
       features available on the DG/UX system for Intel.

       m88kdg -  Creates ELF objects and executables that use the full set
       of features available on the DG/UX system for 88K.

       dg - A generic name for the environment that provides the full set of
       features available on the DG/UX system.  On Intel, this is equivalent
       to ix86dg.  On 88k, this is equivalent to m88kdg.

       i86dgkernel - Used to create modules that are linked into the kernel
       for a DG/UX system for Intel.

       m88kdgkernel -  Used to create modules that are linked into the
       kernel for a DG/UX system for 88K.

       dgkernel - A generic name for kernel component development.  On
       Intel, this is equivalent to ix86dgkernel.  On 88k, this is
       equivalent to m88kdgkernel.

       m88kocs - Creates COFF objects and executables that can be linked
       and run on other vendors' platforms that conform to 88open OCS (and
       BCS).

       m88kbcs - Creates BCS-compliant COFF objects and executables.
       Similar to m88k_ocs, but allows the use of additional features (such
       as Berkeley's signals) and optimizations (such as the macro
       implementation of getc) that are prohibited in the OCS environment.

       The following table shows the domain of certain standards across the
       different environments. "Yes" means the environment conforms to that
       standard.

                       BCS   OCS   POSIX   SVID/2   SVID/3   XPG/4   ANSI C
       ix86dg         n/a   n/a   Yes     No       Yes      Yes     Yes
       m88kdg         No    No    Yes     No       Yes      Yes     Yes
       m88kocs        Yes   Yes   Yes     Yes      No       No      Yes
       m88kbcs        Yes   No    Yes     Yes      No       No      Yes
       ix86dgkernel   n/a   n/a   n/a     n/a      n/a      n/a     Yes
       m88kdgkernel   n/a   n/a   n/a     n/a      n/a      n/a     Yes

       Support for multiple development environments is handled by the sde-
       target(1) mechanism.  It allows you to specify the development
       environment that is appropriate for your needs, while other users (or
       you in another context) may be using a different development
       environment at the same time.  You select your environment by setting
       the environment variable TARGETBINARYINTERFACE to one of the
       environment names listed above.  The command sde-target(1) provides
       the recommended way to set that variable.

       The environment variable set by sde-target(1) is used in two
       contexts.  When you invoke a software development tool such as
       /bin/cc or /bin/ld, you are actually calling a small program that
       calls sde-chooser(1), which checks the environment variable and
       invokes the appropriate target-specific tool.  Secondly, tools that
       read libraries, such as ld(1), use the elink(5) mechanism, which uses
       the environment variable to find the appropriate system libraries.

       The commands, libraries, and other files that support a specific
       environment are placed in the directory /usr/sde/<s>, where <s> is
       the value of the environment variable TARGETBINARYINTERFACE.  If
       TARGETBINARYINTERFACE is not set, the default is used.

       Different environments need different header information at compile
       time.  The DG/UX system has one set of include files that are
       customized by the use of conditional preprocessing under the control
       of target-specific macro names.  The C compiler commands cc(1) and
       gcc(1) predefine the following macro names according to the value of
       TARGETBINARYINTERFACE.  (If you use another C compiler, you will
       need to do this manually with a -D option.)

           Target Environment   Target Macro Name   Type of Executable
           ix86dg              _IX86_DG            ELF
           m88kdg              _M88K_DG            ELF
           m88kocs             _M88K_OCS           COFF
           m88kbcs             _M88K_BCS           COFF
           ix86dgkernel        _IX86_ALL           n/a
           m88kdgkernel        _M88K_ALL           n/a

The above mechanism using sde-chooser and elinks was chosen over a more
"traditional" method of using the PATH environment variable to find the
right tools because many sources that people maintain, such as make files
and shell scripts, contain fully specified path names.  Such references
would ignore the path specification and perhaps invoke the wrong tool or
read the wrong library.

SEE ALSO
       sde-target(1), sde-chooser(1), sdetab(4), elink(5).



Licensed material--property of copyright holder(s)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026