Commit graph

19 commits

Author SHA1 Message Date
Simon Glass
a55014d09b Makefile: Allow LTO to be disabled for a build
LTO (Link-Time Optimisation) is an very useful feature which can
significantly reduce the size of U-Boot binaries. So far it has been
made available for selected ARM boards and sandbox.

However, incremental builds are much slower when LTO is used. For example,
an incremental build of sandbox takes 2.1 seconds on my machine, but 6.7
seconds with LTO enabled.

Add a NO_LTO parameter to the build, similar to NO_SDL, so it can be
disabled during development if needed, for faster builds.

Add some documentation about LTO while we are here.

Signed-off-by: Simon Glass <sjg@chromium.org>
2022-09-02 16:20:11 -04:00
Heinrich Schuchardt
9968398704 doc: add package uuid-dev to build dependencies
Building mkeficapsule requires include uuid/uuid.h

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2022-07-18 17:21:49 +02:00
Heinrich Schuchardt
42356472bf doc/build/gcc: add more required packages
The following Python packages are used by U-Boot, too:

* python3-asteval
* python3-subunit
* python3-testtools

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2022-05-28 10:59:27 +02:00
Heinrich Schuchardt
f95104825a doc: add libgnutls28-dev to build dependencies
mkeficapsule requires package libgnutls28-dev for building

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2022-03-12 12:27:07 +01:00
Heinrich Schuchardt
3280eaad18 doc: fix description of build dependencies for Alpine Linux
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2022-01-19 16:18:09 +01:00
Heinrich Schuchardt
bba1cc9b8c doc: Building on Alpine Linux
Describe the required packages for building U-Boot on Alpine Linux

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2022-01-15 10:57:21 +01:00
Heinrich Schuchardt
2443fd7032 doc: add python3-pkg-resources to build dependencies
tools/binman/control.py imports Python package pkg_resources.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2021-10-21 03:46:03 +02:00
Simon Glass
93b1965322 Makefile: Only build dtc if needed
At present U-Boot always builds dtc if CONFIG_OF_CONTROL is defined, even
when DTC is provided. The built dtc is not actually used, so this is a
waste of time.

Update the Makefile logic to build dtc only if one is not provided to the
build with the DTC variable. Add documentation to explain this.

This saves about 3.5 seconds of elapsed time on a clean build of
sandbox_spl for me.

Signed-off-by: Simon Glass <sjg@chromium.org>
2021-10-19 11:23:07 -04:00
Heinrich Schuchardt
5f6efc35c1 doc: add pkg-config to the build dependencies
tools/Makefile uses pkg-config.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2021-08-14 20:54:40 +02:00
Heinrich Schuchardt
c0b6f7d4b8 doc: add graphviz imagemagick as build dependencies
'make htmldocs' requires graphviz and imagemagick (at least with Sphinx
3.5.4).

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2021-08-01 23:31:07 +02:00
Simon Glass
6a2626a9d0 doc: sandbox: Fix up dependencies
These are out of date. Update them and point to the existing build
instructions to avoid duplication. Add a few that are missing.

Signed-off-by: Simon Glass <sjg@chromium.org>
2021-07-28 19:30:22 -04:00
Tom Rini
a64322548c tools: Integrate the Dockerfile used for CI
Integrate the Dockerfile from
https://source.denx.de/u-boot/gitlab-ci-runner.git as of
commit bc6130d572f1 ("Dockerfile: Remove high UID/GID") and introduce a
short rST on how to build the container.

Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
2021-04-07 14:47:05 -04:00
Heinrich Schuchardt
a3bbd0b912 Correct U-Boot upstream repository
The U-Boot source moves to https://source.denx.de/u-boot/u-boot.git
effective 2021-02-28.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2021-02-28 13:57:30 -05:00
Heinrich Schuchardt
c206702155 doc/build/gcc.rst: required packages for SUSE
Describe the packages required to build U-Boot on SUSE.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2020-12-15 09:30:51 +01:00
Heinrich Schuchardt
4061191727 doc/build/gcc.rst: add missing apt-get *install*
The install command is missing for an apt-get command.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2020-09-22 11:05:32 -04:00
Heinrich Schuchardt
70e38eea3a doc: describe building with GCC
Provide a description of the U-Boot build process with GCC in the HTML
documentation.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2020-09-12 10:53:01 -04:00
Heinrich Schuchardt
2974ba4f65 doc: describe source repository
Add a chapter to the HTML documentation describing how to retrieve the
U-Boot sources.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2020-09-12 10:53:01 -04:00
Heinrich Schuchardt
7f89e85631 doc: move Clang documentation to HTML
* Move README.clang to doc/build/clang.rst and reformat as
  reStructeredText.
* Indicate that -ffixed-r9 and -ffixed-x18 are used to reserve registers
  for gd.
* Minor editing.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2020-08-04 23:30:02 -04:00
Bin Meng
7114d89e08 doc: Add documentation for how to build U-Boot host tools
This adds a reST document for how to build U-Boot host tools,
including information for both Linux and Windows.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2019-10-28 13:32:51 -04:00