Fix build failures of new APIs on old macOS SDK

New APIs supported from macOS 11.0 cannot build successfully on macOS
10.15, even use @available to control whether a declaration is
available on target platform, but does not work in conditionally
compiling.

Update building.md to require the macOS 11.0 SDK.

Bug: dawn:1054
Change-Id: If22ada959c0c1ef41826f78bd337b912772000b1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/61021
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
This commit is contained in:
Li Hao 2021-08-18 16:16:57 +00:00 committed by Dawn LUCI CQ
parent 71d7c2e670
commit 41e3931b04
1 changed files with 21 additions and 7 deletions

View File

@ -1,16 +1,28 @@
# Building Dawn # Building Dawn
## System requirements
- Linux
- The `pkg-config` command:
```sh
# Install pkg-config on Ubuntu
sudo apt-get install pkg-config
```
- Mac
- [Xcode](https://developer.apple.com/xcode/) 12.2+.
- The macOS 11.0 SDK. Run `xcode-select` to check whether you have it.
```sh
ls `xcode-select -p`/Platforms/MacOSX.platform/Developer/SDKs
```
## Install `depot_tools`
Dawn uses the Chromium build system and dependency management so you need to [install depot_tools] and add it to the PATH. Dawn uses the Chromium build system and dependency management so you need to [install depot_tools] and add it to the PATH.
[install depot_tools]: http://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/depot_tools_tutorial.html#_setting_up [install depot_tools]: http://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/depot_tools_tutorial.html#_setting_up
On Linux you need to have the `pkg-config` command: ## Get the code
```sh
# Install pkg-config on Ubuntu
sudo apt-get install pkg-config
```
Then get the source as follows:
```sh ```sh
# Clone the repo as "dawn" # Clone the repo as "dawn"
@ -23,6 +35,8 @@ cp scripts/standalone.gclient .gclient
gclient sync gclient sync
``` ```
## Build Dawn
Then generate build files using `gn args out/Debug` or `gn args out/Release`. Then generate build files using `gn args out/Debug` or `gn args out/Release`.
A text editor will appear asking build options, the most common option is `is_debug=true/false`; otherwise `gn args out/Release --list` shows all the possible options. A text editor will appear asking build options, the most common option is `is_debug=true/false`; otherwise `gn args out/Release --list` shows all the possible options.