Build fix. Use internal pcre on glib, make gnutls a dependency of
[WebKit-https.git] / Tools / gtk / run-with-jhbuild
1 #!/usr/bin/env python
2 # Copyright (C) 2011 Igalia S.L.
3 #
4 # This library is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU Lesser General Public
6 # License as published by the Free Software Foundation; either
7 # version 2 of the License, or (at your option) any later version.
8 #
9 # This library is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 # Lesser General Public License for more details.
13 #
14 # You should have received a copy of the GNU Lesser General Public
15 # License along with this library; if not, write to the Free Software
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
17
18 import common
19 import os
20 import subprocess
21 import sys
22
23 def install_and_run_jhbuild():
24     installation_prefix = os.path.abspath(common.top_level_path('WebKitBuild', 'Dependencies', 'Root'))
25     source_path = os.path.abspath(common.top_level_path('WebKitBuild', 'Dependencies', 'Source'))
26     jhbuild_source_path = os.path.join(source_path, 'jhbuild')
27
28     if not os.path.exists(source_path):
29         os.makedirs(source_path)
30     if not os.path.exists(installation_prefix):
31         os.makedirs(installation_prefix)
32
33     if not os.path.exists(jhbuild_source_path):
34         process = subprocess.Popen(['git', 'clone', 'git://git.gnome.org/jhbuild'], cwd=source_path)
35         process.wait()
36         if process.returncode != 0:
37             raise Exception('jhbuild git clone failed with return code: %i' % process.returncode)
38
39     process = subprocess.Popen(['./autogen.sh', '--prefix=%s' % installation_prefix], cwd=jhbuild_source_path)
40     process.wait()
41     if process.returncode != 0:
42         raise Exception('jhbuild configure failed with return code: %i' % process.returncode)
43
44     process = subprocess.Popen(['make', 'install'], cwd=jhbuild_source_path)
45     process.wait()
46     if process.returncode != 0:
47         raise Exception('jhbuild configure failed with return code: %i' % process.returncode)
48
49     process = subprocess.Popen(common.top_level_path('Tools', 'Scripts', 'update-webkitgtk-libs'))
50     process.wait()
51     if process.returncode != 0:
52         raise Exception('jhbuild configure failed with return code: %i' % process.returncode)
53
54 jhbuild_path = common.top_level_path('WebKitBuild', 'Dependencies', 'Root', 'bin', 'jhbuild')
55 if not os.path.exists(jhbuild_path):
56     install_and_run_jhbuild()
57
58 process = subprocess.Popen([jhbuild_path, '--no-interact', '-f', common.top_level_path('Tools', 'gtk', 'jhbuildrc'), 'run'] + sys.argv[1:])
59 process.wait()
60 sys.exit(process.returncode)
61
62
63