Reviewed by Darin.
[WebKit.git] / WebKitTools / Scripts / install-win-extras
1 #!/usr/bin/perl -w
2
3 # Copyright (C) 2005, 2006 Apple Computer, Inc.  All rights reserved.
4 #
5 # Redistribution and use in source and binary forms, with or without
6 # modification, are permitted provided that the following conditions
7 # are met:
8 #
9 # 1.  Redistributions of source code must retain the above copyright
10 #     notice, this list of conditions and the following disclaimer. 
11 # 2.  Redistributions in binary form must reproduce the above copyright
12 #     notice, this list of conditions and the following disclaimer in the
13 #     documentation and/or other materials provided with the distribution. 
14 # 3.  Neither the name of Apple Computer, Inc. ("Apple") nor the names of
15 #     its contributors may be used to endorse or promote products derived
16 #     from this software without specific prior written permission. 
17 #
18 # THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
19 # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20 # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21 # DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
22 # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23 # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
24 # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
25 # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27 # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
29 # Simplified build script for Web Kit Open Source Project.
30
31 use strict;
32 use FindBin;
33 use lib $FindBin::Bin;
34 use webkitdirs;
35
36 checkRequiredSystemConfig();
37 chdirWebKit();
38 my $webkitDir = `pwd`;
39 chomp $webkitDir;
40
41 chdir "WebKitLibraries";
42
43 if (! -e "icu-3.4-win32-msvc7.1.zip") {
44     print "Downloading icu-3.4-win32-msvc7.1.zip...\n\n";
45     `rm -rf icu*`;
46     `curl -O ftp://ftp.software.ibm.com/software/globalization/icu/3.4/icu-3.4-Win32-msvc7.1.zip`;
47     print "\nInstalling icu-3.4-win32-msvc7.1.zip...\n";
48     `unzip icu-3.4-win32-msvc7.1.zip`;
49     `rm -rf ../icu`;
50     `cp -rp icu ..`;
51 }
52
53 if (! -e "iconv-1.9.1.win32.zip") {
54     print "Downloading iconv-1.9.1.win32.zip...\n\n";
55     `rm -rf iconv*`;
56     `curl -O http://xmlsoft.org/sources/win32/iconv-1.9.1.win32.zip`;
57     print "\nInstalling iconv-1.9.1.win32.zip...\n";
58     `unzip iconv-1.9.1.win32.zip`;
59     `rm -rf ../iconv`;
60     `cp -rp iconv-1.9.1.win32 ../iconv`;
61 }
62
63 if (! -e "libxml2-2.6.23.win32.zip") {
64     print "Downloading libxml2-2.6.23.win32.zip...\n\n";
65     `rm -rf libxml*`;
66     `curl -O http://xmlsoft.org/sources/win32/libxml2-2.6.23.win32.zip`;
67     print "\nInstalling libxml2-2.6.23.win32.zip...\n";
68     `unzip libxml2-2.6.23.win32.zip`;
69     `rm -rf ../libxml`;
70     `cp -rp libxml2-2.6.23.win32 ../libxml`;
71 }
72
73 if (! -e "libxslt-1.1.15.win32.zip") {
74     print "Downloading libxmslt-1.1.15.win32.zip...\n";
75     `rm -rf libslt*`;
76     `curl -O http://xmlsoft.org/sources/win32/libxslt-1.1.15.win32.zip`;
77     print "Installing libxmslt-1.1.15.win32.zip...\n";
78     `unzip libxslt-1.1.15.win32.zip`;
79     `rm -rf ../libxslt`;
80     `cp -rp libxslt-1.1.15.win32 ../libxslt`;
81 }
82
83 if (! -e "setx_setup.exe") {
84     print "Downloading setx_setup.exe...\n\n";
85     `curl -O http://download.microsoft.com/download/win2000platform/setx/1.00.0.1/nt5/en-us/setx_setup.exe`;
86     print "Instaling setx_setup.exe, please install in the default location...\n";
87     `chmod +x ./setx_setup.exe`;
88     `./setx_setup.exe`;
89     `chmod +x "/cygdrive/c/Program\ Files/Resource\ Kit/setx.exe"`;
90
91     print "/cygdrive/c/Program Files/Resource Kit/setx.exe WebKitOutputDir 'c:\\WebKitBuild'\n";
92     system '/cygdrive/c/Program Files/Resource Kit/setx.exe', "WebKitOutputDir", 'c:\\WebKitBuild';
93
94     my $PATH = $ENV{"PATH"};
95     my $WINPATH = `cygpath -p -w "$PATH"`;
96     chomp $WINPATH;
97     my $winScripts = `cygpath -w "$webkitDir/WebKitTools/Scripts"`;
98     chomp $winScripts;
99     
100     if (! ($WINPATH =~ /WebKitTools/)) {
101         $WINPATH = "$winScripts;$WINPATH";
102     }
103     if (! ($WINPATH =~ /Resource Kit/)) {
104         $WINPATH = "c:\\Program Files\\Resource Kit;$WINPATH";
105     }
106     if (! ($WINPATH =~ /cygwin\\bin/)) {
107         $WINPATH = "c:\\cygwin\\bin;$WINPATH";
108     }
109
110     print "/cygdrive/c/Program Files/Resource Kit/setx.exe Path \"$WINPATH\" -m\n";
111     system '/cygdrive/c/Program Files/Resource Kit/setx.exe', "Path", "$WINPATH", "-m";
112 }
113