| Line 115... |
Line 115... |
| 115 |
# Description : Create a Windows RC file to describe the build version
|
115 |
# Description : Create a Windows RC file to describe the build version
|
| 116 |
# This file may be used directly
|
116 |
# This file may be used directly
|
| 117 |
#
|
117 |
#
|
| 118 |
# Inputs : $FileName - Output filename (Optional)
|
118 |
# Inputs : $FileName - Output filename (Optional)
|
| 119 |
# $icon - Name of icon (optional )
|
119 |
# $icon - Name of icon (optional )
|
| - |
|
120 |
# $defs - Definitions Only (optional)
|
| 120 |
#
|
121 |
#
|
| 121 |
# Returns :
|
122 |
# Returns :
|
| 122 |
#
|
123 |
#
|
| 123 |
sub BuildVersionWinRC
|
124 |
sub BuildVersionWinRC
|
| 124 |
{
|
125 |
{
|
| 125 |
my ( $fname, $icon ) = @_;
|
126 |
my ( $fname, $icon, $defs ) = @_;
|
| 126 |
$fname = 'version.rc' unless $fname;
|
127 |
$fname = 'version.rc' unless $fname;
|
| 127 |
|
128 |
|
| 128 |
#
|
129 |
#
|
| 129 |
# Store the files location for use at runtime
|
130 |
# Store the files location for use at runtime
|
| 130 |
# It will be a file that is 'known' to JATS
|
131 |
# It will be a file that is 'known' to JATS
|
| Line 182... |
Line 183... |
| 182 |
$fh->Write(prc ('#else'));
|
183 |
$fh->Write(prc ('#else'));
|
| 183 |
$fh->Write(pdefs ("RC_STR_SPECIAL" , "Production Version" ));
|
184 |
$fh->Write(pdefs ("RC_STR_SPECIAL" , "Production Version" ));
|
| 184 |
$fh->Write(prc ('#endif'));
|
185 |
$fh->Write(prc ('#endif'));
|
| 185 |
$fh->Write(prc (""));
|
186 |
$fh->Write(prc (""));
|
| 186 |
|
187 |
|
| 187 |
$fh->Write(prc (''));
|
- |
|
| 188 |
$fh->Write(prc ('VS_VERSION_INFO VERSIONINFO'));
|
- |
|
| 189 |
$fh->Write(prc (' FILEVERSION RC_NUM_VERSION'));
|
- |
|
| 190 |
$fh->Write(prc (' PRODUCTVERSION RC_NUM_VERSION'));
|
- |
|
| 191 |
$fh->Write(prc (' FILEFLAGSMASK 0x3fL'));
|
- |
|
| 192 |
$fh->Write(prc ('#ifdef _DEBUG'));
|
- |
|
| 193 |
$fh->Write(prc (' FILEFLAGS 0x1L'));
|
- |
|
| 194 |
$fh->Write(prc ('#else'));
|
- |
|
| 195 |
$fh->Write(prc (' FILEFLAGS 0x0L'));
|
- |
|
| 196 |
$fh->Write(prc ('#endif'));
|
- |
|
| 197 |
$fh->Write(prc (' FILEOS 0x40004L'));
|
- |
|
| 198 |
$fh->Write(prc (' FILETYPE 0x1L'));
|
- |
|
| 199 |
$fh->Write(prc (' FILESUBTYPE 0x0L'));
|
- |
|
| 200 |
$fh->Write(prc ('BEGIN'));
|
- |
|
| 201 |
$fh->Write(prc (' BLOCK "StringFileInfo"'));
|
- |
|
| 202 |
$fh->Write(prc (' BEGIN'));
|
- |
|
| 203 |
$fh->Write(prc (' BLOCK "0c0904b0"'));
|
- |
|
| 204 |
$fh->Write(prc (' BEGIN'));
|
- |
|
| 205 |
$fh->Write(prc (' VALUE "Comments", RC_STR_COMMENT'));
|
- |
|
| 206 |
$fh->Write(prc (' VALUE "CompanyName", RC_STR_COMPANY'));
|
- |
|
| 207 |
$fh->Write(prc (' VALUE "FileDescription", RC_STR_DESCRIPTION'));
|
- |
|
| 208 |
$fh->Write(prc (' VALUE "FileVersion", RC_STR_VERSION'));
|
- |
|
| 209 |
$fh->Write(prc (' VALUE "InternalName", RC_STR_NAME'));
|
- |
|
| 210 |
$fh->Write(prc (' VALUE "LegalCopyright", RC_STR_COPYRIGHT'));
|
- |
|
| 211 |
$fh->Write(prc (' VALUE "LegalTrademarks", RC_STR_EMPTY'));
|
- |
|
| 212 |
$fh->Write(prc (' VALUE "OriginalFilename", RC_STR_NAME'));
|
- |
|
| 213 |
$fh->Write(prc (' VALUE "PrivateBuild", RC_STR_EMPTY'));
|
- |
|
| 214 |
$fh->Write(prc (' VALUE "ProductName", RC_STR_PRODUCTNAME'));
|
- |
|
| 215 |
$fh->Write(prc (' VALUE "ProductVersion", RC_STR_VERSION'));
|
- |
|
| 216 |
$fh->Write(prc (' VALUE "SpecialBuild", RC_STR_SPECIAL'));
|
- |
|
| 217 |
$fh->Write(prc (' END'));
|
- |
|
| 218 |
$fh->Write(prc (' END'));
|
- |
|
| 219 |
$fh->Write(prc (' BLOCK "VarFileInfo"'));
|
- |
|
| 220 |
$fh->Write(prc (' BEGIN'));
|
- |
|
| 221 |
$fh->Write(prc (' VALUE "Translation", 0xc09, 1200'));
|
- |
|
| 222 |
$fh->Write(prc (' END'));
|
- |
|
| 223 |
$fh->Write(prc ('END'));
|
- |
|
| 224 |
$fh->Write(prc (''));
|
- |
|
| 225 |
|
- |
|
| 226 |
if ( $icon )
|
188 |
unless ( $defs )
|
| 227 |
{
|
189 |
{
|
| - |
|
190 |
$fh->Write(prc (''));
|
| - |
|
191 |
$fh->Write(prc ('VS_VERSION_INFO VERSIONINFO'));
|
| - |
|
192 |
$fh->Write(prc (' FILEVERSION RC_NUM_VERSION'));
|
| - |
|
193 |
$fh->Write(prc (' PRODUCTVERSION RC_NUM_VERSION'));
|
| - |
|
194 |
$fh->Write(prc (' FILEFLAGSMASK 0x3fL'));
|
| - |
|
195 |
$fh->Write(prc ('#ifdef _DEBUG'));
|
| - |
|
196 |
$fh->Write(prc (' FILEFLAGS 0x1L'));
|
| - |
|
197 |
$fh->Write(prc ('#else'));
|
| - |
|
198 |
$fh->Write(prc (' FILEFLAGS 0x0L'));
|
| - |
|
199 |
$fh->Write(prc ('#endif'));
|
| - |
|
200 |
$fh->Write(prc (' FILEOS 0x40004L'));
|
| - |
|
201 |
$fh->Write(prc (' FILETYPE 0x1L'));
|
| - |
|
202 |
$fh->Write(prc (' FILESUBTYPE 0x0L'));
|
| - |
|
203 |
$fh->Write(prc ('BEGIN'));
|
| - |
|
204 |
$fh->Write(prc (' BLOCK "StringFileInfo"'));
|
| - |
|
205 |
$fh->Write(prc (' BEGIN'));
|
| - |
|
206 |
$fh->Write(prc (' BLOCK "0c0904b0"'));
|
| - |
|
207 |
$fh->Write(prc (' BEGIN'));
|
| - |
|
208 |
$fh->Write(prc (' VALUE "Comments", RC_STR_COMMENT'));
|
| - |
|
209 |
$fh->Write(prc (' VALUE "CompanyName", RC_STR_COMPANY'));
|
| - |
|
210 |
$fh->Write(prc (' VALUE "FileDescription", RC_STR_DESCRIPTION'));
|
| - |
|
211 |
$fh->Write(prc (' VALUE "FileVersion", RC_STR_VERSION'));
|
| - |
|
212 |
$fh->Write(prc (' VALUE "InternalName", RC_STR_NAME'));
|
| - |
|
213 |
$fh->Write(prc (' VALUE "LegalCopyright", RC_STR_COPYRIGHT'));
|
| - |
|
214 |
$fh->Write(prc (' VALUE "LegalTrademarks", RC_STR_EMPTY'));
|
| - |
|
215 |
$fh->Write(prc (' VALUE "OriginalFilename", RC_STR_NAME'));
|
| - |
|
216 |
$fh->Write(prc (' VALUE "PrivateBuild", RC_STR_EMPTY'));
|
| - |
|
217 |
$fh->Write(prc (' VALUE "ProductName", RC_STR_PRODUCTNAME'));
|
| - |
|
218 |
$fh->Write(prc (' VALUE "ProductVersion", RC_STR_VERSION'));
|
| - |
|
219 |
$fh->Write(prc (' VALUE "SpecialBuild", RC_STR_SPECIAL'));
|
| - |
|
220 |
$fh->Write(prc (' END'));
|
| - |
|
221 |
$fh->Write(prc (' END'));
|
| - |
|
222 |
$fh->Write(prc (' BLOCK "VarFileInfo"'));
|
| - |
|
223 |
$fh->Write(prc (' BEGIN'));
|
| - |
|
224 |
$fh->Write(prc (' VALUE "Translation", 0xc09, 1200'));
|
| - |
|
225 |
$fh->Write(prc (' END'));
|
| - |
|
226 |
$fh->Write(prc ('END'));
|
| - |
|
227 |
$fh->Write(prc (''));
|
| - |
|
228 |
|
| - |
|
229 |
if ( $icon )
|
| - |
|
230 |
{
|
| 228 |
$fh->Write(prc (''));
|
231 |
$fh->Write(prc (''));
|
| 229 |
$fh->Write(prc ('/////////////////////////////////////////////////////////////////////////////'));
|
232 |
$fh->Write(prc ('/////////////////////////////////////////////////////////////////////////////'));
|
| 230 |
$fh->Write(prc ('//'));
|
233 |
$fh->Write(prc ('//'));
|
| 231 |
$fh->Write(prc ('// Icon'));
|
234 |
$fh->Write(prc ('// Icon'));
|
| 232 |
$fh->Write(prc ('//'));
|
235 |
$fh->Write(prc ('//'));
|
| 233 |
$fh->Write(prc ('// Icon with lowest ID value placed first to ensure application icon'));
|
236 |
$fh->Write(prc ('// Icon with lowest ID value placed first to ensure application icon'));
|
| 234 |
$fh->Write(prc ('// remains consistent on all systems.'));
|
237 |
$fh->Write(prc ('// remains consistent on all systems.'));
|
| 235 |
$fh->Write(prc ("101 ICON DISCARDABLE \"$icon\""));
|
238 |
$fh->Write(prc ("101 ICON DISCARDABLE \"$icon\""));
|
| 236 |
$fh->Write(prc (''));
|
239 |
$fh->Write(prc (''));
|
| - |
|
240 |
}
|
| 237 |
}
|
241 |
}
|
| 238 |
|
242 |
|
| 239 |
|
243 |
|
| 240 |
$fh->Close();
|
244 |
$fh->Close();
|
| 241 |
}
|
245 |
}
|