home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #20 / NN_1992_20.iso / spool / comp / parallel / 2062 < prev    next >
Encoding:
Text File  |  1992-09-08  |  5.5 KB  |  129 lines

  1. Newsgroups: comp.parallel
  2. Path: sparky!uunet!gatech!hubcap!fpst
  3. From: rastroob@plg.uwaterloo.ca (Rick Stroobosscher)
  4. Subject: uC++ now available
  5. Message-ID: <92Sep4.165329edt.28989@plg.uwaterloo.ca>
  6. Originator: root@plg.uwaterloo.ca
  7. Sender: news@math.uwaterloo.ca (News Owner)
  8. Organization: University of Waterloo
  9. Date: Fri, 4 Sep 1992 20:53:22 GMT
  10. Approved: parallel@hubcap.clemson.edu
  11. Lines: 116
  12.  
  13. We are pleased to announce, to any interested parties, the availability of
  14. Version 3.4.4 of uC++ (pronounced micro-C++).  uC++ extends the C++ programming
  15. language in somewhat the same way that C++ extends the C programming language.
  16. The extensions introduce new objects that augment the existing set of control
  17. flow facilities and provide for light-weight concurrency on uniprocessor and
  18. parallel execution on multiprocessor computers running the UNIX operating
  19. system.  uC++ is not another thread package built on top of C++, but a
  20. comprehensive set of language extensions that integrate the notions of
  21. coroutine, mutual exclusion and concurrent execution into the language.
  22.  
  23.  
  24. Here are some things to watch out for in Version 3.4.4:
  25.  
  26. 1.  The uC++ translator may fail when given very bad syntax errors.  The error
  27. recovery facilities of the translator will be updated in version 4.  Also, the
  28. translator is vulnerable to programs that use the same names for types and
  29. routines.  Beware of this vulnerability.  It may show up in very subtle errors.
  30.  
  31. 2. The "inline" version of the runtime environment is not working in this
  32. release, so that performance is significantly slower than it can be. When the
  33. "inline" version is working, performance is comparable to any light- weight
  34. tasking system.
  35.  
  36. 3. The only multiprocessor computer supported in this release is the Sequent
  37. Symmetry. Ports to more vendor/machines will appear shortly.
  38.  
  39.  
  40. uC++ requires at least version 3.8 of dmake, which is available by anonymous ftp
  41. from the following location (remember to set your ftp mode to binary):
  42.  
  43.     watmsg.uwaterloo.ca (129.97.141.9)   pub/dmake/dmake38.tar.Z
  44.  
  45. Execute the following command to unpack the source:
  46.  
  47.     % zcat dmake38.tar.Z | tar -xf -
  48.  
  49. To build dmake, edit the variables in file ./unix/startup.h.  The variable
  50. MAKESTARTUP must specify the location of the startup.mk file, which contains all
  51. the implicit recipes.  This file is placed at the top level of the source
  52. directory after dmake is built.  If dmake is not being installed in a public
  53. location, set the value of MAKESTARTUP to dmake-source-path/startup.mk.  After
  54. setting the MAKESTARTUP variable, execute the command make in directory dmake to
  55. determine what configurations are available.  A list of possible configurations
  56. will be printed.  Once dmake is built, add the executable to your command path.
  57.  
  58. The current version of uC++ can be obtained by anonymous ftp from the following
  59. location (remember to set your ftp mode to binary):
  60.  
  61.     watmsg.uwaterloo.ca (129.97.141.9)   pub/uSystem/u++-3.4.4.tar.Z
  62.  
  63. Execute the following command to unpack the source:
  64.  
  65.     % zcat u++-3.4.4.tar.Z | tar -xf -
  66.  
  67.  
  68. To build uC++, edit the variables in file ./Makefile.  The variable ROOT must
  69. specify the current location of the uC++ source (the path to the directory that
  70. contains the source).  The variable BINDIR specifies the location where the u++
  71. executable and other executables needed for compilation are placed.  The LIBDIR
  72. variable specifies the location for the u++ runtime libraries.  Both BINDIR and
  73. LIBDIR have default values.  After setting at least the ROOT variable, execute
  74. the command dmake in this directory to determine what configurations are
  75. available.  A list of possible configurations will be printed.
  76.  
  77. After installation is complete, there will be a number of executables created in
  78. the BINDIR location.  Add this directory to your command path to access the
  79. compilation command u++, or move the u++ executable itself to a directory in
  80. your command path.  Do not move the other executables in BINDIR, as the u++
  81. executable references these executables and the runtime library via hard coded
  82. path names set at installation time.
  83.  
  84.  
  85. A postscript version of the uC++ reference manual is available in the same ftp
  86. directory as u++-3.4.4.tar.Z, called u++-3.4.4.ps.  It contains a copy of the
  87. uC++ documentation that has been formatted for 8.5x11 paper.  This file has been
  88. made available because some people have had problems LaTeXing the documentation
  89. that comes with the uC++ distribution.  Normally, it is unnecessary to retrieve
  90. this file as uC++ comes with the latex source for the reference manual.
  91.  
  92.  
  93. uC++ runs on the following processors: M68K series, NS32K series, VAX, MIPS,
  94. Intel 386, Sparc, and the following UNIX operating systems:
  95.  
  96.     - generic BSD 4.3
  97.     - Sun OS 4.x
  98.     - Tahoe BSD 4.3
  99.     - Ultrix 3.x/4.x
  100.     - DYNIX
  101.  
  102. uC++ requires at least GNU C++ 2.2.  uC++ will NOT compile using other
  103. compilers. To run multiprocessor on a Sequent GNU C++ must use the Sequent
  104. assembler and loader.
  105.  
  106.  
  107. There is a Software-Practice and Experience paper about uC++ Version 2.0 in the
  108. Feb 1992 issue. Note, there have been many changes from version 2 to 3, and
  109. there will be more changes from version 3 to 4.
  110.  
  111. uC++ is being used daily to build highly concurrent access methods for
  112. persistent file structures (databases) here at Waterloo.
  113.  
  114.  
  115. What's coming in uC++ Version 4:
  116.  
  117.     - inline version of kernel
  118.     - visualization of concurrent execution
  119.     - multiprocessor ports to SGI, Encore
  120.     - uWait and uSignal as members of uCondition
  121.     - port to IBM 6000
  122.     - task priorities
  123.     - exception handling
  124.     - improve translator, make more robust
  125.     - time out on I/O calls
  126.  
  127. We hope to have some of this done by the end of the year.
  128.  
  129.