Newsgroups: comp.sources.unix
From: pleierc@informatik.tu-muenchen.de (Christoph Pleier)
Subject: v27i176: distributed-c-2.1 - Distributed C Development Environment, V2.1, Part02/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 176
Archive-Name: distributed-c-2.1/part02

#! /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 2 (of 18)."
# Contents:  OVERVIEW config/yyfuncts.c dcadmin/Usage.c
#   dcanalyse/Usage.c dcc/code_destroy.c dcinstall/GetLogin.c
#   dcinstall/Makefile dckill/dckill.c dclocate/Makefile
#   examples/config/dcc.config examples/config/performance
#   examples/prod_cons/Makefile examples/prod_cons/buffer.dc
#   examples/test/bench.dc examples/test/error.dc
#   examples/travel/config.h include/dclocate.h include/ipc_iPSC.h
#   include/ipc_msgsem.h include/location.h include/reswords.h
#   ipc/Makefile macros macros.AIX macros.CONVEX macros.HPUX
# Wrapped by vixie@gw.home.vix.com on Thu Dec 23 00:11:56 1993
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'OVERVIEW' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'OVERVIEW'\"
else
echo shar: Extracting \"'OVERVIEW'\" \(3493 characters\)
sed "s/^X//" >'OVERVIEW' <<'END_OF_FILE'
XThe Distributed C Development Environment was developed at Technische
XUniversitaet Muenchen, Germany, at the chair of Prof. Dr. J. Eickel and is 
Xa collection of tools for parallel and distributed programming on single-
Xprocessor-, multiprocessor- and distributed-UNIX-systems, especially on 
Xheterogenous networks of UNIX computers. The environment's main purpose 
Xis to support and to simplify the development of distributed applications 
Xon UNIX networks. It consists of a compiler for a distributed programming 
Xlanguage, called Distributed C, a runtime library and several useful tools.
X
XThe programming model is based on explicit concurrency specification in the 
Xprogramming language Distributed C, which is an extension of standard C. 
XDistributed C makes possible the common programming in C together with the 
Xuser-friendly programming of process management, i. e. the specification, 
Xcreation, synchronization, communication and termination of concurrently 
Xexecuted processes.
X
XThe Distributed C Development Environment supports and simplifies the dis-
Xtributed programming in several ways:
X
X    o Development time is reduced by checking Distributed C programs for
X      errors during compilation. Because of that, errors within communication
X      or synchronization actions can be easier detected and avoided.
X    o Programming is simplified by allowing the use of simple pointer types
X      even on loosely-coupled systems. This is perhaps the most powerful
X      feature of Distributed C. In this way, dynamic structures like linked
X      lists or trees can be passed between processes elegantly and easily -
X      even in heterogeneous networks. Only the anchor of a dynamic structure
X      must be passed to another process. The runtime system automatically
X      allocates heap space and copies the complete structure.
X    o Developement is user-friendly by supporting the generation and 
X      installation of the executable files. A special concept was developed
X      for performing the generation and storage of binaries by local and
X      remote compilation in heterogeneous UNIX-networks.
X    o Programming difficulty is reduced by software-aided allocating processes
X      at runtime. Only the system administrator needs to have special knowledge
X      about the target system's hardware. The user can apply tools to map the
X      processes of a Distributed C program to the hosts of a concrete target
X      system.
X    o Execution time is reduced by allocating processes to nodes of a network
X      with a static load balancing strategy.
X    o Programming is simplified because singleprocessor-, multiprocessor- and
X      distributed-UNIX-systems, especially homogeneous and heterogeneous UNIX-
X      networks can be programmed fully transparently in Distributed C.
X
XThe environment runs on the following systems:
X
X    o Sun SPARCstations (SunOS), 
X    o Hewlett Packard workstations (HP/UX),
X    o IBM workstations (AIX), 
X    o IBM ATs (SCO XENIX, SCO UNIX, LINUX),
X    o Convex supercomputers (ConvexOS),
X    o Cray supercomputers (Unicos),
X    o homogeneous and heterogeneous networks of the systems as mentioned above.
X
XMoreover the implementation was designed for the use on Intel iPSC/2s. 
X
XThe Distributed C Development Environment source code is provided "as is" 
Xas free software and distributed in the hope that it will be useful,
Xbut without warranty of any kind. See the file 'README' for details.
X
X	pleierc@informatik.tu-muenchen.de (Christoph Pleier)
END_OF_FILE
if test 3493 -ne `wc -c <'OVERVIEW'`; then
    echo shar: \"'OVERVIEW'\" unpacked with wrong size!
fi
# end of 'OVERVIEW'
fi
if test -f 'config/yyfuncts.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'config/yyfuncts.c'\"
else
echo shar: Extracting \"'config/yyfuncts.c'\" \(3503 characters\)
sed "s/^X//" >'config/yyfuncts.c' <<'END_OF_FILE'
X/***************************************************************************
X *                                                                         *
X * @@@@  @@@ @@@@@ @@@@@ @@@@@ @@@ @@@@  @   @ @@@@@ @@@@@ @@@@       @@@  *
X * @   @  @  @       @   @   @  @  @   @ @   @   @   @     @   @     @   @ *
X * @   @  @  @@@@@   @   @@@@@  @  @@@@@ @   @   @   @@@@@ @   @     @     *
X * @   @  @      @   @   @ @    @  @   @ @   @   @   @     @   @     @   @ *
X * @@@@  @@@ @@@@@   @   @  @  @@@ @@@@  @@@@@   @   @@@@@ @@@@       @@@  *
X *                                                                         *
X *              A compiler for distributed programming with C              *
X *                                                                         *
X *                           y y f u n c t s . c                           *
X *                                                                         *
X *                            Package : Configuration Files Parsers        *
X *                            Version : 1.0                                *
X *                       CreationDate : 26.02.92                           *
X *                         LastUpDate : 26.02.92                           *
X *                                                                         *
X *              The routines yacc uses: 'yyerror', 'yywrap'.               *
X *                                                                         *
X *               Copyright (C) 1992-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
X#include <stdio.h>
X
X/******************************************************************************
X * yyerror()                                                                  *
X *                                                                            *
X * Writes a parser error message to stdout.                                   *
X *                                                                            *
X * Return values: none!                                                       *
X ******************************************************************************/
Xint yyerror(s)
Xchar *s;
X{
X	extern int yylineno, yynerrs;
X	extern char yytext[];
X
X	printf("syntax error in configuration file: line %d at \"%s\"\n", 
X	    yylineno, yytext);
X	yynerrs++;
X} /* yyerror */
X
X/******************************************************************************
X * yywrap()                                                                   *
X *                                                                            *
X * This is a dummy routine needed for YACC and is called at end of parsing.   *
X *                                                                            *
X * Return values: always 1                                                    *
X ******************************************************************************/
Xint yywrap()
X{
X	return(1);
X} /* yywrap */
END_OF_FILE
if test 3503 -ne `wc -c <'config/yyfuncts.c'`; then
    echo shar: \"'config/yyfuncts.c'\" unpacked with wrong size!
fi
# end of 'config/yyfuncts.c'
fi
if test -f 'dcadmin/Usage.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'dcadmin/Usage.c'\"
else
echo shar: Extracting \"'dcadmin/Usage.c'\" \(3503 characters\)
sed "s/^X//" >'dcadmin/Usage.c' <<'END_OF_FILE'
X/***************************************************************************
X *                                                                         *
X * @@@@  @@@ @@@@@ @@@@@ @@@@@ @@@ @@@@  @   @ @@@@@ @@@@@ @@@@       @@@  *
X * @   @  @  @       @   @   @  @  @   @ @   @   @   @     @   @     @   @ *
X * @   @  @  @@@@@   @   @@@@@  @  @@@@@ @   @   @   @@@@@ @   @     @     *
X * @   @  @      @   @   @ @    @  @   @ @   @   @   @     @   @     @   @ *
X * @@@@  @@@ @@@@@   @   @  @  @@@ @@@@  @@@@@   @   @@@@@ @@@@       @@@  *
X *                                                                         *
X *              A compiler for distributed programming with C              *
X *                                                                         *
X *                              U s a g e . c                              *
X *                                                                         *
X *                            Package : Administration Process             *
X *                            Version : 1.0                                *
X *                       CreationDate : 09.03.92                           *
X *                         LastUpDate : 09.03.92                           *
X *                                                                         *
X *  The routine 'DisplayUsage' which writes the usage message to stdout.   *
X *                                                                         *
X *              Copyright (C) 1992-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
X#include <stdio.h>
X#include <sys/types.h>
X#ifdef HETEROGENEOUS
X# include <rpc/rpc.h>
X#endif
X#include "ipc.h"
X#include "dcc.h"
X#include "timeout.h"
X#include "dcadmin.h"
X
X/******************************************************************************
X * DisplayUsage()                                                             *
X *                                                                            *
X * Displays the usage message on stdout.                                      *
X *                                                                            *
X * Return values: none!                                                       *
X ******************************************************************************/
Xint
XDisplayUsage()
X{
X    puts("This process will be generated automatically at the beginning of the");
X    puts("execution of a Distributed C program.");
X#ifdef USE_MAPFILE
X    printf("Default filename of mapfile is \"~/%s\".", CONFIGFILE);
X#else
X    puts("You may start it manually to check the process to node allocation.");
X    puts("To do so, use the command line option '-check_allocation'.");
X    puts("Optional in combination with '-f filename' to specify the filename");
X    puts("of the input file, too.");
X    printf("Default filename of information file is \"~/%s\".", CONFIGFILE);
X#endif /* USE_MAPFILE /**/
X    puts("");
X} /* DisplayUsage */ 
END_OF_FILE
if test 3503 -ne `wc -c <'dcadmin/Usage.c'`; then
    echo shar: \"'dcadmin/Usage.c'\" unpacked with wrong size!
fi
# end of 'dcadmin/Usage.c'
fi
if test -f 'dcanalyse/Usage.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'dcanalyse/Usage.c'\"
else
echo shar: Extracting \"'dcanalyse/Usage.c'\" \(3482 characters\)
sed "s/^X//" >'dcanalyse/Usage.c' <<'END_OF_FILE'
X/***************************************************************************
X *                                                                         *
X * @@@@  @@@ @@@@@ @@@@@ @@@@@ @@@ @@@@  @   @ @@@@@ @@@@@ @@@@       @@@  *
X * @   @  @  @       @   @   @  @  @   @ @   @   @   @     @   @     @   @ *
X * @   @  @  @@@@@   @   @@@@@  @  @@@@@ @   @   @   @@@@@ @   @     @     *
X * @   @  @      @   @   @ @    @  @   @ @   @   @   @     @   @     @   @ *
X * @@@@  @@@ @@@@@   @   @  @  @@@ @@@@  @@@@@   @   @@@@@ @@@@       @@@  *
X *                                                                         *
X *              A compiler for distributed programming with C              *
X *                                                                         *
X *                              U s a g e . c                              *
X *                                                                         *
X *                            Package : System Analyser                    *
X *                            Version : 1.0                                *
X *                       CreationDate : 05.03.92                           *
X *                         LastUpDate : 13.03.92                           *
X *                                                                         *
X *  The routine 'DisplayUsage' which writes the usage message to stdout.   *
X *                                                                         *
X *                 Copyright (C) 1992 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
X#include <stdio.h>
X#include "cfgparsers.h"
X
X/******************************************************************************
X * DisplayUsage()                                                             *
X *                                                                            *
X * Displays the usage message on stdout.                                      *
X *                                                                            *
X * Return values: none!                                                       *
X ******************************************************************************/
Xint
XDisplayUsage()
X{
X    puts("Usage: dcanalyse [options] [filename]");
X    puts("Options:");
X    puts("   -f filename        use filename as system configuration file");
X    puts("   -n num             perform test num times to get average values");
X    puts("   -target all        measure all hosts specified in configuration file");
X    puts("   -target hostname   measure hostname");
X    puts("   -no_measure        do not measure, write only names to file");
X    puts("   -append            append result to system configuration file");
X    puts("   -verbose           display infos about performed actions");
X#ifdef YYDEBUG
X    puts("   -yydebug           write infos about parsing to stdout");
X#endif /* YYDEBUG /**/
X    puts("");
X} /* DisplayUsage */ 
END_OF_FILE
if test 3482 -ne `wc -c <'dcanalyse/Usage.c'`; then
    echo shar: \"'dcanalyse/Usage.c'\" unpacked with wrong size!
fi
# end of 'dcanalyse/Usage.c'
fi
if test -f 'dcc/code_destroy.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'dcc/code_destroy.c'\"
else
echo shar: Extracting \"'dcc/code_destroy.c'\" \(3500 characters\)
sed "s/^X//" >'dcc/code_destroy.c' <<'END_OF_FILE'
X/***************************************************************************
X *                                                                         *
X * @@@@  @@@ @@@@@ @@@@@ @@@@@ @@@ @@@@  @   @ @@@@@ @@@@@ @@@@       @@@  *
X * @   @  @  @       @   @   @  @  @   @ @   @   @   @     @   @     @   @ *
X * @   @  @  @@@@@   @   @@@@@  @  @@@@@ @   @   @   @@@@@ @   @     @     *
X * @   @  @      @   @   @ @    @  @   @ @   @   @   @     @   @     @   @ *
X * @@@@  @@@ @@@@@   @   @  @  @@@ @@@@  @@@@@   @   @@@@@ @@@@       @@@  *
X *                                                                         *
X *              A compiler for distributed programming with C              *
X *                                                                         *
X *                       c o d e _ d e s t r o y . c                       *
X *                                                                         *
X *                            Package : Compiler                           *
X *                            Version : 1.1                                *
X *                       CreationDate : 05.09.90                           *
X *                         LastUpDate : 07.04.91                           *
X *                                                                         *
X *              The function to destroy a process forcefully.              *
X *                                                                         *
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
X#include <stdio.h>
X#include <sys/types.h>
X#include <signal.h>
X#include "config.h"
X#include "extern.h"
X#include "functions.h"
X#include "com_Errno.h"
X#include "timeout.h"
X
X/******************************************************************************
X * generate_destroy_process_code()                                            *
X *                                                                            *
X * Generates the code to destroy (kill) a particular process.                 *
X *                                                                            *
X * Return values: pointer to generated code string upon success /             *
X *                NULL during error handling                                  *
X ******************************************************************************/
Xchar *
Xgenerate_destroy_process_code(p_varstr)
Xchar *p_varstr;
X{
X    register char *cmd;
X    char tmpstr[20];
X
X    if (errflag)	/* error handling! */
X        return(NULL);
X#ifdef CODEDEBUG
X    fputs("[code] ***** generate_destroy_process_code():\n", debugfile);
X#endif  /* CODEDEBUG /**/
X    cmd = strmalloc("if (_destroy_process(");
X    sprintf(tmpstr, ", %d", SIGUSR1);
X    cmd = Strcatmany(cmd, 3, p_varstr, tmpstr, "))\n");
X    cmd = Strcat(cmd, "\t_RuntimeError(\"destroying process\");\n");
X    Free(p_varstr);
X    return(cmd);
X} /* generate_destroy_process_code */
END_OF_FILE
if test 3500 -ne `wc -c <'dcc/code_destroy.c'`; then
    echo shar: \"'dcc/code_destroy.c'\" unpacked with wrong size!
fi
# end of 'dcc/code_destroy.c'
fi
if test -f 'dcinstall/GetLogin.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'dcinstall/GetLogin.c'\"
else
echo shar: Extracting \"'dcinstall/GetLogin.c'\" \(3018 characters\)
sed "s/^X//" >'dcinstall/GetLogin.c' <<'END_OF_FILE'
X/***************************************************************************
X *                                                                         *
X * @@@@  @@@ @@@@@ @@@@@ @@@@@ @@@ @@@@  @   @ @@@@@ @@@@@ @@@@       @@@  *
X * @   @  @  @       @   @   @  @  @   @ @   @   @   @     @   @     @   @ *
X * @   @  @  @@@@@   @   @@@@@  @  @@@@@ @   @   @   @@@@@ @   @     @     *
X * @   @  @      @   @   @ @    @  @   @ @   @   @   @     @   @     @   @ *
X * @@@@  @@@ @@@@@   @   @  @  @@@ @@@@  @@@@@   @   @@@@@ @@@@       @@@  *
X *                                                                         *
X *              A compiler for distributed programming with C              *
X *                                                                         *
X *                           G e t L o g i n . c                           *
X *                                                                         *
X *                            Package : Installer Program                  *
X *                            Version : 1.0                                *
X *                       CreationDate : 25.11.92                           *
X *                         LastUpDate : 28.12.92                           *
X *                                                                         *
X *        The routine 'GetLogint' which reads the user login name.         *
X *                                                                         *
X *               Copyright (C) 1991-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
X#include <stdio.h>
X#include <stddef.h>
X#include <stdlib.h>
X#include <string.h>
X#include <unistd.h>
X#include <pwd.h>
X#include "cfgparsers.h"
X#include "dcinstall.h"
X
X/******************************************************************************
X * GetLogin()                                                                 *
X *                                                                            *
X * Reads the user login name.                                                 *
X *                                                                            *
X * Return values: pointer to read name upon success / ERROR upon error        *
X ******************************************************************************/
Xchar *
XgetLogin()
X{
X    struct passwd *pwd;
X
X    if ((pwd = getpwuid(getuid())) == NULL)
X        return("user login name unknown");
X
X    return(pwd->pw_name);
X} /* getLogin */
END_OF_FILE
if test 3018 -ne `wc -c <'dcinstall/GetLogin.c'`; then
    echo shar: \"'dcinstall/GetLogin.c'\" unpacked with wrong size!
fi
# end of 'dcinstall/GetLogin.c'
fi
if test -f 'dcinstall/Makefile' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'dcinstall/Makefile'\"
else
echo shar: Extracting \"'dcinstall/Makefile'\" \(3502 characters\)
sed "s/^X//" >'dcinstall/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#*                            Package : Installer Program                  *
X#*                            Version : 1.0                                *
X#*                       CreationDate : 20.11.91                           *
X#*                         LastUpDate : 20.11.91                           *
X#*                                                                         *
X#*             The makefile to generate the installer program.             *
X#*                                                                         *
X#*               Copyright (C) 1991-1994 by Christoph Pleier               *
X#*                          All rights reserved!                           *
X#***************************************************************************/
X
X#.SILENT
X
X# Some utility programs
X  SHELL = /bin/sh
X   MAKE = make
X   YACC = yacc 
X YFLAGS = -vd
X#   YACC = bison 
X# YFLAGS = -yvd
X    LEX = lex
X LFLAGS =
X
X# The path of the include files
XINCLUDEDIR = ../include
X
X# The path of the runtime library files
XLIBRARYDIR = ../lib
X
X# Include target system specific macros
Xinclude ../macros
X
X# Set appropriate macros
X     CC = $(CC_DCI)
X CFLAGS = $(CFLAGS_DCI) -DDCINSTALL -I$(INCLUDEDIR) \
X	  -DINCLUDEDIR=\"$(INSTALLDIR)/include\" \
X	  -DLIBRARYDIR=\"$(INSTALLDIR)/lib\"
X     LD = $(LD_DCI)
XLDFLAGS = $(LDFLAGS_DCI)
X   LIBS = $(LIBS_DCI)
X
X# The name of the installer program
XINSTALLERNAME = dcinstall
X
X# All source files needed to build the installer program
XSRCS =	Clean.c Compile.c GetLogin.c ParseOptions.c Prepare.c Transfer.c \
X	Usage.c main.c
X
X# All object files needed to build the installer program
XOBJS = $(SRCS:.c=.o)
X
X# The object files for parsing and managing the symbol table
XPARSOBJS = ../config/debug.o ../config/symb_general.o ../config/symb_system.o \
X	   ../config/pars_system.o ../config/scanner.o ../config/util.o \
X	   ../config/yyfuncts.o
X
X# All include files needed to build the administration process
XINCLFILES = 
X
X.c.o:
X	@echo "***** Compiling $<"
X	$(CC) $(CFLAGS) -c $<
X
Xall: 
X	echo $(CHRIS)
X	@echo ""
X	@echo "BUILDING THE INSTALLER PROGRAM..."
X	$(MAKE) $(INSTALLERNAME)
X	@echo DONE!
X
X$(INSTALLERNAME): $(INCLFILES) $(OBJS) $(PARSOBJS)
X	@echo "***** Loading"
X	$(LD) -o $(INSTALLERNAME) $(LDFLAGS) $(OBJS) $(PARSOBJS) $(LIBS)
X
X$(PARSOBJS):
X	( cd ../config ; $(MAKE) )
X
Xdepend: $(INCLUDEDIR)/ipc.h 
X	@echo "creating dependencies in Makefile"
X	makedepend $(CFLAGS) $(SRCS)
X
Xclean:
X	@echo "Cleaning the directory..."
X	-\rm -f *.o $(INSTALLERNAME) 
X	@echo done!
X
X# Other dependencies generated by make depend
X$(OBJS): ../include/dcinstall.h
END_OF_FILE
if test 3502 -ne `wc -c <'dcinstall/Makefile'`; then
    echo shar: \"'dcinstall/Makefile'\" unpacked with wrong size!
fi
# end of 'dcinstall/Makefile'
fi
if test -f 'dckill/dckill.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'dckill/dckill.c'\"
else
echo shar: Extracting \"'dckill/dckill.c'\" \(2779 characters\)
sed "s/^X//" >'dckill/dckill.c' <<'END_OF_FILE'
X/***************************************************************************
X *                                                                         *
X * @@@@  @@@ @@@@@ @@@@@ @@@@@ @@@ @@@@  @   @ @@@@@ @@@@@ @@@@       @@@  *
X * @   @  @  @       @   @   @  @  @   @ @   @   @   @     @   @     @   @ *
X * @   @  @  @@@@@   @   @@@@@  @  @@@@@ @   @   @   @@@@@ @   @     @     *
X * @   @  @      @   @   @ @    @  @   @ @   @   @   @     @   @     @   @ *
X * @@@@  @@@ @@@@@   @   @  @  @@@ @@@@  @@@@@   @   @@@@@ @@@@       @@@  *
X *                                                                         *
X *              A compiler for distributed programming with C              *
X *                                                                         *
X *                            d c k i l l . c                              *
X *                                                                         *
X *                 Version 1.0      CreationDate: 19.10.90                 *
X *                                    LastUpDate: 19.10.90                 *
X *                                                                         *
X * The 'distributed C process killer process' used to forcefully terminate *
X * processes.                                                              *
X *                                                                         *
X *        Copyright (C) 1990 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
X#include <stdio.h>
X#include <sys/types.h>
X#include <signal.h>
X#include <time.h>
X#include <sys/timeb.h>
X#include <errno.h>
X#include <sys/wait.h>
X#include "config.h"
X#include "version.h"
X
X/* #define KILLERDEBUG /**/
X
X#ifdef KILLERDEBUG
X# define DEBUGPUTS(str)		printf("[dbg] %s %s\n", _processprefix, str) 
X# define DEBUGFPRINTF(f, a)	printf(f, a)
X#else
X# define DEBUGPUTS(str)		/* nothing */
X# define DEBUGFPRINTF(f, a)	/* nothing */
X#endif /* KILLERDEBUG /**/
X
Xmain(argc, argv)
Xint    argc;
Xchar **argv;
X{
X    int i, sig, pid;
X
X    sig = atoi(++argv);
X    for(++argv; *argv; ++argv) {
X	pid = atoi(*argv);
X#ifdef KILLERDEBUG
X	printf("Killing process with PID %d (sig = %d)\n", pid, sig);
X#endif /* KILLERDEBUG /**/
X	kill(pid, sig);
X    }
X}
END_OF_FILE
if test 2779 -ne `wc -c <'dckill/dckill.c'`; then
    echo shar: \"'dckill/dckill.c'\" unpacked with wrong size!
fi
# end of 'dckill/dckill.c'
fi
if test -f 'dclocate/Makefile' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'dclocate/Makefile'\"
else
echo shar: Extracting \"'dclocate/Makefile'\" \(3463 characters\)
sed "s/^X//" >'dclocate/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#*                            Package : Locator Program                    *
X#*                            Version : 1.0                                *
X#*                       CreationDate : 26.02.92                           *
X#*                         LastUpDate : 26.02.92                           *
X#*                                                                         *
X#*              The makefile to generate the locator program.              *
X#*                                                                         *
X#*               Copyright (C) 1992-1994 by Christoph Pleier               *
X#*                          All rights reserved!                           *
X#***************************************************************************/
X
X#.SILENT
X
X# Some utility programs
X  SHELL = /bin/sh
X   MAKE = make
X   YACC = yacc 
X YFLAGS = -vd
X#   YACC = bison 
X# YFLAGS = -yvd
X    LEX = lex
X LFLAGS =
X
X# The path of the include files
XINCLUDEDIR = ../include
X
X# The path of the runtime library files
XLIBRARYDIR = ../lib
X
X# Include target system specific macros
Xinclude ../macros
X
X# Set appropriate macros
X     CC = $(CC_DCL)
X CFLAGS = $(CFLAGS_DCL) -DDCLOCATE -I$(INCLUDEDIR) 
X     LD = $(LD_DCL)
XLDFLAGS = $(LDFLAGS_DCL)
X   LIBS = $(LIBS_DCL)
X
X# The name of the locator program
XLOCATORNAME = dclocate
X
X# All source files needed to build the installer program
XSRCS = BuildLists.c main.c ParseOptions.c Usage.c
X
X# All object files needed to build the installer program
XOBJS = $(SRCS:.c=.o)
X
X# The object files for parsing and managing the symbol table
XPARSOBJS = ../config/debug.o ../config/symb_general.o \
X	   ../config/symb_system.o ../config/symb_program.o \
X	   ../config/yyfuncts.o ../config/scanner.o ../config/util.o \
X	   ../config/pars_program.o ../config/pars_system.o \
X	   ../config/SaveSymbtab.o
X
X# All include files needed to build the administration process
XINCLFILES = 
X
X.c.o:
X	@echo "***** Compiling $<"
X	$(CC) $(CFLAGS) -c $<
X
Xall: 
X	@echo ""
X	@echo "BUILDING THE LOCATOR PROGRAM..."
X	$(MAKE) $(LOCATORNAME)
X	@echo DONE!
X
X$(LOCATORNAME): $(INCLFILES) $(OBJS) $(PARSOBJS)
X	@echo "***** Loading"
X	$(LD) -o $(LOCATORNAME) $(LDFLAGS) $(OBJS) $(PARSOBJS) $(LIBS)
X
X$(PARSOBJS):
X	( cd ../config ; $(MAKE) )
X
Xdepend: $(INCLUDEDIR)/ipc.h lex.yy.c
X	@echo "creating dependencies in Makefile"
X	makedepend $(CFLAGS) $(SRCS)
X
Xclean:
X	@echo "Cleaning the directory..."
X	-\rm -f *.o $(LOCATORNAME) *.dat
X	@echo done!
X
X# Other dependencies generated by make depend
Xy.tab.h: y.tab.c
X$(OBJS): ../include/dclocate.h
END_OF_FILE
if test 3463 -ne `wc -c <'dclocate/Makefile'`; then
    echo shar: \"'dclocate/Makefile'\" unpacked with wrong size!
fi
# end of 'dclocate/Makefile'
fi
if test -f 'examples/config/dcc.config' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/config/dcc.config'\"
else
echo shar: Extracting \"'examples/config/dcc.config'\" \(2923 characters\)
sed "s/^X//" >'examples/config/dcc.config' <<'END_OF_FILE'
X# dcc.config - default configuration file 
X#
X# This is an example for an process creation configuration file 
X# used in combination with 'dcadmin'.
X# To get processes allocated by such a map file you must define the correct
X# constant during compilation!
X
X# the correct syntax for an entry is:
X# for Intel Hypercube iPSC/2
X#     [num] [processname] [at] node-x
X#     e.g. "1 Nullstellen at node-1"
X# for Xenix or BSD
X#     [num] [processname] [at] [username@]hostname
X#     e.g. "3 Nullstellen at sun1"
X
X# entries for 'nullst.dc'
X1 Nullstellen at hphalle7a
X1 Nullstellen at suneickel4
X1 Nullstellen at hphalle7b
X1 Nullstellen at suneickel5
X1 Nullstellen at hphalle7c
X1 Nullstellen at suneickel6
X1 Nullstellen at hphalle7d
X1 Nullstellen at suneickel7
X1 Nullstellen at hphalle7e
X1 Nullstellen at suneickel8
X1 Nullstellen at hphalle7f
X1 Nullstellen at suneickel9
X1 Nullstellen at hphalle7g
X
X# entries for 'philo.dc'
Xfork at suneickel2
Xfork at suneickel4
Xfork at suneickel5
Xfork at suneickel6
Xfork at suneickel7
Xfork at suneickel8
Xfork at suneickel9
Xphilosopher at suneickel2
Xphilosopher at suneickel4
Xphilosopher at suneickel5
Xphilosopher at suneickel6
Xphilosopher at suneickel7
Xphilosopher at suneickel8
Xphilosopher at suneickel9
X
X# entries for producer/consumer-example
Xbuffer   at suneickel9
Xproducer at suneickel2
Xproducer at suneickel4
Xproducer at suneickel5
Xconsumer at suneickel6
Xconsumer at suneickel7
Xconsumer at suneickel8
X
X# entries for 'travel.dc'
Xbuild_route at suneickel2
Xbuild_route at hphalle7a
Xbuild_route at suneickel4
Xbuild_route at hphalle7b
Xbuild_route at suneickel5
Xbuild_route at hphalle7c
Xbuild_route at suneickel6
Xbuild_route at hphalle7d
Xbuild_route at suneickel7
Xbuild_route at hphalle7e
Xbuild_route at suneickel8
Xbuild_route at hphalle7f
Xbuild_route at suneickel9
Xbuild_route at hphalle7g
X
Xgenerate_world at hphalle7
Xhphalle7a
Xhphalle7b
Xhphalle7c
Xhphalle7d
Xhphalle7e
Xhphalle7f
Xhphalle7g
Xhphalle7h
Xhphalle7i
Xhphalle7j
Xhphalle0
Xhphalle1
Xhphalle2
Xhphalle3
Xhphalle4
Xhphalle5
Xhphalle6
Xhphalle8
Xhphalle9
Xhphalle8a
Xhphalle8b
Xhphalle8c
Xhphalle8d
Xhphalle8e
Xhphalle8f
Xhphalle8g
Xhphalle8h
Xhphalle8i
Xhphalle8j
Xhphalle9a
Xhphalle9b
Xhphalle9c
Xhphalle9d
Xhphalle9e
Xhphalle9f
Xhphalle9g
Xhphalle9h
Xhphalle9i
Xhphalle9j
Xhphalle0a
Xhphalle0b
Xhphalle0c
Xhphalle0d
Xhphalle0e
Xhphalle0f
Xhphalle0g
Xhphalle0h
Xhphalle0i
Xhphalle0j
Xhphalle1a
Xhphalle1b
Xhphalle1c
Xhphalle1d
Xhphalle1e
Xhphalle1f
Xhphalle1g
Xhphalle1h
Xhphalle1i
Xhphalle1j
Xhphalle2a
Xhphalle2b
Xhphalle2c
Xhphalle2d
Xhphalle2e
Xhphalle2f
Xhphalle2g
Xhphalle2h
Xhphalle2i
Xhphalle2j
Xhphalle3a
Xhphalle3b
Xhphalle3c
Xhphalle3d
Xhphalle3e
Xhphalle3f
Xhphalle3g
Xhphalle3h
Xhphalle3i
Xhphalle3j
Xhphalle4a
Xhphalle4b
Xhphalle4c
Xhphalle4d
Xhphalle4e
Xhphalle4f
Xhphalle4g
Xhphalle4h
Xhphalle3i
Xhphalle4j
Xhphalle5a
Xhphalle5b
Xhphalle5c
Xhphalle5d
Xhphalle5e
Xhphalle5f
Xhphalle5g
Xhphalle5h
Xhphalle5i
Xhphalle5j
Xhphalle6a
Xhphalle6b
Xhphalle6c
Xhphalle6d
Xhphalle6e
Xhphalle6f
Xhphalle6g
Xhphalle6h
Xhphalle6i
Xhphalle6j
END_OF_FILE
if test 2923 -ne `wc -c <'examples/config/dcc.config'`; then
    echo shar: \"'examples/config/dcc.config'\" unpacked with wrong size!
fi
# end of 'examples/config/dcc.config'
fi
if test -f 'examples/config/performance' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/config/performance'\"
else
echo shar: Extracting \"'examples/config/performance'\" \(3487 characters\)
sed "s/^X//" >'examples/config/performance' <<'END_OF_FILE'
XThe performance index of the node computers must be specified in system
Xconfiguration files. These indexes must not be absolut values but must be 
Xin correct proportion together. All indexes used in this system configuration
Xfiles are drawn from the benchmark test performed by Jack J. Dongarra:
X
X  Performance of Various Computers Using Standard Linear Equitations Software
X
X                           Jack J. Dongarra
X
X                      Computer Science Department
X                        University of Tennesee
X                       Knoxville, TN 37996-1301
X
X                                  and
X
X                     Mathematical Sciences Section
X                     Oak Ridge National Laboratory
X                          Oak Ridge, TN 37831
X
X                      email: dongarra@cs.utk.edu
X                       Fax number : 615-974-8296
X
X                             March 3, 1992
X
XThis report is updated from time to time. A fax copy of this report can be 
Xsupplied, for details contact the author. To obtain a Postscript copy of the 
Xreport send mail to netlib@ornl.gov and in the message type: "send performance 
Xfrom benchmark".
X
XHere are some interesting values:
X
XComputer                          | Mflops
X----------------------------------------------------------------------------
XCONVEX C-3840 (4 proc.) (16.7ns)  | 75
XCONVEX C-3830 (3 proc.) (16.7ns)  | 71
XCONVEX C-3820 (2 proc.) (16.7ns)  | 62
XCONVEX C-3810 (1 proc.) (16.7ns)  | 44
XCONVEX C-3440 (4 proc.)           | 34
XCONVEX C-3430 (3 proc.)           | 32
XCONVEX C-3420 (2 proc.)           | 27
XCONVEX C-3410 (1 proc.)           | 19
XCONVEX C-3240 (4 proc.)           | 26
XCONVEX C-3230 (3 proc.)           | 26
XCONVEX C-3220 (2 proc.)           | 22
XCONVEX C-3210 (1 proc.)           | 17
XCONVEX C-240  (4 proc.)           | 26
XCONVEX C-230  (3 proc.)           | 26
XCONVEX C-220  (2 proc.)           | 22
XCONVEX C-210  (1 proc.)           | 17
X----------------------------------------------------------------------------
XHP 9000/730 (66Mhz)               | 24
XHP 9000/720 (50Mhz)               | 18
XHP 9000 Series 850 w/fp           | 1.6
XHP 9000 Series 850                | .71
XHP 9000 Series 840                | .49
XHP 9000 Series 835                | 1.8
XHP 9000 Series 825                | .53
XHP 9000 Series 500                | .043
XHP 9000 Series 350                | .11
XHP 9000 Series 330                | .087
XHP 9000 Series 320                | .073
XHP 9000 Series 200                | .0062
XHP Vectra RS/20C (20Mhz)          | .14
X----------------------------------------------------------------------------
XSUN 4/600 MP                      | 4.3
XSUN 4/490                         | 3.6
XSUN 4/370                         | 2.7
XSUN 4/330 SparcServer             | 2.5
XSUN 4/260                         | 1.1
XSUN 4/50 IPX                      | 4.1
XSUN 3/260 + FPA                   | .46
XSUN 3/260 (20Mhz 68881)           | .11
XSUN 3/160 + FPA                   | .40
XSUN 3/160 (16.7Mhz 68881)         | .10
XSUN 3/50 (16.7Mhz 68881)          | .087
XSUN 2/50 + SKY FFP                | .027
XSUN 2/50                          | .0055
XSUN SPARCstation IPX              | 4.1
XSUN SPARCstation 2                | 4.0
XSUN SPARCstation 1                | 1.4
XSUN SPARCstation 1+               | 1.8
XSUN 386i/250 (25Mhz)              | .19
X----------------------------------------------------------------------------
XCompaq Deskpro 486/33l-120w/487   | 1.3
XCompaq 386/20w/387                | .16
END_OF_FILE
if test 3487 -ne `wc -c <'examples/config/performance'`; then
    echo shar: \"'examples/config/performance'\" unpacked with wrong size!
fi
# end of 'examples/config/performance'
fi
if test -f 'examples/prod_cons/Makefile' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/prod_cons/Makefile'\"
else
echo shar: Extracting \"'examples/prod_cons/Makefile'\" \(2816 characters\)
sed "s/^X//" >'examples/prod_cons/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: 17.07.91                 *
X#*                                    LastUpDate: 17.07.91                 *
X#*                                                                         *
X#* The makefile to generate all programs of the producer/consumer example. *
X#*                                                                         *
X#*              Copyright (C) 1990,1991 by Christoph Pleier.               *
X#*                          All rights reserved!                           *
X#***************************************************************************
X
X   SHELL = /bin/sh
X    MAKE = @/bin/make
X    ECHO = @echo
X      CC = dcinstall
X  CFLAGS = $(TARGETS)
X      LD = dcinstall
X  LFLAGS = $(TARGETS)
X# add -lx to LIBS for System V
X    LIBS = 
X      CB = /usr/bin/cb
X CBFLAGS = -l 82
X
XTARGETS = -target local -target suneickel6 -target hpeick6
X
XBIN = buffer_p01 producer_p02 consumer_p03 main
X
X.c.o:
X	$(ECHO) ""
X	$(ECHO) "***** Compiling $<"
X	$(CC) $(CFLAGS) -c $<
X
Xall: 
X	$(MAKE) $(BIN)
X	$(ECHO) ""
X	$(ECHO) "All done!"
X	$(ECHO) "Type 'rehash' [ENTER] and start 'main' to test the example!"
X
X
Xbuffer_p01: buffer.dc
X	$(ECHO) ""
X	$(ECHO) "***** Building $@"
X	dcc -abi -C "$(CFLAGS)" buffer.dc
X
Xproducer_p02: buffer_sr.o producer.dc
X	$(ECHO) ""
X	$(ECHO) "***** Building $@"
X	dcc -abi -C "$(CFLAGS)" -L "buffer_sr.o" producer.dc
X#	$(LD) -o producer_p02 $(LFLAGS) buffer_sr.o producer_p02.o $(LIBS)
X
Xconsumer_p03: buffer_sr.o consumer.dc
X	$(ECHO) ""
X	$(ECHO) "***** Building $@"
X	dcc -abi -C "$(CFLAGS)" -L "buffer_sr.o" consumer.dc
X#	$(LD) -o consumer_p03 $(LFLAGS) buffer_sr.o consumer_p03.o $(LIBS)
X
Xmain: buffer_sr.o producer_sr.o consumer_sr.o main.dc
X	$(ECHO) ""
X	$(ECHO) "***** Building $@"
X	dcc -abi -C "$(CFLAGS)" -L "buffer_sr.o producer_sr.o consumer_sr.o" \
X		main.dc
X
Xclean:
X	-find . -name "*.mf" -exec make -f {} clean \;
END_OF_FILE
if test 2816 -ne `wc -c <'examples/prod_cons/Makefile'`; then
    echo shar: \"'examples/prod_cons/Makefile'\" unpacked with wrong size!
fi
# end of 'examples/prod_cons/Makefile'
fi
if test -f 'examples/prod_cons/buffer.dc' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/prod_cons/buffer.dc'\"
else
echo shar: Extracting \"'examples/prod_cons/buffer.dc'\" \(2733 characters\)
sed "s/^X//" >'examples/prod_cons/buffer.dc' <<'END_OF_FILE'
X/***************************************************************************
X *                                                                         *
X * @@@@  @@@ @@@@@ @@@@@ @@@@@ @@@ @@@@  @   @ @@@@@ @@@@@ @@@@       @@@  *
X * @   @  @  @       @   @   @  @  @   @ @   @   @   @     @   @     @   @ *
X * @   @  @  @@@@@   @   @@@@@  @  @@@@@ @   @   @   @@@@@ @   @     @     *
X * @   @  @      @   @   @ @    @  @   @ @   @   @   @     @   @     @   @ *
X * @@@@  @@@ @@@@@   @   @  @  @@@ @@@@  @@@@@   @   @@@@@ @@@@       @@@  *
X *                                                                         *
X *              A compiler for distributed programming with C              *
X *                                                                         *
X *                          b u f f e r . d c                              *
X *                                                                         *
X *                 Version 1.0      CreationDate: 17.07.91                 *
X *                                    LastUpDate: 17.07.91                 *
X *                                                                         *
X *     Process building a buffer 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/* messages a stored in a dynamic list */
Xstruct msg_list {
X	struct msg_t msg;
X	struct msg_list *next;
X};
X
X/* definition of the process 'buffer' */
Xprocess body buffer()
X{
X    int              msgflag = 0; /* is a message stored or not */
X    struct msg_list *ptr,	  /* auxiliary pointer */
X                    *first,	  /* pointer to beginning of message list */
X                    *last;	  /* pointer to end of message list */
X	
X    while(1) {
X	select {
X	    accept b_write(msg) { 
X		/* store a message in buffer */
X		if (ptr = (struct msg_list *) malloc(sizeof(struct msg_list))) {
X	    		ptr->msg  = msg;
X			treturn(OK);
X		} else {
X			fputs("buffer: can't allocate heap space\n", stderr);
X			fflush(stderr);
X			treturn(ERROR);
X		}
X	    }
X	    ptr->next  = (struct msg_t *) NULL;
X	    if (!msgflag)
X		first = last = ptr;
X	    else
X	        last->next = ptr;
X	    last       = ptr;
X	    ++msgflag;
X	or (msgflag > 0):
X		accept b_read() {
X		    /* read a message from buffer */
X		    treturn(first->msg);
X		}
X		ptr   = first;
X		first = first->next;
X		free(ptr);
X		--msgflag;
X	or (msgflag == 0):
X		terminate
X	} /* select */
X    } /* while */
X} /* process body buffer */
END_OF_FILE
if test 2733 -ne `wc -c <'examples/prod_cons/buffer.dc'`; then
    echo shar: \"'examples/prod_cons/buffer.dc'\" unpacked with wrong size!
fi
# end of 'examples/prod_cons/buffer.dc'
fi
if test -f 'examples/test/bench.dc' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/test/bench.dc'\"
else
echo shar: Extracting \"'examples/test/bench.dc'\" \(3342 characters\)
sed "s/^X//" >'examples/test/bench.dc' <<'END_OF_FILE'
X/***************************************************************************
X *                                                                         *
X * @@@@  @@@ @@@@@ @@@@@ @@@@@ @@@ @@@@  @   @ @@@@@ @@@@@ @@@@       @@@  *
X * @   @  @  @       @   @   @  @  @   @ @   @   @   @     @   @     @   @ *
X * @   @  @  @@@@@   @   @@@@@  @  @@@@@ @   @   @   @@@@@ @   @     @     *
X * @   @  @      @   @   @ @    @  @   @ @   @   @   @     @   @     @   @ *
X * @@@@  @@@ @@@@@   @   @  @  @@@ @@@@  @@@@@   @   @@@@@ @@@@       @@@  *
X *                                                                         *
X *              A compiler for distributed programming with C              *
X *                                                                         *
X *                             b e n c h . d c                             *
X *                                                                         *
X *                 Version 1.0      CreationDate: 22.07.90                 *
X *                                    LastUpDate: 11.10.90                 *
X *                                                                         *
X *                         A test for distributed                          *
X *                                                                         *
X *      Copyright (C) 1990-1993 by Franz Distler and Christoph Pleier.     *
X *                          All rights reserved!                           *
X ***************************************************************************/
X
X/* #include <math.h> */
X
X#define MAXANZ 10
Xfloat f(x)
Xfloat x;
X{
X        return((x*x)-10/x);
X}
X
Xprocess spec schleife (long number, long count)
X{
X	trans float result();
X}
X
Xprocess body schleife (number,count)
X{
X	long i,j;
X	float y, x= 1.23456789;
X        for (j=0; j <= count; j++)
X          for (i=0; i <= number; i++)
X                y=f(i*x+j)+y;
X	accept result()
X	{
X		return(y);
X	};
X	exit(0);
X}
X
Xfloat schleife_sequ (number,count)
X{
X	long i,j;
X	float y, x= 1.23456789;
X        for (j=0; j <= count; j++)
X          for (i=0; i <= number; i++)
X                y=f(i*x+j)+y;
X	return(y);
X}
X
Xmain()
X{
X	process schleife w[MAXANZ];
X	long number,count,start_time,end_time,CPU_time;
X	float res;
X	int i,j, anzahl = 1;
X	char sequ;
X
X	printf("Do you want to run the test parallel or in sequence (p,s)? ");
X	scanf("%c", &sequ);
X       	number = 1000;
X        count = 10000;
X	if (sequ == 'p') {
X		printf("How much procceses do you want to use for processing? ");
X		scanf("%d", &anzahl);
X		puts("parallel");
X        	count = count/anzahl;
X	        start_time = time(0);
X	/*      clock(); */
X		for (i=0; i<=anzahl-1; i++) 
X			w[i] = create schleife(number,count) local;
X		printf("Creation Time for %d processes is %ld seconds\n", anzahl, time() - start_time);
X		for (i=0; i<=anzahl-1; i++)
X			res =  w[i]@result();
X	/*      CPU_time = clock(); */
X		end_time = time(0);
X		printf("%d processes need  %ld seconds inclusive\n", anzahl, end_time - start_time);
X	} else {
X		puts("in sequence");
X	        start_time = time(0);
X		res = schleife_sequ(number,count);
X		end_time = time(0);
X		printf("1 process needs  %ld seconds\n", end_time - start_time);
X	}
X       	printf("Start: %s",ctime(&start_time));
X       	printf("Stop : %s",ctime(&end_time));
X/*      printf("CPU  : %f s\n",CPU_time/(1000*1000.0));*/
X	exit(0);
X}
END_OF_FILE
if test 3342 -ne `wc -c <'examples/test/bench.dc'`; then
    echo shar: \"'examples/test/bench.dc'\" unpacked with wrong size!
fi
# end of 'examples/test/bench.dc'
fi
if test -f 'examples/test/error.dc' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/test/error.dc'\"
else
echo shar: Extracting \"'examples/test/error.dc'\" \(3332 characters\)
sed "s/^X//" >'examples/test/error.dc' <<'END_OF_FILE'
X/***********************************
X * errors in process specification *
X ***********************************/
X
X/* 
X * correct specifications 
X */
X
Xprocess spec P1();
X
Xprocess spec P2(int P2_par1);
X
Xprocess spec P3(int P3_par1, char P3_par2, long P3_par3);
X
Xprocess spec P4()
X{
X	trans void P4_T1();
X}
X
Xprocess spec P5(int P5_par1)
X{
X	trans int P5_T1(int P5_T1_par1);
X	trans int P5_T2(int P5_T2_par1, char P5_T2_par2, long P5_T2_par3);
X
X}
X
X/*
X * faulty specifications
X */
X
X/* without keyword 'process' */
X/*
Xspec P10a();
Xspec P10b(int P10b_par1, char P10b_par2, long P10b_par3);
Xspec P10c()
X{
X	trans void P10c_T1();
X	trans int P10c_T1(int P10c_T1_par1);
X	trans int P10c_T2(int P10c_T2_par1,char P10c_T2_par2,long P10c_T2_par3);
X
X}
X*/
X
X/* without keyword 'spec' */
X/*
Xprocess P11a();
Xprocess P11b(int P11b_par1, char P11b_par2, long P11b_par3);
Xprocess P11c()
X{
X	trans int P11c_T1(int P11c_T1_par1);
X	trans int P11c_T2(int P11c_T2_par1,char P11c_T2_par2,long P11c_T2_par3);
X
X}
X*/
X
X/* with garbage after 'spec' */
X/*
Xprocess spec hallo P12a();
Xprocess spec float P12b(int P12b_par1, char P12b_par2, long P12b_par3);
Xprocess spec (i++, a) P12c()
X{
X	trans int P12c_T1(int P12c_T1_par1);
X	trans int P12c_T2(int P12c_T2_par1,char P12c_T2_par2,long P12c_T2_par3);
X
X}
X*/
X
X/* with faulty transaction specifications */
X/*
Xprocess spec P13a()
X{
X	trans process body;
X	trans wrongtype P13c_T1();
X	trans wrongtype P13c_T2(int P13c_T2_par1);
X	trans float int P13c_T3(int P13c_T3_par1);
X	trans int P13c_T4(int P13c_T4_par1;char P13c_T4_par2);
X
X}
X*/
X
X/* with faulty transaction declarations */
X/*
Xprocess spec P14a()
Xtrans int P14a_T1();
X
Xprocess spec P14b()
X{
X	int P14b_T1();
X}
X*/
X
X/********************************
X * errors in process definition *
X ********************************/
X
X/* 
X * correct definitions 
X */
X
X/*
Xprocess body P1()
X    {}
X
Xprocess body P2(P2_par1)
X{
X	int a;
X
X	a = 1;
X}
X
Xprocess body P3(P3_par1, P3_par2, P3_par3)
X    {}
X*/
X
X/*
X * faulty definitions
X */
X
X/* without keyword 'process' */
X/*
Xbody P10a()
X    {}
X*/
X
X/* without keyword 'body' */
X/*
Xprocess P1()
X    {}
X*/
X
X/* with garbage after 'body' */
X/*
Xprocess body (hallo) P1()
X    {}
Xprocess body float int P2()
X    {}
X*/
X
X/******************************
X * errors in accept statement *
X ******************************/
X
Xprocess spec P_accept()
X{
X	trans void Paccept_T1();
X	trans int Paccept_T2(int P10c_T1_par1);
X	trans long Paccept_T3(int P10c_T2_par1,char P10c_T2_par2,long P10c_T2_par3);
X}
X
Xprocess body P_accept()
X{
X	accept bla bla bla (wrongtype para) {
X		a = 10;
X	}
X	accept int Paccept_T1(P10c_T1_par1) 
X		int a;
X	;
X	accept Paccept_T2() 
X		hallo;
X	{ }
X}
X	
X/******************************
X * errors in select statement *
X ******************************/
X
Xprocess spec Pselect()
X{
X	trans int Pselect_T1(int par1);
X	trans long Pselect_T2(int par1, char par2);
X}
X
X/* case 1: */
X/*
Xprocess body Pselect()
X{
X	select bla bla;
X}
X*/
X
X/* case 2: */
X/*
Xprocess body Pselect()
X{
X	select {
X	    bla int a; 
X	or accept Pselect_T1(par1)
X		{};
X	}
X}
X*/
X
X/****************************************
X * errors in process creation statement *
X ****************************************/
X
Xprocess spec Pcreation(int a, long b);
X
Xmain()
X{
X	process Pcreation p;
X
X	p = create Pcreation(1, 2); 
X	p = create bla ; 
X	p = create (int *) float (1, 2); 
X	p = create Pcreation int float (1, 2); 
X}
END_OF_FILE
if test 3332 -ne `wc -c <'examples/test/error.dc'`; then
    echo shar: \"'examples/test/error.dc'\" unpacked with wrong size!
fi
# end of 'examples/test/error.dc'
fi
if test -f 'examples/travel/config.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'examples/travel/config.h'\"
else
echo shar: Extracting \"'examples/travel/config.h'\" \(2610 characters\)
sed "s/^X//" >'examples/travel/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: 30.07.91                 *
X *                                    LastUpDate: 30.07.91                 *
X *                                                                         *
X *                     The traveling salesman problem.                     *
X *         The configuration file containing all type definitions.         *
X *                                                                         *
X *                Copyright (C) 1991 by Christoph Pleier.                  *
X *                          All rights reserved!                           *
X ***************************************************************************/
X
X/* maximal number of parallel processes to create */
X#define MAXPNUM		1000
X
X/* number of cities in table */
X#ifdef DEMO
X# define CITYNUM 5
X# define DESCRIPTION     "a short example with five fictitious cities"
X#else
X# define CITYNUM 16
X# define DESCRIPTION     "a large example with sixteen german cities"
X#endif
X
X/* table relating real city names to intern city names and vice versa */
Xtypedef struct nameinfo_t {
X        char *name;     /* real city name */
X        int   num;      /* internal city name */
X} NAMEINFO;
X
X/* macro determining the distance between x and y */
X#define distance(x,y)	((x<y) ? d_tab[x][y]: d_tab[y][x])
X
X/* the type of a route information */
Xtypedef struct wayinfo_t {
X	int num;		/* number of cities in route */
X	int way[CITYNUM + 1];	/* intern names of the cities */
X	long length;		/* length of the route */
X} WAYINFO;
X
X/* special structure to store the choosen cities to travel to */
Xtypedef struct citylist_t {
X	int citynum;
X	int cities[CITYNUM];
X} CITYLIST;
END_OF_FILE
if test 2610 -ne `wc -c <'examples/travel/config.h'`; then
    echo shar: \"'examples/travel/config.h'\" unpacked with wrong size!
fi
# end of 'examples/travel/config.h'
fi
if test -f 'include/dclocate.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'include/dclocate.h'\"
else
echo shar: Extracting \"'include/dclocate.h'\" \(3416 characters\)
sed "s/^X//" >'include/dclocate.h' <<'END_OF_FILE'
X/***************************************************************************
X *                                                                         *
X * @@@@  @@@ @@@@@ @@@@@ @@@@@ @@@ @@@@  @   @ @@@@@ @@@@@ @@@@       @@@  *
X * @   @  @  @       @   @   @  @  @   @ @   @   @   @     @   @     @   @ *
X * @   @  @  @@@@@   @   @@@@@  @  @@@@@ @   @   @   @@@@@ @   @     @     *
X * @   @  @      @   @   @ @    @  @   @ @   @   @   @     @   @     @   @ *
X * @@@@  @@@ @@@@@   @   @  @  @@@ @@@@  @@@@@   @   @@@@@ @@@@       @@@  *
X *                                                                         *
X *              A compiler for distributed programming with C              *
X *                                                                         *
X *                           d c l o c a t e . h                           *
X *                                                                         *
X *                            Package : Include files                      *
X *                            Version : 1.0                                *
X *                       CreationDate : 26.02.92                           *
X *                         LastUpDate : 26.02.92                           *
X *                                                                         *
X *    The configuration include file for building the locator program.     *
X *                                                                         *
X *               Copyright (C) 1992-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
X#ifndef __dclocate_h
X#define __dclocate_h
X
X/* #define DEBUG /**/
X
X/* general return codes */
X#define OK	0
X#define ERROR	-1
X
X/* boolean constants */
X#ifndef TRUE
X# define TRUE	1
X# define FALSE	0
X#endif 
X
X/* maximal length of a path name */
X#define MAXPATHNAMELEN	256
X
X/* name of program configuration file */
X#define P_CFGFILENAME   "program.config"
X
X/* name of system configuration file */
X#define S_CFGFILENAME   "system.config"
X
X/* name of the file to store symbtab into */ 
X#define SYMBFILENAME	"dclocate.dat"
X
X/* maximum length of a hostname */
X#define MAXHOSTNAMELEN  256
X
X/*
X * external declarations
X */
X
Xextern int
X      verbose,
X      show_result;
Xextern char
X      p_cfgfilename[],
X      s_cfgfilename[],
X    *targetfilename;
Xextern float
X      prio_tab[];
Xextern SYMBTABEL
X    * symbtab,
X    * last_symb;
Xextern FILE 
X    *yyin,
X    *yyout;
X
X#if defined(__STDC__) && !defined(NO_PROTOTYPE)
X# define FUNCPROTO(type,id,args)	extern type id args
X#else
X# define FUNCPROTO(type,id,args)	extern type id()
X#endif /* __STDC__ /**/
X
XFUNCPROTO(int, BuildPriorityLists, ());
XFUNCPROTO(int, DisplayUsage, ());
XFUNCPROTO(int, ParseOptions, (int, char **));
XFUNCPROTO(int, display_host_list, (PHOSTLIST *));
XFUNCPROTO(int, enter_host_in_list, (PHOSTLIST **, SYMBTABEL *));
X
X#endif /* !__dclocate_h /**/
END_OF_FILE
if test 3416 -ne `wc -c <'include/dclocate.h'`; then
    echo shar: \"'include/dclocate.h'\" unpacked with wrong size!
fi
# end of 'include/dclocate.h'
fi
if test -f 'include/ipc_iPSC.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'include/ipc_iPSC.h'\"
else
echo shar: Extracting \"'include/ipc_iPSC.h'\" \(2861 characters\)
sed "s/^X//" >'include/ipc_iPSC.h' <<'END_OF_FILE'
X/***************************************************************************
X *                                                                         *
X * @@@@  @@@ @@@@@ @@@@@ @@@@@ @@@ @@@@  @   @ @@@@@ @@@@@ @@@@       @@@  *
X * @   @  @  @       @   @   @  @  @   @ @   @   @   @     @   @     @   @ *
X * @   @  @  @@@@@   @   @@@@@  @  @@@@@ @   @   @   @@@@@ @   @     @     *
X * @   @  @      @   @   @ @    @  @   @ @   @   @   @     @   @     @   @ *
X * @@@@  @@@ @@@@@   @   @  @  @@@ @@@@  @@@@@   @   @@@@@ @@@@       @@@  *
X *                                                                         *
X *              A compiler for distributed programming with C              *
X *                                                                         *
X *                          i p c _ i P S C . h                            *
X *                                                                         *
X *                            Package : Include files                      *
X *                            Version : 1.0                                *
X *                       CreationDate : 01.09.90                           *
X *                         LastUpDate : 06.09.90                           *
X *                                                                         *
X *        Macro, structure and type definitions used in ipc_iPSC.c.        *
X *                                                                         *
X *          Copyright (C) 1990-1994 by Christoph & Markus 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
X#ifndef __ipc_h
X#define __ipc_h
X
X/* return codes */
X#define OK		0
X#define ERROR		-1
X
X/* the boolean constants */
X#define TRUE		1
X#define FALSE		0
X
X/* message types */
X#define CON_REQ		1000 /* connection request */
X#define CON_ACK 	1001 /* connection acknowledge */
X
X/* timeout times */
X#define TIMER_NOMSG	0
X#define TIMER_RECV	1
X
X/* the type of a port */
Xtypedef struct { 
X	long node,	/* the own node number */
X	     pid;	/* the own process id */
X} PORTDESCR;
X
X/* the type of a connection port */
Xtypedef struct { 
X	long othernode,	/* the node number of the communication partner */
X	     otherpid,	/* the process id of the communication partner */
X	     msgtype;   /* the message type identifier */
X} CONNECTIONDESCR;
X
X#endif /* !__ipc_h /**/
END_OF_FILE
if test 2861 -ne `wc -c <'include/ipc_iPSC.h'`; then
    echo shar: \"'include/ipc_iPSC.h'\" unpacked with wrong size!
fi
# end of 'include/ipc_iPSC.h'
fi
if test -f 'include/ipc_msgsem.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'include/ipc_msgsem.h'\"
else
echo shar: Extracting \"'include/ipc_msgsem.h'\" \(3343 characters\)
sed "s/^X//" >'include/ipc_msgsem.h' <<'END_OF_FILE'
X/***************************************************************************
X *                                                                         *
X * @@@@  @@@ @@@@@ @@@@@ @@@@@ @@@ @@@@  @   @ @@@@@ @@@@@ @@@@       @@@  *
X * @   @  @  @       @   @   @  @  @   @ @   @   @   @     @   @     @   @ *
X * @   @  @  @@@@@   @   @@@@@  @  @@@@@ @   @   @   @@@@@ @   @     @     *
X * @   @  @      @   @   @ @    @  @   @ @   @   @   @     @   @     @   @ *
X * @@@@  @@@ @@@@@   @   @  @  @@@ @@@@  @@@@@   @   @@@@@ @@@@       @@@  *
X *                                                                         *
X *              A compiler for distributed programming with C              *
X *                                                                         *
X *                         i p c _ m s g s e m . h                         *
X *                                                                         *
X *                            Package : Include files                      *
X *                            Version : 1.0                                *
X *                       CreationDate : 10.07.90                           *
X *                         LastUpDate : 19.09.90                           *
X *                                                                         *
X *      Macro, structure and type definitions used in ipc_msgsem.c.        *
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
X#ifndef __ipc_h
X#define __ipc_h
X
X/* return codes */
X#define OK			0
X#define ERROR			-1
X
X/* boolean constants */
X#define TRUE			1
X#define FALSE			0
X
X/* the message queue state (stored in the corresponding semaphore) */
X#define LOCKED			0	/* not accepting connection requests */
X#define UNLOCKED		1	/* accepting connection requests */
X
X/* the message types (the types must be greater 0!) */
X#define CONNECTION_REQUEST	1	
X#define CONNECTION_ACCEPTED	2
X#define CONNECTION_REFUSED	3
X
X/* the maximal message size (must be set in /usr/include/sys/msg.h!!!) */
X#define MAXMSGSIZE		1000
X
X/* the read/write permissions for message queues and semaphores */
X#define MSG_PERMISSION		438	/* octal 00666 */
X#define SEM_PERMISSION		438	/* octal 00666 */
X
X/* the union for arguments in semaphore operations */
Xunion semun {
X	int val;
X	struct semid_ds *buf;
X	ushort *array;
X};
X
X/* the type of a port */
Xtypedef struct { 
X	int msqid,		/* the message queue identifier */
X	    semid;		/* the semaphore identifier */
X} PORTDESCR;
X
X/* the type of a connection port */
Xtypedef struct { 
X	PORTDESCR own_port,	/* the own msq and sem identifier */
X	          other_port;	/* the other msq and sem identifier */
X} CONNECTIONDESCR;
X
X#endif /* !__ipc_h /**/
END_OF_FILE
if test 3343 -ne `wc -c <'include/ipc_msgsem.h'`; then
    echo shar: \"'include/ipc_msgsem.h'\" unpacked with wrong size!
fi
# end of 'include/ipc_msgsem.h'
fi
if test -f 'include/location.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'include/location.h'\"
else
echo shar: Extracting \"'include/location.h'\" \(2855 characters\)
sed "s/^X//" >'include/location.h' <<'END_OF_FILE'
X/***************************************************************************
X *                                                                         *
X * @@@@  @@@ @@@@@ @@@@@ @@@@@ @@@ @@@@  @   @ @@@@@ @@@@@ @@@@       @@@  *
X * @   @  @  @       @   @   @  @  @   @ @   @   @   @     @   @     @   @ *
X * @   @  @  @@@@@   @   @@@@@  @  @@@@@ @   @   @   @@@@@ @   @     @     *
X * @   @  @      @   @   @ @    @  @   @ @   @   @   @     @   @     @   @ *
X * @@@@  @@@ @@@@@   @   @  @  @@@ @@@@  @@@@@   @   @@@@@ @@@@       @@@  *
X *                                                                         *
X *              A compiler for distributed programming with C              *
X *                                                                         *
X *                           l o c a t i o n . h                           *
X *                                                                         *
X *                            Package : Include files                      *
X *                            Version : 1.1                                *
X *                       CreationDate : 18.03.92                           *
X *                         LastUpDate : 14.04.92                           *
X *                                                                         *
X *     The configuration include containing the priority definitions.      *
X *                                                                         *
X *                 Copyright (C) 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
X#ifndef __location_h
X#define __location_h
X
X/* priority criterium multipliers */
X#define PRIORITY_TAB { 900.0, 700.0, 500.0, 300.0, 100.0, 0.0 }
X
X/* values to egalize criterion ranges */
X#define EGALIZE_PREF	*500	   /* preferred hosts */
X#define EGALIZE_WISH	*250	   /* wished ressources */
X#define EGALIZE_LOAD	*100 	   /* min. load without regard of cre. procs */
X#define EGALIZE_CLOAD	*1000      /* min. load with regard of cre. procs */
X#define EGALIZE_CREA	*500-100   /* creation costs */
X#define EGALIZE_IPC	/1000	   /* interprocess communication costs */
X
Xextern float
X      critprio_preferred,
X      critprio_wished,
X      critprio_load,
X      critprio_cload,
X      critprio_crea,
X      critprio_ipc;
X
X#endif /* !__location_h /**/
END_OF_FILE
if test 2855 -ne `wc -c <'include/location.h'`; then
    echo shar: \"'include/location.h'\" unpacked with wrong size!
fi
# end of 'include/location.h'
fi
if test -f 'include/reswords.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'include/reswords.h'\"
else
echo shar: Extracting \"'include/reswords.h'\" \(3279 characters\)
sed "s/^X//" >'include/reswords.h' <<'END_OF_FILE'
X/***************************************************************************
X *                                                                         *
X * @@@@  @@@ @@@@@ @@@@@ @@@@@ @@@ @@@@  @   @ @@@@@ @@@@@ @@@@       @@@  *
X * @   @  @  @       @   @   @  @  @   @ @   @   @   @     @   @     @   @ *
X * @   @  @  @@@@@   @   @@@@@  @  @@@@@ @   @   @   @@@@@ @   @     @     *
X * @   @  @      @   @   @ @    @  @   @ @   @   @   @     @   @     @   @ *
X * @@@@  @@@ @@@@@   @   @  @  @@@ @@@@  @@@@@   @   @@@@@ @@@@       @@@  *
X *                                                                         *
X *              A compiler for distributed programming with C              *
X *                                                                         *
X *                         r e s w o r d s . h                             *
X *                                                                         *
X *                            Package : Include files                      *
X *                            Version : 1.0                                *
X *                       CreationDate : 05.07.90                           *
X *                         LastUpDate : 21.07.90                           *
X *                                                                         *
X *  The table containing the reserved words and the coressponding tokens.  *
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
X/* the table must be sorted by name!!! */
X
X"accept",	token(ACCEPT),
X"at",		token(AT),
X"auto",		token(AUTO),
X"body",		token(BODY),
X"break",	token(BREAK),
X"case",		token(CASE),
X"char",		token(CHAR),
X"const",	token(CONST),
X"continue",	token(CONTINUE),
X"create",	token(CREATE),
X"default",	token(DEFAULT),
X"destroy",	token(DESTROY),
X"do",		token(DO),
X"double",	token(DOUBLE),
X"else",		token(ELSE),
X"enum",		token(ENUM),
X"extern",	token(EXTERN),
X"float",	token(FLOAT),
X"for",		token(FOR),
X"goto",		token(GOTO),
X"host",		token(HOST),
X"if",		token(IF),
X"int",		token(INT),
X"local",	token(LOCAL),
X"long",		token(LONG),
X"or",		token(OR),
X"process",	token(PROCESS),
X"register",	token(REGISTER),
X"return",	token(RETURN),
X"select",	token(SELECT),
X"short",	token(SHORT),
X"signed",	token(SIGNED),
X"sizeof",	token(SIZEOF),
X"spec",		token(SPEC),
X"static",	token(STATIC),
X"struct",	token(STRUCT),
X"switch",	token(SWITCH),
X"terminate",	token(TERMINATE),
X"trans",	token(TRANS),
X"treturn",	token(TRETURN),
X"typedef",	token(TYPEDEF),
X"union",	token(UNION),
X"unsigned",	token(UNSIGNED),
X"void",		token(VOID),
X"volatile",	token(VOLATILE),
X"while",	token(WHILE),
X"within",	token(WITHIN)
END_OF_FILE
if test 3279 -ne `wc -c <'include/reswords.h'`; then
    echo shar: \"'include/reswords.h'\" unpacked with wrong size!
fi
# end of 'include/reswords.h'
fi
if test -f 'ipc/Makefile' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'ipc/Makefile'\"
else
echo shar: Extracting \"'ipc/Makefile'\" \(3416 characters\)
sed "s/^X//" >'ipc/Makefile' <<'END_OF_FILE'
X#***************************************************************************
X#*                                                                         *
X#* @@@@  @@@ @@@@@ @@@@@ @@@@@ @@@ @@@@  @   @ @@@@@ @@@@@ @@@@       @@@  *
X#* @   @  @  @       @   @   @  @  @   @ @   @   @   @     @   @     @   @ *
X#* @   @  @  @@@@@   @   @@@@@  @  @@@@@ @   @   @   @@@@@ @   @     @     *
X#* @   @  @      @   @   @ @    @  @   @ @   @   @   @     @   @     @   @ *
X#* @@@@  @@@ @@@@@   @   @  @  @@@ @@@@  @@@@@   @   @@@@@ @@@@       @@@  *
X#*                                                                         *
X#*            A precompiler for distributed programming with C             *
X#*                                                                         *
X#*                             M a k e f i l e                             *
X#*                                                                         *
X#*                 Version 1.0      CreationDate: 05.07.90                 *
X#*                                    LastUpDate: 04.09.90                 *
X#*                                                                         *
X#* Makefile to build the processes to test the message passing primitives. *
X#*                                                                         *
X#*        Copyright (C) 1990 by Franz Distler and Christoph Pleier.        *
X#* Intel iPSC extensions copyright (C) 1990 by Christoph and Markus Pleier.*
X#*                          All rights reserved!                           *
X#***************************************************************************/
X
X# Set SYSTEM to one of:
X#	BSD		-- Unix 4.2 BSD version
X#	iPSC		-- Intel Hypercube iPSC
X#	SYSTEM_V	-- Unix/Xenix System V
X SYSTEM = BSD
X
XINCLUDE = ../include
X LIBDIR = ../lib
X
X  SHELL = /bin/sh
X   MAKE = make "SYSTEM=$(SYSTEM)" "LDFLAGS=$(LDFLAGS)"
X     CC = cc
X CFLAGS = -D$(SYSTEM) -I$(INCLUDE) -g
XLDFLAGS = 
X   LINT = @/usr/bin/lint
X
X   BINS = p1 p2 p3
X   SRCS = p1.c p2.c p3.c
X
X    LIB = $(LIBDIR)/dcc.a
X
X.c.o:
X	@echo "***** Compiling $<"
X	$(CC) $(CFLAGS) -c $<
X
Xall: pa pb
X
Xpa: $(INCLUDE)/run_Errno.h pa.c $(LIB)
X	@echo "***** Building process pa"
X	$(CC) -o pa $(CFLAGS) pa.c $(LDFLAGS) $(LIB)
X
Xpb: $(INCLUDE)/run_Errno.h pb.c $(LIB)
X	@echo "***** Building process pb"
X	$(CC) -o pb $(CFLAGS) pb.c $(LDFLAGS) $(LIB)
X	
Xany:
X	@echo "You must specify a target (BSD, iPSC or SYSTEM_V)."
X
XBSD:
X	-\rm $(LIB)
X	( cd $(LIBDIR); make Sparc )
X	make "SYSTEM=BSD" "LDFLAGS=" all
X
XiPSC:
X	-@\rm $(LIB)
X	( cd $(LIBDIR); make "SYSTEM=iPSC" )
X	@make "SYSTEM=iPSC" "LDFLAGS=-lxsim" all
X
XSYSTEM_V:
X	-@\rm $(LIB)
X	( cd $(LIBDIR); make "SYSTEM=SYSTEM_V" )
X	@make "SYSTEM=SYSTEM_V" "LDFLAGS=-Me" all
X
Xall:
X	@echo
X	@echo "Generating the message passing test programs..."
X	$(MAKE) $(BINS)
X	@echo done!
X
Xp1: $(INCLUDE)/run_Errno.h p1.c $(LIB)
X	@echo "***** Building process p1"
X	$(CC) -o p1 $(CFLAGS) p1.c $(LDFLAGS) $(LIB)
X
Xp2: $(INCLUDE)/run_Errno.h p2.c $(LIB)
X	@echo "***** Building process p2"
X	$(CC) -o p2 $(CFLAGS) p2.c $(LDFLAGS) $(LIB)
X
Xp3: $(INCLUDE)/run_Errno.h p3.c $(LIB)
X	@echo "***** Building process p3"
X	$(CC) -o p3 $(CFLAGS) p3.c $(LDFLAGS) $(LIB)
X
X$(LIB):
X	( cd $(LIBDIR); make "SYSTEM=$(SYSTEM)" )
X
Xnew:
X	@touch p?.c 
X	-@\rm $(LIB)
X	$(MAKE) all
X
Xcheck:
X	@echo "checking $(SRCS)"
X	$(LINT) -D$(SYSTEM) -I$(INCLUDE) $(SRCS) | more
X
Xclean:
X	@echo "Cleaning the directory..."
X	-\rm -f p? *.o
X	@echo done!
END_OF_FILE
if test 3416 -ne `wc -c <'ipc/Makefile'`; then
    echo shar: \"'ipc/Makefile'\" unpacked with wrong size!
fi
# end of 'ipc/Makefile'
fi
if test -f 'macros' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'macros'\"
else
echo shar: Extracting \"'macros'\" \(2722 characters\)
sed "s/^X//" >'macros' <<'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 . H P U X                          *
X#*                                                                         *
X#*                 Version 1.0      CreationDate: 20.08.91                 *
X#*                                    LastUpDate: 02.11.91                 *
X#*                                                                         *
X#*   The macro definitions used for building targets for HP workstations.  *
X#*                                                                         *
X#*              Copyright (C) 1991-1994 by Christoph Pleier.               *
X#*                          All rights reserved!                           *
X#***************************************************************************/
X
X           OS = HPUX
X       SYSTEM = SYSTEM_V
X          IPC = SOCKET
X      NETWORK = HETEROGENEOUS
X
X#    MAKEDIRS = lib dcc dcadmin dckill dcinstall dclocate dcanalyse
X     MAKEDIRS = lib dcc dcadmin dckill dcinstall 
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 -n -s
X   COMLDFLAGS = -n -s
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 = -lcodelibs
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 2722 -ne `wc -c <'macros'`; then
    echo shar: \"'macros'\" unpacked with wrong size!
fi
# end of 'macros'
fi
if test -f 'macros.AIX' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'macros.AIX'\"
else
echo shar: Extracting \"'macros.AIX'\" \(2651 characters\)
sed "s/^X//" >'macros.AIX' <<'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 . A I X                           *
X#*                                                                         *
X#*                 Version 1.0      CreationDate: 19.10.93                 *
X#*                                    LastUpDate: 19.10.93                 *
X#*                                                                         *
X#*   The macro definitions used for building targets for HP workstations.  *
X#*                                                                         *
X#*              Copyright (C) 1991-1994 by Christoph Pleier.               *
X#*                          All rights reserved!                           *
X#***************************************************************************/
X
X           OS = AIX
X       SYSTEM = SYSTEM_V
X          IPC = SOCKET
X      NETWORK = HETEROGENEOUS
X
X     MAKEDIRS = lib dcc dcadmin dcinstall 
X
X   INSTALLDIR = /home/odin/tom/Distributed_C
X
X          CPP = /lib/cpp
X     CPPFLAGS = 
X
X        COMCC = cc
X    COMCFLAGS = -D$(OS) -D$(SYSTEM) -D$(IPC) -D$(NETWORK) 
X   COMLDFLAGS =
X  
X       CC_LIB = $(COMCC) -I
X   CFLAGS_LIB = $(COMCFLAGS)
X
X       CC_DCC = $(COMCC) -I
X   CFLAGS_DCC = $(COMCFLAGS)
X       LD_DCC = $(COMCC) -I
X  LDFLAGS_DCC = /usr/lib/crt0.o $(COMLDFLAGS) 
X     LIBS_DCC = 
X
X       CC_DCA = $(COMCC) -I
X   CFLAGS_DCA = $(COMCFLAGS)
X       LD_DCA = $(COMCC) -I
X  LDFLAGS_DCA = $(COMLDFLAGS)
X
X       CC_DCK = $(COMCC) -I
X   CFLAGS_DCK = $(COMCFLAGS)
X       LD_DCK = $(COMCC) -I
X  LDFLAGS_DCK = $(COMLDFLAGS) 
X     LIBS_DCK =
X
X     CC_CFGFP = $(COMCC) -I
X CFLAGS_CFGFP = $(COMCFLAGS)
X
X       CC_DCI = $(COMCC) -I
X   CFLAGS_DCI = $(COMCFLAGS)
X       LD_DCI = $(COMCC) -I
X  LDFLAGS_DCI = $(COMLDFLAGS) 
X     LIBS_DCI =
X
X       CC_DCL = $(COMCC) -I
X   CFLAGS_DCL = $(COMCFLAGS)
X       LD_DCL = $(COMCC) -I
X  LDFLAGS_DCL = $(COMLDFLAGS) 
X     LIBS_DCL =
END_OF_FILE
if test 2651 -ne `wc -c <'macros.AIX'`; then
    echo shar: \"'macros.AIX'\" unpacked with wrong size!
fi
# end of 'macros.AIX'
fi
if test -f 'macros.CONVEX' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'macros.CONVEX'\"
else
echo shar: Extracting \"'macros.CONVEX'\" \(2662 characters\)
sed "s/^X//" >'macros.CONVEX' <<'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 . C O N V E X                        *
X#*                                                                         *
X#*                 Version 1.0      CreationDate: 23.09.91                 *
X#*                                    LastUpDate: 02.11.91                 *
X#*                                                                         *
X#*  The macro definitions used for building targets for CONVEX computers.  *
X#*                                                                         *
X#*              Copyright (C) 1991-1994 by Christoph Pleier.               *
X#*                          All rights reserved!                           *
X#***************************************************************************/
X
X           OS = CONVEX
X        SYSTEM= BSD
X          IPC = SOCKET
X      NETWORK = HETEROGENEOUS
X
X     MAKEDIRS = lib dcc dcadmin dcinstall 
X
X   INSTALLDIR = /mnt/pleierc/Distributed_C
X
X          CPP = /lib/cpp
X     CPPFLAGS = 
X
X        COMCC = cc
X    COMCFLAGS = -D$(OS) -D$(SYSTEM) -D$(IPC) -D$(NETWORK) -ep 1 -ext -O
X   COMLDFLAGS = -ext -O
X
X       CC_LIB = $(COMCC)
X   CFLAGS_LIB = $(COMCFLAGS)
X
X       CC_DCC = $(COMCC)
X   CFLAGS_DCC = $(COMCFLAGS) -db -no
X       LD_DCC = $(COMCC) 
X  LDFLAGS_DCC = $(COMLDFLAGS) -db
X     LIBS_DCC = 
X  
X       CC_DCA = $(COMCC)
X   CFLAGS_DCA = $(COMCFLAGS) -rl 
X       LD_DCA = $(COMCC)
X  LDFLAGS_DCA = $(COMLDFLAGS) -s
X     LIBS_DCA =
X
X       CC_DCK = $(COMCC)
X   CFLAGS_DCK = $(COMCFLAGS) -O2 -rl
X       LD_DCK = $(COMCC)
X  LDFLAGS_DCK = $(COMLDFLAGS) -s
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 2662 -ne `wc -c <'macros.CONVEX'`; then
    echo shar: \"'macros.CONVEX'\" unpacked with wrong size!
fi
# end of 'macros.CONVEX'
fi
if test -f 'macros.HPUX' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'macros.HPUX'\"
else
echo shar: Extracting \"'macros.HPUX'\" \(2722 characters\)
sed "s/^X//" >'macros.HPUX' <<'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 . H P U X                          *
X#*                                                                         *
X#*                 Version 1.0      CreationDate: 20.08.91                 *
X#*                                    LastUpDate: 02.11.91                 *
X#*                                                                         *
X#*   The macro definitions used for building targets for HP workstations.  *
X#*                                                                         *
X#*              Copyright (C) 1991-1994 by Christoph Pleier.               *
X#*                          All rights reserved!                           *
X#***************************************************************************/
X
X           OS = HPUX
X       SYSTEM = SYSTEM_V
X          IPC = SOCKET
X      NETWORK = HETEROGENEOUS
X
X#    MAKEDIRS = lib dcc dcadmin dckill dcinstall dclocate dcanalyse
X     MAKEDIRS = lib dcc dcadmin dckill dcinstall 
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 -n -s
X   COMLDFLAGS = -n -s
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 = -lcodelibs
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 2722 -ne `wc -c <'macros.HPUX'`; then
    echo shar: \"'macros.HPUX'\" unpacked with wrong size!
fi
# end of 'macros.HPUX'
fi
echo shar: End of archive 2 \(of 18\).
cp /dev/null ark2isdone
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
