Go to file
Thomas Petazzoni 9522dde070 package/qt6/qt6base: new package
This commit proposes a very minimal package for qt6base. It only
supports building QtCore, so it *really* is minimal. But that's a
starting point, which we can progressively build on top. It is based
on initial work from Peter Seiderer.

This minimal QtCore build is however sufficient to build and run
simple non-graphical Qt applications.

A number of comments:

 - Even though there's only qt6base for now, many other qt6 modules
   will come later on, which is why we're using the same structure as
   for qt5, with a subdir for package/qt6/

 - Qt6 is mutually exclusive with Qt5. Even though the library names
   on the target and the location of the header files are distinct,
   the host tools (qmake, moc and al.) have the same name, so at least
   for now, we make them mutually exclusive.

 - We've chosen to use non-bundled libraries for zlib, bb2,
   double-conversion and pcre2, for both the target and the host
   qt6base packages.

 - Contrary to qt5 where the target package was building the host
   tools, now we have a host qt6base package building the host tools,
   and which is needed as a dependency for the target qt6base package.

 - qt6base is using CMake. However, it strongly recommends to use
   Ninja as a backend instead of make, a recommendation that we follow
   in this commit. Since we don't have support for Ninja in the
   cmake-package infrastructure (yet), we do this manually in
   qt6base.mk itself, by passing -Gninja to CMake at configure time,
   and then by using cmake --build at build time and cmake --install
   at install time, using explicitly provided build and install
   commands. Hopefully these can go away once we have support for
   Ninja directly in cmake-package.

 - We disable a number of features or external libraries using FEATURE
   options. However, because there are over 400 FEATURE options in
   qt6base, we didn't go all the way to explicitly disabling *all* of
   them (which would be needed for both the host and target
   packages). We expect that this list of explicit FEATURE options
   disabling will need to grow based on the feedback of users and
   issues encountered.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-07-26 22:54:38 +02:00
arch arch/Config.in: BR2_BINFMT_FLAT remove architecture dependencies 2022-07-26 17:10:35 +02:00
board configs/kontron_bl_imx8mm_defconfig: bump U-Boot 2022-07-26 15:13:59 +02:00
boot boot/arm-trusted-firmware: allow enabling without uboot or edk2 2022-07-26 22:51:09 +02:00
configs configs/*: use BR2_ENABLE_LTO to enable LTO instead of BR2_GCC_ENABLE_LTO 2022-07-26 21:56:13 +02:00
docs docs/manual: fix patchwork URL 2022-07-23 18:57:22 +02:00
fs fs/tar: add option for zstd compression 2022-07-23 22:40:01 +02:00
linux {linux, linux-headers}: bump 4.{9, 14, 19}.x / 5.{4, 10, 15, 17}.x series 2022-07-11 18:38:46 +02:00
package package/qt6/qt6base: new package 2022-07-26 22:54:38 +02:00
support package/avocado: new package 2022-07-26 10:07:52 +02:00
system package/systemd: add setting for systemd default.target 2022-05-02 22:58:44 +02:00
toolchain toolchain: introduce BR2_TOOLCHAIN_HAS_GCC_BUG_104028 2022-07-26 17:12:51 +02:00
utils utils/readme.txt: Fix typo "get-developers" 2022-07-23 18:21:21 +02:00
.clang-format .clang-format: initial import from Linux 5.15.6 2022-01-01 15:01:13 +01:00
.defconfig arch: remove support for sh64 2016-09-08 22:15:15 +02:00
.flake8 Revert ".flake8: fix check for 80/132 columns" 2021-01-02 17:38:20 +01:00
.gitignore
.gitlab-ci.yml utils/checkpackagelib/lib_sysv: run shellcheck 2022-02-06 18:27:03 +01:00
.shellcheckrc utils/check-package: improve shellcheck reproducibility 2022-07-25 23:52:47 +02:00
CHANGES Update for 2022.02.3 2022-06-19 12:53:35 +02:00
Config.in Config.in: add new option BR2_ENABLE_LTO to globally enable LTO 2022-07-26 21:53:52 +02:00
Config.in.legacy package/{mesa3d, mesa3d-headers}: bump version to 22.1.3 2022-07-23 22:30:14 +02:00
COPYING
DEVELOPERS package/qt6/qt6base: new package 2022-07-26 22:54:38 +02:00
Makefile Kickoff 2022.08 cycle 2022-06-07 21:06:39 +02:00
Makefile.legacy Remove BR2_DEPRECATED 2016-10-15 23:14:45 +02:00
README docs: move the IRC channel away from Freenode 2021-05-29 22:16:23 +02:00

Buildroot is a simple, efficient and easy-to-use tool to generate embedded
Linux systems through cross-compilation.

The documentation can be found in docs/manual. You can generate a text
document with 'make manual-text' and read output/docs/manual/manual.text.
Online documentation can be found at http://buildroot.org/docs.html

To build and use the buildroot stuff, do the following:

1) run 'make menuconfig'
2) select the target architecture and the packages you wish to compile
3) run 'make'
4) wait while it compiles
5) find the kernel, bootloader, root filesystem, etc. in output/images

You do not need to be root to build or run buildroot.  Have fun!

Buildroot comes with a basic configuration for a number of boards. Run
'make list-defconfigs' to view the list of provided configurations.

Please feed suggestions, bug reports, insults, and bribes back to the
buildroot mailing list: buildroot@buildroot.org
You can also find us on #buildroot on OFTC IRC.

If you would like to contribute patches, please read
https://buildroot.org/manual.html#submitting-patches