README.TXT               Copyright (c) 1999-2005 Excelsior, LLC.
----------------------------------------------------------------

                       XDS-C for Linux
                       ---------------
                            v2.51

                        Read Me First!


1. Installation
---------------

Under Unix, your XDS package is usually installed into the directory
"/usr/local/xds".  The location is not "hard-wired" into the executables,
so you are free to move the executables to other directories. These
notes assume the default setup.

After installation, edit your path environment variable to append path
to the "/usr/local/xds/bin" directory and set XDSDIR to "/usr/local/xds".

Example bash syntax:

    export XDSDIR=/usr/local/xds
    export PATH=$PATH:$XDSDIR/bin


1.1. Directory Structure
------------------------

The following directory structure is created during installation:

xds/
    bin             executable and system files
    C               runtime library source code
    def/            definition modules:
        iso         ISO Modula-2 library
        ob2         Oberon-2 library pseudo-definition modules
        pim         PIM library
        POSIX       POSIX API
        X11         X11 API 
        xds         XDS library
        Xm          Motif API
    doc             documentation (HTML)
    include         runtime library header files
    licenses        license agreements
    lib/            
        C           XDS-C libraries
    pdf             printable documentation (PDF)
    readme          useful texts
    sym/            
        C           XDS-C symbol files
    samples         Modula-2/Oberon-2 code samples


1.2. Rebuilding the library
-------------------------

The XDS-C runtime library for Linux was built on top of glibc 2.2.93
and thus Linux executables created by this product require glibc 2
shared libraries unless you force static linking of C libraries:

    -usestaticclibs:+

The runtime library may have to be rebuilt on Linux systems that
use a C library other than glibc 2 or an older version of glibc 2.

To rebuild the runtime library, issue the following commands:

    cd /usr/local/xds/lib/C
    rm libxds.a
    make -f lib.mkf

To build the XDS runtime library with a C cross-compiler, copy
and edit the file /usr/local/xds/lib/C/lib.mkf.


1.3. Building API symbol files
------------------------------

Your XDS package contains definition modules for POSIX and X11/Motif
APIs. To build the respective symbol files, issue the following
commands:

    cd /usr/local/xds
    ./apisyms-c
     

2. Creating the Working Directory
---------------------------------

The "xmwork" shell script (/usr/local/xds/bin/xmwork) may
help you to create the working directory structure for your
project, for example

    mkdir wrk
    cd wrk
    xmwork


3. Creating X11/Motif applications
----------------------------------

3.1. Documentation
------------------

Your XDS package includes the X11/Motif API definition modules 
and support files, but no documentation on these APIs. You have
to use third-party books or the on-line documentation.
We regret the inconvenience.


3.2. Using the X11/Motif APIs in your programs
----------------------------------------------

X11 and Motif definition modules reside in the `def/X11' and
`def/Xm' subdirectories of your XDS installation, resspectively. 
Use the `apisyms-c' script in the root of your XDS installation to
create symbol files for these APIs.

If your program is an X11 application, toggle the XAPP option
ON in the project file or on the command line:

    +XAPP

If your program is a Motif application, toggle the XMAPP option
ON in the project file or on the command line:

    +XMAPP

Note: These options are only used to set up additional include 
paths and libraries during processing of the template file, 
`bin/xm.tem'. That file contains defaults for Solaris, HP-UX,
and Linux. If the X11/Motif include files and libraries reside
in different directories on your target system, you have to edit
the default template file or to use your own modified copy in your 
projects.


3.3. Declaring X callbacks
--------------------------

You have to specify the "C" calling and naming convention for
your X callback procedures:

PROCEDURE ["C"] QuitCB (
                    w: Xt.Widget;
                    client_data: Xt.XtPointer;
                    call_data: Xt.XtPointer);


4. Contact information
----------------------

Send your bug reports, questions, and comments to: 

    support@excelsior-usa.com

For latest information about new products, releases, updates, 
and fixes, please visit our Web page at: 

    http://www.excelsior-usa.com/


5. See also
-----------

    report.txt       bug reporting guidelines
    samples.txt      sample programs description
    whatsnew.txt     what is new in this release

                         [end of document]
