Update Building instructions.

Add Thorium Infra scripts.
This commit is contained in:
Alexander David Frick 2022-04-22 14:37:19 -05:00 committed by GitHub
parent 042686559d
commit fbfa0f029d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -54,7 +54,6 @@ _**The scripts assume the Chromium source is at $HOME/chromiums/src/. You may ha
  – For Windows builds, follow https://chromium.googlesource.com/chromium/src.git/+/HEAD/docs/win_cross.md This is for cross-compiling for Windows on Linux (what I do). For building natively on Windows, you will have to manually do the commands in `trunk.sh` and manually copy the files outlined in `setup.sh`, as well as using the windows_args.gn for your args.gn file (for both native and cross compiling), generally following instructions at https://chromium.googlesource.com/chromium/src/+/main/docs/windows_build_instructions.md   – For Windows builds, follow https://chromium.googlesource.com/chromium/src.git/+/HEAD/docs/win_cross.md This is for cross-compiling for Windows on Linux (what I do). For building natively on Windows, you will have to manually do the commands in `trunk.sh` and manually copy the files outlined in `setup.sh`, as well as using the windows_args.gn for your args.gn file (for both native and cross compiling), generally following instructions at https://chromium.googlesource.com/chromium/src/+/main/docs/windows_build_instructions.md
- After initial download of Chromium source code, run (from where you cloned this repo) `./trunk.sh`. This will update and sync the sources and at the end it will download the PGO profile for chromium. The file will be downloaded to *//chromium/src/chrome/build/pgo_profiles/*.profdata* with the actual file name looking something like 'chrome-linux-main-1632505958-ddbb37bcdfa7dbd7b10cf3a9b6a5bc45e7a958a6.profdata', which should be added to the end of args.gn as per below. - After initial download of Chromium source code, run (from where you cloned this repo) `./trunk.sh`. This will update and sync the sources and at the end it will download the PGO profile for chromium. The file will be downloaded to *//chromium/src/chrome/build/pgo_profiles/*.profdata* with the actual file name looking something like 'chrome-linux-main-1632505958-ddbb37bcdfa7dbd7b10cf3a9b6a5bc45e7a958a6.profdata', which should be added to the end of args.gn as per below.
- Then, (from where you cloned this repo) run `./setup.sh`. This will copy all the files and patches to the needed locations and drop you to *//chromium/src*. - Then, (from where you cloned this repo) run `./setup.sh`. This will copy all the files and patches to the needed locations and drop you to *//chromium/src*.
- Run `export EDITOR=nano` & `export VISUAL=nano` *# You can substitute a cmdline editor like vim here, but many GUI editors cause it to try and parse the args.gn file before it is even saved.*
- Run `gn args out/thorium` and the contents of 'args.gn' in the 'misc' dir of this repo should be copy/pasted into the editor. Note that for Windows, Mac, ChromiumOS, or Android there are seperate *_args.gn files for those platforms. *--Include your api keys here at the top or leave blank, and edit the last line to point to the actual path and file name of '*.profdata'* - Run `gn args out/thorium` and the contents of 'args.gn' in the 'misc' dir of this repo should be copy/pasted into the editor. Note that for Windows, Mac, ChromiumOS, or Android there are seperate *_args.gn files for those platforms. *--Include your api keys here at the top or leave blank, and edit the last line to point to the actual path and file name of '*.profdata'*
- 'misc/args.list' contains an alphabetical list with descriptions of all possible build arguments; gn_args.list gives a similar list but with the flags in args.gn added. - 'misc/args.list' contains an alphabetical list with descriptions of all possible build arguments; gn_args.list gives a similar list but with the flags in args.gn added.
- To build, run `./build.sh` (--help for help). For Windows, use `autoninja -C out/thorium chrome chromedriver content_shell setup mini_installer -j8` *The -j# can be changed to limit or increase the number of jobs (generally should be the number of CPU cores on your machine)* - To build, run `./build.sh` (--help for help). For Windows, use `autoninja -C out/thorium chrome chromedriver content_shell setup mini_installer -j8` *The -j# can be changed to limit or increase the number of jobs (generally should be the number of CPU cores on your machine)*