README.md
Servo is a prototype web browser engine written in the Rust language. It is currently developed on 64-bit macOS, 64-bit Linux, 64-bit Windows, 64-bit OpenHarmony, and Android.
Servo welcomes contribution from everyone. Check out:
Coordination of Servo development happens:
For more detailed build instructions, see the Servo Book under Getting the Code and Building Servo.
brew.uv: curl -LsSf https://astral.sh/uv/install.sh | shrustup: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shcargo is available./mach bootstrap./mach buildcurl:
sudo pacman -S --needed curlsudo apt install curlsudo dnf install curlsudo emerge net-misc/curluv: curl -LsSf https://astral.sh/uv/install.sh | shrustup: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shcargo is available./mach bootstrap./mach builduv, choco, and rustup
Microsoft.VisualStudio.Component.Windows{10, 11}SDK.{>=19041})Microsoft.VisualStudio.Component.VC.Tools.x86.x64)Microsoft.VisualStudio.Component.VC.ATL)cargo is available.\mach bootstrap.\mach buildANDROID_SDK_ROOTANDROID_NDK_ROOT: $ANDROID_SDK_ROOT/ndk/28.2.13676358/
ANDROID_SDK_ROOT can be any directory (such as ~/android-sdk).
All of the Android build dependencies will be installed there.$ANDROID_SDK_ROOT/cmdline-tools/latest.sudo $ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager --install \
"build-tools;34.0.0" \
"emulator" \
"ndk;28.2.13676358" \
"platform-tools" \
"platforms;android-33" \
"system-images;android-33;google_apis;x86_64"
HarmonyOS NEXT vs pure OpenHarmony) the build configuration will differ slightly.DEVECO_SDK_HOME (Required when targeting HarmonyOS NEXT)OHOS_BASE_SDK_HOME (Required when targeting OpenHarmony)OHOS_SDK_NATIVE (e.g. ${DEVECO_SDK_HOME}/default/openharmony/native or ${OHOS_BASE_SDK_HOME}/${API_VERSION}/native)SERVO_OHOS_SIGNING_CONFIG: Path to json file containing a valid signing configuration for the demo app.--flavor=<default|harmonyos> to mach <build|package|install>.