gnu_bulletin_9401_18.html 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285
  1. <TITLE> - Project GNU Status Report</TITLE>
  2. <P>Go to the <A HREF="gnu_bulletin_9401_17.html">previous</A>, <A HREF="gnu_bulletin_9401_19.html">next</A> chapter.<P>
  3. <H1><A NAME="SEC35" HREF="gnu_bulletin_9401_toc.html#SEC35">Project GNU Status Report</A></H1>
  4. <P>
  5. <UL>
  6. <LI>
  7. <B>GNU Software Configuration Scheme</B>
  8. <P>
  9. We are using a uniform scheme for configuring GNU software packages
  10. in order to compile them. All GNU software supports the same
  11. alternatives for naming machine and system types. This makes it
  12. possible to configure any and all GNU software in the same manner.
  13. <P>
  14. The configuration scheme also supports configuring a directory
  15. containing several GNU packages with one command. When the operating
  16. system is completed, it will be possible to configure the entire system
  17. at once, eliminating the need to separately configure each of the
  18. individual packages that make up the GNU system.
  19. <P>
  20. The configuration scheme can also specify both the host and target system,
  21. so you can easily configure and build cross-compilation tools.
  22. <P>
  23. <LI>
  24. <B>The Hurd</B>
  25. <P>
  26. We are developing the GNU Hurd, a set of servers that run on top of Mach
  27. (for more information, see "Towards a New Strategy of Operating System
  28. Design"). Mach is a free message-passing kernel being developed at CMU.
  29. The Hurd servers, working with the GNU C Library, will provide Unix-like
  30. functionality. They are the last major components necessary for a complete
  31. GNU system.
  32. <P>
  33. Currently there are free ports of the Mach kernel to the 386 PC, the DEC
  34. PMAX workstation, and several other machines, with more in progress.
  35. Contact CMU c/o <CODE>mach@cs.cmu.edu</CODE> if you want to help with one
  36. of those or start your own. Porting the GNU Hurd and GNU C Library is
  37. easy (easier than porting GNU Emacs, certainly easier than porting GCC)
  38. once a Mach port to a particular kind of hardware exists.
  39. <P>
  40. Significant progress has been made recently: the filesystem is coming up
  41. and several other servers are running.
  42. There are significant projects relating to the Hurd for which we need
  43. volunteers. Experienced system programmers who are interested should send
  44. mail to <CODE>gnu@prep.ai.mit.edu</CODE>.
  45. <P>
  46. <LI>
  47. <B>GNU Emacs</B> (also see "GNU Software Available Now")
  48. <P>
  49. Emacs is the extensible, customizable, self-documenting real-time
  50. display editor. The current version is GNU Emacs 19.22.
  51. <P>
  52. A number of volunteers have been especially helpful on Emacs 19. Thanks to
  53. Alan Carroll and the people who worked on Epoch for generating initial
  54. feedback to a multi-windowed Emacs, to Lucid, Inc. for implementing X
  55. Selections, faces, the optimizing byte compiler, and the default menu
  56. bar,
  57. to Eric Raymond who has evaluated 460 out of 851 possible new
  58. Lisp libraries, and to Stephen Gildea for making the Emacs 19
  59. reference card.
  60. <P>
  61. Features planned for later releases of Emacs include: different
  62. visibility conditions for regions, and for various windows showing one
  63. buffer; incrementally saving the undo history in a file, so that
  64. <CODE>recover-file</CODE> also reinstalls the buffer's undo history; support
  65. for variable-width fonts; support for wide character sets including all
  66. the world's major languages; and support for display using an X toolkit.
  67. <P>
  68. <LI>
  69. <B>GNU Fortran (<CODE>g77</B>)</CODE>
  70. <P>
  71. GNU Fortran is in "private" alpha test (testing by a small group of
  72. experts) and is not yet publicly released. Until <CODE>g77</CODE> is fully
  73. released to the public, we ask people to use <CODE>f2c</CODE> (a Fortran-to-C
  74. translator) with <CODE>gcc</CODE> (the GNU C compiler). As <CODE>g77</CODE> uses a lot
  75. of these tools (the <CODE>f2c</CODE> libraries and the <CODE>gcc</CODE> back end),
  76. using them and reporting any problems you find will help speed the release
  77. of <CODE>g77</CODE>. For more information on <CODE>f2c</CODE> and <CODE>gcc</CODE>, see "GNU
  78. Software Available Now."
  79. <P>
  80. The primary focus of the alpha test is to test the <CODE>g77</CODE> front end,
  81. since that has most of the new code. The secondary focus of the alpha
  82. test is to test the integration between the front end and the back end.
  83. Currently, this is where most of the bugs seem to be. The tertiary
  84. focus is the quality of code generated by the GNU back end for Fortran.
  85. <P>
  86. We hope to have a <CODE>g77</CODE> beta release in early spring 1994, as part of
  87. the regular compiler distribution.
  88. <P>
  89. A mailing list exists for announcements about <CODE>g77</CODE>. To subscribe,
  90. ask <CODE>info-gnu-fortran-request@prep.ai.mit.edu</CODE>. To contact the
  91. author and maintainer of <CODE>g77</CODE>, write to
  92. <CODE>fortran@prep.ai.mit.edu</CODE>.
  93. <P>
  94. <LI>
  95. <B>C Compiler</B> (also see "GNU Software Available Now")
  96. <P>
  97. Version 2 of the GNU C Compiler has been released. We are no longer
  98. distributing or maintaining version 1 of GCC, G<TT>++</TT>, or libg<TT>++</TT>. GCC2
  99. supports both ANSI and traditional C, as well as some GNU C extensions.
  100. There are front ends for C<TT>++</TT> and Objective C too.
  101. <P>
  102. New front ends are being developed, but they are not yet part of GCC. A
  103. front end for Fortran is now in alpha test and is approaching completion,
  104. and a front end for Ada (GNAT: The GNU Ada Translator) is available via
  105. anonymous FTP from <CODE>cs.nyu.edu</CODE> in <TT>`ftp/pub/gnat'</TT>, though it is
  106. not yet stable. Volunteers are also developing a Pascal front end.
  107. <P>
  108. For more information about GCC, see "GNU Software Available Now."
  109. <P>
  110. <LI>
  111. <B>C Interpreter</B>
  112. <P>
  113. The FSF is working to add interpreter facilities to the GNU compiler and
  114. debugger. This task is partly finished. The compiler now generates
  115. byte code (for all supported languages, not just C) and another package
  116. interprets it.
  117. <P>
  118. To make this work usable, we need to add features to GDB to dynamically
  119. load the byte code. We also would like C compiler support for compiling
  120. just a specified few functions in a file. Due to limited
  121. resources, the FSF cannot fund this. Interested volunteers should
  122. contact <CODE>gnu@prep.ai.mit.edu</CODE>.
  123. <P>
  124. <LI>
  125. <B>Binutils</B> (also see "GNU Software Available Now")
  126. <P>
  127. Steve Chamberlain, Per Bothner, and others at Cygnus Support have
  128. rewritten the binary utilities (including the linker). Version 2 is
  129. based on the same Binary File Descriptor (BFD) library used by GDB. All
  130. the tools can be run on a host that differs from the target (e.g.
  131. cross-linking is supported). Various forms of COFF and other object
  132. file formats are supported. A tool can now deal with object files in
  133. multiple formats simultaneously. E.g., the linker can read object files
  134. using many different formats, and write the output in yet another format.
  135. The linker interprets a superset of the AT&#38;T Linker Command Language,
  136. which allows general control over where segments are placed in memory.
  137. <P>
  138. <LI>
  139. <B>GNU C Library</B> (also see "GNU Software Available Now")
  140. <P>
  141. Roland McGrath continues work on the GNU C Library. It now supports all
  142. requirements of the ANSI C-1989 and POSIX 1003.1-1990 standards, most
  143. facilities of POSIX 1003.2, and many additional BSD and System V functions.
  144. <P>
  145. The C Library will perform many functions of the UNIX system calls in
  146. the Hurd. Mike Haertel has written a fast <CODE>malloc</CODE> which
  147. wastes less memory than the old GNU version. The GNU regular-expression
  148. functions (<CODE>regex</CODE>) now nearly conform to the POSIX 1003.2
  149. standard.
  150. <P>
  151. GNU <CODE>stdio</CODE> lets you define new kinds of streams, just by writing a
  152. few C functions. The <CODE>fmemopen</CODE> function uses this to open a
  153. stream on a string, which can grow as necessary. You can define your
  154. own <CODE>printf</CODE> formats to use a C function you have written. For
  155. example, you can safely use format strings from user input to implement
  156. a <CODE>printf</CODE>-like function for another programming language.
  157. Extended <CODE>getopt</CODE> functions are already used to parse options,
  158. including long options, in many GNU utilities.
  159. <P>
  160. Version 1.06 of the GNU C Library is just out and 1.07 is in the works.
  161. Version 1.06 includes the relocating allocator used in Emacs 19, as well as
  162. new ports to Dynix on Sequent Symmetry, SCO &#38; SVR4 on i386, &#38; Solaris 2 on
  163. SPARC. Texinfo source of the <CITE>GNU C Library Reference Manual</CITE> is
  164. included. For more info, see "GNU Software Available Now."
  165. <P>
  166. <LI>
  167. <B>indent</B> (also see "GNU Software Available Now")
  168. <P>
  169. We now have a version of <CODE>indent</CODE> which supports the GNU
  170. indentation conventions for C code. It is more robust and also has
  171. handy options for the most common style combinations.
  172. <P>
  173. A companion program to examine a C source file and find the indentation
  174. parameters used therein is almost ready for release, but needs someone to
  175. finish it. Please contact <CODE>gnu@prep.ai.mit.edu</CODE> to volunteer.
  176. <P>
  177. <LI>
  178. <CODE>make</CODE> (also see "GNU Software Available Now")
  179. <P>
  180. GNU <CODE>make</CODE> version 3.70 is released. Error reporting is improved and
  181. many bugs have been fixed. GNU <CODE>make</CODE> fully complies with the POSIX.2
  182. standard. It also supports long options, parallel command execution,
  183. flexible implicit pattern rules, conditional execution and powerful text
  184. manipulation functions. Version 3.64 added support for the popular
  185. <SAMP>`+='</SAMP> syntax for appending more text to a variable's definition.
  186. For those with no vendor-supplied <CODE>make</CODE> utility at all, GNU
  187. <CODE>make</CODE> comes with a shell script called <TT>`build.sh'</TT> for the
  188. initial build. See "GNU Software Available Now."
  189. <P>
  190. <LI>
  191. <B>Oleo</B> (also see "GNU Software Available Now")
  192. <P>
  193. Oleo is a spreadsheet program that can be run either as an X client or
  194. using curses. The current version is 1.5. Support has recently been
  195. added both for <CODE>gnuplot</CODE> and for generating embedded Postscript.
  196. <P>
  197. If you would like to write the Texinfo manual for Oleo, contact Tom Lord,
  198. <CODE>lord+@andrew.cmu.edu</CODE>. Please send bug reports regarding Oleo
  199. to <CODE>bug-oleo@prep.ai.mit.edu</CODE>. See "GNU Software Available
  200. Now."
  201. <P>
  202. <LI>
  203. <B>Ghostscript</B> (also see "GNU Software Available Now")
  204. <P>
  205. The current version of Ghostscript is 2.6.1. New features include the
  206. ability to use the fonts provided by the platform on which Ghostscript
  207. runs (X Window System and Microsoft Windows), resulting in much
  208. better-looking screen displays; improved text file printing (like
  209. <CODE>enscript</CODE>); a utility to extract the text from a Postscript
  210. document; a much more reliable (and faster) Microsoft Windows
  211. implementation; support for Microsoft C/C<TT>++</TT> 7.0; drivers for many
  212. new printers, including the SPARCprinter, and for TIFF/F (fax) file
  213. format; many more Postscript Level 2 facilities, including most of the
  214. color space facilities (but not patterns), and the ability to switch
  215. between Level 1 and Level 2 dynamically.
  216. <P>
  217. Ghostscript accepts commands in Postscript and executes them by writing
  218. directly to a printer, drawing on an X window, or writing to a file that
  219. you can print later (or to a bitmap file that you can manipulate with
  220. other graphics programs). Tim Theisen,
  221. <CODE>ghostview@cs.wisc.edu</CODE>, has created Ghostview, a previewer
  222. for multi-page files that runs on top of Ghostscript. Russell Lang,
  223. <CODE>rjl@monu1.cc.monash.edu.au</CODE>, has created Ghostview for
  224. Windows, a similar previewer that runs on Microsoft Windows.
  225. <P>
  226. Ghostscript includes a C-callable graphics library (for client programs
  227. that do not want to deal with the Postscript language). It also supports
  228. IBM PCs and compatibles with EGA, VGA, or SuperVGA graphics (but please do
  229. <EM>not</EM> ask the FSF staff any questions about this; we do not use PCs).
  230. <P>
  231. The next planned Ghostscript release is 3.0, hopefully available in early
  232. 1994. It will implement the full Postscript Level 2 language except for
  233. LZW compression, which can't be freely implemented because of software
  234. patents. Prohibitions like this on programming is what the
  235. League for Programming Freedom is fighting. See "What is the LPF?" for
  236. details.
  237. <P>
  238. <LI>
  239. <B>Smalltalk</B> (also see "GNU Software Available Now")
  240. <P>
  241. GNU Smalltalk implements the traditional features of the Smalltalk
  242. language, but not yet the graphics and window features. Recently someone
  243. implemented these and they will appear in a future release.
  244. <P>
  245. <LI>
  246. <B><CODE>groff</B></CODE> (also see "GNU Software Available Now")
  247. <P>
  248. James Clark has completed <CODE>groff</CODE> (GNU <CODE>troff</CODE> and related
  249. programs). Written in C<TT>++</TT>, they can be compiled with GNU C<TT>++</TT>
  250. Version 2.3 or later.
  251. <P>
  252. Bugs in <CODE>groff</CODE> will be fixed, but no major new developments are
  253. currently planned. However, <CODE>groff</CODE> users are encouraged to
  254. continue to contribute enhancements. Most needed are complete Texinfo
  255. documentation, a <CODE>grap</CODE> emulation (a <CODE>pic</CODE> preprocessor for
  256. typesetting graphs), a page-makeup postprocessor similar to <CODE>pm</CODE>
  257. (see <CITE>Computing Systems</CITE>, Vol. 2, No. 2) and an ASCII output
  258. class for <CODE>pic</CODE> so that <CODE>pic</CODE> can be integrated with Texinfo.
  259. <P>
  260. Thanks to all those who have contributed bug reports.
  261. <P>
  262. <LI>
  263. <B>Texinfo 3</B> (also see "GNU Software Available Now")
  264. <P>
  265. The Texinfo 3 package includes an enhanced Texinfo mode for GNU Emacs,
  266. new versions of the formatting utilities, and the second edition of the
  267. <CITE>Texinfo Manual</CITE>. This edition is more thorough and describes over
  268. 50 new commands. Texinfo mode now includes commands for automatically
  269. creating and updating nodes and menus, a tedious task when done by hand.
  270. <CODE>makeinfo</CODE>, a standalone formatter, and <CODE>info</CODE>, a standalone
  271. Info reader are included. Both are written in C and are independent of
  272. GNU Emacs.
  273. <P>
  274. <LI>
  275. <B>Porting</B>
  276. <P>
  277. Although we do not yet have a complete GNU system, it is already
  278. possible for you to begin porting it. This is because the unfinished
  279. part, the Hurd, is basically portable. The parts of the system that
  280. really need porting are Mach and the GNU C Library, which are already
  281. available to port, use and report bugs.
  282. </UL>
  283. <P>
  284. <P>Go to the <A HREF="gnu_bulletin_9401_17.html">previous</A>, <A HREF="gnu_bulletin_9401_19.html">next</A> chapter.<P>