home *** CD-ROM | disk | FTP | other *** search
- You must configure the type of the runtime library and programs which will
- be generated corresponding to your particular purposes by various preprocessor
- definitions.
- There are three different ways for placing the definitions: In the actual used
- file 'macros.xxx' (see macros.README for a general description how to do this),
- which will be included by each Makefile, in the Makefile of each subdirectory
- or in the corresponding source files.
-
- 1. General definitions:
- =======================
-
- First you have to define the operating system you use. The following systems
- are availible:
- iPSC - Intel Hypercube
- AIX - AIX on IBM Workstations
- CONVEX - ConvexOs on Convex Supercomputers
- HPUX - HpUx on Hewlett Packard Machines
- LINUX - Linux on 386/486 ATs
- SCO_XENIX - SCO Xenix Version 2.3 on 386 ATs
- SCO_UNIX - SCO Unix Version 3.2 on 386 ATs
- SPARC - SunOs 4.1 or greater on Sun Sparc Stations
- ULTRIX - Ultrix on Vaxes
- UNICOS - Unicos on Cray Supercomputers
-
- Second you must define the system type to one of the following:
- BSD - BSD Unix Version 4.3 or greater
- SYSTEM_V - Unix System V
-
- Third you have to define the type of the inter process communication routines
- you want to use. Availible are
- CUBE - intel hypercube communication primitives
- SOCKET - stream sockets
- MSGSEM - message queues and semaphores
-
- Fourthly you must define the type of network you want to use for distributing
- the processes:
- SINGLE - one machine only, no distribution of processes
- HOMOGENEOUS - distribution of processes in a homogenous network
- HETEROGENEOUS - distribution of processes in a heterogenous network
-
- Choose 'SINGLE' to use the compiler on a single computer, particular on a
- multiprocessor workstation, where all processes are created "local", i.e. no
- distribution of processes will be performed. Choose 'HOMOGENEOUS' to use the
- compiler on a network of binary compatible machines, i.e. the processes will
- be distributed in a homogenous network. Choose 'HETEROGENEOUS' to use the
- compiler on a network of various different Unix machines, i.e. the processes
- will be distributed in a heterogenous network.
- Note: o HOMOGENEOUS provides faster, HETEROGENEOUS provides more powerful inter
- process communications!
- o If the operating system equals iPSC nothing must be defined here!
- o Use SOCKET and HOMOGENEOUS on LINUX systems!
-
- 2. Definitons for building the runtime library:
- ===============================================
-
- Define one or more of the following during compilation to be able to display
- special debug information at runtime:
-
- DEBUG_IPC - message passing
- DEBUG_CONVERT - data conversion
- DEBUG_CONTROL - process control
- DEBUG_CREATION - process creation
- DEBUG_KILL - process destruction
- DEBUG_TRANSACTION - process transactions
-
- At runtime the displaying of additional information can be switched on or off
- by initializing the corresponding global variables:
-
- Example:
- To display runtime informations about inter process communication you
- have to compile the appropriate files of the runtime library with the
- option "-DDEBUG_IPC".
- To display information during execution of a process you must patch the
- generated source file of this process and add the code "_debug_ipc = 1"
- to switch the output of the additional informations on and "_debug_ipc = 0"
- to switch it off.
- To enable and disable the output you can use the macro "PRINT_DEBUG_IPC_ON"
- and "PRINT_DEBUG_IPC_OFF", too. (These macros are defined in dcc.h)
-
- The corresponding global variables are:
- _debug_ipc
- _debug_convert
- _debug_control
- _debug_creation
- _debug_kill
- _debug_transaction
-
- On some systems (e.g. CONVEX) it will be necessary to flush the additional
- displayed messages. This can easely be done by initializing the global variable
- _debugflush to 1.
-
-
- 3. Definitions for building the compiler:
- =========================================
-
- To be able to check the various actions performed by the compiler you can
- configure the generated compiler to write many additional messages to each
- particular item in a special file 'dcc.debug'.
- You can configure the items for which additional messages will be written to
- the file.
-
- Use a combination of the following to display additional informations about:
- ATTRDEBUG - attributes
- CODEDEBUG - code generation
- DECLDEBUG - declaration handling (structs, typedefs, enums)
- DEBUG - some general actions
- LEXDEBUG - scanning
- STRUCTDEBUG - structure administration
- SYMBDEBUG - symbol table managing
- XDRDEBUG - generation of xdr routines
- YYDEBUG - parsing
-
- 4. Definitions for building the administration process:
- =======================================================
-
- If you want that a executing administration process writes informations about
- its internal states or actions to a file called 'dcadmin.debug' you have to
- define "ADMINDEBUG" during compilation of the administration process source
- code.
-
- Writing such messages to a file will slow done the execution of the
- administration process very much. Enable this for testing purposes only!
-
- Note: Define USE_MAPFILE during the generation of the administration process.
- This is the well tested mode for mapping processes to nodes performed
- by the administration process.
-
- 5. Definitions for building the installer program:
- ==================================================
-
- Defining "DEBUG" during generation of the installer program will cause the
- output of additional informations about the various performed actions.
-