openal can uses __atomic_*() intrinsics when available, or fall-back
on __sync_*() built-ins. This commit adjusts the package to take into
account for those dependencies, and makes sure we link against
libatomic when gcc >= 4.8 so that the __atomic_*() intrinsics can be
used on all architectures.
Fixes:
http://autobuild.buildroot.org/results/314fb8da3ca87984e9240d67ff233e2f999ae89e/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
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>
gst1-imx package links against libgstphotography for its imxv4l2src
plugin.
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The DVB plugin uses the FEC_2_5 and QAM_4_NR from the DVB API, which
were added only in kernel 3.7. This commit adds the necessary kernel
header version dependency, which fixes:
http://autobuild.buildroot.net/results/fab7afc3490d77a6b29760394337298f2fd55d51/
Thanks to Peter Seiderer for the investigation!
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Commit 301e8ffbb2 (gst1-plugins-bad: update configure options) added a sub
option for openh264, but didn't propagate the toolchain dependencies or add
any configure options.
Fix this and while we're at it also add a help text for the option.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The OpenJPEG library is packaged in buildroot (version 1) and there is a
plugin "openjpeg" using it in gst1-plugins-bad. This commit add the option
for building this plugin. It provide a JPEG2000 encoder and decoder.
[Peter: use 'select' instead of 'depends on', sort alphabetically]
Signed-off-by: Vincent Dehors <vincent.dehors@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
- add new onvif option
- add new dtls option
- add new openh264 option
- add new x265 option
- removed real plugin option
- add new rtp option
- remove always disabled legacy options: directdraw, osx_video,
quicktime and mythtv
- add '--disable-bs2b' and '--disable-libde265' to options
which require currently unpackaged libraries
- add '--disable-gtk3' and '--disable-qt'
[Thomas: improve wording of Config.in.legacy option.]
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The new DirectFB version does not build with gcc 4.3 from the Blackfin
toolchain. One of the reason is that va_copy has some issues, which
were fixed in gcc 4.4.0
(https://gcc.gnu.org/bugzilla/show_bug.cgi?id=36799). There are also
some other issues, which were fixed by a patch proposed by Peter
Seiderer at
http://lists.busybox.net/pipermail/buildroot/2015-February/120281.html.
However, it probably doesn't make a lot of sense to carry patches that
are not upstream for such old compilers. Instead, this commit takes
the action of making DirectFB available only on toolchains using gcc
>= 4.5, which was tested with the Arago toolchain. gcc 4.4 could
potentially work, but wasn't tested (it is no longer supported by the
internal toolchain backend, and we don't have any toolchain based on
gcc 4.4), so we take the safe decision of requiring at least gcc 4.5.
[Peter: add comment explaining toolchain dependenc as suggested by Vincente]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This (partially) reverts commit 5e238a87ea.
The dependency is changed from a 'select' to a 'depends on' to avoid a
circular dependency caused by the introduction of OpenCV-3. This means
we can also drop the threads and C++ dependencies, since they are now
inherited via the depends on OpenCV.
Cc: Jonathan Ben Avraham <yba@tkos.co.il>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
[yann.morin.1998@free.fr: fix dependencies]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
It is often difficult to know exactly when make will expand the
variable, and usually it can only be expanded after the dependencies
have been built (e.g. pkg-config or the .pc file). Using a backtick
instead makes it very clear that it will be expanded only while
executing the command.
This change is useful for two cases:
1. The per-package staging (and host) directory will be created as part
of the configure step, so any $(shell ...) variable that is used in
the configure step will fail because the directory doesn't exist
yet.
2. 'make printvars' evaluates the variables it prints. It will therefore
trigger a lot of errors from missing .pc files and others. The
backticks, on the other hand, are not expanded, so with this change
the output of 'make printvars' becomes clean again.
This commit contains only the easy changes: replace $(shell ...) with
`...`, and also replace ' with " where needed. Follow-up commits will
tackle the more complicated cases that need additional explanation.
After this change, the following instances of $(shell ...) will remain:
- All assignments that use :=
- All variables that are used in make conditionals (which don't expand
the backticks).
- All variables that only refer to system executables and make
variables that don't change.
- The calls to check-host-* in dependencies.mk, because it is eval'ed.
[Original patch by Fabio Porcedda, but extended quite a bit by Arnout.]
Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The opencv plugin uses stuff from the now removed opencv's legacy module.
Note that the configure script already correctly check the opencv version
and disable the opencv plugin with opencv-3.x.
Also remove 'select ...' to prevent kconfig from complaining about
recursive dependencies.
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Some egl implementations needs special compiler flags or defines (E.G.
mesa3d for wayland needs to pass -DMESA_EGL_NO_X11_HEADERS to not try to
include X11 headers). This is correctly included in the .pc file, but the
configure logic doesn't use pkg-config so help it along.
Likewise, some implementations may need to link against other libraries, so
also pass LIBS.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Commit 83e29f2656 "gst1-plugins-bad: bump
version" (from 1.2.4 to 1.4.1) removed the configuration option for the
eglglessink plugin as a consequence of its removal in 1.3.1. However,
that commit did not add support for glimagesink, the plugin element to
be used as a replacement, which broke support for the EGL/GLES video
sink feature in Buildroot.
This new commit adds support for the OpenGL library and the
corresponding gl plugin, including the glimagesink element among others.
The plugin needs the library, but the library can also be used
separately in order to link custom plugins or applications against it.
The library needs at least one OpenGL API, one OpenGL platform and one
compatible window system. The implementations of these requirements that
Buildroot can currently provide are:
- APIs: OpenGL, OpenGL ES 2.X,
- platforms: GLX, EGL,
- window systems: X11, Wayland, Dispmanx.
The wayland configure feature switch is shared between the corresponding
OpenGL library window system and the waylandsink plugin.
This has been tested with videotestsrc/omxmpeg4videodec/omxh264dec and
glimagesink on the Raspberry Pi, using OpenGL ES 2.X, EGL and Dispmanx.
Signed-off-by: Benoît Thébaudeau <benoit@wsystem.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Commit 83e29f2656 "gst1-plugins-bad: bump
version" (from 1.2.4 to 1.4.1) removed the configuration options for the
cdaudio and eglglessink plugins as a consequence of their removal in
1.3.1. However, that commit did not remove the corresponding make rules,
so remove them now.
Signed-off-by: Benoît Thébaudeau <benoit@wsystem.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Now that largefile is mandatory removes package dependencies and
conditionals.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Also removed the redundant indirect dependencies on wchar, threads
(gstreamer depends on libglib2 so this indirect dependency is obvious).
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Autogenerated from rename-patch.py (http://patchwork.ozlabs.org/patch/403345)
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Since a while, the semantic of BR2_PREFER_STATIC_LIB has been changed
from "prefer static libraries when possible" to "use only static
libraries". The former semantic didn't make much sense, since the user
had absolutely no control/idea of which package would use static
libraries, and which packages would not. Therefore, for quite some
time, we have been starting to enforce that BR2_PREFER_STATIC_LIB
should really build everything with static libraries.
As a consequence, this patch renames BR2_PREFER_STATIC_LIB to
BR2_STATIC_LIBS, and adjust the Config.in option accordingly.
This also helps preparing the addition of other options to select
shared, shared+static or just static.
Note that we have verified that this commit can be reproduced by
simply doing a global rename of BR2_PREFER_STATIC_LIB to
BR2_STATIC_LIBS plus adding BR2_PREFER_STATIC_LIB to Config.in.legacy.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
A lot of packages ignored BR2_ENABLE_DEBUG. This patch simplifies the handling of
this option by adding the corresponding configure option to the global Makefile
for target packages.
For host packages --disable-debug is added to the global Makefile.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To be consistent with the recent change of FOO_MAKE_OPT into FOO_MAKE_OPTS,
make the same change for FOO_CONF_OPT.
Sed command used:
find * -type f | xargs sed -i 's#_CONF_OPT\>#&S#g'
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To be consistent with the recent change of FOO_MAKE_OPT into FOO_MAKE_OPTS,
make the same change for FOO_AUTORECONF_OPT.
Sed command used:
find * -type f | xargs sed -i 's#_AUTORECONF_OPT\>#&S#g'
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Fixes
CC src/libwayland_server_la-wayland-server.lo
src/wayland-server.c:36:19: error: dlfcn.h: No such file or directory
using this defconfig
http://autobuild.buildroot.net/results/dfd/dfd81f1f1f0f315317b2a85d24b286a277ac7c16/
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The package is not called gst-plugins-bad, and the other comments in the
file are of the "foo plugin needs a toolchain w/.." form, so use that for
sndfile as well.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The core module of OpenCV is now using the pthread_spin_*() API, which
is only available in the 'linuxthreads' and 'NPTL' thread
implementations, but not in the 'linuxthreads.old'
implementation. Therefore, this commit adds a dependency on OpenCV to
NPTL threads.
Fixes:
http://autobuild.buildroot.org/results/75d/75db3827ec4be8a3805508a22b8b6a4d1a3b9ce3/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Bug reports fixed in this release:
* 724013 : Don't hardcode /usr/share/sounds/sf2 path in fluiddec
* 725137 : hlsdemux: fails to compute media playlist URL if there is a query parameter
* 725140 : hlsdemux: fails to correctly parse CODECS and RESOLUTION
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The basic rule for a package is to have its options named
after the package name. There is no reason this should not
also be the case for virtual packages.
Besides, this will allow us to switch libegl to use the
soon-to-be-introduced virtual-package infrastructure.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Cc: Mike Zick <minimod@morethan.org>
Cc: Samuel Martin <s.martin49@gmail.com>
Reviewed-by: Samuel Martin <s.martin49@gmail.com>
cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The basic rule for a package is to have its options named
after the package name. There is no reason this should not
also be the case for virtual packages.
Besides, this will allow us to switch libgles to use the
soon-to-be-introduced virtual-package infrastructure.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Cc: Mike Zick <minimod@morethan.org>
Cc: Samuel Martin <s.martin49@gmail.com>
Reviewed-by: Samuel Martin <s.martin49@gmail.com>
Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Acked-by: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
gst1-plugins-bad source code does include the old-style global opencv
header "opencv/cv.h", which includes headers from the core, imgproc,
video, features2d, flann, calib3d, objdetect and legacy modules.
However, the legacy module, in addition to headers from some of the
previously listed modules, also includes headers from the ml module.
Thus, the ml module must be selected to be able to build the legacy
one, so the gst-plugins-bad's opencv plugin.
Fixes:
http://autobuild.buildroot.net/results/d02/d02e1843ef90f4b40c99e3b23eddf376f827d46e/
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
A bug has been reported upstream to fix this issue properly, and a
GStreamer developer agreed with our proposal. We add the bug URL to
comments on Config.in to let the interested users follow the progress of
this issue.
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
gstopencv.c includes the old-style header opencv/cv.h which includes a
set of module's headers. To satisfy the opencv/cv.h requirements we need
to select the modules which provide the required headers.
Fixes:
http://autobuild.buildroot.net/results/f5b/f5b248eb7be38d6eb3655cdc1ab6ee5e716b9b29/
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Reviewed-by: Samuel Martin <smartin@aldebaran-robotics.com>
Reviewed-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>