The present invention provides a method and apparatus for automatically
logging compiler options currently being used in a build environment
and/or for replacing or supplementing the current compiler options with
new compiler options without necessarily modifying the build environment.
In accordance with a first embodiment of the present invention, a wrapper
program is stored at a location in memory where the compiler program
normally resides. Whenever a compiler user invokes the build process
program, a command is generated which is intended to invoke the compiler
program. However, instead of the compiler program being invoked by the
command, the wrapper program is invoked. The wrapper program comprises a
software routine which analyzes the compiler commands to determine which
compiler options are designated in the compiler commands. The wrapper
program causes a log file of the compiler options contained in the
compiler commands to be generated, which is readable by a human and/or by
a machine. The wrapper program then causes the compiler program to be
invoked and the compiler program then performs its normal functions. The
wrapper program may be separate from the compiler program or it may be
part of the compiler program. The log file generated by the wrapper
program can be modified by a compiler user such that the current compiler
options are replaced or supplemented with new compiler options. When the
build process program invokes the wrapper program, the wrapper program
causes new compiler commands to be generated which comprises the new
compiler options, which may be in lieu of or in addition to the compiler
options contained in the original compiler commands. The wrapper program
then causes the compiler program to be invoked and the compiler program
then functions in the normal manner using the options comprised in the new
compiler commands. Rather than using the log file to generate new compiler
options to be used by the compiler program, an environment variable can be
set so that each time a source file is compiled, the compiler option set
in the environment variable is used by the compiler program.
La actual invención proporciona un método y un aparato para las opciones automáticamente de registración del recopilador que son utilizadas actualmente en un ambiente de la estructura y/o para substituir o suplir las opciones actuales del recopilador con nuevas opciones del recopilador sin necesariamente la modificación del ambiente de la estructura. De acuerdo con una primera encarnación de la actual invención, un programa de la envoltura se almacena en una localización en la memoria donde reside el programa del recopilador normalmente. Siempre que un usuario del recopilador invoque el programa del proceso de la estructura, se genera un comando que se piensa para invocar el programa del recopilador. Sin embargo, en vez del programa del recopilador que es invocado por el comando, se invoca el programa de la envoltura. El programa de la envoltura abarca una rutina del software que analice los comandos del recopilador de determinarse qué opciones del recopilador se señalan en los comandos del recopilador. El programa de la envoltura causa un fichero de diario de las opciones del recopilador contenidas en los comandos del recopilador de ser generado, que es legible por un ser humano y/o por una máquina. El programa de la envoltura entonces hace el programa del recopilador ser invocado y el programa del recopilador después realiza sus funciones normales. El programa de la envoltura puede estar a parte del programa del recopilador o puede ser parte del programa del recopilador. El fichero de diario generado por el programa de la envoltura se puede modificar por un usuario del recopilador tales que las opciones actuales del recopilador están substituidas o suplidas con nuevas opciones del recopilador. Cuando el programa del proceso de la estructura invoca el programa de la envoltura, el programa de la envoltura causa nuevos comandos del recopilador de ser generado que abarca las nuevas opciones del recopilador, en lugar de las cuales puede estar o además de las opciones del recopilador contenidas en los comandos originales del recopilador. El programa de la envoltura entonces hace el programa del recopilador ser invocado y el programa del recopilador entonces funciona de la manera normal usando las opciones abarcadas en los nuevos comandos del recopilador. Más bien que usando el fichero de diario para generar las nuevas opciones del recopilador que se utilizarán por el programa del recopilador, una variable de entorno puede ser fijada de modo que cada vez que se compila un archivo de fuente, el sistema de la opción del recopilador en la variable de entorno sea utilizado por el programa del recopilador.