As planned by the release schedule, the Buildroot 2013.05 version landed at the end of May. Peter Korsgaard, the project’s maintainer, highlighted the most important additions in his release email. With more than 900 commits, it has been the busiest ever development cycle, showing that the Buildroot project is more and more active.
With 175 commits in this release, Bootlin has again participated significantly to the development of Buildroot:
217 Gustavo Zacarias 167 Thomas Petazzoni (Bootlin) 109 Will Wagner 86 Peter Korsgaard 44 Simon Dawson 27 Yann E. MORIN 25 gilles.talis@gmail.com [...] 6 Maxime Ripard (Bootlin) [...] 1 Alexandre Belloni (Bootlin) 1 Ezequiel Garcia (Bootlin) [...]
Amongst the features and improvements contributed by Bootlin:
- Support for the next generation Wayland display server has been added. For now, only Wayland over the framebuffer is supported, but additional improvements are expected to come in the future.
- Integration of packages to build all the Qt5 components: qt5base, qt5declarative, qt5graphicaleffects, qt5imageformats, qt5jsbackends, qt5multimedia, qt5quick1, qt5script, qt5svg, qt5webkit and qt5xmlpatterns.
- A mechanism of virtual packages to expose the OpenGL, OpenVG and EGL implementations has been put in place, with for now the RasberryPi providing such implementations. Those virtual packages are for example used in the Qt5 packages mentionned above, for those that require OpenGL.
- A cleanup of Buildroot core dependencies: flex and bison are no longer mandatory to use Buildroot, they are automatically built when needed. This apparently simple move required a number of fixes and updated to a significant number of packages.
- Many external toolchains were updated, especially the Linaro toolchains.
- The build process of gdb was converted to the package infrastructure, instead of being a hand-written Makefile. This is part of an effort to progressively convert the toolchain building process to the package infrastructure.
- A default configuration was added for the Atmel AT91SAM9G45M10-EK evaluation board, which allows Buildroot users to easily build a minimal working system for this platform.
- A number of build issues were fixed by Maxime Ripard, thanks to the daily automated builds done by the Bootlin Jenkins system that Maxime has set up.
- A huge number of build issues trigerred by the autobuilders have also been fixed thanks to Bootlin engineers contributions.
In addition to this, Thomas Petazzoni has done some major improvements to the automated build system that the Buildroot project uses, which he detailed in an e-mail sent to the project mailing list. These improvements make the autobuilder infrastructure more scalable, and allows to provide statistics, and a much better daily report sent to the project’s mailing list.
In detail, the contributions of Bootlin were:
- Alexandre Belloni (1):
- Ezequiel Garcia (1):
- Maxime Ripard (6):
- Thomas Petazzoni (167):
- toolchain-external: add new Microblaze toolchains
- ncurses: speed up the build by not installing manpages
- ncurses: speed up host build
- graph-depends: ignore the ‘target-post-image’ target
- pcre: add support for 16 bits and 32 bits variants
- x11r7/xcb-util: bump to 0.3.9
- package: create virtual package for libGLES, libOpenVG and libEGL
- rpi-userland: provides OpenGL ES, EGL and OpenVG
- autoconf: don’t try to build Emacs files
- xcb-util: add dependency on libxcb
- x11r7/xcb-util-wm: new package
- x11r7/xcb-util-image: new package
- pcre: always enable the 8-bits version
- aircrack-ng: disable on non-MMU systems
- alsa-lib: fix noMMU build
- libglib2: don’t build tests
- libglib2: use system pcre when available
- rpi-userland: add .pc files for OpenGLESv2 and EGL libs
- efl/libeet, efl/libevas: use host-libjpeg instead of host-jpeg
- jpeg: convert to a real package
- gdisk: rename to gptfdisk
- gptfdisk: ensure that the package always builds/installs something
- gptfdisk: use TARGET_CONFIGURE_OPTS properly, use TARGET_MAKE_ENV
- gptfdisk: fix installation step
- gptfdisk: make utf16 support configurable
- gptfdisk: add support for building and install cgdisk
- gptfdisk: factorize the BR2_PACKAGE_GPTFDISK dependency
- qt5: base infrastructure
- qt5: add macro to fixup Qt5 .la and .prl files
- qt5base: new package
- qt5base: add GUI support
- qt5base: support debug or release modes
- icu: workaround toolchain bugs
- icu: don’t build object files twice
- icu: speed up host build
- urg: fix license
- urg: handle config scripts properly
- sdl: use
_CONFIG_SCRIPTS for sdl-config - Mark AArch64 as a 64 bits architecture
- qt5base: add OpenSSL support
- qt5base: add eglfs graphics backend
- qt5base: add support for fontconfig, png, jpeg, gif
- qt5base: add D-Bus support
- qt5base: add glib support
- qt5base: add support to build against ICU
- xinetd: follow the convention for patch location
- libgtk2: use non-host specific patch
- gcc: fix location of snapshots
- gcc: add support for gcc 4.8
- gcc: introduce BR2_GCC_NEEDS_MPC to reduce code duplication
- gcc: add missing $(Q)
- kernel-headers: add missing $(Q)
- uClibc: add missing $(Q)
- gmp: requires host-m4
- libpcap: add missing flex/bison dependencies
- iproute2: add dependency on host-bison
- ncurses: enable shared library build on the host
- gettext: provide a host variant
- libglib2: add dependency on host-gettext
- at: needs host-flex and host-bison
- dependencies: remove a few useless mandatory dependencies
- dependencies: remove useless newlines
- dependencies: add details about which distro package to install
- dependencies: test all programs before bailing out
- dependencies: check that a full perl installation is available
- dependencies: check that SSL certificates are installed
- toolchain: update crosstool-NG project URL
- qt5: factor Qt5 version
- gettext: do not get the libiconv dependency on the host
- iproute2: add missing host-flex dependency
- flex: needs host-m4
- libnl: add missing dependency on host-flex
- rt-tests: mention that NPTL thread implementation is needed
- gd: add patch to fix gdlib-config script
- neon: add license informations
- apr: various improvements
- apr-util: various improvements
- log4cxx: new package
- xcursor-transparent-theme: new package
- argp-standalone: add license information
- texinfo: new host package
- crosstool-ng: add missing dependencies
- apr-util: fix incorrect operator leading to missing dependencies
- linux-pam: add missing dependency on host-flex
- gstreamer: add missing dependencies on host-flex and host-bison
- mrouted: add missing dependency on host-bison
- gnuchess: add missing dependencies on flex and host-flex
- openswan: add missing TARGET_MAKE_ENV
- conntrack-tools: add missing dependencies on host-flex/host-bison
- dnsmasq: add missing dependency on host-gettext
- olsr: add missing dependency on host-bison/host-flex
- xapp_xinput: add missing dependencies
- xapp_xev: add missing dependencies on xlib_libXrandr
- mediastreamer: add missing host-gettext dependencies and other fixes
- redis: build fix and minor improvement
- vala: add missing host-bison dependency
- vala: deprecate target package
- bash: add missing dependency on host-bison
- gpsd: nmea2000 requires aivdm support
- avahi: add missing dependency on host-gettext
- toolchain-external: update ARM Linaro toolchains
- toolchain-external: update AArch64 Linaro toolchains
- toolchain-external: fix typo in Blackfin toolchain config option
- support/kconfig: upgrade to 3.9-rc2
- support/kconfig: add support for olddefconfig
- qt5: disallow the selection of Qt4 and Qt5
- fs/jffs2: refactor endianess selection to use BR2_ENDIAN
- qt5base: support static library building
- qt5base: adjust linux-buildroot-g++ qmake.conf
- qt5/qt5svg: new package
- qt5/qt5script: new package
- qt5/qt5imageformats: new package
- qt5/qt5xmlpatterns: new package
- qt5/qt5jsbackend: new package
- qt5/qt5declarative: new package
- qt5/qt5graphicaleffects: new package
- qt5/qt5multimedia: new package
- qt5/qt5webkit: new package
- qt5/qt5quick1: new package
- gdb: convert to the package infrastructure
- gdb: do not allow gdbserver/cross-gdb build in some cases
- gdb: install gdbserver into the SDK
- toolchain-external: support more gdbserver locations
- toolchain-external: fix Linaro ARM URL
- gdb: properly set the gdb site in all cases
- gdb: disable on AArch64
- ne10: new package
- qt5: factor <pkg>_SITE variable
- qt5: bump to 5.0.2
- qt, php: selecting mysql requires depending on MMU
- make: undeprecate package as it is used by the uClibc test suite
- system: remove trailing tabs in Config.in file
- Config.in.legacy: fix consistency warning on pthread-stubs option
- xkeyboard-config: make available outside of X.org, reduce dependencies
- libxkbcommon: new package
- wayland: new package
- weston: new package
- json-c: bump to version 0.11
- pulseaudio: link against json-c
- wvstreams: fix build failures
- wvstreams: disable warnings
- package/x11r7: add license informations to xapp_* packages
- package/x11r7: add license informations to xproto_* packages
- package/x11r7: add license informations to xdriver_* packages
- package/x11r7: add license informations to xlib_* packages
- package/x11r7: add license informations to xutil_* packages
- package/x11r7: add license informations to xfont_* packages
- package/x11r7: add license informations to misc other packages
- xserver_xorg-server: add license informations
- libatomic_ops: add license informations
- libdrm: add license informations
- libsha1: add license informations
- pixman: add license informations
- toolchain/gcc: the ARC version of gcc needs host-flex/host-bison
- elf2flt: fix build when zlib is not installed on the host
- gcc: fix gcc 4.8 build when thread support is disabled
- flex: needs M4 at runtime
- Remove useless CVS related files
- flex: fix autobuilder failures
- lttng-babeltrace: fix build failure on gcc14
- wvstreams: need largefile support
- acpid: fix obvious syntax error in addprefix call
- libv4l: needs thread support
- flex: propagate m4 dependency on wchar
- czmq: prevent selection when ADI Blackfin external toolchains are used
- libtirpc: prevent selection when ADI Blackfin external toolchains are used
- qt5jsbackend: only available on ARM, x86, x86-64 and mipsel
Does it support Qt5.0 or also the recent released Qt5.1 version?
The “mechanism of virtual packages to expose the OpenGL, OpenVG and EGL “, does it mean that OpenGL ES 2.0 and EGL libraries will be also included into generated rootfs? for any platform?
Thanks in advance, and congratulations for the nice job and big effort!
Santiago
For now, we support Qt 5.0, and not yet Qt 5.1, but it is on my TODO-list to add Qt 5.1 support, though others are welcome to submit patches to do so.
Yes, the OpenGL ES and EGL libraries are automatically included in the generated root filesystem, that’s the whole point of having Buildroot packages for those libraries.
And no, it doesn’t work for any platform, simply because it is not possible: the OpenGL ES and EGL implementations are inherently platform-specific, so each SoC vendor provides its own implementation, and we must create packages for each of them. For now, we have support for the Rasberry Pi OpenGL libraries, the OMAP3/AM335x OpenGL libraries, and we’re adding the package for the Allwinner OpenGL implementation. We intend to add more in the future, but we also welcome contributions in this area.
Do not hesitate to contact the Buildroot mailing list for further details.
Thanks for the reply Thomas, very clear.
Regards