Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ sde(5) — DG/UX 5.4R3.00

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

sde-target(1)

sde-chooser(1)

sdetab(4)

elink(5)



sde(5)                         DG/UX 5.4R3.00                         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:

       m88kdguxelf   Used to create ELF objects and executables that make
                     use of full DG/UX features.

       m88kocs       Used for creating COFF objects and executables that can
                     be linked and run on other vendors' 88open OCS- (and
                     BCS-) conforming platforms.

       m88kbcs       Differs from the m88kocs because it allows the use of
                     certain features (such as Berkeley signals) and
                     optimizations (such as the macro implementation of
                     getc) that are prohibited from the OCS environment.
                     (This is unchanged from DG/UX 4.3x.)

       m88kdguxcoff  Used to create COFF objects and executables that make
                     use of DG/UX 4.3x level features.  This option is
                     interesting to software developers who have COFF-
                     dependent tools, such as third-party debuggers, that
                     they want to use on the current DG/UX release.  (This
                     is the same as m88kdgux on DG/UX 4.3x.)

       m88kdgux      The default for all past and future revisions.  It
                     refers to the largest feature set supported by the
                     DG/UX system.  In the current DG/UX release this is
                     equal to m88kdguxelf.

       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/3   ANSI C
        m88kdguxelf    No    No    Yes     No       Yes      Yes     Yes
        m88kocs        Yes   Yes   Yes     Yes      No       No      Yes
        m88kbcs        Yes   No    Yes     Yes      No       No      Yes
        m88kdguxcoff   No    No    Yes     Yes      No       No      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 a
       convenient way to set that variable.  (Note that the variable name
       has changed from SDETARGET in the DG/UX 4.3x release.  The name was



Licensed material--property of copyright holder(s)                         1




sde(5)                         DG/UX 5.4R3.00                         sde(5)


       changed because additional variables that control the "sde target" in
       ways other than the binary interface are likely to be introduced in
       the future.  The sde-target command will not change, but it might set
       multiple variables in the future.)

       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 (m88kdgux) 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),
       gcc(1), and ghcc(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.)

           sde target     Target Macro Name
           m88kdguxelf    DGUXTARGET
           m88kocs        M88KOCSTARGET
           m88kbcs        M88KBCSTARGET
           m88kdguxcoff   DGUXCOFFTARGET

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)                         2


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