Newsgroups: comp.sources.unix
From: pleierc@informatik.tu-muenchen.de (Christoph Pleier)
Subject: v27i175: distributed-c-2.1 - Distributed C Development Environment, V2.1, Part01/18
References: <1.756634932.28500@gw.home.vix.com>
Sender: unix-sources-moderator@gw.home.vix.com
Approved: vixie@gw.home.vix.com

Submitted-By: pleierc@informatik.tu-muenchen.de (Christoph Pleier)
Posting-Number: Volume 27, Issue 175
Archive-Name: distributed-c-2.1/part01

#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of archive 1 (of 18)."
# Contents:  INSTALLATION MANIFEST Makefile.doc Makefile.msg README bin
#   bin/killdcadmins bin/subst config dcadmin dcanalyse dcc
#   dcc/lex.dummy.c dcinstall dckill dckill/Makefile dclocate examples
#   examples/Makefile examples/buffer examples/buffer/Makefile
#   examples/buffer/buffer.HC examples/buffer/chris.txt
#   examples/config examples/config/READ.ME
#   examples/config/program.FICT examples/config/program.PQRT
#   examples/config/system.AIX examples/config/system.BOTANIK
#   examples/config/system.CONVEX examples/config/system.GSF
#   examples/config/system.LINUX examples/config/system.SCO
#   examples/hello examples/hello/Makefile examples/hello/hello.dc
#   examples/nullst examples/nullst/Makefile examples/nullst/nullst.HC
#   examples/philo examples/philo/Makefile examples/philo/philo.HC
#   examples/philo/philo.cfg examples/prod_cons
#   examples/prod_cons/config.h examples/prod_cons/consumer.dc
#   examples/prod_cons/main.dc examples/prod_cons/producer.dc
#   examples/test examples/test/Makefile examples/test/bench.cfg
#   examples/test/chris.dc examples/test/creation.HC
#   examples/test/creation.cfg examples/test/test.dc examples/travel
#   examples/travel/Makefile examples/travel/READ.ME
#   examples/travel/demo.c include ipc ipc/READ.ME ipc/ipc.tmp ipc/tc
#   lib macros.LINUX macros.SPARC macros.ULTRIX macros.UNICOS
#   macros.UNIX macros.XENIX macros.iPSC other other/header sysconf
#   sysconf/sysinfo.c
# Wrapped by vixie@gw.home.vix.com on Thu Dec 23 00:11:54 1993
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'INSTALLATION' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'INSTALLATION'\"
else
echo shar: Extracting \"'INSTALLATION'\" \(1504 characters\)
sed "s/^X//" >'INSTALLATION' <<'END_OF_FILE'
XTo install the Distributed C package at your system do the following:
X
X 1. Copy the archive to your home directory
X
X 2. Unpack the sources 
X
X 3. Change the system specific macros in macros.xxxxx if required.
X    Define 'USE_MAPFILE' during the generation of the administration process!
X    You need not to generate 'dcanalyse' nor 'dclocate'.
X    (Read DEFINES and macros.README for more informations)
X
X 2. Change the main makefile in the top directory if required.
X
X 3. Accomodate the include files stored in subdir include:
X    'config.h', 'dcc.h', 'dcadmin.h'
X    You can skip this step and change the files later if required.
X
X 6. Build all executables by typing 'make <system>'.
X    It is strongly recommended to build the compiler first on a system,
X    for which a macros.xxxxx file already exists.
X    (If availible, try first a Sun SPARCstation or a HP 9000/7xx).
X
X 7. Install the package by 'make install'.
X 
X 8. Following generate a system description file describing your nodes
X    and how to generate executables on the nodes. Store it in the home 
X    directories of the users. See DISTRIBUTED_C/examples/config for 
X    example files.
X
X 9. Next each user has to prepare his hosts using 'dcinstall -prepare -target 
X    <hostname1> -target <hostname2> ...'. 
X    Add the generated paths (e.g. $HOME/dcc/bin/SPARC) to the search paths
X    of the users on every prepared target!
X
X10. Try a simple example to test the installation. Use for example
X    DISTRIBUTED_C/examples/buffer/buffer.dc.
END_OF_FILE
if test 1504 -ne `wc -c <'INSTALLATION'`; then
    echo shar: \"'INSTALLATION'\" unpacked with wrong size!
fi
# end of 'INSTALLATION'
fi
if test -f 'MANIFEST' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'MANIFEST'\"
else
echo shar: Extracting \"'MANIFEST'\" \(6950 characters\)
sed "s/^X//" >'MANIFEST' <<'END_OF_FILE'
X   File Name		Archive #	Description
X-----------------------------------------------------------
X CONTENTS                  10	
X DEFINES                    5	
X INSTALLATION               1	
X MANIFEST                   1	This shipping list
X Makefile                   4	
X Makefile.doc               1	
X Makefile.msg               1	
X NOTES                      6	
X OVERVIEW                   2	
X README                     1	
X bin                        1	
X bin/killdcadmins           1	
X bin/subst                  1	
X config                     1	
X config/Makefile            3	
X config/ReadSymbtab.c      11	
X config/SaveSymbtab.c      10	
X config/debug.c             7	
X config/program.y           5	
X config/scanner.l           5	
X config/symb_general.c      6	
X config/symb_program.c      8	
X config/symb_system.c      11	
X config/system.y            7	
X config/util.c              5	
X config/yyfuncts.c          2	
X dcadmin                    1	
X dcadmin/CheckAcOrTer.c     3	
X dcadmin/GetCfgFile.c       4	
X dcadmin/Kill.c             3	
X dcadmin/Location.c        11	
X dcadmin/Makefile           3	
X dcadmin/ProcessList.c      6	
X dcadmin/Shutdown.c         4	
X dcadmin/Status.c           7	
X dcadmin/Usage.c            2	
X dcadmin/configure.l        3	
X dcadmin/configure.y        5	
X dcadmin/debug.c            5	
X dcadmin/error.c            3	
X dcadmin/main.c            11	
X dcadmin/signals.c          4	
X dcanalyse                  1	
X dcanalyse/Makefile         4	
X dcanalyse/ParseOptions.c   4	
X dcanalyse/Usage.c          2	
X dcanalyse/dcanalyse.dc     9	
X dcc                        1	
X dcc/Makefile               5	
X dcc/Malloc.c               3	
X dcc/String.c               4	
X dcc/attr_debug.c           4	
X dcc/attr_decl.c           15	
X dcc/attr_general.c        12	
X dcc/code_convert.c        13	
X dcc/code_create.c          8	
X dcc/code_decl.c            4	
X dcc/code_destroy.c         2	
X dcc/code_others.c          9	
X dcc/code_process.c        10	
X dcc/code_select.c          9	
X dcc/code_trans.c          12	
X dcc/dcc.l                  5	
X dcc/dcc.y                 16	
X dcc/files.c                5	
X dcc/help.c                 3	
X dcc/includefile.c         10	
X dcc/lex.dummy.c            1	
X dcc/main.c                 6	
X dcc/makefile.c             8	
X dcc/parseoptions.c         6	
X dcc/signal.c               4	
X dcc/symb_debug.c           8	
X dcc/symb_general.c         9	
X dcc/symb_others.c         13	
X dcc/symb_process.c        14	
X dcc/usage.c                3	
X dcc/util.c                 6	
X dcc/version.c              4	
X dcc/xdrfile.c             14	
X dcc/yyfuncts.c             6	
X dcinstall                  1	
X dcinstall/Clean.c          4	
X dcinstall/Compile.c        7	
X dcinstall/GetLogin.c       2	
X dcinstall/Makefile         2	
X dcinstall/ParseOptions.c   7	
X dcinstall/Prepare.c        9	
X dcinstall/Transfer.c       5	
X dcinstall/Usage.c          3	
X dcinstall/main.c           7	
X dckill                     1	
X dckill/Makefile            1	
X dckill/dckill.c            2	
X dclocate                   1	
X dclocate/BuildLists.c     11	
X dclocate/Makefile          2	
X dclocate/ParseOptions.c    4	
X dclocate/Usage.c           3	
X dclocate/main.c            6	
X examples                   1	
X examples/Makefile          1	
X examples/buffer            1	
X examples/buffer/Makefile   1	
X examples/buffer/buffer.HC  1	
X examples/buffer/buffer.dc  4	
X examples/buffer/chris.txt  1	
X examples/config            1	
X examples/config/READ.ME    1	
X examples/config/dcc.config  2	
X examples/config/performance  2	
X examples/config/program.FICT  1	
X examples/config/program.PQRT  1	
X examples/config/system.AIX  1	
X examples/config/system.BOTANIK  1	
X examples/config/system.CONVEX  1	
X examples/config/system.FICT 13	
X examples/config/system.GSF  1	
X examples/config/system.LINUX  1	
X examples/config/system.SCO  1	
X examples/config/system.TUM 18	
X examples/config/system.WAN  9	
X examples/hello             1	
X examples/hello/Makefile    1	
X examples/hello/hello.dc    1	
X examples/nullst            1	
X examples/nullst/Makefile   1	
X examples/nullst/nullst.HC  1	
X examples/nullst/nullst.dc  8	
X examples/philo             1	
X examples/philo/Makefile    1	
X examples/philo/philo.HC    1	
X examples/philo/philo.cfg   1	
X examples/philo/philo.dc    6	
X examples/prod_cons         1	
X examples/prod_cons/Makefile  2	
X examples/prod_cons/buffer.dc  2	
X examples/prod_cons/config.h  1	
X examples/prod_cons/consumer.dc  1	
X examples/prod_cons/main.dc  1	
X examples/prod_cons/producer.dc  1	
X examples/test              1	
X examples/test/Makefile     1	
X examples/test/bench.cfg    1	
X examples/test/bench.dc     2	
X examples/test/chris.dc     1	
X examples/test/creation.HC  1	
X examples/test/creation.cfg  1	
X examples/test/creation.dc  8	
X examples/test/error.dc     2	
X examples/test/test.dc      1	
X examples/test/xdr.dc       6	
X examples/travel            1	
X examples/travel/Makefile   1	
X examples/travel/READ.ME    1	
X examples/travel/config.h   2	
X examples/travel/demo.c     1	
X examples/travel/germany.c  3	
X examples/travel/travel.dc 12	
X include                    1	
X include/analyse.h          3	
X include/cfgparsers.h      10	
X include/com_Errno.h        7	
X include/com_errlist.h      6	
X include/config.h          12	
X include/dcadmin.h          5	
X include/dcc.h              8	
X include/dcinstall.h        3	
X include/dclocate.h         2	
X include/extern.h           3	
X include/functions.h        8	
X include/globals.h          7	
X include/ipc_iPSC.h         2	
X include/ipc_msgsem.h       2	
X include/ipc_socket.h       3	
X include/location.h         2	
X include/reswords.h         2	
X include/run_Errno.h        6	
X include/run_errlist.h      7	
X include/timeout.h          5	
X include/version.h          4	
X ipc                        1	
X ipc/Makefile               2	
X ipc/READ.ME                1	
X ipc/ipc.tmp                1	
X ipc/p1.c                   7	
X ipc/p2.c                   5	
X ipc/p3.c                   3	
X ipc/pa.c                   3	
X ipc/pb.c                   3	
X ipc/tc                     1	
X lib                        1	
X lib/Makefile               4	
X lib/RuntimeError.c         3	
X lib/control.c              9	
X lib/convert.c             12	
X lib/creation.c            15	
X lib/debug.c                5	
X lib/destruction.c          4	
X lib/ipc_iPSC.c            13	
X lib/ipc_msgsem.c          16	
X lib/ipc_socket.c          17	
X lib/transaction.c         10	
X macros                     2	
X macros.AIX                 2	
X macros.CONVEX              2	
X macros.HPUX                2	
X macros.LINUX               1	
X macros.README              3	
X macros.SPARC               1	
X macros.ULTRIX              1	
X macros.UNICOS              1	
X macros.UNIX                1	
X macros.XENIX               1	
X macros.iPSC                1	
X other                      1	
X other/header               1	
X sysconf                    1	
X sysconf/sysinfo.c          1	
END_OF_FILE
if test 6950 -ne `wc -c <'MANIFEST'`; then
    echo shar: \"'MANIFEST'\" unpacked with wrong size!
fi
# end of 'MANIFEST'
fi
if test -f 'Makefile.doc' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'Makefile.doc'\"
else
echo shar: Extracting \"'Makefile.doc'\" \(769 characters\)
sed "s/^X//" >'Makefile.doc' <<'END_OF_FILE'
XYou must specify a target. 
XTo generate the runtime library and all programs, type 'make <target>' where 
X<target> is one of the following:
X    iPSC    - Intel Hypercube
X    AIX     - AIX on IBM workstations
X    CONVEX  - ConvexOs on Convex supercomputers
X    HPUX    - HP-UX on Hewlett Packard machines
X    LINUX   - Linux on AT386/486
X    SPARC   - SunOs on Sun SPARCstations
X    ULTRIX  - Ultrix on DEC Vaxes
X    UNICOS  - UNICOS on Cray supercomputers
X    UNIX    - SCO Unix on AT386/486
X    XENIX   - SCO Xenix on AT386/486
XTo perform a special administration action, type 'make <action>' where <action>
Xspecifies the choosen action:
X    install - install the files on your system
X    archive - archive the complete package
X    clean   - clean the subdirectories
X
END_OF_FILE
if test 769 -ne `wc -c <'Makefile.doc'`; then
    echo shar: \"'Makefile.doc'\" unpacked with wrong size!
fi
# end of 'Makefile.doc'
fi
if test -f 'Makefile.msg' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'Makefile.msg'\"
else
echo shar: Extracting \"'Makefile.msg'\" \(658 characters\)
sed "s/^X//" >'Makefile.msg' <<'END_OF_FILE'
X************************************************************************
X* dcde - the Distributed C Development Environment                     *
X*                                                                      *
X* Realisation and implementation by F. Distler and C. Pleier           *
X* Intel iPSC Hypercube extensions made by C. and M. Pleier             *
X* Copyright (C) 1990-1994 by C. Pleier                                 *
X* Copyright (C) 1990-1994 by Technische Universitaet Muenchen, Germany *
X* All rights reserved!                                                 *
X************************************************************************
X
END_OF_FILE
if test 658 -ne `wc -c <'Makefile.msg'`; then
    echo shar: \"'Makefile.msg'\" unpacked with wrong size!
fi
# end of 'Makefile.msg'
fi
if test -f 'README' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'README'\"
else
echo shar: Extracting \"'README'\" \(2412 characters\)
sed "s/^X//" >'README' <<'END_OF_FILE'
X                        Acknowledgments
X                        ===============
X
XThe Distributed C Development Environment was designed, implemented, 
Xtested, reworked and extended by F. DISTLER, C. PLEIER and M. PLEIER 
Xat the chair for compiler construction of Professor Dr. J. EICKEL at 
XTechnische Universitaet Muenchen, Germany. 
X
X
X                          Copyright
X                          =========
X
XThe source code is Copyright (C) 1990-1994 by Christoph Pleier and
XCopyright (C) 1990-1994 by Technische Universitaet Muenchen, Germany.
XAll Rights Reserved.
X
XPermission is hereby given to use, copy, modify, and distribute this 
Xsoftware provided that (1) copyright and proprietary notices are retained 
Xin each copy, (2) any files which are modified are identified as such,
Xand (3) you do not copy or distribute the software for payment or for 
Xcommercial use without prior written consent from 
X
X        Prof. Dr. J. Eickel
X        Institut fuer Informatik
X        Technische Universitaet Muenchen
X        Arcistrasse 21
X        D-80290 Muenchen
X        Germany.
X
XCHRISTOPH PLEIER AND TECHNISCHE UNIVERSITAET MUENCHEN ASSUME NO RESPONSIBILITY 
XFOR THE USE OR INABILITY TO USE THIS SOFTWARE. THE SOFTWARE IS PROVIDED "AS IS"
XWITHOUT WARRANTY OF ANY KIND, AND CHRISTOPH PLEIER EXPRESSLY DISCLAIMS ALL 
XIMPLIED WARRANTIES, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF 
XMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
X
XTHE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH YOU.
XSHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY 
XSERVICING, REPAIR OR CORRECTION.
X
XIN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
XWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
XREDISTRIBUTE THE SOFTWARE AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
XINCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
XOUT OF THE USE OR INABILITY TO USE THE SOFTWARE (INCLUDING BUT NOT LIMITED
XTO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
XYOU OR THIRD PARTIES OR A FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER
XSOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
XPOSSIBILITY OF SUCH DAMAGES.
X
X                          Reports
X                          =======
X
XPlease send comments, bug reports, utilization reports, etc. to
Xpleierc@informatik.tu-muenchen.de
END_OF_FILE
if test 2412 -ne `wc -c <'README'`; then
    echo shar: \"'README'\" unpacked with wrong size!
fi
# end of 'README'
fi
if test ! -d 'bin' ; then
    echo shar: Creating directory \"'bin'\"
    mkdir 'bin'
fi
if test -f 'bin/killdcadmins' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'bin/killdcadmins'\"
else
echo shar: Extracting \"'bin/killdcadmins'\" \(253 characters\)
sed "s/^X//" >'bin/killdcadmins' <<'END_OF_FILE'
X# remove all dcadmin-processes from local machine
Xecho "sending all dcadmin processes signal $1"
X\rm -f /tmp/dcadmin.pids
Xecho "kill $1 \c" > /tmp/dcadmin.pids
Xps -ef | grep dcadmin | awk '{ printf "%d ", $2 }' >> /tmp/dcadmin.pids
Xsh /tmp/dcadmin.pids
END_OF_FILE
if test 253 -ne `wc -c <'bin/killdcadmins'`; then
    echo shar: \"'bin/killdcadmins'\" unpacked with wrong size!
fi
chmod +x 'bin/killdcadmins'
# end of 'bin/killdcadmins'
fi
if test -f 'bin/subst' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'bin/subst'\"
else
echo shar: Extracting \"'bin/subst'\" \(212 characters\)
sed "s/^X//" >'bin/subst' <<'END_OF_FILE'
Xfor file in $* 
Xdo
X    case $file in
X        $1) ;;
X        $2) ;;
X        *) echo "processing file $file...\c"; 
X	   sed -e s/$1/$2/g $file > $file.tmp ; 
X	   mv $file.tmp $file ;
X	   echo "done."
X    esac
Xdone
END_OF_FILE
if test 212 -ne `wc -c <'bin/subst'`; then
    echo shar: \"'bin/subst'\" unpacked with wrong size!
fi
chmod +x 'bin/subst'
# end of 'bin/subst'
fi
if test ! -d 'config' ; then
    echo shar: Creating directory \"'config'\"
    mkdir 'config'
fi
if test ! -d 'dcadmin' ; then
    echo shar: Creating directory \"'dcadmin'\"
    mkdir 'dcadmin'
fi
if test ! -d 'dcanalyse' ; then
    echo shar: Creating directory \"'dcanalyse'\"
    mkdir 'dcanalyse'
fi
if test ! -d 'dcc' ; then
    echo shar: Creating directory \"'dcc'\"
    mkdir 'dcc'
fi
if test -f 'dcc/lex.dummy.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'dcc/lex.dummy.c'\"
else
echo shar: Extracting \"'dcc/lex.dummy.c'\" \(2134 characters\)
sed "s/^X//" >'dcc/lex.dummy.c' <<'END_OF_FILE'
X/***************************************************************************
X *                                                                         *
X * @@@@  @@@ @@@@@ @@@@@ @@@@@ @@@ @@@@  @   @ @@@@@ @@@@@ @@@@       @@@  *
X * @   @  @  @       @   @   @  @  @   @ @   @   @   @     @   @     @   @ *
X * @   @  @  @@@@@   @   @@@@@  @  @@@@@ @   @   @   @@@@@ @   @     @     *
X * @   @  @      @   @   @ @    @  @   @ @   @   @   @     @   @     @   @ *
X * @@@@  @@@ @@@@@   @   @  @  @@@ @@@@  @@@@@   @   @@@@@ @@@@       @@@  *
X *                                                                         *
X *              A compiler for distributed programming with C              *
X *                                                                         *
X *                         l e x . d u m m y . c                           *
X *                                                                         *
X *                            Package : Compiler                           *
X *                            Version : 1.0                                *
X *                       CreationDate : 05.07.90                           *
X *                         LastUpDate : 05.07.90                           *
X *                                                                         *
X *      A 'dummy' definition of 'yymark' used for making a 'lextest'.      *
X *                                                                         *
X *     Copyright (C) 1990-1994 by Franz Distler and Christoph Pleier.      *
X *                          All rights reserved!                           *
X ***************************************************************************/
X
X/*
X * This file is part of the Distributed C Development Environment (DCDE).
X * DCDE is free software; you can redistribute it and/or modify
X * it under the terms written in the README-file. 
X * DCDE is distributed in the hope that it will be useful,
X * but WITHOUT ANY WARRANTY; without even the implied warranty of
X * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
X * See the file README for more details.
X */
X
Xint
Xyymark()
X{
X}
END_OF_FILE
if test 2134 -ne `wc -c <'dcc/lex.dummy.c'`; then
    echo shar: \"'dcc/lex.dummy.c'\" unpacked with wrong size!
fi
# end of 'dcc/lex.dummy.c'
fi
if test ! -d 'dcinstall' ; then
    echo shar: Creating directory \"'dcinstall'\"
    mkdir 'dcinstall'
fi
if test ! -d 'dckill' ; then
    echo shar: Creating directory \"'dckill'\"
    mkdir 'dckill'
fi
if test -f 'dckill/Makefile' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'dckill/Makefile'\"
else
echo shar: Extracting \"'dckill/Makefile'\" \(2616 characters\)
sed "s/^X//" >'dckill/Makefile' <<'END_OF_FILE'
X#***************************************************************************
X#*                                                                         *
X#* @@@@  @@@ @@@@@ @@@@@ @@@@@ @@@ @@@@  @   @ @@@@@ @@@@@ @@@@       @@@  *
X#* @   @  @  @       @   @   @  @  @   @ @   @   @   @     @   @     @   @ *
X#* @   @  @  @@@@@   @   @@@@@  @  @@@@@ @   @   @   @@@@@ @   @     @     *
X#* @   @  @      @   @   @ @    @  @   @ @   @   @   @     @   @     @   @ *
X#* @@@@  @@@ @@@@@   @   @  @  @@@ @@@@  @@@@@   @   @@@@@ @@@@       @@@  *
X#*                                                                         *
X#*              A compiler for distributed programming with C              *
X#*                                                                         *
X#*                             M a k e f i l e                             *
X#*                                                                         *
X#*                 Version 1.0      CreationDate: 19.10.90                 *
X#*                                    LastUpDate: 19.10.90                 *
X#*                                                                         *
X#*          The makefile to generate the process killer process.           *
X#*                                                                         *
X#*        Copyright (C) 1990 by Franz Distler and Christoph Pleier.        *
X#*                          All rights reserved!                           *
X#***************************************************************************/
X
X#.SILENT
X
X# Some utility programs
X  SHELL = /bin/sh
X   MAKE = make
X
X# The path of the include files
XINCLUDEDIR = ../include
X
X# Include target system specific macros
Xinclude ../macros
X
X# Set appropriate macros
X     CC = $(CC_DCK)
X CFLAGS = $(CFLAGS_DCK) -I$(INCLUDEDIR)
X     LD = $(LD_DCK)
XLDFLAGS = $(LDFLAGS_DCK)
X   LIBS = $(LIBS_DCK)
X
X# The name of the administration process
XKILLERNAME = dckill
X
X# All source files needed to build the administration process
XSRCS = 	dckill.c
X
X# All object files needed to build the administration process
XOBJS = $(SRCS:.c=.o)
X
X# All include files needed to build the administration process
XINCLFILES = $(INCLUDEDIR)/config.h $(INCLUDEDIR)/extern.h \
X	    $(INCLUDEDIR)/version.h
X
X.c.o:
X	@echo "***** Compiling $<"
X	$(CC) $(CFLAGS) -c $<
X
Xall:
X	@echo ""
X	@echo "BUILDING THE PROCESS KILLER PROCESS..."
X	$(MAKE) $(KILLERNAME)
X	@echo DONE!
X
X$(KILLERNAME): $(INCLFILES) dckill.c
X	$(CC) $(CFLAGS) -c dckill.c
X	$(LD) -o $(KILLERNAME) $(LDFLAGS) dckill.o $(LIB)
X
Xclean:
X	@echo "Cleaning the directory..."
X	-\rm -f *.o $(KILLERNAME)
X	@echo done!
END_OF_FILE
if test 2616 -ne `wc -c <'dckill/Makefile'`; then
    echo shar: \"'dckill/Makefile'\" unpacked with wrong size!
fi
# end of 'dckill/Makefile'
fi
if test ! -d 'dclocate' ; then
    echo shar: Creating directory \"'dclocate'\"
    mkdir 'dclocate'
fi
if test ! -d 'examples' ; then
    echo shar: Creating directory \"'examples'\"
    mkdir 'examples'
fi
if test -f 'examples/Makefile' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/Makefile'\"
else
echo shar: Extracting \"'examples/Makefile'\" \(568 characters\)
sed "s/^X//" >'examples/Makefile' <<'END_OF_FILE'
X# Makefile (DISTRIBUTED_C/examples)
X
XSHELL = /bin/sh
X
XSUBDIRS = buffer hello nullst philo prod_cons test travel
X
Xall:  
X	@echo "building all examples..."
X	for name in $(SUBDIRS); \
X	do \
X		cd $${name}; \
X		echo "---------- DIRECTORY $${name} ----------"; \
X		make;
X		cd ..; \
X	done
X
Xclean:
X	@echo "Cleaning the directory and all subdirectories..."
X	-\rm -f dcc dcadmin core *.o 
X	-find . -name "*.debug" -exec rm {} \;
X	-for name in $(SUBDIRS); \
X	do \
X		echo "----- cleaning subdirectory $${name}"; \
X		cd $${name}; \
X		make -s clean; \
X		cd ..; \
X	done
X	@echo done!
END_OF_FILE
if test 568 -ne `wc -c <'examples/Makefile'`; then
    echo shar: \"'examples/Makefile'\" unpacked with wrong size!
fi
# end of 'examples/Makefile'
fi
if test ! -d 'examples/buffer' ; then
    echo shar: Creating directory \"'examples/buffer'\"
    mkdir 'examples/buffer'
fi
if test -f 'examples/buffer/Makefile' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/buffer/Makefile'\"
else
echo shar: Extracting \"'examples/buffer/Makefile'\" \(135 characters\)
sed "s/^X//" >'examples/buffer/Makefile' <<'END_OF_FILE'
Xbuffer: buffer.dc
X	dcc -a -i buffer.dc
X
Xclean:
X	-( find . -name buffer.mf -exec make -f {} clean \; )
X	-\rm -f dcc.debug dcadmin.debug
END_OF_FILE
if test 135 -ne `wc -c <'examples/buffer/Makefile'`; then
    echo shar: \"'examples/buffer/Makefile'\" unpacked with wrong size!
fi
# end of 'examples/buffer/Makefile'
fi
if test -f 'examples/buffer/buffer.HC' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/buffer/buffer.HC'\"
else
echo shar: Extracting \"'examples/buffer/buffer.HC'\" \(77 characters\)
sed "s/^X//" >'examples/buffer/buffer.HC' <<'END_OF_FILE'
Xtrace on
Xgetcube -t8
Xload -p 1 1 dcadmin
Xload -p 0 0 buffer
X10
Xwaitcube
Xquit
END_OF_FILE
if test 77 -ne `wc -c <'examples/buffer/buffer.HC'`; then
    echo shar: \"'examples/buffer/buffer.HC'\" unpacked with wrong size!
fi
# end of 'examples/buffer/buffer.HC'
fi
if test -f 'examples/buffer/chris.txt' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/buffer/chris.txt'\"
else
echo shar: Extracting \"'examples/buffer/chris.txt'\" \(1424 characters\)
sed "s/^X//" >'examples/buffer/chris.txt' <<'END_OF_FILE'
X# 1 "buffer.dc"
X 
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X 
X
X
X
X
X
X
X
Xprocess spec buffer(int max)  
X{
X     
X    trans void put(char c); 
X
X     
X    trans char get();
X}  
X
X 
X
X
X
X
X
X
X
Xprocess body buffer(max)
X{
X    int   n   = 0, 
X          in  = 0, 
X          out = 0;
X    char *buf;
X
X    buf = (char *) malloc(max + 1);
X
X    memset(buf, '\0', max + 1);
X
X    while(1) {
X        select {
X	    (n < max):
X	        accept put(c) { 
X		    buf[in] = c; 
X		}
X	        n++;
X	        in = (in + 1) % max;
X	or (n > 0):
X	        accept get() { 
X		    treturn(buf[out]); 
X		}
X	        n--;
X	        out = (out + 1) % max;
X	or
X		terminate
X        }  
X    }  
X}  
X		
X 
X
X
X
X
X
X
Xmain()
X{
X    int     size, op, erg;
X    char    c, tmp, bufferhost[256];
X    process buffer b;
X
X     
X    puts("This program simulates a FIFO buffer:");
X
X     
X    printf("buffer size? ");
X    scanf("%d%c", &size, &tmp);
X
X    printf("location to create buffer? ");
X    scanf("%s", bufferhost);
X     
X    b = create buffer(size) at host(bufferhost);
X
X     
X    while(1) {
X	printf("\nOperation (0 = end, 1 = put, 2 = get) ? ");
X	scanf("%d%c", &op, &tmp);
X	switch(op) {
X	case 0:
X		 
X		exit(0);
X		 
X	case 1:
X		printf("character to put into buffer? ");
X		scanf("%c%c", &c, &tmp);
X		within 5 ? (b@put(c) : puts("buffer is full!"));
X		break;
X	case 2:
X		erg = within 5 ? (b@get() : -1);
X		if (erg == -1)
X			puts("buffer is empty!");
X		else
X			printf("result = %c\n", erg);
X		break;
X	}
X    }  
X}  
END_OF_FILE
if test 1424 -ne `wc -c <'examples/buffer/chris.txt'`; then
    echo shar: \"'examples/buffer/chris.txt'\" unpacked with wrong size!
fi
# end of 'examples/buffer/chris.txt'
fi
if test ! -d 'examples/config' ; then
    echo shar: Creating directory \"'examples/config'\"
    mkdir 'examples/config'
fi
if test -f 'examples/config/READ.ME' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/config/READ.ME'\"
else
echo shar: Extracting \"'examples/config/READ.ME'\" \(562 characters\)
sed "s/^X//" >'examples/config/READ.ME' <<'END_OF_FILE'
XThis directory contains several program and system configuration example files.
X
XIf you have newly installed the Distributed C Development Environment on
Xyour system and you have now the problem to build a system configuration 
Xfile for your system, copy 'system.WAN' to your home directory, rename it
Xto 'system.config' and modify it to your requirements.
X
XIf your system consists only of one type of computers, you can also try a file
Xnamed system.xxxx where xxxx is the corresponding UNIX variant name (i.e. 
X'system.AIX', 'system.CONVEX' or 'system.LINUX').
END_OF_FILE
if test 562 -ne `wc -c <'examples/config/READ.ME'`; then
    echo shar: \"'examples/config/READ.ME'\" unpacked with wrong size!
fi
# end of 'examples/config/READ.ME'
fi
if test -f 'examples/config/program.FICT' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/config/program.FICT'\"
else
echo shar: Extracting \"'examples/config/program.FICT'\" \(1958 characters\)
sed "s/^X//" >'examples/config/program.FICT' <<'END_OF_FILE'
X# program.FICT
X#
X# Program configuration file of a ficticious program
X# Christoph Pleier, March 1992
X#
X# The program consists of 4 process types.
X#
X# type # | name       | job
X# ---------------------------------------------------------------------------
X#    1   | printer    | Collects the results and prints them to LC890
X# ---------------------------------------------------------------------------
X#    2   | preparer   | Performs preparing jobs like loading data and 
X#        |            | generating a dynamic tree. Sends tree structure to
X#        |            | process 'calculator'.
X# ---------------------------------------------------------------------------
X#    3   | calculator | Does the main job (whatever that is)
X#        |            | Sends results to processes 'printer' and 'visualizer'
X# ---------------------------------------------------------------------------
X#    4   | visualizer | Collects the results and visualizes them as animation
X# ---------------------------------------------------------------------------
X
X
Xprocess printer = {
X
X    preferred hosts  : node_AT286, node_Sun3_1, node_Sun3_2
X
X    intensity index : 1.0
X
X    accesses peripheral devices { 
X	LC890
X    }
X
X    communicates with {
X	visualizer (100, 10)
X    }
X} # printer
X
Xprocess preparer = {
X
X    intensity index : 20.0
X
X    wishes   physical memory : 32 MB
X
X    accesses filesystems {
X	HPdisk (1, 100)
X    }
X
X    communicates with {
X	calculator (1, 50)
X    }
X} # preparer
X
Xprocess calculator = {
X
X    intensity index : 100.0
X
X    wishes vectorization
X    wishes parallelization
X
X    communicates with {
X	printer (100, 10), preparer (1, 50), visualizer (100, 100)
X    }
X} # calculator
X
Xprocess visualizer = {
X
X    intensity index : 10.0
X
X    requires physical memory :  64 MB
X    requires virtual  memory :  64 MB
X    wishes   physical memory : 250 MB
X    wishes   virtual  memory : 250 MB
X
X    communicates with {
X	calculator (100, 100)
X    }
X} # visualizer
END_OF_FILE
if test 1958 -ne `wc -c <'examples/config/program.FICT'`; then
    echo shar: \"'examples/config/program.FICT'\" unpacked with wrong size!
fi
# end of 'examples/config/program.FICT'
fi
if test -f 'examples/config/program.PQRT' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/config/program.PQRT'\"
else
echo shar: Extracting \"'examples/config/program.PQRT'\" \(1458 characters\)
sed "s/^X//" >'examples/config/program.PQRT' <<'END_OF_FILE'
X# program.PQRT
X#
X# program configuration file for PQRT (Parallel Quick Ray Tracer)
X# Christoph Pleier, March 1992
X
Xprocess timer = {
X
X    intensity index : 1.0
X
X    communicates with {
X	generate_world (1, 1), visualize (1, 1), master (1, 1), creator (1, 1),
X	raytrace (1, 1)
X    }
X} # timer
X
Xprocess generate_world = {
X
X    intensity index : 40.0
X
X    requires physical memory :  8 MB
X    wishes   physical memory : 16 MB
X    requires virtual  memory : 16 MB
X    wishes   virtual  memory : 32 MB
X
X    accesses filesystems {
X	HPHALLE7disk (1, 100)
X    }
X
X    communicates with {
X	timer (1, 1), master (10, 1), raytrace (1, 50)
X    }
X} # generate_world
X
Xprocess visualize = {
X
X    intensity index : 30.0
X
X    wishes physical memory : 64 MB
X    wishes virtual  memory : 64 MB
X
X    accesses filesystems {
X	HPHALLE7disk (20, 300)
X    }
X
X    communicates with {
X	timer (1, 1), raytrace (10, 50)
X    }
X} # visualize
X
Xprocess master = {
X
X    intensity index : 10.0
X
X    communicates with {
X	timer (1, 1), generate_world (10, 1), raytrace (10, 1)
X    }
X} # master
X
Xprocess creator = {
X
X    intensity index : 10.0
X
X    communicates with {
X	timer (1, 1)
X    }
X} # creator
X
Xprocess raytrace = {
X
X    intensity index : 100.0
X
X    requires physical memory :  8 MB
X    requires virtual  memory :  8 MB
X
X    wishes vectorization
X    wishes parallelization
X
X    communicates with {
X	timer (1, 1), generate_world (1, 50), visualize (10, 50), master (10, 1)
X    }
X} # raytrace
END_OF_FILE
if test 1458 -ne `wc -c <'examples/config/program.PQRT'`; then
    echo shar: \"'examples/config/program.PQRT'\" unpacked with wrong size!
fi
# end of 'examples/config/program.PQRT'
fi
if test -f 'examples/config/system.AIX' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/config/system.AIX'\"
else
echo shar: Extracting \"'examples/config/system.AIX'\" \(1247 characters\)
sed "s/^X//" >'examples/config/system.AIX' <<'END_OF_FILE'
X# system.BOTANIK
X#
X# system configuration file for 
X# Botanisches Institut, Ludwig-Maximilians-Universitaet Muenchen
X
Xhostnames = {
X
X    # IBM RS 6000
X    odin, adgard, mitgard, utgard, baldur, freya, thor, fenris, loki, hel, 
X    woelsung, ragnaroek, sigurd
X}
X
Xcomputer types = {
X    IBM_RS_6000
X}
X
Xoperating system variants = {
X    AIX
X}
X
Xfixed disks = {
X    odin_disk = {
X	location : odin
X	size     : 1000 MB
X	speed    : 15 ms 	# ???
X    }
X}
X
Xhost odin, adgard, mitgard, utgard, baldur, freya, thor, 
X     fenris, loki, hel, woelsung, ragnaroek, sigurd 
X= {
X    operating system : AIX
X    computer specification {
X	type                    : IBM_RS_6000
X	physical memory         : 32 MB	
X	virtual memory          : 32 MB	
X	performance index       : 8.0
X	storage for executables : odin_disk
X    }
X    compilation {
X        target: IBM_RS_6000 (AIX) {
X	    CC      = "cc"
X	    CFLAGS  = "-DAIX -DSYSTEM_V -DSOCKET -DHETEROGENEOUS"
X	    LDFLAGS = ""
X	    LIBS    = ""
X	}
X    }
X    accessible filesystems = {
X	odin_disk (10 ms)
X    }
X} # odin
X
X# ----------------------------------------------------------------------------
X# cost informations generated by dcanalyse
X# and adjusted manually
X
Xcosts informations {
X           odin ->      odin: 0, 0
X}
END_OF_FILE
if test 1247 -ne `wc -c <'examples/config/system.AIX'`; then
    echo shar: \"'examples/config/system.AIX'\" unpacked with wrong size!
fi
# end of 'examples/config/system.AIX'
fi
if test -f 'examples/config/system.BOTANIK' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/config/system.BOTANIK'\"
else
echo shar: Extracting \"'examples/config/system.BOTANIK'\" \(1247 characters\)
sed "s/^X//" >'examples/config/system.BOTANIK' <<'END_OF_FILE'
X# system.BOTANIK
X#
X# system configuration file for 
X# Botanisches Institut, Ludwig-Maximilians-Universitaet Muenchen
X
Xhostnames = {
X
X    # IBM RS 6000
X    odin, adgard, mitgard, utgard, baldur, freya, thor, fenris, loki, hel, 
X    woelsung, ragnaroek, sigurd
X}
X
Xcomputer types = {
X    IBM_RS_6000
X}
X
Xoperating system variants = {
X    AIX
X}
X
Xfixed disks = {
X    odin_disk = {
X	location : odin
X	size     : 1000 MB
X	speed    : 15 ms 	# ???
X    }
X}
X
Xhost odin, adgard, mitgard, utgard, baldur, freya, thor, 
X     fenris, loki, hel, woelsung, ragnaroek, sigurd 
X= {
X    operating system : AIX
X    computer specification {
X	type                    : IBM_RS_6000
X	physical memory         : 32 MB	
X	virtual memory          : 32 MB	
X	performance index       : 8.0
X	storage for executables : odin_disk
X    }
X    compilation {
X        target: IBM_RS_6000 (AIX) {
X	    CC      = "cc"
X	    CFLAGS  = "-DAIX -DSYSTEM_V -DSOCKET -DHETEROGENEOUS"
X	    LDFLAGS = ""
X	    LIBS    = ""
X	}
X    }
X    accessible filesystems = {
X	odin_disk (10 ms)
X    }
X} # odin
X
X# ----------------------------------------------------------------------------
X# cost informations generated by dcanalyse
X# and adjusted manually
X
Xcosts informations {
X           odin ->      odin: 0, 0
X}
END_OF_FILE
if test 1247 -ne `wc -c <'examples/config/system.BOTANIK'`; then
    echo shar: \"'examples/config/system.BOTANIK'\" unpacked with wrong size!
fi
# end of 'examples/config/system.BOTANIK'
fi
if test -f 'examples/config/system.CONVEX' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/config/system.CONVEX'\"
else
echo shar: Extracting \"'examples/config/system.CONVEX'\" \(1205 characters\)
sed "s/^X//" >'examples/config/system.CONVEX' <<'END_OF_FILE'
X# system.GSF
X#
X# system configuration file for GSF, Neuherberg
X
Xhostnames = {
X	cony
X}
X
Xcomputer types = {
X	CONVEX_C3840
X}
X
Xoperating system variants = {
X	ConvexOS 
X}
X
Xfixed disks = {
X    CONVEXdisk = {
X	location : cony
X	size     : 10 GB
X	speed    : 10 ms 	
X    }
X}
X
X# definition of host "cony"
Xhost cony = {
X    operating system : ConvexOS
X
X    computer specification {
X        type:                    CONVEX_C3840
X        physical memory:         1 GB
X        virtual memory:          1 GB
X        performance index:       75
X        multiprocessor system: 4 processors, shared memory
X        vector computer
X        parallelizing compiler
X        storage for executables: CONVEXdisk
X    }
X
X    compilation {
X        target: CONVEX_C3840 (ConvexOS) {
X            CC      = "cc"
X            CFLAGS  = "-DCONVEX -DBSD -DSOCKET -DHETEROGENEOUS -ext"
X            LDFLAGS = "-ext"
X            LIBS    = ""
X        }
X    }
X
X    accessible filesystems = {
X        CONVEXdisk (10 ms)
X    }
X} # node_C3840
X
X# ----------------------------------------------------------------------------
X# cost informations generated by dcanalyse
X# and adjusted manually
X
Xcosts informations {
X           cony ->      cony: 0, 0
X}
END_OF_FILE
if test 1205 -ne `wc -c <'examples/config/system.CONVEX'`; then
    echo shar: \"'examples/config/system.CONVEX'\" unpacked with wrong size!
fi
# end of 'examples/config/system.CONVEX'
fi
if test -f 'examples/config/system.GSF' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/config/system.GSF'\"
else
echo shar: Extracting \"'examples/config/system.GSF'\" \(1205 characters\)
sed "s/^X//" >'examples/config/system.GSF' <<'END_OF_FILE'
X# system.GSF
X#
X# system configuration file for GSF, Neuherberg
X
Xhostnames = {
X	cony
X}
X
Xcomputer types = {
X	CONVEX_C3840
X}
X
Xoperating system variants = {
X	ConvexOS 
X}
X
Xfixed disks = {
X    CONVEXdisk = {
X	location : cony
X	size     : 10 GB
X	speed    : 10 ms 	
X    }
X}
X
X# definition of host "cony"
Xhost cony = {
X    operating system : ConvexOS
X
X    computer specification {
X        type:                    CONVEX_C3840
X        physical memory:         1 GB
X        virtual memory:          1 GB
X        performance index:       75
X        multiprocessor system: 4 processors, shared memory
X        vector computer
X        parallelizing compiler
X        storage for executables: CONVEXdisk
X    }
X
X    compilation {
X        target: CONVEX_C3840 (ConvexOS) {
X            CC      = "cc"
X            CFLAGS  = "-DCONVEX -DBSD -DSOCKET -DHETEROGENEOUS -ext"
X            LDFLAGS = "-ext"
X            LIBS    = ""
X        }
X    }
X
X    accessible filesystems = {
X        CONVEXdisk (10 ms)
X    }
X} # node_C3840
X
X# ----------------------------------------------------------------------------
X# cost informations generated by dcanalyse
X# and adjusted manually
X
Xcosts informations {
X           cony ->      cony: 0, 0
X}
END_OF_FILE
if test 1205 -ne `wc -c <'examples/config/system.GSF'`; then
    echo shar: \"'examples/config/system.GSF'\" unpacked with wrong size!
fi
# end of 'examples/config/system.GSF'
fi
if test -f 'examples/config/system.LINUX' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/config/system.LINUX'\"
else
echo shar: Extracting \"'examples/config/system.LINUX'\" \(792 characters\)
sed "s/^X//" >'examples/config/system.LINUX' <<'END_OF_FILE'
X# system.LINUX
X#
X# system configuration file for use with dcinstall Version 2.0
X
Xhostnames = { ateickel1 }
X
Xcomputer types = { AT486 }
X
Xoperating system variants = { LINUX }
X
Xfixed disks = {
X    ATBUS = {
X	location : ateickel1
X	size     : 1000 MB
X	speed    : 10 ms
X    }
X}
X
Xhost ateickel1 = {
X    operating system : LINUX
X    computer specification {
X	type                    : AT486
X	physical memory         : 16 MB
X	virtual memory          : 16 MB
X	performance index       : 3.0
X	storage for executables : ATBUS
X    }
X    peripheral devices = {
X	NEC_LC890
X    }
X    compilation {
X        target: AT486 (LINUX) {
X	    CC      = "cc"
X	    CFLAGS  = "-DLINUX -DSYSTEM_V -DSOCKET -DHOMOGENEOUS"
X	    LDFLAGS = ""
X	    LIBS    = ""
X	}
X    }
X    accessible filesystems = {
X	ATBUS (10 ms)
X    }
X}
END_OF_FILE
if test 792 -ne `wc -c <'examples/config/system.LINUX'`; then
    echo shar: \"'examples/config/system.LINUX'\" unpacked with wrong size!
fi
# end of 'examples/config/system.LINUX'
fi
if test -f 'examples/config/system.SCO' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/config/system.SCO'\"
else
echo shar: Extracting \"'examples/config/system.SCO'\" \(1218 characters\)
sed "s/^X//" >'examples/config/system.SCO' <<'END_OF_FILE'
X# system.SCO
X#
X# system configuration file for use with dcinstall Version 2.0
X# for SCO_UNIX or SCO_XENIX
X
Xhostnames = { Compaq }
X
Xcomputer types = { AT386 }
X
Xoperating system variants = { SCO_UNIX, SCO_XENIX }
X
Xfixed disks = {
X    ESDI_100MB = {
X	location : Compaq
X	size     : 100 MB
X	speed    : 12 ms
X    }
X}
X
Xhost Compaq = {
X    operating system : SCO_UNIX
X    computer specification {
X	type                    : AT386
X	physical memory         : 6 MB
X	virtual memory          : 8 MB
X	performance index       : 1.7
X	storage for executables : ESDI_100MB
X    }
X    peripheral devices = {
X	NEC_LC890
X    }
X    compilation {
X        target: AT286 (SCO_XENIX) {
X	    CC      = "cc"
X	    CFLAGS  = "-DSCO_XENIX -DSYSTEM_V -DMSGSEM -DSINGLE -compat -xenix -x2.3 -D__STDC__"
X	    LDFLAGS = ""
X	    LIBS    = "-lx"
X	}
X        target: AT386 (SCO_XENIX) {
X	    CC      = "cc"
X	    CFLAGS  = "-DSCO_XENIX -DSYSTEM_V -DMSGSEM -DSINGLE -compat -xenix -x2.3 -D__STDC__"
X	    LDFLAGS = ""
X	    LIBS    = "-lx"
X	}
X        target: AT386 (SCO_UNIX) {
X	    CC      = "cc"
X	    CFLAGS  = "-DSCO_UNIX -DSYSTEM_V -DMSGSEM -DSINGLE"
X	    LDFLAGS = ""
X	    LIBS    = "-lx"
X	}
X    }
X    accessible filesystems = {
X	ESDI_100MB (12 ms)
X    }
X}
END_OF_FILE
if test 1218 -ne `wc -c <'examples/config/system.SCO'`; then
    echo shar: \"'examples/config/system.SCO'\" unpacked with wrong size!
fi
# end of 'examples/config/system.SCO'
fi
if test ! -d 'examples/hello' ; then
    echo shar: Creating directory \"'examples/hello'\"
    mkdir 'examples/hello'
fi
if test -f 'examples/hello/Makefile' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/hello/Makefile'\"
else
echo shar: Extracting \"'examples/hello/Makefile'\" \(129 characters\)
sed "s/^X//" >'examples/hello/Makefile' <<'END_OF_FILE'
Xhello: 	hello.dc
X	dcc -a hello.dc
X
Xclean:
X	-( find . -name hello.mf -exec make -f {} clean \; )
X	-\rm -f dcc.debug dcadmin.debug
END_OF_FILE
if test 129 -ne `wc -c <'examples/hello/Makefile'`; then
    echo shar: \"'examples/hello/Makefile'\" unpacked with wrong size!
fi
# end of 'examples/hello/Makefile'
fi
if test -f 'examples/hello/hello.dc' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/hello/hello.dc'\"
else
echo shar: Extracting \"'examples/hello/hello.dc'\" \(2522 characters\)
sed "s/^X//" >'examples/hello/hello.dc' <<'END_OF_FILE'
X/***************************************************************************
X *                                                                         *
X * @@@@  @@@ @@@@@ @@@@@ @@@@@ @@@ @@@@  @   @ @@@@@ @@@@@ @@@@       @@@  *
X * @   @  @  @       @   @   @  @  @   @ @   @   @   @     @   @     @   @ *
X * @   @  @  @@@@@   @   @@@@@  @  @@@@@ @   @   @   @@@@@ @   @     @     *
X * @   @  @      @   @   @ @    @  @   @ @   @   @   @     @   @     @   @ *
X * @@@@  @@@ @@@@@   @   @  @  @@@ @@@@  @@@@@   @   @@@@@ @@@@       @@@  *
X *                                                                         *
X *              A compiler for distributed programming with C              *
X *                                                                         *
X *                            h e l l o . d c                              *
X *                                                                         *
X *                 Version 1.0      CreationDate: 01.09.93                 *
X *                                    LastUpDate: 01.09.93                 *
X *                                                                         *
X * A simple example: the Distributed C version of Kernighan and Ritchie's  *
X * example "Hello world".                                                  *
X *                                                                         *
X ***************************************************************************/
X
X#include <stdio.h>
X
X#define UNLIMITED	1
X#define MAXPROCNUM	50
X
X/* specification of the process Print_Greetings with the transaction Say_Hello */
Xprocess spec Print_Greetings(int process_number)
X{
X    trans void Say_Hello();
X}
X
X/* definition of the process Print_Greetings with the transaction Say_Hello */
Xprocess body Print_Greetings(process_number)
X{
X    while(UNLIMITED) {
X	select {
X	    accept Say_Hello() {
X		printf("Hello world! I am process %d.\n", process_number);
X		fflush(stdout);
X	    }; /* a semicolon is required here! */
X	    or terminate
X	}
X    }
X}
X
X/* definition of the main process */
Xmain()
X{
X    int number_of_processes, i;
X    process Print_Greetings descr[MAXPROCNUM];
X
X    printf("How many processes do you want to create? ");
X    scanf("%d", &number_of_processes);
X    /* create number_of_processes processes */
X    for(i=1; i<=number_of_processes; i++)
X	descr[i] = create Print_Greetings( i );
X    /* order each process to display the greetings */
X    for(i=1; i<=number_of_processes; i++)
X	descr[i]@Say_Hello();
X    exit(0);
X}
X    
END_OF_FILE
if test 2522 -ne `wc -c <'examples/hello/hello.dc'`; then
    echo shar: \"'examples/hello/hello.dc'\" unpacked with wrong size!
fi
# end of 'examples/hello/hello.dc'
fi
if test ! -d 'examples/nullst' ; then
    echo shar: Creating directory \"'examples/nullst'\"
    mkdir 'examples/nullst'
fi
if test -f 'examples/nullst/Makefile' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/nullst/Makefile'\"
else
echo shar: Extracting \"'examples/nullst/Makefile'\" \(170 characters\)
sed "s/^X//" >'examples/nullst/Makefile' <<'END_OF_FILE'
XTARGETS = "hpeick9, hphalle7a"
X
Xnullst: nullst.dc
X	dcc -a -A "-lm" nullst.dc 
X
Xclean:
X	-find . -name nullst.mf -exec make -f {} clean \;
X	-\rm -f dcc.debug dcadmin.debug
END_OF_FILE
if test 170 -ne `wc -c <'examples/nullst/Makefile'`; then
    echo shar: \"'examples/nullst/Makefile'\" unpacked with wrong size!
fi
# end of 'examples/nullst/Makefile'
fi
if test -f 'examples/nullst/nullst.HC' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/nullst/nullst.HC'\"
else
echo shar: Extracting \"'examples/nullst/nullst.HC'\" \(75 characters\)
sed "s/^X//" >'examples/nullst/nullst.HC' <<'END_OF_FILE'
Xtrace off
Xgetcube -t8
Xload -p 1 1 dcadmin
Xload -p 0 0 nullst
Xwaitcube
Xquit
END_OF_FILE
if test 75 -ne `wc -c <'examples/nullst/nullst.HC'`; then
    echo shar: \"'examples/nullst/nullst.HC'\" unpacked with wrong size!
fi
# end of 'examples/nullst/nullst.HC'
fi
if test ! -d 'examples/philo' ; then
    echo shar: Creating directory \"'examples/philo'\"
    mkdir 'examples/philo'
fi
if test -f 'examples/philo/Makefile' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/philo/Makefile'\"
else
echo shar: Extracting \"'examples/philo/Makefile'\" \(128 characters\)
sed "s/^X//" >'examples/philo/Makefile' <<'END_OF_FILE'
Xphilo: philo.dc
X	dcc -a philo.dc
X
Xclean:
X	-( find . -name philo.mf -exec make -f {} clean \; )
X	-\rm -f dcc.debug dcadmin.debug
END_OF_FILE
if test 128 -ne `wc -c <'examples/philo/Makefile'`; then
    echo shar: \"'examples/philo/Makefile'\" unpacked with wrong size!
fi
# end of 'examples/philo/Makefile'
fi
if test -f 'examples/philo/philo.HC' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/philo/philo.HC'\"
else
echo shar: Extracting \"'examples/philo/philo.HC'\" \(74 characters\)
sed "s/^X//" >'examples/philo/philo.HC' <<'END_OF_FILE'
Xtrace off
Xgetcube -t8
Xload -p 1 1 dcadmin
Xload -p 0 0 philo
Xwaitcube
Xquit
END_OF_FILE
if test 74 -ne `wc -c <'examples/philo/philo.HC'`; then
    echo shar: \"'examples/philo/philo.HC'\" unpacked with wrong size!
fi
# end of 'examples/philo/philo.HC'
fi
if test -f 'examples/philo/philo.cfg' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/philo/philo.cfg'\"
else
echo shar: Extracting \"'examples/philo/philo.cfg'\" \(160 characters\)
sed "s/^X//" >'examples/philo/philo.cfg' <<'END_OF_FILE'
X# philo.cfg - configuration file for 'philo.dc'
X
X# the processes will be started at the following hosts 
Xsuneickel5
Xsuneickel6
Xsuneickel7
Xsuneickel8
Xsuneickel9
END_OF_FILE
if test 160 -ne `wc -c <'examples/philo/philo.cfg'`; then
    echo shar: \"'examples/philo/philo.cfg'\" unpacked with wrong size!
fi
# end of 'examples/philo/philo.cfg'
fi
if test ! -d 'examples/prod_cons' ; then
    echo shar: Creating directory \"'examples/prod_cons'\"
    mkdir 'examples/prod_cons'
fi
if test -f 'examples/prod_cons/config.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/prod_cons/config.h'\"
else
echo shar: Extracting \"'examples/prod_cons/config.h'\" \(2024 characters\)
sed "s/^X//" >'examples/prod_cons/config.h' <<'END_OF_FILE'
X/***************************************************************************
X *                                                                         *
X * @@@@  @@@ @@@@@ @@@@@ @@@@@ @@@ @@@@  @   @ @@@@@ @@@@@ @@@@       @@@  *
X * @   @  @  @       @   @   @  @  @   @ @   @   @   @     @   @     @   @ *
X * @   @  @  @@@@@   @   @@@@@  @  @@@@@ @   @   @   @@@@@ @   @     @     *
X * @   @  @      @   @   @ @    @  @   @ @   @   @   @     @   @     @   @ *
X * @@@@  @@@ @@@@@   @   @  @  @@@ @@@@  @@@@@   @   @@@@@ @@@@       @@@  *
X *                                                                         *
X *              A compiler for distributed programming with C              *
X *                                                                         *
X *                             c o n f i g . h                             *
X *                                                                         *
X *                 Version 1.0      CreationDate: 17.07.91                 *
X *                                    LastUpDate: 17.07.91                 *
X *                                                                         *
X *  Configuration file for all modules of the producer/consumer example.   *
X *                                                                         *
X *              Copyright (C) 1990,1991 by Christoph Pleier.               *
X *                          All rights reserved!                           *
X ***************************************************************************/
X
X/* function return codes */
X#define OK		0
X#define ERROR		-1
X
X/* type of a message */
Xstruct msg_t {
X	char name[100];
X	long value;
X};
X
X/*
X * process specifications
X */
X
Xprocess spec buffer()
X{
X    /* write a message into buffer */
X    trans int b_write(struct msg_t msg); 
X
X    /* read a message from buffer */
X    trans struct msg_t b_read();
X}
X
Xprocess spec producer(int num, process buffer buffer_descr, long msgnum);
X
Xprocess spec consumer(int num, process buffer buffer_descr);
END_OF_FILE
if test 2024 -ne `wc -c <'examples/prod_cons/config.h'`; then
    echo shar: \"'examples/prod_cons/config.h'\" unpacked with wrong size!
fi
# end of 'examples/prod_cons/config.h'
fi
if test -f 'examples/prod_cons/consumer.dc' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/prod_cons/consumer.dc'\"
else
echo shar: Extracting \"'examples/prod_cons/consumer.dc'\" \(2008 characters\)
sed "s/^X//" >'examples/prod_cons/consumer.dc' <<'END_OF_FILE'
X/***************************************************************************
X *                                                                         *
X * @@@@  @@@ @@@@@ @@@@@ @@@@@ @@@ @@@@  @   @ @@@@@ @@@@@ @@@@       @@@  *
X * @   @  @  @       @   @   @  @  @   @ @   @   @   @     @   @     @   @ *
X * @   @  @  @@@@@   @   @@@@@  @  @@@@@ @   @   @   @@@@@ @   @     @     *
X * @   @  @      @   @   @ @    @  @   @ @   @   @   @     @   @     @   @ *
X * @@@@  @@@ @@@@@   @   @  @  @@@ @@@@  @@@@@   @   @@@@@ @@@@       @@@  *
X *                                                                         *
X *              A compiler for distributed programming with C              *
X *                                                                         *
X *                          c o n s u m e r . d c                          *
X *                                                                         *
X *                 Version 1.0      CreationDate: 17.07.91                 *
X *                                    LastUpDate: 17.07.91                 *
X *                                                                         *
X *    Process building a consumer for the producer/consumer example.       *
X *                                                                         *
X *              Copyright (C) 1990,1991 by Christoph Pleier.               *
X *                          All rights reserved!                           *
X ***************************************************************************/
X
X#include "config.h"
X
X/* definition of the process 'consumer' */
Xprocess body consumer(num, buffer_descr)
X{
X	struct msg_t msg;
X
X	/* receive continuously messages from buffer and terminate if
X	 * the transaction can not be performed within 3 minutes!
X	 */
X	while(1) {
X		msg = within 180 ? (buffer_descr@b_read() : (exit(0), msg));
X		printf("consumer %d: message from %s: value = %d\n", 
X			num, msg.name, msg.value);
X		fflush(stdout);
X	}
X} /* process body consumer */
END_OF_FILE
if test 2008 -ne `wc -c <'examples/prod_cons/consumer.dc'`; then
    echo shar: \"'examples/prod_cons/consumer.dc'\" unpacked with wrong size!
fi
# end of 'examples/prod_cons/consumer.dc'
fi
if test -f 'examples/prod_cons/main.dc' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/prod_cons/main.dc'\"
else
echo shar: Extracting \"'examples/prod_cons/main.dc'\" \(2506 characters\)
sed "s/^X//" >'examples/prod_cons/main.dc' <<'END_OF_FILE'
X/***************************************************************************
X *                                                                         *
X * @@@@  @@@ @@@@@ @@@@@ @@@@@ @@@ @@@@  @   @ @@@@@ @@@@@ @@@@       @@@  *
X * @   @  @  @       @   @   @  @  @   @ @   @   @   @     @   @     @   @ *
X * @   @  @  @@@@@   @   @@@@@  @  @@@@@ @   @   @   @@@@@ @   @     @     *
X * @   @  @      @   @   @ @    @  @   @ @   @   @   @     @   @     @   @ *
X * @@@@  @@@ @@@@@   @   @  @  @@@ @@@@  @@@@@   @   @@@@@ @@@@       @@@  *
X *                                                                         *
X *              A compiler for distributed programming with C              *
X *                                                                         *
X *                            m a i n . d c                                *
X *                                                                         *
X *                 Version 1.0      CreationDate: 17.07.91                 *
X *                                    LastUpDate: 17.07.91                 *
X *                                                                         *
X *The main program starting all processes of the producer/consumer example.*
X *                                                                         *
X *              Copyright (C) 1990,1991 by Christoph Pleier.               *
X *                          All rights reserved!                           *
X ***************************************************************************/
X
X#include "config.h"
X
Xmain()
X{
X	long           i,		/* loop counter */
X	               prod_num,	/* number of producers to create */
X	               cons_num,	/* number of consumers to create */
X	               msgnum;		/* number of message to produce */
X	process buffer b;		/* process descriptor of buffer */
X
X	printf("\nProducer/Consument:\n\n");
X	printf("How many producer processes should be started? ");
X	scanf("%d", &prod_num);
X	printf("How many messages should each producer process produce? ");
X	scanf("%d", &msgnum);
X	printf("How many consumer processes should be started? ");
X	scanf("%d", &cons_num);
X
X	printf("\ncreating buffer...");
X	fflush(stdout);
X	b = create buffer();
X	puts("done!");
X
X	printf("creating consumer(s)...");
X	fflush(stdout);
X	for(i = 1; i <= cons_num; i++)
X		create consumer(i, b);
X	puts("done!");
X
X	printf("creating producer(s)...");
X	fflush(stdout);
X	for(i = 1; i <= prod_num; i++)
X		create producer(i, b, msgnum);
X	puts("done!\n");
X}
END_OF_FILE
if test 2506 -ne `wc -c <'examples/prod_cons/main.dc'`; then
    echo shar: \"'examples/prod_cons/main.dc'\" unpacked with wrong size!
fi
# end of 'examples/prod_cons/main.dc'
fi
if test -f 'examples/prod_cons/producer.dc' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/prod_cons/producer.dc'\"
else
echo shar: Extracting \"'examples/prod_cons/producer.dc'\" \(1992 characters\)
sed "s/^X//" >'examples/prod_cons/producer.dc' <<'END_OF_FILE'
X/***************************************************************************
X *                                                                         *
X * @@@@  @@@ @@@@@ @@@@@ @@@@@ @@@ @@@@  @   @ @@@@@ @@@@@ @@@@       @@@  *
X * @   @  @  @       @   @   @  @  @   @ @   @   @   @     @   @     @   @ *
X * @   @  @  @@@@@   @   @@@@@  @  @@@@@ @   @   @   @@@@@ @   @     @     *
X * @   @  @      @   @   @ @    @  @   @ @   @   @   @     @   @     @   @ *
X * @@@@  @@@ @@@@@   @   @  @  @@@ @@@@  @@@@@   @   @@@@@ @@@@       @@@  *
X *                                                                         *
X *              A compiler for distributed programming with C              *
X *                                                                         *
X *                          p r o d u c e r . d c                          *
X *                                                                         *
X *                 Version 1.0      CreationDate: 17.07.91                 *
X *                                    LastUpDate: 17.07.91                 *
X *                                                                         *
X *    Process building a producer for the producer/consumer example.       *
X *                                                                         *
X *              Copyright (C) 1990,1991 by Christoph Pleier.               *
X *                          All rights reserved!                           *
X ***************************************************************************/
X
X#include "config.h"
X
X/* definition of the process 'producer' */
Xprocess body producer(num, buffer_descr, msgnum)
X{
X	long         msg_count;	/* to count the produced messages */
X	struct msg_t msg;	/* to store the actual message */
X
X	for(msg_count = 0; msg_count < msgnum; ++msg_count) {
X		sprintf(msg.name, "producer: %d", num);
X		msg.value = msg_count;
X		do {
X		} while(buffer_descr@b_write(msg) == ERROR);
X	}
X	exit(0);
X} /* process body producer */
END_OF_FILE
if test 1992 -ne `wc -c <'examples/prod_cons/producer.dc'`; then
    echo shar: \"'examples/prod_cons/producer.dc'\" unpacked with wrong size!
fi
# end of 'examples/prod_cons/producer.dc'
fi
if test ! -d 'examples/test' ; then
    echo shar: Creating directory \"'examples/test'\"
    mkdir 'examples/test'
fi
if test -f 'examples/test/Makefile' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/test/Makefile'\"
else
echo shar: Extracting \"'examples/test/Makefile'\" \(24 characters\)
sed "s/^X//" >'examples/test/Makefile' <<'END_OF_FILE'
Xclean:
X	-\rm -f *.debug
END_OF_FILE
if test 24 -ne `wc -c <'examples/test/Makefile'`; then
    echo shar: \"'examples/test/Makefile'\" unpacked with wrong size!
fi
# end of 'examples/test/Makefile'
fi
if test -f 'examples/test/bench.cfg' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/test/bench.cfg'\"
else
echo shar: Extracting \"'examples/test/bench.cfg'\" \(181 characters\)
sed "s/^X//" >'examples/test/bench.cfg' <<'END_OF_FILE'
X# bench.cfg - configuration file for 'bench.dc'
X
X1 philo_p01 at node-2
X1 philo_p01 at node-3
X1 philo_p01 at node-4
X1 philo_p02 at node-5
X1 philo_p02 at node-6
X1 philo_p02 at node-7
END_OF_FILE
if test 181 -ne `wc -c <'examples/test/bench.cfg'`; then
    echo shar: \"'examples/test/bench.cfg'\" unpacked with wrong size!
fi
# end of 'examples/test/bench.cfg'
fi
if test -f 'examples/test/chris.dc' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/test/chris.dc'\"
else
echo shar: Extracting \"'examples/test/chris.dc'\" \(307 characters\)
sed "s/^X//" >'examples/test/chris.dc' <<'END_OF_FILE'
X/* xdr.dc */
X
Xtypedef struct s0_t {
X	int a;
X} S0T, S00T;
X
Xtypedef S00T STRUCT0;
X
Xtypedef STRUCT0 struct0;
X
Xtypedef struct s1_t {
X	struct0 a;
X	float b;
X} S1T;
X
Xtypedef struct s2_t {
X	unsigned int a;
X	float b;
X	S1T s1;
X} S2T;
X
Xprocess spec P1(S2T par1);
X
Xprocess body P1(par1)
X{
X	/* nothing */
X}
X
Xmain()
X{
X
X}
END_OF_FILE
if test 307 -ne `wc -c <'examples/test/chris.dc'`; then
    echo shar: \"'examples/test/chris.dc'\" unpacked with wrong size!
fi
# end of 'examples/test/chris.dc'
fi
if test -f 'examples/test/creation.HC' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/test/creation.HC'\"
else
echo shar: Extracting \"'examples/test/creation.HC'\" \(77 characters\)
sed "s/^X//" >'examples/test/creation.HC' <<'END_OF_FILE'
Xtrace off
Xgetcube -t8
Xload -p 1 1 dcadmin
Xload -p 0 0 creation
Xwaitcube
Xquit
END_OF_FILE
if test 77 -ne `wc -c <'examples/test/creation.HC'`; then
    echo shar: \"'examples/test/creation.HC'\" unpacked with wrong size!
fi
# end of 'examples/test/creation.HC'
fi
if test -f 'examples/test/creation.cfg' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/test/creation.cfg'\"
else
echo shar: Extracting \"'examples/test/creation.cfg'\" \(363 characters\)
sed "s/^X//" >'examples/test/creation.cfg' <<'END_OF_FILE'
X# creation.cfg - configuration file for 'creation.dc'
X
X# the processes will be started at the following hosts 
X
X# all P1 processes at suneickel1
XP1 at suneickel1
X
X# one P2 process at suneickel1
X1 P2 at suneickel1
X
X# two P2 process at suneickel2
X2 P2 at suneickel2
X
X# all P3 processes at suneickel3
XP3 at suneickel3
X
X# all other processes at suneickel3
Xsuneickel3
END_OF_FILE
if test 363 -ne `wc -c <'examples/test/creation.cfg'`; then
    echo shar: \"'examples/test/creation.cfg'\" unpacked with wrong size!
fi
# end of 'examples/test/creation.cfg'
fi
if test -f 'examples/test/test.dc' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/test/test.dc'\"
else
echo shar: Extracting \"'examples/test/test.dc'\" \(359 characters\)
sed "s/^X//" >'examples/test/test.dc' <<'END_OF_FILE'
Xprocess spec test();
X
Xprocess body test()
X{
X	printf("%s test terminating\n", _processprefix);
X	fflush(stdout);
X}
X
Xprocess spec creator();
X
Xprocess body creator()
X{
X	int i;
X
X	for(i = 1; i<= 20; i++)
X		create test();
X}
X
Xmain()
X{
X	int i, anz;
X
X	anz = atoi(argv[1]);
X	for(i = 1; i<=anz; i++)
X		create creator();
X	puts("Waiting for input");
X	scanf("%d", &anz);
X}
X
END_OF_FILE
if test 359 -ne `wc -c <'examples/test/test.dc'`; then
    echo shar: \"'examples/test/test.dc'\" unpacked with wrong size!
fi
# end of 'examples/test/test.dc'
fi
if test ! -d 'examples/travel' ; then
    echo shar: Creating directory \"'examples/travel'\"
    mkdir 'examples/travel'
fi
if test -f 'examples/travel/Makefile' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/travel/Makefile'\"
else
echo shar: Extracting \"'examples/travel/Makefile'\" \(2310 characters\)
sed "s/^X//" >'examples/travel/Makefile' <<'END_OF_FILE'
X#***************************************************************************
X#*                                                                         *
X#* @@@@  @@@ @@@@@ @@@@@ @@@@@ @@@ @@@@  @   @ @@@@@ @@@@@ @@@@       @@@  *
X#* @   @  @  @       @   @   @  @  @   @ @   @   @   @     @   @     @   @ *
X#* @   @  @  @@@@@   @   @@@@@  @  @@@@@ @   @   @   @@@@@ @   @     @     *
X#* @   @  @      @   @   @ @    @  @   @ @   @   @   @     @   @     @   @ *
X#* @@@@  @@@ @@@@@   @   @  @  @@@ @@@@  @@@@@   @   @@@@@ @@@@       @@@  *
X#*                                                                         *
X#*              A compiler for distributed programming with C              *
X#*                                                                         *
X#*                           M a k e f i l e                               *
X#*                                                                         *
X#*                 Version 1.0      CreationDate: 27.07.91                 *
X#*                                    LastUpDate: 31.07.91                 *
X#*                                                                         *
X#*                     The traveling salesman problem.                     *
X#*                 The makefile to build the executables.                  *
X#*                                                                         *
X#*                Copyright (C) 1991 by Christoph Pleier.                  *
X#*                          All rights reserved!                           *
X#***************************************************************************/
X
X   MAKE = make
X   ECHO = @echo
X     CC = dcinstall
X CFLAGS = $(TARGETS)
X     LD = dcinstall
X LFLAGS = $(TARGETS)
X   LIBS =
X
XTARGETS = -target local 
X
Xgermany: travel.mf
X	cp germany.c data.c
X	$(CC) $(CFLAGS) -c config.h data.c
X	touch $@
X	$(MAKE) -f travel.mf
X
Xdemo: incl
X	cp demo.c data.c
X	$(CC) $(CFLAGS) -c config.h data.c
X	touch $@
X	$(MAKE) -f travel.mf
X
Xtravel.mf: travel.dc config.h
X	$(ECHO) ""
X	$(ECHO) "***** Compiling 'travel.dc' to standard code"
X	dcc -L "data.o" -C "$(TARGETS)" travel.dc
X
Xnew:
X	@touch travel.dc
X	$(MAKE) travel.mf clean
X	$(MAKE) travel
X
Xclean:
X	-find . -name travel.mf -exec make -f {} clean \;
X	-\rm -f *.o travel data.c dcc.debug dcadmin.debug germany demo incl
END_OF_FILE
if test 2310 -ne `wc -c <'examples/travel/Makefile'`; then
    echo shar: \"'examples/travel/Makefile'\" unpacked with wrong size!
fi
# end of 'examples/travel/Makefile'
fi
if test -f 'examples/travel/READ.ME' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/travel/READ.ME'\"
else
echo shar: Extracting \"'examples/travel/READ.ME'\" \(380 characters\)
sed "s/^X//" >'examples/travel/READ.ME' <<'END_OF_FILE'
X                  The traveling salesman problem
X                  ==============================
X
XDescription:
X
X    A traveling salesman has to make a round trip through n cities, but
X    should visit each city only once! At the end of his journey he should
X    return to his starting point.
X    The problem is to find a round trip whose way length is the shortest
X    possible.
END_OF_FILE
if test 380 -ne `wc -c <'examples/travel/READ.ME'`; then
    echo shar: \"'examples/travel/READ.ME'\" unpacked with wrong size!
fi
# end of 'examples/travel/READ.ME'
fi
if test -f 'examples/travel/demo.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/travel/demo.c'\"
else
echo shar: Extracting \"'examples/travel/demo.c'\" \(2195 characters\)
sed "s/^X//" >'examples/travel/demo.c' <<'END_OF_FILE'
X/***************************************************************************
X *                                                                         *
X * @@@@  @@@ @@@@@ @@@@@ @@@@@ @@@ @@@@  @   @ @@@@@ @@@@@ @@@@       @@@  *
X * @   @  @  @       @   @   @  @  @   @ @   @   @   @     @   @     @   @ *
X * @   @  @  @@@@@   @   @@@@@  @  @@@@@ @   @   @   @@@@@ @   @     @     *
X * @   @  @      @   @   @ @    @  @   @ @   @   @   @     @   @     @   @ *
X * @@@@  @@@ @@@@@   @   @  @  @@@ @@@@  @@@@@   @   @@@@@ @@@@       @@@  *
X *                                                                         *
X *              A compiler for distributed programming with C              *
X *                                                                         *
X *                             d e m o . c                                 *
X *                                                                         *
X *                 Version 1.0      CreationDate: 27.07.91                 *
X *                                    LastUpDate: 27.07.91                 *
X *                                                                         *
X *                     The traveling salesman problem.                     *
X *        The data for a short example with five fictitious cities.        *
X *                                                                         *
X *                Copyright (C) 1991 by Christoph Pleier.                  *
X *                          All rights reserved!                           *
X ***************************************************************************/
X
X#include "config.h"
X
X/* table relating real city names to intern city names and vice versa */
XNAMEINFO data_cities[CITYNUM] = {
X	{ "A", 0 }, { "B", 1 }, { "C", 2 }, { "D", 3 }, { "E", 4 }
X};
X
X/* unity of distance data */
Xchar *unity = "miles";
X
X/* distance table */
Xint d_tab[CITYNUM][CITYNUM] = {  
X                       /* A,  B,  C,  D,  E */
X                /* A */   0, 10, 20,  5, 17,
X                /* B */  -1,  0, 10,  5, 23,
X                /* C */  -1, -1,  0, 10, 50,
X                /* D */  -1, -1, -1,  0,  4,
X                /* E */  -1, -1, -1, -1,  0
X};
X
X
END_OF_FILE
if test 2195 -ne `wc -c <'examples/travel/demo.c'`; then
    echo shar: \"'examples/travel/demo.c'\" unpacked with wrong size!
fi
# end of 'examples/travel/demo.c'
fi
if test ! -d 'include' ; then
    echo shar: Creating directory \"'include'\"
    mkdir 'include'
fi
if test ! -d 'ipc' ; then
    echo shar: Creating directory \"'ipc'\"
    mkdir 'ipc'
fi
if test -f 'ipc/READ.ME' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'ipc/READ.ME'\"
else
echo shar: Extracting \"'ipc/READ.ME'\" \(268 characters\)
sed "s/^X//" >'ipc/READ.ME' <<'END_OF_FILE'
XThis directory contains the files with the communication primitives:
X
XThe makefiles 
X    Makefile
X
XThe test programs:
X    p1.c
X    p2.c
X    p3.c
X
XThe file del to clear the message queues and semaphores under System V:
X    Del.SysV/del
X    Del/del.c
X    Del/msg_SysV.c
END_OF_FILE
if test 268 -ne `wc -c <'ipc/READ.ME'`; then
    echo shar: \"'ipc/READ.ME'\" unpacked with wrong size!
fi
# end of 'ipc/READ.ME'
fi
if test -f 'ipc/ipc.tmp' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'ipc/ipc.tmp'\"
else
echo shar: Extracting \"'ipc/ipc.tmp'\" \(0 characters\)
sed "s/^X//" >'ipc/ipc.tmp' <<'END_OF_FILE'
END_OF_FILE
if test 0 -ne `wc -c <'ipc/ipc.tmp'`; then
    echo shar: \"'ipc/ipc.tmp'\" unpacked with wrong size!
fi
# end of 'ipc/ipc.tmp'
fi
if test -f 'ipc/tc' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'ipc/tc'\"
else
echo shar: Extracting \"'ipc/tc'\" \(75 characters\)
sed "s/^X//" >'ipc/tc' <<'END_OF_FILE'
Xtrace off
Xload -p 100 5 p1
Xload -p 101 6 p2
Xload -p 102 7 p3
Xwaitcube
Xquit
END_OF_FILE
if test 75 -ne `wc -c <'ipc/tc'`; then
    echo shar: \"'ipc/tc'\" unpacked with wrong size!
fi
# end of 'ipc/tc'
fi
if test ! -d 'lib' ; then
    echo shar: Creating directory \"'lib'\"
    mkdir 'lib'
fi
if test -f 'macros.LINUX' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'macros.LINUX'\"
else
echo shar: Extracting \"'macros.LINUX'\" \(2620 characters\)
sed "s/^X//" >'macros.LINUX' <<'END_OF_FILE'
X#***************************************************************************
X#*                                                                         *
X#* @@@@  @@@ @@@@@ @@@@@ @@@@@ @@@ @@@@  @   @ @@@@@ @@@@@ @@@@       @@@  *
X#* @   @  @  @       @   @   @  @  @   @ @   @   @   @     @   @     @   @ *
X#* @   @  @  @@@@@   @   @@@@@  @  @@@@@ @   @   @   @@@@@ @   @     @     *
X#* @   @  @      @   @   @ @    @  @   @ @   @   @   @     @   @     @   @ *
X#* @@@@  @@@ @@@@@   @   @  @  @@@ @@@@  @@@@@   @   @@@@@ @@@@       @@@  *
X#*                                                                         *
X#*              A compiler for distributed programming with C              *
X#*                                                                         *
X#*                         m a c r o s . L I N U X                         *
X#*                                                                         *
X#*                 Version 1.0      CreationDate: 05.12.93                 *
X#*                                    LastUpDate: 05.12.93                 *
X#*                                                                         *
X#* The macro definitions used for building targets for ATs running Linux.  *
X#*                                                                         *
X#*              Copyright (C) 1993-1994 by Christoph Pleier.               *
X#*                          All rights reserved!                           *
X#***************************************************************************/
X
X           OS = LINUX
X       SYSTEM = SYSTEM_V
X          IPC = SOCKET
X      NETWORK = HOMOGENEOUS
X
X     MAKEDIRS = lib dcc dcadmin dcinstall 
X
X   INSTALLDIR = /usr/local/Distributed_C
X
X          CPP = /lib/cpp
X     CPPFLAGS = -traditional
X
X        COMCC = cc
X    COMCFLAGS = -D$(OS) -D$(SYSTEM) -D$(IPC) -D$(NETWORK)
X   COMLDFLAGS =
X
X       CC_LIB = $(COMCC)
X   CFLAGS_LIB = $(COMCFLAGS)
X
X       CC_DCC = $(COMCC)
X   CFLAGS_DCC = $(COMCFLAGS)
X       LD_DCC = $(COMCC)
X  LDFLAGS_DCC = $(COMLDFLAGS)
X     LIBS_DCC = 
X
X       CC_DCA = $(COMCC)
X   CFLAGS_DCA = $(COMCFLAGS)
X       LD_DCA = $(COMCC)
X  LDFLAGS_DCA = $(COMLDFLAGS)
X     LIBS_DCA =
X  
X       CC_DCK = $(COMCC)
X   CFLAGS_DCK = $(COMCFLAGS)
X       LD_DCK = $(COMCC)
X  LDFLAGS_DCK = $(COMLDFLAGS)
X     LIBS_DCK =
X
X     CC_CFGFP = $(COMCC)
X CFLAGS_CFGFP = $(COMCFLAGS)
X
X       CC_DCI = $(COMCC)
X   CFLAGS_DCI = $(COMCFLAGS)
X       LD_DCI = $(COMCC)
X  LDFLAGS_DCI = $(COMLDFLAGS) 
X     LIBS_DCI =
X
X       CC_DCL = $(COMCC)
X   CFLAGS_DCL = $(COMCFLAGS)
X       LD_DCL = $(COMCC)
X  LDFLAGS_DCL = $(COMLDFLAGS) 
X     LIBS_DCL =
END_OF_FILE
if test 2620 -ne `wc -c <'macros.LINUX'`; then
    echo shar: \"'macros.LINUX'\" unpacked with wrong size!
fi
# end of 'macros.LINUX'
fi
if test -f 'macros.SPARC' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'macros.SPARC'\"
else
echo shar: Extracting \"'macros.SPARC'\" \(2634 characters\)
sed "s/^X//" >'macros.SPARC' <<'END_OF_FILE'
X#***************************************************************************
X#*                                                                         *
X#* @@@@  @@@ @@@@@ @@@@@ @@@@@ @@@ @@@@  @   @ @@@@@ @@@@@ @@@@       @@@  *
X#* @   @  @  @       @   @   @  @  @   @ @   @   @   @     @   @     @   @ *
X#* @   @  @  @@@@@   @   @@@@@  @  @@@@@ @   @   @   @@@@@ @   @     @     *
X#* @   @  @      @   @   @ @    @  @   @ @   @   @   @     @   @     @   @ *
X#* @@@@  @@@ @@@@@   @   @  @  @@@ @@@@  @@@@@   @   @@@@@ @@@@       @@@  *
X#*                                                                         *
X#*              A compiler for distributed programming with C              *
X#*                                                                         *
X#*                         m a c r o s . S P A R C                         *
X#*                                                                         *
X#*                 Version 1.0      CreationDate: 07.07.91                 *
X#*                                    LastUpDate: 02.11.91                 *
X#*                                                                         *
X#* The macro definitions used for building targets for Sun Sparc Stations. *
X#*                                                                         *
X#*              Copyright (C) 1991-1994 by Christoph Pleier.               *
X#*                          All rights reserved!                           *
X#***************************************************************************/
X
X           OS = SPARC
X       SYSTEM = BSD
X          IPC = SOCKET
X      NETWORK = HETEROGENEOUS
X
X     MAKEDIRS = lib dcc dcadmin dckill dcinstall dclocate
X
X   INSTALLDIR = /usr/wiss/pleierc/Distributed_C
X
X          CPP = /lib/cpp
X     CPPFLAGS = 
X
X        COMCC = cc
X    COMCFLAGS = -D$(OS) -D$(SYSTEM) -D$(IPC) -D$(NETWORK) -O 
X   COMLDFLAGS = -O
X
X       CC_LIB = $(COMCC)
X   CFLAGS_LIB = $(COMCFLAGS)
X
X       CC_DCC = $(COMCC)
X   CFLAGS_DCC = $(COMCFLAGS)
X       LD_DCC = $(COMCC)
X  LDFLAGS_DCC = $(COMLDFLAGS)
X     LIBS_DCC = 
X
X       CC_DCA = $(COMCC)
X   CFLAGS_DCA = $(COMCFLAGS)
X       LD_DCA = $(COMCC)
X  LDFLAGS_DCA = $(COMLDFLAGS)
X     LIBS_DCA =
X  
X       CC_DCK = $(COMCC)
X   CFLAGS_DCK = $(COMCFLAGS)
X       LD_DCK = $(COMCC)
X  LDFLAGS_DCK = $(COMLDFLAGS)
X     LIBS_DCK =
X
X     CC_CFGFP = $(COMCC)
X CFLAGS_CFGFP = $(COMCFLAGS)
X
X       CC_DCI = $(COMCC)
X   CFLAGS_DCI = $(COMCFLAGS)
X       LD_DCI = $(COMCC)
X  LDFLAGS_DCI = $(COMLDFLAGS) 
X     LIBS_DCI =
X
X       CC_DCL = $(COMCC)
X   CFLAGS_DCL = $(COMCFLAGS)
X       LD_DCL = $(COMCC)
X  LDFLAGS_DCL = $(COMLDFLAGS) 
X     LIBS_DCL =
END_OF_FILE
if test 2634 -ne `wc -c <'macros.SPARC'`; then
    echo shar: \"'macros.SPARC'\" unpacked with wrong size!
fi
# end of 'macros.SPARC'
fi
if test -f 'macros.ULTRIX' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'macros.ULTRIX'\"
else
echo shar: Extracting \"'macros.ULTRIX'\" \(2510 characters\)
sed "s/^X//" >'macros.ULTRIX' <<'END_OF_FILE'
X#***************************************************************************
X#*                                                                         *
X#* @@@@  @@@ @@@@@ @@@@@ @@@@@ @@@ @@@@  @   @ @@@@@ @@@@@ @@@@       @@@  *
X#* @   @  @  @       @   @   @  @  @   @ @   @   @   @     @   @     @   @ *
X#* @   @  @  @@@@@   @   @@@@@  @  @@@@@ @   @   @   @@@@@ @   @     @     *
X#* @   @  @      @   @   @ @    @  @   @ @   @   @   @     @   @     @   @ *
X#* @@@@  @@@ @@@@@   @   @  @  @@@ @@@@  @@@@@   @   @@@@@ @@@@       @@@  *
X#*                                                                         *
X#*              A compiler for distributed programming with C              *
X#*                                                                         *
X#*                        m a c r o s . U L T R I X                        *
X#*                                                                         *
X#*                 Version 1.0      CreationDate: 07.07.91                 *
X#*                                    LastUpDate: 02.11.91                 *
X#*                                                                         *
X#*   The macro definitions used for building targets for Ultrix systems.   *
X#*                                                                         *
X#*              Copyright (C) 1991-1994 by Christoph Pleier.               *
X#*                          All rights reserved!                           *
X#***************************************************************************/
X
X           OS = ULTRIX
X       SYSTEM = BSD
X          IPC = SOCKET
X      NETWORK = HETEROGENEOUS
X
X     MAKEDIRS = lib dcc dcadmin dckill dcinstall dclocate
X
X   INSTALLDIR = /usr/wiss/pleierc/Distributed_C
X
X          CPP = /lib/cpp
X     CPPFLAGS = 
X
X        COMCC = cc
X    COMCFLAGS = -D$(OS) -D$(SYSTEM) -D$(IPC) -D$(NETWORK) -g
X   COMLDFLAGS = -g
X
X       CC_LIB = $(COMCC)
X   CFLAGS_LIB = $(COMCFLAGS)
X
X       CC_DCC = $(COMCC)
X   CFLAGS_DCC = $(COMCFLAGS)
X       LD_DCC = $(COMCC)
X  LDFLAGS_DCC = $(COMLDFLAGS)
X     LIBS_DCC = -lPW
X
X       CC_DCA = $(COMCC)
X   CFLAGS_DCA = $(COMCFLAGS)
X       LD_DCA = $(COMCC)
X  LDFLAGS_DCA = $(COMLDFLAGS)
X     LIBS_DCA =
X
X     CC_CFGFP = $(COMCC)
X CFLAGS_CFGFP = $(COMCFLAGS)
X
X       CC_DCI = $(COMCC)
X   CFLAGS_DCI = $(COMCFLAGS)
X       LD_DCI = $(COMCC)
X  LDFLAGS_DCI = $(COMLDFLAGS) 
X     LIBS_DCI =
X
X       CC_DCL = $(COMCC)
X   CFLAGS_DCL = $(COMCFLAGS)
X       LD_DCL = $(COMCC)
X  LDFLAGS_DCL = $(COMLDFLAGS) 
X     LIBS_DCL =
END_OF_FILE
if test 2510 -ne `wc -c <'macros.ULTRIX'`; then
    echo shar: \"'macros.ULTRIX'\" unpacked with wrong size!
fi
# end of 'macros.ULTRIX'
fi
if test -f 'macros.UNICOS' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'macros.UNICOS'\"
else
echo shar: Extracting \"'macros.UNICOS'\" \(2631 characters\)
sed "s/^X//" >'macros.UNICOS' <<'END_OF_FILE'
X#***************************************************************************
X#*                                                                         *
X#* @@@@  @@@ @@@@@ @@@@@ @@@@@ @@@ @@@@  @   @ @@@@@ @@@@@ @@@@       @@@  *
X#* @   @  @  @       @   @   @  @  @   @ @   @   @   @     @   @     @   @ *
X#* @   @  @  @@@@@   @   @@@@@  @  @@@@@ @   @   @   @@@@@ @   @     @     *
X#* @   @  @      @   @   @ @    @  @   @ @   @   @   @     @   @     @   @ *
X#* @@@@  @@@ @@@@@   @   @  @  @@@ @@@@  @@@@@   @   @@@@@ @@@@       @@@  *
X#*                                                                         *
X#*              A compiler for distributed programming with C              *
X#*                                                                         *
X#*                          m a c r o s . U N I C O S                      *
X#*                                                                         *
X#*                 Version 1.0      CreationDate: 08.11.93                 *
X#*                                    LastUpDate: 06.12.93                 *
X#*                                                                         *
X#*   The macro definitions used for building targets for Cray computers.   *
X#*                                                                         *
X#*              Copyright (C) 1991-1994 by Christoph Pleier.               *
X#*                          All rights reserved!                           *
X#***************************************************************************/
X
X           OS = UNICOS
X       SYSTEM = SYSTEM_V
X          IPC = SOCKET
X      NETWORK = HETEROGENEOUS
X
X     MAKEDIRS = lib dcc dcadmin dcinstall 
X
X   INSTALLDIR = /tmp/Distributed_C
X
X          CPP = /lib/pcpp
X     CPPFLAGS = 
X
X        COMCC = cc
X    COMCFLAGS = -D$(OS) -D$(SYSTEM) -D$(IPC) -D$(NETWORK)
X   COMLDFLAGS = 
X
X       CC_LIB = $(COMCC)
X   CFLAGS_LIB = $(COMCFLAGS)
X
X       CC_DCC = $(COMCC)
X   CFLAGS_DCC = $(COMCFLAGS)
X       LD_DCC = $(COMCC) 
X  LDFLAGS_DCC = $(COMLDFLAGS)
X     LIBS_DCC = 
X   YFLAGS_DCC = -s 1.5
X  
X       CC_DCA = $(COMCC)
X   CFLAGS_DCA = $(COMCFLAGS)
X       LD_DCA = $(COMCC)
X  LDFLAGS_DCA = $(COMLDFLAGS)
X     LIBS_DCA =
X
X       CC_DCK = $(COMCC)
X   CFLAGS_DCK = $(COMCFLAGS)
X       LD_DCK = $(COMCC)
X  LDFLAGS_DCK = $(COMLDFLAGS)
X     LIBS_DCK =
X
X     CC_CFGFP = $(COMCC)
X CFLAGS_CFGFP = $(COMCFLAGS)
X
X       CC_DCI = $(COMCC)
X   CFLAGS_DCI = $(COMCFLAGS)
X       LD_DCI = $(COMCC)
X  LDFLAGS_DCI = $(COMLDFLAGS) 
X     LIBS_DCI =
X
X       CC_DCL = $(COMCC)
X   CFLAGS_DCL = $(COMCFLAGS)
X       LD_DCL = $(COMCC)
X  LDFLAGS_DCL = $(COMLDFLAGS) 
X     LIBS_DCL =
END_OF_FILE
if test 2631 -ne `wc -c <'macros.UNICOS'`; then
    echo shar: \"'macros.UNICOS'\" unpacked with wrong size!
fi
# end of 'macros.UNICOS'
fi
if test -f 'macros.UNIX' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'macros.UNIX'\"
else
echo shar: Extracting \"'macros.UNIX'\" \(2644 characters\)
sed "s/^X//" >'macros.UNIX' <<'END_OF_FILE'
X#***************************************************************************
X#*                                                                         *
X#* @@@@  @@@ @@@@@ @@@@@ @@@@@ @@@ @@@@  @   @ @@@@@ @@@@@ @@@@       @@@  *
X#* @   @  @  @       @   @   @  @  @   @ @   @   @   @     @   @     @   @ *
X#* @   @  @  @@@@@   @   @@@@@  @  @@@@@ @   @   @   @@@@@ @   @     @     *
X#* @   @  @      @   @   @ @    @  @   @ @   @   @   @     @   @     @   @ *
X#* @@@@  @@@ @@@@@   @   @  @  @@@ @@@@  @@@@@   @   @@@@@ @@@@       @@@  *
X#*                                                                         *
X#*              A compiler for distributed programming with C              *
X#*                                                                         *
X#*                          m a c r o s . U N I X                          *
X#*                                                                         *
X#*                 Version 1.0      CreationDate: 07.07.91                 *
X#*                                    LastUpDate: 02.11.91                 *
X#*                                                                         *
X#* The macro definitions used for building targets for SCO Unix System V.  *
X#*                                                                         *
X#*              Copyright (C) 1991-1994 by Christoph Pleier.               *
X#*                          All rights reserved!                           *
X#***************************************************************************/
X
X           OS = SCO_UNIX
X       SYSTEM = SYSTEM_V
X          IPC = MSGSEM
X      NETWORK = SINGLE
X
X     MAKEDIRS = lib dcc dcadmin dcinstall dclocate
X
X   INSTALLDIR = /usr/chris/Distributed_C
X
X          CPP = /lib/cpp
X     CPPFLAGS = 
X
X    COMCFLAGS = -D$(OS) -D$(SYSTEM) -D$(IPC) -D$(NETWORK) -g
X   COMLDFLAGS = -Me -g
X
X       CC_LIB = cc
X   CFLAGS_LIB = $(COMCFLAGS)
X
X       CC_DCC = cc
X   CFLAGS_DCC = $(COMCFLAGS)
X       LD_DCC = cc
X  LDFLAGS_DCC = $(COMLDFLAGS)
X     LIBS_DCC = -lmalloc -lPW
X#    LIBS_DCC = 
X   YFLAGS_DCC = -Sr1000 -Ss1000 -Sa6000 -Sm10000
X
X       CC_DCA = cc
X   CFLAGS_DCA = $(COMCFLAGS)
X       LD_DCA = cc
X  LDFLAGS_DCA = $(COMLDFLAGS)
X#    LIBS_DCA = -lmalloc -lx
X     LIBS_DCA = -lx
X
X       CC_DCK = cc
X   CFLAGS_DCK = $(COMCFLAGS)
X       LD_DCK = cc
X  LDFLAGS_DCK = $(COMLDFLAGS) 
X     LIBS_DCK =
X
X     CC_CFGFP = cc
X CFLAGS_CFGFP = $(COMCFLAGS)
X
X       CC_DCI = cc
X   CFLAGS_DCI = $(COMCFLAGS)
X       LD_DCI = cc
X  LDFLAGS_DCI = $(COMLDFLAGS) 
X     LIBS_DCI =
X
X       CC_DCL = cc
X   CFLAGS_DCL = $(COMCFLAGS)
X       LD_DCL = cc
X  LDFLAGS_DCL = $(COMLDFLAGS) 
X     LIBS_DCL =
END_OF_FILE
if test 2644 -ne `wc -c <'macros.UNIX'`; then
    echo shar: \"'macros.UNIX'\" unpacked with wrong size!
fi
# end of 'macros.UNIX'
fi
if test -f 'macros.XENIX' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'macros.XENIX'\"
else
echo shar: Extracting \"'macros.XENIX'\" \(2435 characters\)
sed "s/^X//" >'macros.XENIX' <<'END_OF_FILE'
X#***************************************************************************
X#*                                                                         *
X#* @@@@  @@@ @@@@@ @@@@@ @@@@@ @@@ @@@@  @   @ @@@@@ @@@@@ @@@@       @@@  *
X#* @   @  @  @       @   @   @  @  @   @ @   @   @   @     @   @     @   @ *
X#* @   @  @  @@@@@   @   @@@@@  @  @@@@@ @   @   @   @@@@@ @   @     @     *
X#* @   @  @      @   @   @ @    @  @   @ @   @   @   @     @   @     @   @ *
X#* @@@@  @@@ @@@@@   @   @  @  @@@ @@@@  @@@@@   @   @@@@@ @@@@       @@@  *
X#*                                                                         *
X#*              A compiler for distributed programming with C              *
X#*                                                                         *
X#*                         m a c r o s . X E N I X                         *
X#*                                                                         *
X#*                 Version 1.0      CreationDate: 07.07.91                 *
X#*                                    LastUpDate: 02.11.91                 *
X#*                                                                         *
X#* The macro definitions used for building targets for SCO Xenix System V. *
X#*                                                                         *
X#*              Copyright (C) 1991-1994 by Christoph Pleier.               *
X#*                          All rights reserved!                           *
X#***************************************************************************/
X
X           OS = SCO_XENIX
X       SYSTEM = SYSTEM_V
X          IPC = MSGSEM
X      NETWORK = SINGLE
X
X     MAKEDIRS = lib dcc dcadmin
X
X   INSTALLDIR = /usr/chris/Distributed_C
X
X          CPP = /lib/cpp
X     CPPFLAGS = 
X
X    COMCFLAGS = -D$(OS) -D$(SYSTEM) -D$(IPC) -D$(NETWORK) -g
X   COMLDFLAGS = -Me -g
X
X       CC_LIB = cc
X   CFLAGS_LIB = $(COMCFLAGS)
X
X       CC_DCC = cc
X   CFLAGS_DCC = $(COMCFLAGS)
X       LD_DCC = cc
X  LDFLAGS_DCC = $(COMLDFLAGS)
X     LIBS_DCC = -lmalloc -lPW
X
X       CC_DCA = cc
X   CFLAGS_DCA = $(COMCFLAGS) -DYYDEBUG
X       LD_DCA = cc
X  LDFLAGS_DCA = $(COMLDFLAGS)
X     LIBS_DCA = -lmalloc -lx
X
X     CC_CFGFP = cc
X CFLAGS_CFGFP = $(COMCFLAGS)
X
X       CC_DCI = cc
X   CFLAGS_DCI = $(COMCFLAGS)
X       LD_DCI = cc
X  LDFLAGS_DCI = $(COMLDFLAGS) 
X     LIBS_DCI =
X
X       CC_DCL = cc
X   CFLAGS_DCL = $(COMCFLAGS)
X       LD_DCL = cc
X  LDFLAGS_DCL = $(COMLDFLAGS) 
X     LIBS_DCL =
END_OF_FILE
if test 2435 -ne `wc -c <'macros.XENIX'`; then
    echo shar: \"'macros.XENIX'\" unpacked with wrong size!
fi
# end of 'macros.XENIX'
fi
if test -f 'macros.iPSC' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'macros.iPSC'\"
else
echo shar: Extracting \"'macros.iPSC'\" \(2244 characters\)
sed "s/^X//" >'macros.iPSC' <<'END_OF_FILE'
X#***************************************************************************
X#*                                                                         *
X#* @@@@  @@@ @@@@@ @@@@@ @@@@@ @@@ @@@@  @   @ @@@@@ @@@@@ @@@@       @@@  *
X#* @   @  @  @       @   @   @  @  @   @ @   @   @   @     @   @     @   @ *
X#* @   @  @  @@@@@   @   @@@@@  @  @@@@@ @   @   @   @@@@@ @   @     @     *
X#* @   @  @      @   @   @ @    @  @   @ @   @   @   @     @   @     @   @ *
X#* @@@@  @@@ @@@@@   @   @  @  @@@ @@@@  @@@@@   @   @@@@@ @@@@       @@@  *
X#*                                                                         *
X#*              A compiler for distributed programming with C              *
X#*                                                                         *
X#*                        m a c r o s . i P S C                            *
X#*                                                                         *
X#*                 Version 1.0      CreationDate: 07.07.91                 *
X#*                                    LastUpDate: 02.11.91                 *
X#*                                                                         *
X#* The macro definitions used for building targets for the Intel Hypercube.*
X#*                                                                         *
X#*              Copyright (C) 1991-1994 by Christoph Pleier.               *
X#*                          All rights reserved!                           *
X#***************************************************************************/
X
X           OS = iPSC
X       SYSTEM = SYSTEM_V
X          IPC = CUBE
X      NETWORK = HOMOGENEOUS
X
X     MAKEDIRS = lib dcc dcadmin
X
X   INSTALLDIR = /usr/chris/Distributed_C
X
X          CPP = /lib/cpp
X     CPPFLAGS = 
X
X    COMCFLAGS = -D$(OS) -D$(SYSTEM) -D$(IPC) -D$(NETWORK) \
X	        -I/usr/local/include/iPSCsim -g
X   COMLDFLAGS = -g
X
X       CC_LIB = cc
X   CFLAGS_LIB = $(COMCFLAGS) -DSIMULATOR
X
X       CC_DCC = cc
X   CFLAGS_DCC = $(COMCFLAGS)
X       LD_DCC = cc
X  LDFLAGS_DCC = $(COMLDFLAGS)
X     LIBS_DCC = -lmalloc -lPW
X   YFLAGS_DCC = -Sr1000 -Ss1000 -Sa6000 -Sm10000
X
X       CC_DCA = cc
X   CFLAGS_DCA = $(COMCFLAGS)
X       LD_DCA = cc
X  LDFLAGS_DCA = $(COMLDFLAGS)
X     LIBS_DCA = -lxsim -lmalloc
END_OF_FILE
if test 2244 -ne `wc -c <'macros.iPSC'`; then
    echo shar: \"'macros.iPSC'\" unpacked with wrong size!
fi
# end of 'macros.iPSC'
fi
if test ! -d 'other' ; then
    echo shar: Creating directory \"'other'\"
    mkdir 'other'
fi
if test -f 'other/header' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'other/header'\"
else
echo shar: Extracting \"'other/header'\" \(2194 characters\)
sed "s/^X//" >'other/header' <<'END_OF_FILE'
X/***************************************************************************
X *                                                                         *
X * @@@@  @@@ @@@@@ @@@@@ @@@@@ @@@ @@@@  @   @ @@@@@ @@@@@ @@@@       @@@  *
X * @   @  @  @       @   @   @  @  @   @ @   @   @   @     @   @     @   @ *
X * @   @  @  @@@@@   @   @@@@@  @  @@@@@ @   @   @   @@@@@ @   @     @     *
X * @   @  @      @   @   @ @    @  @   @ @   @   @   @     @   @     @   @ *
X * @@@@  @@@ @@@@@   @   @  @  @@@ @@@@  @@@@@   @   @@@@@ @@@@       @@@  *
X *                                                                         *
X *              A compiler for distributed programming with C              *
X *                                                                         *
X *                           M a l l o c . c                               *
X *                                                                         *
X *                            Package : Compiler                           *
X *                            Version : 1.0                                *
X *                       CreationDate : 21.08.90                           *
X *                         LastUpDate : 08.11.91                           *
X *                                                                         *
X *                The routines to allocate and free memory.                *
X *                                                                         *
X *                  Portions Copyright 1990 Franz Distler                  *
X *               Copyright (C) 1990-1994 by Christoph Pleier               *
X *                          All rights reserved!                           *
X ***************************************************************************/
X
X/*
X * This file is part of the Distributed C Development Environment (DCDE).
X * DCDE is free software; you can redistribute it and/or modify
X * it under the terms written in the README-file. 
X * DCDE is distributed in the hope that it will be useful,
X * but WITHOUT ANY WARRANTY; without even the implied warranty of
X * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
X * See the file README for more details.
X */
X
END_OF_FILE
if test 2194 -ne `wc -c <'other/header'`; then
    echo shar: \"'other/header'\" unpacked with wrong size!
fi
# end of 'other/header'
fi
if test ! -d 'sysconf' ; then
    echo shar: Creating directory \"'sysconf'\"
    mkdir 'sysconf'
fi
if test -f 'sysconf/sysinfo.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'sysconf/sysinfo.c'\"
else
echo shar: Extracting \"'sysconf/sysinfo.c'\" \(759 characters\)
sed "s/^X//" >'sysconf/sysinfo.c' <<'END_OF_FILE'
X#include <stdio.h>
X#include <limits.h>
X#include <unistd.h>
X
Xmain()
X{
X    long pnum;	/* maximum number of simultaneous processes */
X    long fnum;  /* maximum number of open files per process */
X    extern int errno;
X
X    errno = 0;
X    
X#ifdef CONVEX
X    pnum = sysconf(_SC_CHILD_MAX);
X#else
X    pnum = sysconf(CHILD_MAX);
X#endif
X    if (pnum == -1) {
X	if (errno == 0)
X	    pnum = 0;
X	else
X	    perror("_SC_CHILD_MAX");
X    }
X
X#ifdef CONVEX
X    fnum = sysconf(_SC_OPEN_MAX);
X#else
X    fnum = sysconf(_SC_OPEN_MAX);
X#endif
X
X    if (pnum == -1) {
X	if (errno == 0)
X	    pnum = 0;
X	else
X	    perror("_SC_OPEN_MAX");
X    }
X
X    printf("             Maximum number of processes : %d\n", pnum);
X    printf("Maximum number of open files per process : %d\n", fnum);
X}
END_OF_FILE
if test 759 -ne `wc -c <'sysconf/sysinfo.c'`; then
    echo shar: \"'sysconf/sysinfo.c'\" unpacked with wrong size!
fi
# end of 'sysconf/sysinfo.c'
fi
echo shar: End of archive 1 \(of 18\).
cp /dev/null ark1isdone
MISSING=""
for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have unpacked all 18 archives.
    rm -f ark[1-9]isdone ark[1-9][0-9]isdone
else
    echo You still need to unpack the following archives:
    echo "        " ${MISSING}
fi
##  End of shell archive.
exit 0
