Here is the latest version of the prototype extractor. Included with proto is the Solucorp programmer's tool kit. DOS, Linux, OS/2 and SUN Sparc version are supplied. DOS version is in the file dos.zip. Linux version is in the linux.tgz file. Sun sparc version is in the sparc.zip file. The Sun version is in tar format inside the zip file. Here follows a description of the utilities. The file example.zip gives a more complete coverage of the capabilities of those utilities. Solucorp reserves rights to change content of the kit without notice. -Dircmd: An enhanced file find utility. -Make: An enhance make utility. -Makedep: A dependancy builder for makefiles. -Naloc: A function browser. -Naperm: Sorted indexes builder. -Nadoc: Formatter for systems documentation. -Nulfct: Strip some function calls from a source file. Dircmd: An enhanced file find utility. Dircmd not only locates files and directories using complex selection criteria (date, multiple wildcard, exclusion, directory mirroring, etc ...), but let you apply command on it. The following command deletes every .obj file associated to a .c file on a disk. dircmd -s -e *.c del %p%\%b.obj This will delete each file that appears both in directory archive and work and are the same (same size, same date). dircmd -c+=\archive -e \work\*.* del %s Essential for large disk and network management. Make: An enhance make utility. Solucorp Make introduces several extensions. It allows for portable makefiles between UNIX and DOS. Here are a list of enhancements from standard Makes. See the file makefile in example.zip. -Overcome DOS command line limitation. DOS limits command line to 126 characters. Make solves this problem almost transparently. -Overcome DOS 640K limits. Make can either swap itself to disk or open a separate DesqView window, leaving most memory available. -Conditionnal processing. Make supports a complete set of preprocessor directives that works much like the C preprocessor. -Distributed project. Make can operate transparently with source files and object files distributed in several different directories. The exact disposition is independant of the rules themselves. This yields "transportable" makefiles. -Enhanced macro definition syntax. Supports definitions using wildcards. Supports exclusion. -Powerfull macro editing capability. Once a macro is defined, it can be used as is, or used with modifications. -Automatic handling of include files dependancies. See utility makedep. -Enhanced selective touch option. A touch may be applied on targets outdated by only a specified dependancy. -Debugging option that lets you inspect the decision tree. Makedep: A dependancy builder for makefiles. Makedep scans a list of source files, and produced a "parallel" file used transparently by make. It tells Make the depandencies between sources and header files. You don't have to update yourself the makefile anymore each time you include a different header in a source. Naloc: A function browser. Naloc locates the source file holding a function declaration anywhere in a multiple sources, multiple directories project. Easily hooked to any programmable editor. Naperm: Sorted indexes builder. This programs produced three output files: A summary, a permutted index and a log of the revision made to a package. See document.exm in example.zip. Nadoc: Formatter for systems documentation. Nadoc lets you write the outline of a system documentation. You simply identify the sections and sub-sections, briefly introduce each one and then identify which functions belong to which sections. Nadoc automaticly creates a document by extracting the documentation from the sources. It creates a table of contents. It points out the functions not mentionned in the document and obsolete functions. A must for code reuse. See file document.exm in example.zip. Nulfct: Strip some function call from a source file. Given a list of function (generally debugging function), nulfct will strip every call made to those functions and will produce a temporary file, leaving the original untouched. This file may then be compiled. -------------------------------------------------------------------- New feature of utility proto. These are extracts from the manual profoe.man. -------------------------------------------------------------------- 1 Introduction and warnings The prototype extractor automates part of an ANSI C and C++ 2.0 programmer's work. It also supports K&R functions declaration syntax. This utility is available for both MSDOS(PCDOS) (3.0 and up), SCO XENIX version 2.3 (UNIX systŠme V.3.2) et SUN SPARC (Sunos). This manual applies to all three systems. However, the / field separator has been used for file specification. The MSDOS version used the \ character instead. 3.3 Added keyword to automate operation of the extractor C++ and C do not allow fully automatic prototype extraction. They are missing keywords for access control. The extractor need specific information to distribute properly prototypes in header files. The extractor supports seven special keywords. export C et C++ _export C et C++ PRIVATE C++ PUBLIC C++ PROTECTED C++ STATIC C++ VIRTUAL C++ 3.4.3 -b : Update C++ header file from a .pm file Normally, proto output all class member function prototypes in a single file (see option -m0+, -m1+ and -c+). This file generally has the extension ".pm". From this file, proto distributes prototypes of class member functions in the header files that hold class definition. Option -b triggers this distribution. The syntax goes like this: -bheader_file+pm_file=destination_file -bheader_file+pm_file -bheader_file -b If destination_file is omitted, header_file is used. If pm_file is omitted X.pm is used (where X is the name of the current directory). Option -b without argument is equivalent to -bX.hpp+X.pm or -bX.h+X.pm where X is the name of the current directory. X.h is used when X.hpp does not exist. Option -b may be used several times (to update different headers) on the same command line. Its action will be triggered only after the last prototype has been extracted. 3.4.6 -D : Symbol definition The option -D allows the definition of preprocessor symbols on the command line. The option "-Dsymxxx" is equivalent to "#define symxxx" within a source. The option "-Dsymxxx=yyy" is equivalent to "#define symxxx yyy". 3.4.15 -o : Alternative name for option -m Option -m builds its output files from the current directory name. Option -o let you specify another base name.