Skip to content

Commit 94d0354

Browse files
author
Mario Sanchez Prada
committed
Remove instructions and resources for the VM-based setup
It's like 12x slower than the chroot-based method, so there's really no much point on keeping that around, just remove it.
1 parent 6989535 commit 94d0354

2 files changed

Lines changed: 2 additions & 105 deletions

File tree

README.md

Lines changed: 2 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,7 @@
22

33
Resources to allow cross compiling WebKit2GTK+ for ARM.
44

5-
Two methods:
6-
* Using a local chroot (debootstrap + schroot): harder to setup, faster builds
7-
* Using a Virtual Machine (using Vagrant): easier to setup, way slower builds
8-
9-
## Using a chroot (debootstrap + schroot)
10-
11-
This method is harder to setup than the one based on VMs, but build times are MUCH faster, so I'm describing it first.
12-
13-
As reference, I could cross compile WebKit2GTK+ 2.14.0 from scratch using a chroot in my desktop PC (12 Xeon cores at 3.54 GHz, 16GB DDR4 RAM, fast SSD) in less than 1 hour, while the VM-based method in the same machine (sharing only 8 cores and 12GB of RAM, though) I could only build ~15% in about 2h. So yes, the chroot method seems to be about 12x faster under those circumstances, which is why I'd recommend it instead of the easier method.
14-
15-
### Requirements
5+
## Requirements
166

177
To do that, you have a different set of requirements:
188

@@ -23,7 +13,7 @@ To do that, you have a different set of requirements:
2313
- Debian/Ubuntu: sudo apt-get install debootstrap chroot schroot
2414
- Fedora: sudo dnf install debootstrap chroot schroot
2515

26-
### Instructions
16+
## Instructions
2717

2818
(1) Now you have the requirements installed you can create the chroot:
2919
```
@@ -90,73 +80,3 @@ setup.fstab=default/wily-amd64.fstab
9080
$ make VERBOSE=1 -j12 # Or anything else, this is just what I use
9181
```
9282

93-
## Using a Virtual Machine (using Vagrant)
94-
95-
The first method described simply creates a VM with all the needed tools to cross-compile WebKit2GTK+
96-
for ARMv7, so it requires very few things, but still something is needed:
97-
98-
### Requirements
99-
100-
* A host machine with lots of CPUs and RAM (16GB recommended)
101-
- Adjust Vagrantfile for the amount of resources you want to share (8 cores and 12GB by default)
102-
103-
* Vagrant >= 1.8.5 (tested with 1.8.5 on Debian Testing and Fedora 24)
104-
105-
* VirtualBox >=5.0 (tested with 5.0.16 on Debian Testing and 5.1.4 on Fedora 24)
106-
107-
* RootFS for the target device
108-
- The RootFS needs to provide all the usual WebKit build dependencies
109-
- You need to adjust the path in Vagrantfile and the CMake Toolchain file accordingly (e.g /schroot/eos-master-armhf)
110-
111-
* Checkout of WebKit2GTK+ source code
112-
- Will be mounted under /home/vagrant/WebKitARM inside the VM
113-
- You need to adjust the path in Vagrantfile accordingly
114-
115-
### Instructions
116-
117-
(1) To re-create the development environment, start by cloning the git repository:
118-
```
119-
$ git clone git@github.com:mariospr/webkit2gtk-ARM.git
120-
$ cd webkit2gtk-ARM
121-
```
122-
123-
(2) Now you edit `Vagrantfile` and provide the correct paths pointing to your WebKit checkout and the target RootFS
124-
125-
(3) Finally you initialize, provision and run the virtual machine:
126-
```
127-
$ vagrant up --provider=virtualbox # Will take some time the first time
128-
$ vagrant ssh # Logs in into the Virtual Machine
129-
```
130-
131-
(4) You'll be inside the VM with access to your WebKit checkout under `/home/vagrant/WebKitARM` and to the CMake Toolchain file under `/home/vagrant/armv7l-toolchain.cmake`, assuming that you have adjusted the paths in step 2.
132-
133-
(5) Create a BUILD directory in `/home/vagrant/WebKitARM`:
134-
```
135-
$ mkdir WebKitARM/BUILD && cd WebKitARM/BUILD
136-
```
137-
138-
(6) Configure the build, passing any extra parameter you need. For instance:
139-
```
140-
$ cmake -DCMAKE_TOOLCHAIN_FILE=/home/vagrant/armv7l-toolchain.cmake \
141-
-DPORT=GTK \
142-
-DCMAKE_BUILD_TYPE=Release \
143-
-DCMAKE_INSTALL_SYSCONFDIR=/etc \
144-
-DCMAKE_INSTALL_LOCALSTATEDIR=/var \
145-
-DCMAKE_INSTALL_PREFIX=/usr \
146-
-DCMAKE_INSTALL_LIBDIR=lib/arm-linux-gnueabihf \
147-
-DCMAKE_INSTALL_LIBEXECDIR=lib/arm-linux-gnueabihf \
148-
-DCMAKE_VERBOSE_MAKEFILE=ON \
149-
-DENABLE_PLUGIN_PROCESS_GTK2=OFF \
150-
-DENABLE_GEOLOCATION=OFF \
151-
-DENABLE_GLES2=ON \
152-
-DUSE_LD_GOLD=OFF \
153-
-DUSE_GSTREAMER_GL=ON \
154-
/home/vagrant/WebKitARM
155-
```
156-
157-
(7) Build the thing:
158-
```
159-
$ make VERBOSE=1 -j12 # Or anything else, this is just what I use
160-
```
161-
162-
(8) Once you finish, you'll have the BUILD objects under `BUILD/`, inside the checkout directory (both inside and outside the VM).

Vagrantfile

Lines changed: 0 additions & 23 deletions
This file was deleted.

0 commit comments

Comments
 (0)