Elementary, evas-generic-loaders and emotion-generic-loaders are now
part of efl 1.18 package [1].
Merge the elementery and evas-generic-loaders package to the efl one.
Rename librsvg option (srvg/libsrvg)
[1] https://phab.enlightenment.org/w/efl_and_elementary_1_18/
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
systemd it one of the "highly recommended" dependecies according to the
README [1] but disabling it doesn't need the
--enable-i-really-know-what-i-am-doing... option.
That's why BR2_PACKAGE_EFL_HAS_RECOMMENDED_CONFIG is not disabled when
systemd is not selected.
[1] https://git.enlightenment.org/core/efl.git/tree/README?h=efl-1.17#n489
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The efl package has zlib in its dependencies, but does not select it,
which causes a dependency check error with the following defconfig:
BR2_arm=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-2016.05-1162-g94c7298.tar.bz2"
BR2_TOOLCHAIN_EXTERNAL_GCC_4_8=y
BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y
BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
BR2_TOOLCHAIN_EXTERNAL_INET_RPC=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_INIT_NONE=y
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
BR2_SYSTEM_BIN_SH_NONE=y
BR2_PACKAGE_EFL=y
This commit fixes this by selecting the zlib package at the Config.in
level.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Eolian languages bindings needs C++11, so we needs at least a gcc 4.8
for the host and target variant.
The C++11 support with gcc 4.7 is not sufficient.
Build eolian_cxx for the host only if Eolian support for the target is
selected.
Signed-off-by: Romain Naour <romain.naour@gmail.com>
[Thomas: fix misc typos.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
When the support for JP2K is requested, the configure script is looking
for libopenjpeg1.pc which is not provided by the openjpeg package since
it's too recent (currently v2.1).
Mark BR2_PACKAGE_EFL_JP2K as broken until a new version of the efl
stack support the new openjpeg library.
Fixes:
http://autobuild.buildroot.net/results/ff1/ff1dbbc6cffdb5b2550b3613295151ff9fa964d6
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
In efl 1.15.x, Lua "old" support is broken with Lua 5.2+ [1].
With the patch added in efl 1.16 to fixes this issue, libevas fail to link with
the following error:
CCLD bin/ecore_evas/ecore_evas_convert
host-efl-1.16.1/src/lib/evas/.libs/libevas.so: undefined reference to `luaL_openlib'
collect2: error: ld returned 1 exit status
Makefile:19021: recipe for target 'bin/ecore_evas/ecore_evas_convert' failed
Since 9ba8d1cce4, the luajit support can be
enabled in efl package.
In order to update the efl stack to 1.17, switch to luajit support and remove
Lua "old" support since it's not fixed upstream yet. But the drawback is the
efl stack depends implicitely on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS.
[1] https://phab.enlightenment.org/T2728
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
pulseaudio is able to either use the atomic __sync builtins from the
compiler, or to rely on libatomic_ops for atomic operations. However,
since it anyway selects json-c which requires the __sync built-ins, it
means using libatomic_ops is useless: even if you use libatomic_ops
for pulseaudio, you'd still get a link error in pulseaudio due to the
missing __sync built-in for the json-c library.
Also, since pulseaudio now inherits the BR2_TOOLCHAIN_HAS_SYNC_4 from
json-c, which matches the __sync built-in from pulseaudio, this
commit:
- Drops the BR2_ARCH_HAS_ATOMICS dependency
- Forces pulseaudio to not detect libatomic_ops
- Propagates the removal of BR2_ARCH_HAS_ATOMICS dependency to
pulseaudio's reverse dependencies.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
While json-c itself builds fine on platforms that don't provide the
__sync atomic built-ins, it does use them. json-c doesn't fail to
build because only a library is built, so such function calls are left
unresolved. But as soon as it gets used in another package linked in a
program, linking will fail due to the missing
__sync_val_compare_and_swap_4() function.
To fix this, we make json-c depend on BR2_TOOLCHAIN_HAS_SYNC_4, and
propagate to the reverse dependencies:
- json-c
- fastd
- pulseaudio
- efl
- espeak
- gst-plugins-good
- gst1-plugins-good
- mpd
- rsyslog
- ubus
Note that pulseaudio already had a BR2_ARCH_HAS_ATOMICS dependency,
which we are keeping for the moment, and will clean-up in a subsequent
commit.
This commit will also fix packages that could optionally use json-c,
and therefore fixes build failures like:
http://autobuild.buildroot.org/results/4fe/4feaa9089ee9a183c5086b791bea35c0156945af/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
It's been deprecated for a year now, so remove it.
While at it also remove the BR2_DEPRECATED_SINCE_2015_02 since it's now
unused.
And change the efl gif text to refer to giflib rather than libungif
which is what's used since it was deprecated.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This allow to keep backward compatibility with older
defconfig files that used BR2_PACKAGE_EFL.
Don't add Config.in.legacy entry for libefl since it's
not part of any Buildroot release.
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
As discussed on the list move the last remaining package
in package/efl subdirectory to package/ directory.
- move the efl dependency to libefl.
- Set LIBEFL_VERSION with the version number directly.
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
As discussed on the list the two remaining packages in
package/efl subdirectory will be moved to package/
directory.
- Add the efl dependency to libelementary.
- Set LIBELEMENTARY_VERSION with the version number
directly.
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Libeina is now available in efl package.
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Libeet is now available in efl package.
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Libevas is now available in efl package.
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Libecore is now available in efl package.
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Libedbus is now available in efl package.
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Libefreet is now available in efl package.
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Libeio is now available in efl package.
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Libembryo is now available in efl package.
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Libedje is now available in efl package.
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Libethumb is now available in efl package.
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Use the newly added libefl package wich provide a new version
of libeina, libevas, libecore and libedje.
Update the upstream url and add a hash file.
We need to add a host package to provide elm_prefs_cc the
host machine to cross-compile correctly libelementary
for the target. Otherwise, elm_prefs_cc for the
target is used on the host machine.
Since eet, eolian_gen and eldbus_codegen are installed in
HOST_DIR by host-efl package, help configure script to find
them.
Explicitly disable doxygen and elementary-test.
[Thomas: add explicit select BR2_PACKAGE_LIBEFL.]
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Add an option to enable X11 support in libecore without graphic
acceleration. libecore can use xlib or xcb support but the latter
in not recommended by efl developpers [1]. Thereby the xcb support
has been dropped with the bump to efl 1.15.
Also, set x-includes and x-libraries configure option for cross-compiling.
Previous efl versions had cross-compilation issue (poisoned paths)
if these options are not passed to configure script.
In order to remove the dependency on libXp wich is no longer bundled in
recent X11 release [2], backport an upstream patch [3] to remove xprint
usage.
[1] https://git.enlightenment.org/core/efl.git/tree/configure.ac#n5002
[2] http://www.x.org/wiki/Releases/ModuleVersions
[3] https://git.enlightenment.org/core/efl.git/commit/?h=efl-1.15&id=434572355c7e929b84210b2f795634d38f13c913
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Like for webp format, add an option to enable the JPEG 2000
codec support in the efl libraries.
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Add an config option to enable frame buffer support
in the efl libraries.
>From the README [1]:
This requires linux frame-buffer support, headers etc. This supports
basic frame-buffers like /dev/fb as well as input via /dev/input for
keyboards and mice in a basic way.
There is a bug eina_module_load().
>From [2]:
When running terminology, a message appears in eina_module_load with:
could not dlopen("/usr/lib/ecore_evas/engines/fb/v-1.15/module.so",
Error relocating /usr/lib/ecore_evas/engines/fb/v-1.15/module.so:
ecore_fb_ts_shutdown: symbol not found): RTLD_NOW
It seems like the EAPI macro has no effect...
A patch from Ross Vandegrift has been posted on enlightenment mailing
list [3], but it's not yet an upstream patch.
[1] https://git.enlightenment.org/core/efl.git/tree/README?id=v1.15.2#n521
[2] http://sourceforge.net/p/enlightenment/mailman/message/34493376
[3] http://sourceforge.net/p/enlightenment/mailman/message/34492801
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
WebP is a new image format that provides lossless and lossy
compression for images on the web. So enabling webp support in efl
libraries allow to loads images using WebP.
Also, it one of the "highly recommended" dependencies [1] according to
the README but disabling it doesn't need the
--enable-i-really-know-what-i-am-doing... option. That's why
BR2_PACKAGE_LIBEFL_WEBP is not added to
BR2_PACKAGE_LIBEFL_HAS_RECOMMENDED_CONFIG.
[1] https://git.enlightenment.org/core/efl.git/tree/README?id=v1.15.2#n486
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Harfbuzz allow to enable complex text shaping and layouting support in
efl libraries.
Also, it one of the "highly recommended" dependencies according to the
README but disabling it doesn't need the
--enable-i-really-know-what-i-am-doing... option. That's why harfbuzz
is not added to BR2_PACKAGE_LIBEFL_HAS_RECOMMENDED_CONFIG.
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Add the libefl package which contains an updated version of the following
libraries:
libecore, libedje, libeet, libfreet, libeina, libeio, libembryo, libthumb
and libevas. It also contains eldbus, ephysics, and escape, see [1].
The name libefl is transitional in order to bump smoothly all packages
that use efl libraries and remove the old package libecore, libevas...
The package libefl will be renamed to efl in a followup patch at the end
of the series.
For now, the bump to efl 1.15.x is not complete.
This allows to build at least a default configuration without X11 support
or graphics acceleration.
This support will be added by a follow up patches in the series.
Here is some notes about libefl dependencies:
- alsa:
At the end of the configure script, the summary tab will show that
alsa support is allways disabled even if alsa-utils has been build
before efl-core package.
"Ecore_Audio.....: yes (-alsa +pulseaudio +sndfile)"
This is intentional.
- util-linux:
libefl select util-linux libblkid since it's listed as an dependency
in the README [2].
- threads support:
Add a dependency on threads support since clearly efl libraries are
not even built without thread support [3].
- Curl:
Curl is listed as an dependency in the README because it's a runtime
dependency since efl 1.8 [4].
We need to regenerate the configure script to workaround a build issue with
eldbus-codegen:
CCLD bin/eldbus/eldbus-codegen
CXXLD bin/eolian_cxx/eolian_cxx
CCLD lib/ecore_x/ecore_x_vsync
CCLD lib/evas/common/libevas_op_blend_sse3.la
CCLD lib/evas/common/libevas_convert_rgb_32.la
CCLD lib/ecore_ipc/libecore_ipc.la
[...]/i686-ctng-linux-gnu/bin/ld: warning: libefl.so.1, needed by lib/ecore/.libs/libecore.so, not found (try using -rpath or -rpath-link)
lib/ecore/.libs/libecore.so: undefined reference to `efl_control_suspend_set'
lib/ecore/.libs/libecore.so: undefined reference to `efl_control_interface_get'
collect2: error: ld returned 1 exit status
Makefile:19135: recipe for target 'bin/eldbus/eldbus-codegen' failed
make[6]: *** [bin/eldbus/eldbus-codegen] Error 1
A dependency on libefl seems to be missing for eldbus but by
regenerating eldbus-codegen build correctly.
Reported upstream [6].
Also, gettextize is needed since *.po files were generated with
an "old" gettext version (0.18):
Making all in po
*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version 0.18 but the autoconf macros are from gettext version 0.19
Makefile:149: recipe for target 'check-macro-version' failed
[1] See https://phab.enlightenment.org/phame/live/3/post/efl_1_8/
[2] https://git.enlightenment.org/core/efl.git/tree/README?id=v1.15.2#n478
[3] https://git.enlightenment.org/core/efl.git/tree/configure.ac#n5032
[4] https://git.enlightenment.org/core/efl.git/tree/README?id=v1.15.2#n453https://git.enlightenment.org/core/efl.git/commit/?id=2c1c6b9335e38c6e52b06829a95d9b58d780c99e
[5] http://mailman.uclibc-ng.org/pipermail/devel/2015-August/000432.html
[6] https://phab.enlightenment.org/T2718
[Thomas:
- make the BR2_PACKAGE_LIBEFL_RECOMMENDED_CONFIG hidden and rename it
to BR2_PACKAGE_LIBEFL_HAS_RECOMMENDED_CONFIG.
- rewrap Config.in help text where needed.]
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Tested-by: Vicente Bergas <vicencb@gmail.com>
Cc: Vicente Bergas <vicencb@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This new host-package provide edje_cc, embryo_cc and eet binaries
that will be used by the upcomming libefl packages which will
contain the new version of efl libraries.
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
As noticed by Yann [1], move the package dependencies
before selected packages/options.
[1] http://lists.busybox.net/pipermail/buildroot/2015-October/142955.html
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
As for expedite package, there is no advantage for efl related
packages to share the same version number anymore
(except for efl and libelementary).
Also, we usually do not have a sub-directory for a family of related
packages which doen't share the same version number, so move
libevas-generic-loaders to package directory.
Libevas-generic-loaders appear now in "Libraries" -> "Graphics" in
the Kconfig menu.
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
There is no advantage for efl related packages to share the same version
number anymore (except for Efl and Elementary).
Here are the version number used for the 1.15 stable release:
EFL 1.15.2
Elementary 1.15.2
Emotion Generic Players 1.15.0
Evas Generic Loaders 1.15.0
Python-EFL 1.15.0
Also, we usually do not have a sub-directory for a family of related
packages which don't share the same version number, so move expedite
to the package directory. Expedite now appears in the
"Graphic libraries and applications (graphic/text)" in the Kconfig menu.
In a followup patch, expedite will be downloaded directly from the 1.15
branch in the git repository since there is no new tarball release after
1.7.0.
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Trying to build anything at patch time will result in a broken
legal-info, as the needed host dependencies are not yet built.
Make that hook a pre-configure hook rather than a post-extract
hook.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Peter Korsgaard <jacmet@uclibc.org>
Cc: Romain Naour <romain.naour@openwide.fr>
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This is necessary to move efl packages to package directory
and prepare the efl version bump to the latest release.
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
libelementary sources include dlfcn.h header when HAVE_FORK symbol is defined;
this is always the case because efl already depends on BR2_USE_MMU.
Fixes:
http://autobuild.buildroot.org/results/07c/07c97918dab24215f5c5130a9cd2788adca0a27d/
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
If those flags are not explicitly passed, the libecore configure
script will include -I/usr/X11R6/include and -L/usr/X11R6/lib in the
compile flags, which are obviously unsafe for cross-compilation.
The fix is similar to 0d9d8984a9 and
da50b6b61c.
Fixes:
http://autobuild.buildroot.org/results/24b/24b578a28455409b7bcc0277abc6b478c51ae67f
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
If those flags are not explicitly passed, the libecore configure
script will include -I/usr/X11R6/include and -L/usr/X11R6/lib in the
compile flags, which are obviously unsafe for cross-compilation.
The fix is similar to "package/efl/libevas: x-includes and x-libraries
must be set for cross-compiling" done by Romain Naour on libecore.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
evas_engine_software_xlib_cflags and evas_engine_software_xlib_libs
contains unsafe libraries paths if x-include and x-libraries are
not set in libevas.mk.
config.log:
evas_engine_software_xlib_cflags='-I/usr/X11R6/include'
evas_engine_software_xlib_libs='-L/usr/X11R6/lib -lX11 -lXext'
Fixes:
http://autobuild.buildroot.net/results/e5f/e5fb1e62cb634b20233751b4ea3b0630de70e9e0/
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Fix the following message when libfribidi is enabled but not already
built:
Package fribidi was not found in the pkg-config search path.
Perhaps you should add the directory containing `fribidi.pc'
No package 'fribidi' found
Signed-off-by: Fabio Porcedda <fabio.porcedda@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>
The Buildroot coding style defines one space around make assignments and
does not align the assignment symbols.
This patch does a bulk fix of offending packages. The package
infrastructures (or more in general assignments to calculated variable
names, like $(2)_FOO) are not touched.
Alignment of line continuation characters (\) is kept as-is.
The sed command used to do this replacement is:
find * -name "*.mk" | xargs sed -i \
-e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\s*$#\1 \2#'
-e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\s*\([^\\]\+\)$#\1 \2 \3#'
-e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\s*\([^\\ \t]\+\s*\\\)\s*$#\1 \2 \3#'
-e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\(\s*\\\)#\1 \2\3#'
Brief explanation of this command:
^\([A-Z0-9a-z_]\+\) a regular variable at the beginning of the line
\([?:+]\?=\) any assignment character =, :=, ?=, +=
\([^\\]\+\) any string not containing a line continuation
\([^\\ \t]\+\s*\\\) string, optional whitespace, followed by a
line continuation character
\(\s*\\\) optional whitespace, followed by a line
continuation character
Hence, the first subexpression handles empty assignments, the second
handles regular assignments, the third handles regular assignments with
line continuation, and the fourth empty assignments with line
continuation.
This expression was tested on following test text: (initial tab not
included)
FOO = spaces before
FOO = spaces before and after
FOO = tab before
FOO = tab and spaces before
FOO = tab after
FOO = tab and spaces after
FOO = spaces and tab after
FOO = \
FOO = bar \
FOO = bar space \
FOO = \
GENIMAGE_DEPENDENCIES = host-pkgconf libconfuse
FOO += spaces before
FOO ?= spaces before and after
FOO :=
FOO =
FOO =
FOO =
FOO =
$(MAKE1) CROSS_COMPILE=$(TARGET_CROSS) -C
AT91BOOTSTRAP3_DEFCONFIG = \
AXEL_DISABLE_I18N=--i18n=0
After this bulk change, following manual fixups were done:
- fix line continuation alignment in cegui06 and spice (the sed
expression leaves the number of whitespace between the value and line
continuation character intact, but the whitespace before that could have
changed, causing misalignment.
- qt5base was reverted, as this package uses extensive alignment which
actually makes the code more readable.
Finally, the end result was manually reviewed.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Cc: Yann E. Morin <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.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>
This fixes:
http://autobuild.buildroot.net/results/fadfaa9916724d310d0dda555a1db31bee1601d0/
Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
[yann.morin.1998@free.fr: use the new symbol; remove comment strings;
fix weston's comment]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Since the trailing slash is stripped from $($(PKG)_SITE) by pkg-generic.mk:
$(call DOWNLOAD,$($(PKG)_SITE:/=)/$($(PKG)_SOURCE))
so it is redundant.
This patch removes it from $(PKG)_SITE variable for BR consistency.
Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
We now have a virtual package that represents availability of
full OpenGL.
This should be the end of this dependency hell epic, now. :-)
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Bernd Kuhls <berndkuhls@hotmail.com>
Cc: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This is a quick workaround against the recently-introduced circular
dependencies hell:
package/xbmc/Config.in:10:error: recursive dependency detected!
package/xbmc/Config.in:10: symbol BR2_PACKAGE_XBMC depends on BR2_PACKAGE_HAS_OPENGL_EGL
package/opengl/libegl/Config.in:1: symbol BR2_PACKAGE_HAS_OPENGL_EGL is selected by BR2_PACKAGE_MESA3D_OPENGL_EGL
package/mesa3d/Config.in:92: symbol BR2_PACKAGE_MESA3D_OPENGL_EGL depends on BR2_PACKAGE_MESA3D
package/mesa3d/Config.in:1: symbol BR2_PACKAGE_MESA3D is selected by BR2_PACKAGE_LIBEVAS_GL
package/efl/libevas/Config.in:149: symbol BR2_PACKAGE_LIBEVAS_GL is part of choice <choice>
package/efl/libevas/Config.in:144: choice <choice> contains symbol <choice>
package/efl/libevas/Config.in:144: choice <choice> contains symbol BR2_PACKAGE_LIBEVAS_SDL_GL
package/efl/libevas/Config.in:90: symbol BR2_PACKAGE_LIBEVAS_SDL_GL depends on BR2_PACKAGE_SDL_X11
package/sdl/Config.in:24: symbol BR2_PACKAGE_SDL_X11 depends on BR2_PACKAGE_SDL
package/sdl/Config.in:1: symbol BR2_PACKAGE_SDL is selected by BR2_PACKAGE_PYTHON_PYGAME
package/python-pygame/Config.in:1: symbol BR2_PACKAGE_PYTHON_PYGAME depends on BR2_PACKAGE_PYTHON
package/python/Config.in:1: symbol BR2_PACKAGE_PYTHON is selected by BR2_PACKAGE_XBMC
Until this is properly fixed with the addition of a virtual package for
full-openGL providers, just depend on mesa3d instead of selecting it.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Bernd Kuhls <berndkuhls@hotmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The libeina library uses the madvise() system call, that isn't
available on non-MMU systems. Also, several other components of EFL
use fork(). Therefore, the easiest solution is to simply disallow the
EFL as a whole on non-MMU systems.
Fixes:
http://autobuild.buildroot.org/results/ad9/ad90baa5e07569308a7e2b2510b67c5b2a563b44//
Thanks to Ryan Barnett for helping in the investigation!
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Evas has an optional mechanism to do asynchronous preloading of
images. This mechanism is optional, and in commit
b6d92bf415 ("libevas: async image
preload support needs threads support in toolchain"), Peter made sure
to disable the asychronous preloading when no thread support was
available.
Unfortunately, it seems like disabling the asynchronous loading is
rarely used, and it in facts fails to build: a member of structure is
not present when asynchronous preloading is disabled, but the code
continues to use it.
Since the fix is not obvious, and all this mechanism seems to have
changed completely in EFL 1.8.x, and we probably don't care much about
EFL without threads, this commit adds a dependency of libevas on
thread support. Consequently, it also reverts commit
b6d92bf415 which is no longer necessary.
Of course, this commit propagates this additional dependency to the
reverse dependencies of libevas.
Fixes:
http://autobuild.buildroot.org/results/6de/6de90018a9eeb9c495d15046a8b3270eb95a5550//http://autobuild.buildroot.org/results/693/693df99db4ab357b48d427be3a72f6d64dd53065//
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The bluez_utils package requires shared library support unconditionally.
We can't fix it to make it build on static because, for instance,
"plugin.c" file uses dlfcn and it's a basic prereq for bluetoothd, so
add "depend on !BR2_PREFER_STATIC_LIB" to it and recursively to all
packages that selects BR2_PACKAGE_BLUEZ_UTILS.
Fixes:
http://autobuild.buildroot.net/results/d81/d81970024649c1e89c01da491c63760afdad6cb6/
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
In the Config.in file of package foo, it often happens that there are other
symbols besides BR2_PACKAGE_FOO. Typically, these symbols only make sense
when foo itself is enabled. There are two ways to express this: with
depends on BR2_PACKAGE_FOO
in each extra symbol, or with
if BR2_PACKAGE_FOO
...
endif
around the entire set of extra symbols.
The if/endif approach avoids the repetition of 'depends on' statements on
multiple symbols, so this is clearly preferred. But even when there is only
one extra symbol, if/endif is a more logical choice:
- it is future-proof for when extra symbols are added
- it allows to have just one strategy instead of two (less confusion)
This patch modifies the Config.in files accordingly.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This patch fixes the following whitespace problems in Config.in files:
- trailing whitespace
- spaces instead of tabs for indentation
- help text not indented with tab + 2 spaces
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
When a package A depends on config option B and toolchain option C, then
the comment that is given when C is not fulfilled should also depend on B.
For example:
config BR2_PACKAGE_A
depends on BR2_B
depends on BR2_LARGEFILE
depends on BR2_WCHAR
comment "A needs a toolchain w/ largefile, wchar"
depends on !BR2_LARGEFILE || !BR2_WCHAR
This comment should actually be:
comment "A needs a toolchain w/ largefile, wchar"
depends on BR2_B
depends on !BR2_LARGEFILE || !BR2_WCHAR
or if possible (typically when B is a package config option declared in that
same Config.in file):
if BR2_B
comment "A needs a toolchain w/ largefile, wchar"
depends on !BR2_LARGEFILE || !BR2_WCHAR
[other config options depending on B]
endif
Otherwise, the comment would be visible even though the other dependencies
are not met.
This patch adds such missing dependencies, and changes existing such
dependencies from
depends on BR2_BASE_DEP && !BR2_TOOLCHAIN_USES_GLIBC
to
depends on BR2_BASE_DEP
depends on !BR2_TOOLCHAIN_USES_GLIBC
so that (positive) base dependencies are separate from the (negative)
toolchain dependencies. This strategy makes it easier to write such comments
(because one can simply copy the base dependency from the actual package
config option), but also avoids complex and long boolean expressions.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
(untested)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This patch lines up the comments in Config.in files that clarify which
toolchain options the package depends on.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Make 3.82 no longer sort the result of wildcards (see
http://comments.gmane.org/gmane.comp.gnu.make.bugs/4260). This may break
build reproducibility.
This patch sort results of wildcards to ensure reproducibility.
Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit adds a dependency of the libglib2 package on thread
support in the toolchain, since upstream libglib2 doesn't build
without thread support. The commit is rather large as it involves
propagating the dependency on thread support to all reverse
dependencies of the libglib2 package.
[Thomas: squash all patches into one, make a few minor fixes, the most
important one being to not add comments about MMU requirement when a
package doesn't work on !MMU platforms.]
Signed-off-by: Spenser Gilliland <spenser@gillilanding.com>
The package/efl/libevas/libevas-fix-xcb-backend-typo.patch patch is
removed, as it has been merged upstream.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
All the EFL components are released simultaneously, with an identical
version number, just like all Qt5 components for example. So it makes
sense to have a single EFL_VERSION variable in package/efl/efl.mk that
is used by all the packages in package/efl/*/*.mk.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Before creating a real virtual package named 'jpeg', we want to ensure
that no package is using the host variant of the virtual
package. Instead, we make them use directly the host-libjpeg package.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
libelementary uses the ethumb_client library, but that one is only built
if libedbus is available. So fixup the --enable/disable-ethumb according
to the selection of BR2_PACKAGE_LIBEDBUS.
Fixes e.g.
http://autobuild.buildroot.net/results/14ef98da6b0632e24514fef696fae9a650c90c96
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This was exposed because I still had an old libethumb in my staging
directory so it was detected by configure, but because of the missing
dependency it was still the (incompatible) version from before the
1.7.4 bump.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The BR2_PACKAGE_XSERVER_xorg and BR2_PACKAGE_XSERVER_tinyx options
used to select the style of X.org server to use are not named
consistently with the rest of the Buildroot options (in capital
letters and prefixed with the package name).
Therefore, we rename those options, and we take care to add the old
option names in the BR2_LEGACY infrastructure.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
When building with gnutls, libecore also needs libgcrypt.
Fixes:
http://autobuild.buildroot.org/results/4da454d6414cf8f4e638defae9b793fb46a0a072/build-end.log
While we're at it, also explicit the --enable-openssl /
--disable-openssl depending on whether openssl is available or not.
[Peter: only enable gnutls support when both gnutls and gcrypt are enabled]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The libevas configure script actually checks the presence of libX11
and libXext, so use those two libraries as the dependencies for the
X11 backend of libevas.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The SVG support requires esvg, which hasn't been released yet. The
recommandation of the EFL developers is to use the SVG loader from the
evas-generic-loaders project.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>