rfg@ics.uci.edu (Ronald Guilmette) (10/08/89)
PROTOIZE Version 1.04 is now available for anonymous FTP from ics.uci.edu (128.195.1.1). It is stored in the following file: ~ftp/pub/protoize-1.04.Z The size is 66561 bytes. This version is compatible (only) with GCC version 1.36. For those of you who missed the previous announcements of prior versions, the following summary is provided. Protoize is a tool which assists in the conversion of old style (K&R) C code to new style (ANSI) C code or to C++ code. It does this by converting old (non-prototyped) function declarations and definitions to new (prototyped) declarations and definitions. New function declarations will also be inserted into the converted code (as needed) in order to insure that all function calls are preceeded by explicit (prototyped) function declarations. If you want to convert old K&R C code to C++, the conversion step that Protoize performs is absolutely essential. Conversion of old K&R C code to new ANSI C code (via Protoize) is useful in that it allows your ANSI C compiler to do more compile-time interface checking on function calls. Protoize is built to be used in conjunction with a modified version the the GNU C compiler (GCC). The protoize package is distributed only as a patch file against the GCC (1.36) sources. Included in this patch file are patches which will cause the creation of the following additional new files in your GCC sources directory: protoize.c - the protoize program protoize.1 - the man page proto-gen.c - new addition to GCC std.c - prototypes for standard UNIX(tm) library routines Additionally, numerous GCC source files will be modified by the protoize patch file. For more detailed information about protoize, see the man page provided in the distribution patch file. This software has been generously donated to the Free Software Foundation by the Microelectronics and Computer Technology Corporation (MCC). The changes in the version over previous versions are: - .p files are now called .P files (to prevent conflicts with Pascal source files and/or Makefile rules for Pascal files) - a bug relating to typedef names has been fixed - the -fsyntax-only option to GCC has been fully implemented so that the generation of .P files can be done much faster - fixed getcwd()/getwd() problem for BSD - artificial limit on the number of .P files allowed has been removed - minor improvements in internal documentation Note that I have plans to produce a modified version of protoize called "unprotoize" (when time permits). This new program will convert ANSI-C programs back to old K&R code (without prototypes). Once this is available you will be able to automatically convert code back and forth between ANSI-C and K&R C at will. The creation of Unprotoize ought to be quite easy because I can reuse probably 75% of the work I have already done for protoize. My apologies to the many people who lack FTP access who have sent me mail in the past asking for copies of protoize via UUCP. If you send me a new mail message, I promise that (this time) I will fill your request promptly. *** CONVERSION SERVICE: If you have a large system that you would like to have converted from old C to ANSI-C or to C++, please contact me via E-mail. I may be willing to perform the conversion (using protoize) for a modest fee based on thousands of lines of code (or something like that). // rfg (rfg@ics.uci.edu)