filemorph

Check-in [4b56991808]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Re-work Windows eployment to not require PAR
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:4b56991808ca67559966d9989c05711f31924370
User & Date: kevin 2015-11-09 11:49:12
Context
2015-11-11
11:56
Update overhaul to Windows build and deployment check-in: 30849adf00 user: kevin tags: trunk
2015-11-09
11:49
Re-work Windows eployment to not require PAR check-in: 4b56991808 user: kevin tags: trunk
2015-10-30
02:54
Finalize 2.5 for Windows check-in: d39408e0cd user: kevin tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to build.bat.

     1      1   SET COPYCMD=/Y
     2      2   
     3      3   if exist FileMorph.exe (
     4      4   del FileMorph.exe
     5      5   )
     6      6   
            7  +if exist build\ (
            8  +rmdir build\
            9  +)
           10  +mkdir build\
           11  +mkdir build\filemorph\
           12  +
           13  +call xcopy  C:\Strawberry\c\bin\*.dll build\filemorph\ /s /i /y
           14  +call xcopy  C:\Strawberry\perl\bin\*.dll build\filemorph\ /s /i /y
           15  +call xcopy C:\Tcl\bin\*.dll build\filemorph\ /s /i /y
           16  +call xcopy  C:\Strawberry\perl\lib build\filemorph\lib /s /i /y
           17  +call xcopy  C:\Strawberry\perl\site build\filemorph\site /s /i /y
           18  +call xcopy  C:\Strawberry\perl\vendor build\filemorph\vendor /s /i /y
           19  +call xcopy C:\Tcl\lib build\lib /s /i /y
           20  +call xcopy C:\Tcl\bin build\bin /s /i /y
           21  +
     7     22   call perltidy --pt=2 --bbt=2 --sbt=2 --naws filemorph.pl
     8     23   
     9         -call move /y filemorph.pl.tdy filemorph.pl
           24  +call move /y filemorph.pl.tdy filemorph.pl 
           25  +call xcopy  filemorph.pl build\filemorph\filemorph.pl /y
           26  +
           27  +call windres icons.rc -o coff -o icons.o
           28  +call windres versioninfo.rc -o coff -o versioninfo.o
           29  +call perl build.pl
           30  +
           31  +call xcopy FileMorph.exe build\filemorph\
           32  +
           33  +::call xcopy scriptlibs C:\Tcl\lib\ /s /i /y
           34  +
           35  +::call xcopy winlibs C:\Tcl\lib\ /s /i /y
           36  +
           37  +::call pp  -C -M Encode::Byte -l zlib1.dll -l tcl86.dll -l tk86.dll  -a "C:/Tcl;script/Tcl" filemorph.pl -o FileMorph.exe 
    10     38   
    11         -call xcopy scriptlibs C:\Tcl\lib\ /s /i /y
           39  +::call "C:\Program Files (x86)\Resource Hacker\ResourceHacker.exe" -modify  "FileMorph.exe", "FileMorph.exe", "filemorph-exe-par.ico", ICONGROUP, WINEXE, 0
    12     40   
    13         -call xcopy winlibs C:\Tcl\lib\ /s /i /y
    14         -
    15         -call pp  -C -M Encode::Byte -l zlib1.dll -l tcl86.dll -l tk86.dll  -a "C:/Tcl;script/Tcl" filemorph.pl -o FileMorph.exe 
           41  +::call ie4uinit.exe -ClearIconCache
    16     42   
    17     43   
    18         -call "C:\Program Files (x86)\Resource Hacker\ResourceHacker.exe" -modify  "FileMorph.exe", "FileMorph.exe", "filemorph-exe-par.ico", ICONGROUP, WINEXE, 0
    19         -
    20         -call ie4uinit.exe -ClearIconCache

Changes to filemorph.pl.

    20     20   BEGIN {
    21     21   
    22     22       if ($Config{osname} eq "darwin") {
    23     23           my $frameworkpath = "$Bin/Contents/Frameworks/Tcl.framework/Tcl";
    24     24           $ENV{'PERL_TCL_DL_PATH'} = $frameworkpath;
    25     25       }
    26     26       if ($Config{osname} eq "MSWin32") {
    27         -        require Win32::GUI;
    28         -        Win32::GUI->import();
    29         -        $DOS = Win32::GUI::GetPerlWindow();
           27  +        my $frameworkpath = "$Bin/Tcl/bin/tcl86.dll";
           28  +        $ENV{'PERL_TCL_DL_PATH'} = $frameworkpath;
    30     29   
    31         -        Win32::GUI::Hide($DOS);
    32         -        if (exists $ENV{PAR_PROGNAME}) {
    33         -            my $libtarget = "$ENV{TMP}/lib";
    34         -            my $libsrc    = "$ENV{PAR_TEMP}/inc/script/Tcl/lib";
    35         -            rmove($libsrc, $libtarget);
    36         -            my $bintarget = "$ENV{TMP}/bin";
    37         -            my $binsrc    = "$ENV{PAR_TEMP}/inc/script/Tcl/bin";
    38         -            rmove($binsrc, $bintarget);
    39         -        }
    40     30       }
    41     31   
    42     32   }
    43     33   
    44     34   #use strict;
    45     35   use warnings;
    46     36   
................................................................................
   540    530   
   541    531   Tkx::MainLoop();
   542    532   exit;
   543    533   
   544    534   ###----subroutines
   545    535   
   546    536   sub shutdown {
   547         -
   548         -    if (IS_WINDOWS) {
   549         -        Win32::GUI::Show($DOS);
   550         -    }
   551    537       &Tkx::exit;
   552    538   }
   553    539   
   554    540   sub makeImage {
   555    541   
   556    542       my $data = "iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABGdBTUEAALGPC/xh
   557    543   BQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAA

Changes to versioninfo.rc.

     1      1   1 VERSIONINFO
     2         -FILEVERSION 2, 5, 0, 0
     3         -PRODUCTVERSION 2, 5, 0, 0
            2  +FILEVERSION 2, 6, 0, 0
            3  +PRODUCTVERSION 2, 6, 0, 0
     4      4   FILEOS 4
     5      5   FILETYPE 1
     6      6   {
     7      7       BLOCK "StringFileInfo" {
     8      8           BLOCK "040904E4" {
     9      9               VALUE "FileDescription", "File modification tool"
    10     10               VALUE "OriginalFilename", "FileMorph"
    11     11               VALUE "CompanyName", "WordTech Communications LLC"
    12         -            VALUE "FileVersion", "2.5.0"
           12  +            VALUE "FileVersion", "2.6.0"
    13     13               VALUE "LegalCopyright", "(c) 2015 WordTech Communications LLc"
    14     14               VALUE "ProductName", "FileMorph"
    15         -            VALUE "ProductVersion", "2.5.0"
           15  +            VALUE "ProductVersion", "2.6.0"
    16     16           }
    17     17       }
    18     18       BLOCK "VarFileInfo" {
    19     19           VALUE "Translation", 0x409, 1252
    20     20       }
    21     21   }