123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285 |
- <TITLE> - Project GNU Status Report</TITLE>
- <P>Go to the <A HREF="gnu_bulletin_9401_17.html">previous</A>, <A HREF="gnu_bulletin_9401_19.html">next</A> chapter.<P>
- <H1><A NAME="SEC35" HREF="gnu_bulletin_9401_toc.html#SEC35">Project GNU Status Report</A></H1>
- <P>
- <UL>
- <LI>
- <B>GNU Software Configuration Scheme</B>
- <P>
- We are using a uniform scheme for configuring GNU software packages
- in order to compile them. All GNU software supports the same
- alternatives for naming machine and system types. This makes it
- possible to configure any and all GNU software in the same manner.
- <P>
- The configuration scheme also supports configuring a directory
- containing several GNU packages with one command. When the operating
- system is completed, it will be possible to configure the entire system
- at once, eliminating the need to separately configure each of the
- individual packages that make up the GNU system.
- <P>
- The configuration scheme can also specify both the host and target system,
- so you can easily configure and build cross-compilation tools.
- <P>
- <LI>
- <B>The Hurd</B>
- <P>
- We are developing the GNU Hurd, a set of servers that run on top of Mach
- (for more information, see "Towards a New Strategy of Operating System
- Design"). Mach is a free message-passing kernel being developed at CMU.
- The Hurd servers, working with the GNU C Library, will provide Unix-like
- functionality. They are the last major components necessary for a complete
- GNU system.
- <P>
- Currently there are free ports of the Mach kernel to the 386 PC, the DEC
- PMAX workstation, and several other machines, with more in progress.
- Contact CMU c/o <CODE>mach@cs.cmu.edu</CODE> if you want to help with one
- of those or start your own. Porting the GNU Hurd and GNU C Library is
- easy (easier than porting GNU Emacs, certainly easier than porting GCC)
- once a Mach port to a particular kind of hardware exists.
- <P>
- Significant progress has been made recently: the filesystem is coming up
- and several other servers are running.
- There are significant projects relating to the Hurd for which we need
- volunteers. Experienced system programmers who are interested should send
- mail to <CODE>gnu@prep.ai.mit.edu</CODE>.
- <P>
- <LI>
- <B>GNU Emacs</B> (also see "GNU Software Available Now")
- <P>
- Emacs is the extensible, customizable, self-documenting real-time
- display editor. The current version is GNU Emacs 19.22.
- <P>
- A number of volunteers have been especially helpful on Emacs 19. Thanks to
- Alan Carroll and the people who worked on Epoch for generating initial
- feedback to a multi-windowed Emacs, to Lucid, Inc. for implementing X
- Selections, faces, the optimizing byte compiler, and the default menu
- bar,
- to Eric Raymond who has evaluated 460 out of 851 possible new
- Lisp libraries, and to Stephen Gildea for making the Emacs 19
- reference card.
- <P>
- Features planned for later releases of Emacs include: different
- visibility conditions for regions, and for various windows showing one
- buffer; incrementally saving the undo history in a file, so that
- <CODE>recover-file</CODE> also reinstalls the buffer's undo history; support
- for variable-width fonts; support for wide character sets including all
- the world's major languages; and support for display using an X toolkit.
- <P>
- <LI>
- <B>GNU Fortran (<CODE>g77</B>)</CODE>
- <P>
- GNU Fortran is in "private" alpha test (testing by a small group of
- experts) and is not yet publicly released. Until <CODE>g77</CODE> is fully
- released to the public, we ask people to use <CODE>f2c</CODE> (a Fortran-to-C
- translator) with <CODE>gcc</CODE> (the GNU C compiler). As <CODE>g77</CODE> uses a lot
- of these tools (the <CODE>f2c</CODE> libraries and the <CODE>gcc</CODE> back end),
- using them and reporting any problems you find will help speed the release
- of <CODE>g77</CODE>. For more information on <CODE>f2c</CODE> and <CODE>gcc</CODE>, see "GNU
- Software Available Now."
- <P>
- The primary focus of the alpha test is to test the <CODE>g77</CODE> front end,
- since that has most of the new code. The secondary focus of the alpha
- test is to test the integration between the front end and the back end.
- Currently, this is where most of the bugs seem to be. The tertiary
- focus is the quality of code generated by the GNU back end for Fortran.
- <P>
- We hope to have a <CODE>g77</CODE> beta release in early spring 1994, as part of
- the regular compiler distribution.
- <P>
- A mailing list exists for announcements about <CODE>g77</CODE>. To subscribe,
- ask <CODE>info-gnu-fortran-request@prep.ai.mit.edu</CODE>. To contact the
- author and maintainer of <CODE>g77</CODE>, write to
- <CODE>fortran@prep.ai.mit.edu</CODE>.
- <P>
- <LI>
- <B>C Compiler</B> (also see "GNU Software Available Now")
- <P>
- Version 2 of the GNU C Compiler has been released. We are no longer
- distributing or maintaining version 1 of GCC, G<TT>++</TT>, or libg<TT>++</TT>. GCC2
- supports both ANSI and traditional C, as well as some GNU C extensions.
- There are front ends for C<TT>++</TT> and Objective C too.
- <P>
- New front ends are being developed, but they are not yet part of GCC. A
- front end for Fortran is now in alpha test and is approaching completion,
- and a front end for Ada (GNAT: The GNU Ada Translator) is available via
- anonymous FTP from <CODE>cs.nyu.edu</CODE> in <TT>`ftp/pub/gnat'</TT>, though it is
- not yet stable. Volunteers are also developing a Pascal front end.
- <P>
- For more information about GCC, see "GNU Software Available Now."
- <P>
- <LI>
- <B>C Interpreter</B>
- <P>
- The FSF is working to add interpreter facilities to the GNU compiler and
- debugger. This task is partly finished. The compiler now generates
- byte code (for all supported languages, not just C) and another package
- interprets it.
- <P>
- To make this work usable, we need to add features to GDB to dynamically
- load the byte code. We also would like C compiler support for compiling
- just a specified few functions in a file. Due to limited
- resources, the FSF cannot fund this. Interested volunteers should
- contact <CODE>gnu@prep.ai.mit.edu</CODE>.
- <P>
- <LI>
- <B>Binutils</B> (also see "GNU Software Available Now")
- <P>
- Steve Chamberlain, Per Bothner, and others at Cygnus Support have
- rewritten the binary utilities (including the linker). Version 2 is
- based on the same Binary File Descriptor (BFD) library used by GDB. All
- the tools can be run on a host that differs from the target (e.g.
- cross-linking is supported). Various forms of COFF and other object
- file formats are supported. A tool can now deal with object files in
- multiple formats simultaneously. E.g., the linker can read object files
- using many different formats, and write the output in yet another format.
- The linker interprets a superset of the AT&T Linker Command Language,
- which allows general control over where segments are placed in memory.
- <P>
- <LI>
- <B>GNU C Library</B> (also see "GNU Software Available Now")
- <P>
- Roland McGrath continues work on the GNU C Library. It now supports all
- requirements of the ANSI C-1989 and POSIX 1003.1-1990 standards, most
- facilities of POSIX 1003.2, and many additional BSD and System V functions.
- <P>
- The C Library will perform many functions of the UNIX system calls in
- the Hurd. Mike Haertel has written a fast <CODE>malloc</CODE> which
- wastes less memory than the old GNU version. The GNU regular-expression
- functions (<CODE>regex</CODE>) now nearly conform to the POSIX 1003.2
- standard.
- <P>
- GNU <CODE>stdio</CODE> lets you define new kinds of streams, just by writing a
- few C functions. The <CODE>fmemopen</CODE> function uses this to open a
- stream on a string, which can grow as necessary. You can define your
- own <CODE>printf</CODE> formats to use a C function you have written. For
- example, you can safely use format strings from user input to implement
- a <CODE>printf</CODE>-like function for another programming language.
- Extended <CODE>getopt</CODE> functions are already used to parse options,
- including long options, in many GNU utilities.
- <P>
- Version 1.06 of the GNU C Library is just out and 1.07 is in the works.
- Version 1.06 includes the relocating allocator used in Emacs 19, as well as
- new ports to Dynix on Sequent Symmetry, SCO & SVR4 on i386, & Solaris 2 on
- SPARC. Texinfo source of the <CITE>GNU C Library Reference Manual</CITE> is
- included. For more info, see "GNU Software Available Now."
- <P>
- <LI>
- <B>indent</B> (also see "GNU Software Available Now")
- <P>
- We now have a version of <CODE>indent</CODE> which supports the GNU
- indentation conventions for C code. It is more robust and also has
- handy options for the most common style combinations.
- <P>
- A companion program to examine a C source file and find the indentation
- parameters used therein is almost ready for release, but needs someone to
- finish it. Please contact <CODE>gnu@prep.ai.mit.edu</CODE> to volunteer.
- <P>
- <LI>
- <CODE>make</CODE> (also see "GNU Software Available Now")
- <P>
- GNU <CODE>make</CODE> version 3.70 is released. Error reporting is improved and
- many bugs have been fixed. GNU <CODE>make</CODE> fully complies with the POSIX.2
- standard. It also supports long options, parallel command execution,
- flexible implicit pattern rules, conditional execution and powerful text
- manipulation functions. Version 3.64 added support for the popular
- <SAMP>`+='</SAMP> syntax for appending more text to a variable's definition.
- For those with no vendor-supplied <CODE>make</CODE> utility at all, GNU
- <CODE>make</CODE> comes with a shell script called <TT>`build.sh'</TT> for the
- initial build. See "GNU Software Available Now."
- <P>
- <LI>
- <B>Oleo</B> (also see "GNU Software Available Now")
- <P>
- Oleo is a spreadsheet program that can be run either as an X client or
- using curses. The current version is 1.5. Support has recently been
- added both for <CODE>gnuplot</CODE> and for generating embedded Postscript.
- <P>
- If you would like to write the Texinfo manual for Oleo, contact Tom Lord,
- <CODE>lord+@andrew.cmu.edu</CODE>. Please send bug reports regarding Oleo
- to <CODE>bug-oleo@prep.ai.mit.edu</CODE>. See "GNU Software Available
- Now."
- <P>
- <LI>
- <B>Ghostscript</B> (also see "GNU Software Available Now")
- <P>
- The current version of Ghostscript is 2.6.1. New features include the
- ability to use the fonts provided by the platform on which Ghostscript
- runs (X Window System and Microsoft Windows), resulting in much
- better-looking screen displays; improved text file printing (like
- <CODE>enscript</CODE>); a utility to extract the text from a Postscript
- document; a much more reliable (and faster) Microsoft Windows
- implementation; support for Microsoft C/C<TT>++</TT> 7.0; drivers for many
- new printers, including the SPARCprinter, and for TIFF/F (fax) file
- format; many more Postscript Level 2 facilities, including most of the
- color space facilities (but not patterns), and the ability to switch
- between Level 1 and Level 2 dynamically.
- <P>
- Ghostscript accepts commands in Postscript and executes them by writing
- directly to a printer, drawing on an X window, or writing to a file that
- you can print later (or to a bitmap file that you can manipulate with
- other graphics programs). Tim Theisen,
- <CODE>ghostview@cs.wisc.edu</CODE>, has created Ghostview, a previewer
- for multi-page files that runs on top of Ghostscript. Russell Lang,
- <CODE>rjl@monu1.cc.monash.edu.au</CODE>, has created Ghostview for
- Windows, a similar previewer that runs on Microsoft Windows.
- <P>
- Ghostscript includes a C-callable graphics library (for client programs
- that do not want to deal with the Postscript language). It also supports
- IBM PCs and compatibles with EGA, VGA, or SuperVGA graphics (but please do
- <EM>not</EM> ask the FSF staff any questions about this; we do not use PCs).
- <P>
- The next planned Ghostscript release is 3.0, hopefully available in early
- 1994. It will implement the full Postscript Level 2 language except for
- LZW compression, which can't be freely implemented because of software
- patents. Prohibitions like this on programming is what the
- League for Programming Freedom is fighting. See "What is the LPF?" for
- details.
- <P>
- <LI>
- <B>Smalltalk</B> (also see "GNU Software Available Now")
- <P>
- GNU Smalltalk implements the traditional features of the Smalltalk
- language, but not yet the graphics and window features. Recently someone
- implemented these and they will appear in a future release.
- <P>
- <LI>
- <B><CODE>groff</B></CODE> (also see "GNU Software Available Now")
- <P>
- James Clark has completed <CODE>groff</CODE> (GNU <CODE>troff</CODE> and related
- programs). Written in C<TT>++</TT>, they can be compiled with GNU C<TT>++</TT>
- Version 2.3 or later.
- <P>
- Bugs in <CODE>groff</CODE> will be fixed, but no major new developments are
- currently planned. However, <CODE>groff</CODE> users are encouraged to
- continue to contribute enhancements. Most needed are complete Texinfo
- documentation, a <CODE>grap</CODE> emulation (a <CODE>pic</CODE> preprocessor for
- typesetting graphs), a page-makeup postprocessor similar to <CODE>pm</CODE>
- (see <CITE>Computing Systems</CITE>, Vol. 2, No. 2) and an ASCII output
- class for <CODE>pic</CODE> so that <CODE>pic</CODE> can be integrated with Texinfo.
- <P>
- Thanks to all those who have contributed bug reports.
- <P>
- <LI>
- <B>Texinfo 3</B> (also see "GNU Software Available Now")
- <P>
- The Texinfo 3 package includes an enhanced Texinfo mode for GNU Emacs,
- new versions of the formatting utilities, and the second edition of the
- <CITE>Texinfo Manual</CITE>. This edition is more thorough and describes over
- 50 new commands. Texinfo mode now includes commands for automatically
- creating and updating nodes and menus, a tedious task when done by hand.
- <CODE>makeinfo</CODE>, a standalone formatter, and <CODE>info</CODE>, a standalone
- Info reader are included. Both are written in C and are independent of
- GNU Emacs.
- <P>
- <LI>
- <B>Porting</B>
- <P>
- Although we do not yet have a complete GNU system, it is already
- possible for you to begin porting it. This is because the unfinished
- part, the Hurd, is basically portable. The parts of the system that
- really need porting are Mach and the GNU C Library, which are already
- available to port, use and report bugs.
- </UL>
- <P>
- <P>Go to the <A HREF="gnu_bulletin_9401_17.html">previous</A>, <A HREF="gnu_bulletin_9401_19.html">next</A> chapter.<P>
|