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
2
3
4
5
6















7
8
9


10






11

12
13

14
15

16
17
18

19
20



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

24
25
26
27
28
29
30
31
32

33
34

35
36

37
38


39
40

41
42
43






+
+
+
+
+
+
+
+
+
+
+
+
+
+
+


-
+
+

+
+
+
+
+
+
-
+

-
+

-
+

-
-
+

-
+
+
+
SET COPYCMD=/Y

if exist FileMorph.exe (
del FileMorph.exe
)

if exist build\ (
rmdir build\
)
mkdir build\
mkdir build\filemorph\

call xcopy  C:\Strawberry\c\bin\*.dll build\filemorph\ /s /i /y
call xcopy  C:\Strawberry\perl\bin\*.dll build\filemorph\ /s /i /y
call xcopy C:\Tcl\bin\*.dll build\filemorph\ /s /i /y
call xcopy  C:\Strawberry\perl\lib build\filemorph\lib /s /i /y
call xcopy  C:\Strawberry\perl\site build\filemorph\site /s /i /y
call xcopy  C:\Strawberry\perl\vendor build\filemorph\vendor /s /i /y
call xcopy C:\Tcl\lib build\lib /s /i /y
call xcopy C:\Tcl\bin build\bin /s /i /y

call perltidy --pt=2 --bbt=2 --sbt=2 --naws filemorph.pl

call move /y filemorph.pl.tdy filemorph.pl
call move /y filemorph.pl.tdy filemorph.pl 
call xcopy  filemorph.pl build\filemorph\filemorph.pl /y

call windres icons.rc -o coff -o icons.o
call windres versioninfo.rc -o coff -o versioninfo.o
call perl build.pl

call xcopy FileMorph.exe build\filemorph\

call xcopy scriptlibs C:\Tcl\lib\ /s /i /y
::call xcopy scriptlibs C:\Tcl\lib\ /s /i /y

call xcopy winlibs C:\Tcl\lib\ /s /i /y
::call xcopy winlibs C:\Tcl\lib\ /s /i /y

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 
::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 


call "C:\Program Files (x86)\Resource Hacker\ResourceHacker.exe" -modify  "FileMorph.exe", "FileMorph.exe", "filemorph-exe-par.ico", ICONGROUP, WINEXE, 0
::call "C:\Program Files (x86)\Resource Hacker\ResourceHacker.exe" -modify  "FileMorph.exe", "FileMorph.exe", "filemorph-exe-par.ico", ICONGROUP, WINEXE, 0

call ie4uinit.exe -ClearIconCache
::call ie4uinit.exe -ClearIconCache


Changes to filemorph.pl.

20
21
22
23
24
25
26
27
28
29
30

31
32

33
34
35
36
37
38
39

40
41
42
43
44
45
46
20
21
22
23
24
25
26




27


28







29
30
31
32
33
34
35
36







-
-
-
-
+
-
-
+
-
-
-
-
-
-
-
+







BEGIN {

    if ($Config{osname} eq "darwin") {
        my $frameworkpath = "$Bin/Contents/Frameworks/Tcl.framework/Tcl";
        $ENV{'PERL_TCL_DL_PATH'} = $frameworkpath;
    }
    if ($Config{osname} eq "MSWin32") {
        require Win32::GUI;
        Win32::GUI->import();
        $DOS = Win32::GUI::GetPerlWindow();

        my $frameworkpath = "$Bin/Tcl/bin/tcl86.dll";
        Win32::GUI::Hide($DOS);
        if (exists $ENV{PAR_PROGNAME}) {
        $ENV{'PERL_TCL_DL_PATH'} = $frameworkpath;
            my $libtarget = "$ENV{TMP}/lib";
            my $libsrc    = "$ENV{PAR_TEMP}/inc/script/Tcl/lib";
            rmove($libsrc, $libtarget);
            my $bintarget = "$ENV{TMP}/bin";
            my $binsrc    = "$ENV{PAR_TEMP}/inc/script/Tcl/bin";
            rmove($binsrc, $bintarget);
        }

    }

}

#use strict;
use warnings;

540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
530
531
532
533
534
535
536




537
538
539
540
541
542
543







-
-
-
-








Tkx::MainLoop();
exit;

###----subroutines

sub shutdown {

    if (IS_WINDOWS) {
        Win32::GUI::Show($DOS);
    }
    &Tkx::exit;
}

sub makeImage {

    my $data = "iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABGdBTUEAALGPC/xh
BQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAA

Changes to versioninfo.rc.

1
2
3


4
5
6
7
8
9
10
11
12

13
14
15

16
17
18
19
20
21
1


2
3
4
5
6
7
8
9
10
11

12
13
14

15
16
17
18
19
20
21

-
-
+
+








-
+


-
+






1 VERSIONINFO
FILEVERSION 2, 5, 0, 0
PRODUCTVERSION 2, 5, 0, 0
FILEVERSION 2, 6, 0, 0
PRODUCTVERSION 2, 6, 0, 0
FILEOS 4
FILETYPE 1
{
    BLOCK "StringFileInfo" {
        BLOCK "040904E4" {
            VALUE "FileDescription", "File modification tool"
            VALUE "OriginalFilename", "FileMorph"
            VALUE "CompanyName", "WordTech Communications LLC"
            VALUE "FileVersion", "2.5.0"
            VALUE "FileVersion", "2.6.0"
            VALUE "LegalCopyright", "(c) 2015 WordTech Communications LLc"
            VALUE "ProductName", "FileMorph"
            VALUE "ProductVersion", "2.5.0"
            VALUE "ProductVersion", "2.6.0"
        }
    }
    BLOCK "VarFileInfo" {
        VALUE "Translation", 0x409, 1252
    }
}