Subversion Repositories DevTools

Rev

Rev 255 | Rev 267 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 255 Rev 263
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
}