From 5025317e896927a7c629daec17f11738950938bf Mon Sep 17 00:00:00 2001 From: Florian-Schoenherr Date: Sat, 21 Aug 2021 12:38:59 +0200 Subject: [PATCH 1/5] docs: update VS2019 install infos Signed-off-by: Florian-Schoenherr --- README.md | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 2e4f7119ad4..2b7cdac0052 100644 --- a/README.md +++ b/README.md @@ -215,17 +215,13 @@ Note that you should ensure that _all_ components are installed from gstreamer, 4. Install Git for Windows (https://git-scm.com/download/win). DO allow it to add git.exe to the PATH (default settings for the installer are fine). -5. Install Visual Studio Community 2017 (https://www.visualstudio.com/vs/community/). You MUST add "Visual C++" to the -list of installed components as well as the "Windows Universal C runtime." They are not on by default. Visual Studio 2017 MUST installed to the default location or mach.bat will not find it. - -Note that version is hard to download online and is easier to install via [Chocolatey](https://chocolatey.org/install#installing-chocolatey) with: +5. Install Visual Studio Build Tools 2019 (https://visualstudio.microsoft.com/de/downloads/#build-tools-for-visual-studio-2019). It is easiest to install via [Chocolatey](https://chocolatey.org/install#installing-chocolatey) with: ``` -choco install -y visualstudio2017community --package-parameters="'--add Microsoft.VisualStudio.Component.Git'" -Update-SessionEnvironment #refreshing env due to Git install - -#--- UWP Workload and installing Windows Template Studio --- -choco install -y visualstudio2017-workload-nativedesktop +choco install -y visualstudio2019buildtools --package-parameters="--add Microsoft.VisualStudio.Component.Roslyn.Compiler --add Microsoft.Component.MSBuild --add Microsoft.VisualStudio.Component.CoreBuildTools --add Microsoft.VisualStudio.Workload.MSBuildTools --add Microsoft.VisualStudio.Component.Windows10SDK --add Microsoft.VisualStudio.Component.VC.CoreBuildTools --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --add Microsoft.VisualStudio.Component.VC.Redist.14.Latest --add Microsoft.VisualStudio.Component.VC.ATL --add Microsoft.VisualStudio.Component.VC.ATLMFC --add Microsoft.VisualStudio.Component.TextTemplating --add Microsoft.VisualStudio.Component.VC.CoreIde --add Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Core --add Microsoft.VisualStudio.Workload.VCTools" ``` +If you really need to use the Visual Studio Installer (UI), choose "Desktop development with C++" and add the optional "MSVC", "C++-ATL" and "C++-MFC" (latest). + +The Visual Studio 2019 Build Tools MUST be installed to the default location or mach.bat will not find them. ##### [Optional] Install LLVM for faster link times @@ -242,13 +238,8 @@ linker = "lld-link.exe" ##### Troubleshooting a Windows environment -> If you encountered errors with the environment above, do the following for a workaround: -> 1. Download and install [Build Tools for Visual Studio 2017](https://www.visualstudio.com/thank-you-downloading-visual-studio/?sku=BuildTools&rel=15) -> 2. Install `python3.9 x86-x64` and `virtualenv` -> 3. Run `mach.bat build -d`. - >If you have troubles with `x64 type` prompt as `mach.bat` set by default: -> 1. You may need to choose and launch the type manually, such as `x86_x64 Cross Tools Command Prompt for VS 2017` in the Windows menu.) +> 1. You may need to choose and launch the type manually, such as `x86_x64 Cross Tools Command Prompt for VS 2019` in the Windows menu.) > 2. `cd to/the/path/servo` > 3. `python mach build -d` From 1bdaeccdf667ff092230d1b51cf1fcc953380668 Mon Sep 17 00:00:00 2001 From: Florian-Schoenherr Date: Sat, 21 Aug 2021 12:40:47 +0200 Subject: [PATCH 2/5] docs: add clone info, clarify/reorder Signed-off-by: Florian-Schoenherr --- README.md | 48 +++++++++++++++++++++++++++++------------------- 1 file changed, 29 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 2b7cdac0052..44ed59a3eef 100644 --- a/README.md +++ b/README.md @@ -261,38 +261,48 @@ linker = "lld-link.exe" Run `./mach bootstrap-android --build` to get Android-specific tools. See wiki for [details](https://github.com/servo/servo/wiki/Building-for-Android). -## The Rust compiler +### Cloning the Repo +Your CARGO_HOME needs to point to (or be in) the same drive as your Servo repository (See #28530). +``` sh +git clone https://github.com/servo/servo +cd servo +``` + +## Building + +Servo is built with [Cargo](https://crates.io/), the Rust package manager. +We also use Mozilla's Mach tools to orchestrate the build and other tasks. +You can call Mach like this: + +On Unix sytems: +``` +./mach [command] [arguments] +``` +On Windows Commandline: +``` +mach.bat [command] [arguments] +``` +The examples below will use Unix, but the same applies to Windows. + +### The Rust compiler Servo's build system uses rustup.rs to automatically download a Rust compiler. This is a specific version of Rust Nightly determined by the [`rust-toolchain`](https://github.com/servo/servo/blob/master/rust-toolchain) file. -## Building - -Servo is built with [Cargo](https://crates.io/), the Rust package manager. We also use Mozilla's -Mach tools to orchestrate the build and other tasks. - ### Normal build -To build Servo in development mode. This is useful for development, but -the resulting binary is very slow. +To build Servo in development mode. +This is useful for development, but the resulting binary is very slow: ``` sh -git clone https://github.com/servo/servo -cd servo ./mach build --dev ./mach run tests/html/about-mozilla.html ``` -Or on Windows MSVC, in a normal Command Prompt (cmd.exe): -``` cmd -git clone https://github.com/servo/servo -cd servo -mach.bat build --dev -``` - -For benchmarking, performance testing, or -real-world use, add the `--release` flag to create an optimized build: +### Release build +For benchmarking, performance testing, or real-world use. +Add the `--release` flag to create an optimized build: ``` sh ./mach build --release From ee433e53cad8468d33f3d0111e749bfebee56de8 Mon Sep 17 00:00:00 2001 From: Florian-Schoenherr Date: Sat, 21 Aug 2021 12:41:42 +0200 Subject: [PATCH 3/5] docs: fix typo and link Signed-off-by: Florian-Schoenherr --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 44ed59a3eef..96615f261bb 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain none ``` See also [Other installation methods]( -https://github.com/rust-lang-nursery/rustup.rs/#other-installation-methods) +https://rust-lang.github.io/rustup/installation/other.html) ### Other dependencies @@ -197,7 +197,7 @@ The `/m` will set it system-wide for all future command windows. 2. Install virtualenv. - In a normal Windows Shell (cmd.exe or "Command Prompt" from the start menu), do: + In a normal Windows Shell (cmd), do: ``` pip install virtualenv ``` @@ -208,7 +208,7 @@ pip install virtualenv - [gstreamer-1.0-msvc-x86_64-1.16.0.msi](https://gstreamer.freedesktop.org/data/pkg/windows/1.16.0/gstreamer-1.0-msvc-x86_64-1.16.0.msi) - [gstreamer-1.0-devel-msvc-x86_64-1.16.0.msi](https://gstreamer.freedesktop.org/data/pkg/windows/1.16.0/gstreamer-1.0-devel-msvc-x86_64-1.16.0.msi) -Note that the MinGW binaries will not work, so make sure that you install the MSVC the ones. +Note that the MinGW binaries will not work, so make sure that you install the MSVC ones. Note that you should ensure that _all_ components are installed from gstreamer, as we require many of the optional libraries that are not installed by default. From 836b212acdc0c149cc4cf4959d72b79187dd7993 Mon Sep 17 00:00:00 2001 From: Florian-Schoenherr Date: Sat, 21 Aug 2021 12:43:17 +0200 Subject: [PATCH 4/5] docs: clarify 'clean' command Signed-off-by: Florian-Schoenherr --- python/servo/build_commands.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python/servo/build_commands.py b/python/servo/build_commands.py index a0ad4b9d615..976e39c6b47 100644 --- a/python/servo/build_commands.py +++ b/python/servo/build_commands.py @@ -758,7 +758,7 @@ class MachCommands(CommandBase): return status @Command('clean', - description='Clean the build directory.', + description='Clean the target/ and python/_virtualenv[version]/ and support/hololens/ directories', category='build') @CommandArgument('--manifest-path', default=None, @@ -786,7 +786,7 @@ class MachCommands(CommandBase): return check_call(["cargo", "clean"] + opts, env=self.build_env(), verbose=verbose) @Command('clean-uwp', - description='Clean the support/hololens/ directory.', + description='Clean the support/hololens/ directory', category='build') def clean_uwp(self): uwp_artifacts = [ From ad65ccc8ac34fb15a4eb4ba98295b8c96f00aaed Mon Sep 17 00:00:00 2001 From: Florian-Schoenherr Date: Sat, 21 Aug 2021 13:14:19 +0200 Subject: [PATCH 5/5] docs: link issue Signed-off-by: Florian-Schoenherr --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 96615f261bb..e9c7672c127 100644 --- a/README.md +++ b/README.md @@ -262,7 +262,7 @@ Run `./mach bootstrap-android --build` to get Android-specific tools. See wiki f [details](https://github.com/servo/servo/wiki/Building-for-Android). ### Cloning the Repo -Your CARGO_HOME needs to point to (or be in) the same drive as your Servo repository (See #28530). +Your CARGO_HOME needs to point to (or be in) the same drive as your Servo repository (See [#28530](https://github.com/servo/servo/issues/28530)). ``` sh git clone https://github.com/servo/servo cd servo