Skip to content

Commit 5da0ed2

Browse files
Raphael Kubo da CostaMaxIhlenfeldt
authored andcommitted
chromium: Add dunfell instructions to README.md.
This makes it easier for users to find out what they need to do to build the recipe successfully without having to read our commit messages (see e.g. #718). While here, change the formatting we use for the headings so I can add a subheading for the dunfell instructions. Signed-off-by: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
1 parent 750f715 commit 5da0ed2

File tree

1 file changed

+28
-17
lines changed

1 file changed

+28
-17
lines changed

meta-chromium/README.md

Lines changed: 28 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
OpenEmbedded/Yocto BSP layer for Chromium Browsers
2-
==================================================
1+
# OpenEmbedded/Yocto BSP layer for Chromium Browsers
32

43
This layer provides web browser recipes for use with OpenEmbedded
54
and/or Yocto.
@@ -19,8 +18,7 @@ This layer depends on:
1918
- branch: master
2019
- revision: HEAD
2120

22-
Contributing
23-
------------
21+
## Contributing
2422

2523
The preferred way to contribute to this layer is to send GitHub pull requests or
2624
report problems in GitHub's issue tracker.
@@ -29,8 +27,8 @@ Alternatively there is the classic way of review on the OpenEmbedded dev mailing
2927
list openembedded-devel@lists.openembedded.org (you have to be subscribed to
3028
post to the list). Please cc the maintainers if you send your patches.
3129

32-
Maintainers
33-
-----------
30+
## Maintainers
31+
3432
* Fabio Berton <fabio.berton@ossystems.com.br>
3533
* Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
3634
* Khem Raj <raj.khem@gmail.com>
@@ -42,8 +40,8 @@ When sending single patches, please use something like:
4240
git send-email -1 -s --to openembedded-devel@lists.openembedded.org --subject-prefix='meta-browser][PATCH'
4341
```
4442

45-
Recipes
46-
-------
43+
## Recipes
44+
4745
recipes-browser/chromium:
4846
Chromium browser.
4947

@@ -62,23 +60,36 @@ peculiarities:
6260
- Parts of the V8 (Chromium's JavaScript engine) build need to run binaries
6361
built for the target, for which we use QEMU.
6462

65-
Build requirements
66-
------------------
63+
## Build requirements
64+
6765
This recipe requires clang, and GCC is not supported. Upstream Chromium has not
6866
tested or officially supported GCC for years, so it is safer and easier to
6967
follow their lead and only support one compiler.
7068

7169
As part of its build process, Chromium builds and runs some binaries on the
7270
host. clang-native from the meta-clang layer is used to build those binaries.
7371

74-
For building most of the code for your target, a C++14-compliant compiler is
75-
required. At least clang 7.0.0 (and thus the "thud" branch) is required.
76-
7772
Additionally, make sure the machine being used to build Chromium is powerful
7873
enough: a x86-64 machine with at least 16GB RAM is recommended.
7974

80-
PACKAGECONFIG knobs
81-
-------------------
75+
### dunfell-specific requirements
76+
77+
The dunfell OE/Yocto branch is an LTS release, which is often at odds with
78+
Chromium's release model because it often requires recent versions of certain
79+
recipes to build correctly.
80+
81+
This is particularly a problem for the toolchain (i.e. LLVM) and, at times,
82+
node.js. As such, dunfell users **must** ensure the following:
83+
* Chromium needs clang >= 12 and for that, meta-clang's **dunfell-clang12**
84+
branch needs to be used.
85+
* Since Chromium 112, at least Nodejs 14 is required for parts of the build.
86+
meta-oe needs to be at least a commit
87+
116bfe8d5e5851e7fc5424f40da8691a19c5b5ee ("nodejs: make 14.18.1 available but
88+
not default") and `PREFERRED_VERSION_nodejs-native = "14.%"` needs to be
89+
added to `conf/local.conf`.
90+
91+
## PACKAGECONFIG knobs
92+
8293
* component-build: (off by default)
8394
Enables component build mode. By default, all of Chromium (with the exception
8495
of FFmpeg) is linked into one big binary. The linker step requires at least 8
@@ -128,8 +139,8 @@ PACKAGECONFIG knobs
128139
query battery status. If disabled, there will be warning messages seen on
129140
stderr and Battery Status Web API will not work.
130141

131-
Google API keys
132-
---------------
142+
## Google API keys
143+
133144
Some Chromium features use Google APIs, and to access those APIs either an API
134145
Key or a set of OAuth 2.0 tokens is required. Setting up API keys is optional.
135146

0 commit comments

Comments
 (0)