mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
* Update mozjs
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Fix changed readTransfer callback
https://bugzilla.mozilla.org/show_bug.cgi?id=1842713
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Use NewExternalArrayBuffer from glue
d33454be74
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Fix columnorigin and filename being in latin1
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* fixup newexternalarray
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Float16 (this might require more work for codegen support)
https://bugzilla.mozilla.org/show_bug.cgi?id=1833647
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* js.strict is removed
https://bugzilla.mozilla.org/show_bug.cgi?id=1621603
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* asm options are now somewhere else
https://hg.mozilla.org/mozilla-central/rev/26045c88e3972957087d535e7f259e08857bd2a2
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Comment out offthread compilation
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Set NDK to 26
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Fix 1-origin handling
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Expect `FinalizationRegistry` interface
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Good expectations
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* more expectations
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Add `WeakRef` to interfaces expectation
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* mozjs upgrade: fixes for Android
Android NDK's layout has changed in r26 and 'lib64' no longer exists
under `toolchain/llvm/prebuilt/linux-x86_64`. The libraries that used to
be it are now present in `lib` folder itself.
This patch updates the build configuration to use the `lib` folder
instead when configuring the LIBCLANG_PATH environment variable.
This patch also updates to a newer mozjs version that includes fixes for
linker errors faced on Android (see #32769).
Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
* Patch libz-sys & update mozjs
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* update NDK version in README
Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
* Use servo/mozjs
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Update mozjs again
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
---------
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
Co-authored-by: Mukilan Thiyagarajan <mukilan@igalia.com>
66 lines
3.3 KiB
Markdown
66 lines
3.3 KiB
Markdown
# The Servo Parallel Browser Engine Project
|
|
|
|
Servo is a prototype web browser engine written in the
|
|
[Rust](https://github.com/rust-lang/rust) language. It is currently developed on
|
|
64-bit macOS, 64-bit Linux, 64-bit Windows, and Android.
|
|
|
|
Servo welcomes contribution from everyone. Check out [The Servo Book](https://book.servo.org) to get started, or go to [servo.org](https://servo.org/) for news and guides.
|
|
|
|
## Getting started
|
|
|
|
For more detailed build instructions, see the Servo book under [Setting up your environment](https://book.servo.org/hacking/setting-up-your-environment.html), [Building Servo](https://book.servo.org/hacking/building-servo.html), and [Building for Android](https://book.servo.org/hacking/building-for-android.html).
|
|
|
|
### macOS
|
|
|
|
- Download and install [`python`](https://www.python.org/downloads/macos/), [Xcode](https://developer.apple.com/xcode/), and [`brew`](https://brew.sh/)
|
|
- Install `rustup`: `curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh`
|
|
- Restart your shell to make sure `cargo` is available
|
|
- Install the other dependencies: `./mach bootstrap`
|
|
- Build servoshell: `./mach build`
|
|
|
|
### Linux
|
|
|
|
- Install `curl` and `python`:
|
|
- Arch: `sudo pacman -S --needed curl python python-pip`
|
|
- Debian, Ubuntu: `sudo apt install curl python3-pip python3-venv`
|
|
- Fedora: `sudo dnf install curl python3 python3-pip python3-devel`
|
|
- Gentoo: `sudo emerge net-misc/curl dev-python/pip`
|
|
- Install `rustup`: `curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh`
|
|
- Restart your shell to make sure `cargo` is available
|
|
- Install the other dependencies: `./mach bootstrap`
|
|
- Build servoshell: `./mach build`
|
|
|
|
### Windows
|
|
|
|
- Download and install [`python`](https://www.python.org/downloads/windows/), [`choco`](https://chocolatey.org/install#individual), and [`rustup`](https://win.rustup.rs/)
|
|
- Be sure to select *Quick install via the Visual Studio Community installer*
|
|
- In the Visual Studio Installer, ensure the following components are installed:
|
|
- **Windows 10 SDK (10.0.19041.0)** (`Microsoft.VisualStudio.Component.Windows10SDK.19041`)
|
|
- **MSVC v143 - VS 2022 C++ x64/x86 build tools (Latest)** (`Microsoft.VisualStudio.Component.VC.Tools.x86.x64`)
|
|
- **C++ ATL for latest v143 build tools (x86 & x64)** (`Microsoft.VisualStudio.Component.VC.ATL`)
|
|
- **C++ MFC for latest v143 build tools (x86 & x64)** (`Microsoft.VisualStudio.Component.VC.ATLMFC`)
|
|
- Restart your shell to make sure `cargo` is available
|
|
- Install the other dependencies: `.\mach bootstrap`
|
|
- Build servoshell: `.\mach build`
|
|
|
|
### Android
|
|
|
|
- Ensure that the following environment variables are set:
|
|
- `ANDROID_SDK_ROOT`
|
|
- `ANDROID_NDK_ROOT`: `$ANDROID_SDK_ROOT/ndk/26.2.11394342/`
|
|
`ANDROID_SDK_ROOT` can be any directory (such as `~/android-sdk`).
|
|
All of the Android build dependencies will be installed there.
|
|
- Install the latest version of the [Android command-line
|
|
tools](https://developer.android.com/studio#command-tools) to
|
|
`$ANDROID_SDK_ROOT/cmdline-tools/latest`.
|
|
- Run the following command to install the necessary components:
|
|
```shell
|
|
sudo $ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager --install
|
|
"build-tools;33.0.2" \
|
|
"emulator" \
|
|
"ndk;26.2.11394342" \
|
|
"platform-tools" \
|
|
"platforms;android-33" \
|
|
"system-images;android-33;google_apis;x86_64"
|
|
```
|
|
- Follow the instructions above for the platform you are building on
|