mirror of
https://github.com/godotengine/buildroot.git
synced 2026-01-09 06:10:17 +03:00
e64573c47faa4c60d2c331a3f3d677b89b096a29
This commit handles the reverse dependency tree of cairo in terms of atomic dependencies. There are two main changes: - cairo in fact no longer needs atomic operations. It can perfectly build without any __sync built-in, as was tested using an ARC toolchain without atomics, and a SPARC toolchain. Optionally, Cairo can use the __atomic builtins provided by gcc >= 4.7, so support for this is added as well. Thanks to this change, the BR2_ARCH_HAS_ATOMICS dependency is removed from cairo and all its reverse dependencies. - harfbuzz does require the __sync built-in for 4 bytes integers, so we add a dependency on BR2_TOOLCHAIN_HAS_SYNC_4 to harfbuzz and all its reverse dependency, the main one being the pango package. Due to this, the vast majority of gtk-related packages are moved to a dependency on BR2_ARCH_HAS_ATOMICS (which used to be due to cairo) to a dependency on BR2_TOOLCHAIN_HAS_SYNC_4 (due to pango -> harfbuzz). In detail: - cairo Remove BR2_ARCH_HAS_ATOMICS dependency, link against -latomic when gcc >= 4.8 in order to use the __atomic functions. - harfbuzz Add dependency on BR2_TOOLCHAIN_HAS_SYNC_4 - cairomm, gst-plugins-good, gst1-plugins-good, libgdiplus, libsvg-cairo, weston Remove BR2_ARCH_HAS_ATOMICS dependency (since cairo no longer needs atomics) - enlightenment, cwiid, gst-plugins-bad, gst-plugins-base, gst1-plugins-bad, gst1-plugins-base, gtkmm3, libevas-generic-loaders, libfm, libgail, libgtk2, libgtk3, librsvg, openbox, opencv, opencv3, pango, pangomm, pcmanfm, pinentry, rrdtool, webkit, webkitgtk24, xscreensaver Switch from a BR2_ARCH_HAS_ATOMICS dependency to a BR2_TOOLCHAIN_HAS_SYNC_4 (they depend on pango, harfbuzz, gtk, or some other related package) - directfb Remove BR2_ARCH_ATOMICS dependency of the BR2_PACKAGE_DIRECTFB_SVG (since cairo can build without atomics), but add a BR2_TOOLCHAIN_HAS_SYNC_4 dependency on BR2_PACKAGE_DIRECTFB itself since it does use __sync built-ins. This replaces the !BR2_sparc dependency. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
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 Freenode IRC. If you would like to contribute patches, please read https://buildroot.org/manual.html#submitting-patches
Description
Godot's buildroot soft-fork for generating toolchains to make portable Linux releases of Godot games.
Languages
Makefile
66.1%
Python
13.6%
C
8.3%
Shell
6.2%
PHP
2.9%
Other
2.6%