123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- unit Shared.CompilerInt.Struct;
- {
- Inno Setup
- Copyright (C) 1997-2024 Jordan Russell
- Portions by Martijn Laan
- For conditions of distribution and use, see LICENSE.TXT.
- Compiler interface records and other types
- }
- interface
- uses
- Windows;
- const
- { Constants passed in Code parameter of callback function }
- iscbReadScript = 1; { Sent when compiler needs the next script line }
- iscbNotifyStatus = 2; { Sent to notify the application of compiler status }
- iscbNotifyIdle = 3; { Sent at various intervals during the compilation }
- iscbNotifySuccess = 4; { Sent when compilation succeeds }
- iscbNotifyError = 5; { Sent when compilation fails or is aborted by the
- application }
- iscbNotifyPreproc = 6; { Sent to notify the application of preprocessor results }
- { Return values for callback function }
- iscrSuccess = 0; { Return this for compiler to continue }
- iscrRequestAbort = 1; { Return this to abort compilation immediately.
- (When this value is returned, it is not necessary
- to set any of the "out" fields in the
- TCompilerCallbackData; the compiler will ignore
- them.) }
- { Return values for ISDllCompileScript }
- isceNoError = 0; { Successful }
- isceInvalidParam = 1; { Bad parameters passed to function }
- isceCompileFailure = 2; { There was an error compiling or it was aborted
- by the application }
- type
- { TCompilerCallbackData is a record passed to the callback function. The
- fields which you may access vary depending on what Code was passed to the
- callback function. }
- TCompilerCallbackData = record
- case Integer of
- iscbReadScript: (
- Reset: BOOL; { [in] This field can be ignored in compiler
- versions 3.0.1 and later. (Previous versions
- of the compiler made multiple passes over the
- script, and set Reset to True when it needed
- to return to the beginning.) }
- LineRead: PChar); { [out] Application returns pointer to the next
- line it reads, or a NULL pointer if the end of
- file is reached. Application is responsible for
- allocating a buffer to hold the line; LineRead
- is initially NULL when the callback function
- is called. The pointer only needs to remain
- valid until the next time the callback function
- is called (i.e. the application may return the
- same pointer each time). }
- iscbNotifyStatus: (
- StatusMsg: PChar; { [in] Contents of status message. }
- Warning: BOOL); { [in] Warning indicator (new in 6.0.0) }
- iscbNotifyIdle: (
- CompressProgress: Cardinal; { [in] Amount compressed so far
- (new in 4.1.6) }
- CompressProgressMax: Cardinal; { [in] Maximum value of CompressProgress
- (new in 4.1.6) }
- SecondsRemaining: Integer; { [in] Estimated time remaining, or -1
- if not known (new in 5.1.13) }
- BytesCompressedPerSecond: Cardinal); { [in] Average bytes compressed
- per second (new in 5.1.13) }
- iscbNotifyPreproc: (
- PreprocessedScript: PChar; { [in] Preprocessed script (new in 6.1.0) }
- IncludedFilenames: PChar); { [in] Names of #included files. Each name is
- a null-terminated string, and the final
- name is followed by an additional null
- character (new in 6.1.0) }
- iscbNotifySuccess: (
- OutputExeFilename: PChar; { [in] The name of the resulting setup.exe,
- or empty if output was disabled
- (latter new in 5.5.5) }
- DebugInfo: Pointer; { [in] Debug info (new in 3.0.0.1) }
- DebugInfoSize: Cardinal); { [in] Size of debug info (new in 3.0.0.1) }
- iscbNotifyError: (
- ErrorMsg: PChar; { [in] The error message, or NULL if compilation
- was aborted by the application. }
- ErrorFilename: PChar; { [in] Filename in which the error occurred. This
- is NULL if the file is the main script. }
- ErrorLine: Integer); { [in] The line number the error occurred on.
- Zero if the error doesn't apply to any
- particular line. }
- end;
- TCompilerCallbackProc = function(Code: Integer;
- var Data: TCompilerCallbackData; AppData: Longint): Integer; stdcall;
- PCompileScriptParamsEx = ^TCompileScriptParamsEx;
- TCompileScriptParamsEx = record
- Size: Cardinal; { [in] Set to SizeOf(TCompileScriptParamsEx). }
- CompilerPath: PChar; { [in] The "compiler:" directory. This is the
- directory which contains the *.e32 files. If this
- is set to NULL, the compiler will use the directory
- containing the compiler DLL/EXE. }
- SourcePath: PChar; { [in] The default source directory, and directory to
- look in for #include files. Normally, this is
- the directory containing the script file. This
- cannot be NULL. }
- CallbackProc: TCompilerCallbackProc;
- { [in] The callback procedure which the compiler calls
- to read the script and for status notification. }
- AppData: Longint; { [in] Application-defined. AppData is passed to the
- callback function. }
- Options: PChar; { [in] Additional options. Each option is a
- null-terminated string, and the final option is
- followed by an additional null character.
- If you do not wish to specify any options, set this
- field to NULL or to point to a single null
- character.
- Currently supported options:
- Output=(0|no|false|1|yes|true)
- Enables or disables output.
- OutputBaseFilename=[filename]
- Overrides any OutputBaseFilename setting in the
- script; causes the compiler to use [filename]
- instead.
- OutputDir=[path]
- Overrides any output directory in the script;
- causes the compiler to use [path] instead.
- SignTool-[name]=[command]
- Configures a SignTool with name [name] and command
- [command].
- ISPP:[isppoption]
- Configures an ISPP option. }
- end;
- { The old TCompileScriptParams record. Use this in place of
- TCompileScriptParamsEx if you need call ISCmplr.dll versions below
- 5.0.5. It's the same except it lacks an Options field. }
- TCompileScriptParams = record
- Size: Cardinal; { [in] Set to SizeOf(TCompileScriptParams). }
- CompilerPath: PChar;
- SourcePath: PChar;
- CallbackProc: TCompilerCallbackProc;
- AppData: Longint;
- end;
- PCompilerVersionInfo = ^TCompilerVersionInfo;
- TCompilerVersionInfo = record
- Title: PAnsiChar; { Name of compiler engine - 'Inno Setup' }
- Version: PAnsiChar; { Version number text }
- BinVersion: Cardinal; { Version number as an integer }
- end;
- implementation
- end.
|