Compare commits

..

81 Commits

Author SHA1 Message Date
Peter Korsgaard
98f7e12c50 Update for 2014.02-rc3
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-25 08:49:04 +01:00
Peter Seiderer
744c215a0a gst-fsl-plugins: add missing librt linking for libgstfsl.
Fixes runtime failure of gst-fsl-plugins, e.g.

(gst-plugin-scanner:1700): GStreamer-WARNING **: Failed to load
        plugin '/usr/lib/gstreamer-0.10/libmfw_vpu.so':
        /usr/lib/libgstfsl-0.10.so.0: undefined symbol: shm_open)

when compiled with buildroot/glibc toolchain.

See also old buildroot mailing list request [1].

[1] http://lists.busybox.net/pipermail/buildroot/2013-June/073910.html

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-25 00:40:53 +01:00
Thomas Petazzoni
de4f1bb8fc libsigsegv: add Blackfin support
Fixes:

 http://autobuild.buildroot.org/results/5e2/5e2c627cfcb2699b16a82eb9554f2c9dfabd5483/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-24 23:17:36 +01:00
Thomas Petazzoni
51b387b99b thrift: needs host-bison and host-flex
Fixes:

  http://autobuild.buildroot.org/results/d46/d46f9097780bdde68ec15f693281ee0b04667f98/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-24 22:42:49 +01:00
Peter Korsgaard
70d534262c common-usage.txt: adjust documentation for renamed BR2_GRAPH_ variables
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-24 22:40:48 +01:00
Yann E. MORIN
8ae7838c70 graphs: rename user-facing variables
Rename the GRAPH_OUT and GRAPH_ALT variables according to our
recently-agreed naming scheme for user-facing variables:
  - GRAPH_OUT -> BR2_GRAPH_OUT
  - GRAPH_ALT -> BR2_GRAPH_ALT

The documentation part of the rename is handled by Thomas as
part of his manual fixing spree. ;-)

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-24 22:36:50 +01:00
Yann E. MORIN
4d1216901f manual: fix missing DL_DIR rename to BR2_DL_DIR
There was one instance of DL_DIR that was left out. Fix that.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-24 22:15:36 +01:00
Thomas De Schampheleire
63d8bb3994 docs/manual: fix minor spelling/grammar mistakes
This commit fixes a few minor spelling or grammar mistakes since the recent
additions to the manual (commits 0b100de2cf to
7cbb476661).

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-24 11:10:59 +01:00
Arnout Vandecappelle
ed73d1d2e3 libtool: fix build on systems with automake-1.11 (e.g. Fedora 10)
package/libtool/libtool-0001-mips64-n64-linking.patch touches an m4
file, so applying it triggers a run of autoconf, automake, etc. This
sometimes leads to build failures due to incompatible system autotools.
This was observed on Fedora 10, which has automake 1.11 while the
generated files that are included in the tarball require automake
1.11.1.

We cannot simply set HOST_LIBTOOL_AUTORECONF = YES because that would
create a circular dependency on host-libtool. Therefore, the patch
patch is applied on the installed libtool.m4 instead of in the source
tree. Then, it also needs to be renamed to something that doesn't
match buildroot's patch convention so it doesn't get picked up
automatically.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-24 09:04:44 +01:00
Thomas Petazzoni
b7740b32f6 libsecret: not available on AVR32, compiler error
libsecret does built on AVR32 due an internal compiler error, and
since it's unlikely that gcc will ever be upgraded on AVR32, we simply
mark this package as not available. The only reverse dependency of
libsecret is webkit, which already cannot be selected on AVR32.

Fixes:

  http://autobuild.buildroot.org/results/2d4/2d41f97378f06d0f3922e078ec0d02549690d4c1/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-24 09:04:21 +01:00
Thomas Petazzoni
4a270de1e3 sconeserver: missing dependency on BR2_USE_MMU
The BR2_PACKAGE_SCONESERVER_HTTP_SCONESITE_IMAGE option of sconeserver
selects imagemagick, but forgets to depends on BR2_USE_MMU, which
imagemagick depends on.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-24 09:03:29 +01:00
Thomas Petazzoni
a42efd0859 pcmanfm: add missing BR2_USE_MMU dependency from gamin
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-24 09:03:15 +01:00
Thomas Petazzoni
ec7c940a3b packages: missing propagation of !mmu from pango
A number of packages that select Pango (which depends on BR2_USE_MMU)
forget to also depends on BR2_USE_MMU. This commit fixes that.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-24 09:02:24 +01:00
Thomas Petazzoni
da02c35278 opencv: add missing dependency on !MMU for gtk support
libgtk2 depends on !MMU, so when OpenCV selects Gtk, it should
propagate this dependency.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-24 09:01:52 +01:00
Thomas Petazzoni
a8da3cd61a util-linux: libblkid needs fork(), disable on !MMU
The libblkid library in util-linux uses fork. While it seems
potentially possible to disable the parts of the library that use fork
(the only parts using fork are parts related to LVM and Device Mapper,
which are said to be legacy as they are replaced by sysfs based
scanning, instead of having to fork to run a separate process).

However, since libblkid is used by:

 - e2fsprogs, which uses lots of fork all over the place
 - udev, which most likely will also need fork

There is not much point in making libblkid fork-less. As a
consequence, this commit makes util-linux/libblkid unavailable on
non-MMU architectures, and propagates the relevant dependency to the
reverse dependencies of libblkid.

This fixes the e2fsprogs build failure seen on Blackfin. The failure
was due to a configure test of e2fsprogs which was trying to link a
small test program against libblkid, which failed because there was an
undefined reference to fork() in the libblkid code.

Fixes:

  http://autobuild.buildroot.net/results/ee2c1568d16ac040011dd4d6d8b543ff9e9e2622/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-24 09:01:05 +01:00
Thomas Petazzoni
848c5b9480 cairo: improve the Blackfin build fix
Patch cairo-001-blackfin-build-fix.patch was added in commit
d372d0b677 ('cairo: add patch to fix
Blackfin build failure') to take into account the fact that Blackfin
has a non-empty USER_LABEL_PREFIX: C symbol 'foo' corresponds to
assembly symbol '_foo', contrary to most other architectures where
they are the same.

However, the patch was only fixing the relevant macros in
src/cairo-compiler-private.h and did not take into account the
duplicated version of these macros in
util/cairo-script/cairo-script-private.h. This commit fixes that.

This commit is fixing a build failure on Blackfin, for which there was
no recorded autobuilder result because this problem was hidden by the
problem fixed by the previous commit ('cairo: fix build on Blackfin in
test/cairo-test-runner.c').

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-24 08:58:23 +01:00
Thomas Petazzoni
46831ea58a cairo: fix build on Blackfin in test/cairo-test-runner.c
Add a patch for Cairo that ensures <unistd.h> is properly included to
get the prototype of readlink and getppid even on non-MMU platforms.

Fixes:

  http://autobuild.buildroot.net/results/93a97f90345d193b52035b2dc7559a306e11098e/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-24 08:58:01 +01:00
Arnout Vandecappelle
fc82f8df85 binutils: add upstream patch to fix --enable-install-libiberty flag
Fixes http://autobuild.buildroot.org/results/1ea/1ea98985ce06dc1b7569ef5abe2fc13090fb5f3a

The upstream patch patches both configure.ac and configure, so we keep
that.

It is numbered 001 because it is an upstream patch, so it should come
before the buildroot patches.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-23 23:20:57 +01:00
Thomas Petazzoni
7cbb476661 docs/manual: mention the per-package graph-depends target
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-23 22:30:14 +01:00
Thomas Petazzoni
02b14d55ab docs/manual: document the usage of <pkg>_OVERRIDE_SRCDIR
[Peter: adjust wording as suggested by Yann]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-23 22:29:54 +01:00
Thomas Petazzoni
6d2071a2b7 docs/manual: refresh informations about *-menuconfig targets
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-23 22:22:47 +01:00
Thomas Petazzoni
5e26da4673 docs/manual: rephrase paragraph about unsupported external toolchains
The ELDK now relies on Yocto, so it no longer has the funky
non-standard way of doing multilib. Also, we didn't mention that Yocto
toolchains/SDK are not suitable for usage with Buildroot. Therefore,
this commit rewords this part of the documentation to explain that
Yocto/OpenEmbedded SDKs cannot be used as external toolchains in
Buildroot, and why.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-23 22:19:12 +01:00
Thomas Petazzoni
3883823614 docs/manual: mention that custom toolchains is also useful for BR toolchains
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-23 22:17:57 +01:00
Thomas Petazzoni
08ad8a7c04 docs/manual: update external toolchain examples
Replace ADI by Analog Devices, which is clearer for most people, and
remove the Xilinx external toolchains since we have deprecated them.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-23 22:17:18 +01:00
Thomas Petazzoni
ba4146c37c docs/manual: update informations about C library in internal backend
Now that we have eglibc and glibc support in the internal backend, and
no longer marked as experimental, a little bit of rewording is
needed. It is no longer necessary to indicate that uClibc was
historically supported as the only C library, and that the glibc
support is experimental. We also update the rest of the description to
be less uClibc specific.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-23 22:07:54 +01:00
Thomas Petazzoni
43f25ee055 docs/manual: add section about build time graphing
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-23 22:01:45 +01:00
Thomas Petazzoni
e78cc3af51 docs/manual: add section about dependency graphs
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-23 21:54:33 +01:00
Thomas Petazzoni
2f886ee34a docs/manual: reference Python and Lua infras from the list of package infrastructures
[Peter: adjust wording as suggested by Yann]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-23 21:54:09 +01:00
Thomas Petazzoni
9ea28e8a43 docs/manual: rephrase and expand part on when a full rebuild is necessary
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-23 21:29:58 +01:00
Thomas Petazzoni
9cab58b69e docs/manual: rephrase part about rebuilding packages
There is no need to tell people that they should remove stamp files: they
should use the make <pkg>-reconfigure and make <pkg>-rebuild make targets
instead.  We still keep an explanation about stamp files, just to give the
user an insight on how Buildroot works internally.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-23 21:28:00 +01:00
Thomas Petazzoni
0b100de2cf docs/manual: toolchain packages no longer use custom makefiles
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-23 21:27:07 +01:00
Peter Korsgaard
f4b54ed184 sdl: fix SDL_AUTORECONF typo in comment
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-23 20:58:47 +01:00
Thomas De Schampheleire
8bb561444b qt: needs MMU (fork)
Fixes
http://autobuild.buildroot.net/results/4f7/4f744595efceba2d5a54151bf5f1802eb1268fac/

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-23 20:51:10 +01:00
Peter Korsgaard
088ed8dcbb rt-tests: fix mips+uclibc check
The conditional (suggested by me) introduced in 108952 (rt-tests: disable
for uclibc mips) isn't actually valid kconfig syntax, causing menuconfig to
error out.

Rewrite it to use proper syntax.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-23 18:52:04 +01:00
Ryan Barnett
5b1edc6490 rt-tests: disable on bfin
rt-tests depends on NPTL which is not available on the bfin
architecture.

Fixes:
  http://autobuild.buildroot.net/results/ac9/ac95f73b2351d46d9a8c48caae7f6c3ea124e8bc

Signed-off-by: Ryan Barnett <rjbarnet@rockwellcollins.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-23 16:47:05 +01:00
Ryan Barnett
108952af0a rt-tests: disable for uclibc mips
rt-tests is not supported by a uclibc toolchain that does not implement
_pid in struct sigevent. Currently this is all MIPS architectures
in uclibc.

Fixes:
  http://autobuild.buildroot.net/results/074/074265602bec4aba6c82d1aee389045e8ad33d4b

Signed-off-by: Ryan Barnett <rjbarnet@rockwellcollins.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-23 16:46:51 +01:00
Yann E. MORIN
6c1ee14b29 package/linux-headers: add comment to safely ignore missing cross-compiler
For some architectures (eg. Arc, Cris, Hexagon, ia64, Parisc, Score and
Xtensa), the Linux buildsystem tries to call the cross-compiler when
installing the headers.

This is a spurious call, since a cross-compiler is not needed at all to
install the headers.

As some users have reported the issue, just add a comment in linux-headers.mk
directing the user to ignore those errors.

Reported-by: Noam Camus <noamc@ezchip.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-23 16:34:53 +01:00
Thomas De Schampheleire
39a0fa4b0d webkit: disable on powerpc
webkit does not build correctly on powerpc. There is an upstream bug report
with a partial fix, but with remaining problems.
https://bugs.webkit.org/show_bug.cgi?id=113638

Until this problem is fixed, we disable webkit on powerpc.

Fixes
http://autobuild.buildroot.org/results/3ce/3ce992a663ddf1030a987bb778f8275a8e5fdef0/

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-23 16:32:52 +01:00
Gustavo Zacarias
87d6d0d0f3 linux: bump to version 3.13.5
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-23 14:30:36 +01:00
Gustavo Zacarias
c3bb6e0b43 linux-headers: bump 3.{4, 10, 12, 13}.x stable versions
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-23 14:30:31 +01:00
Thomas De Schampheleire
5e986624b2 alsa-utils/Config.in: move comment to top, to fix nesting of config options
To allow proper nesting of suboptions of a package, the suboptions should
come directly after the main option, and cannot be interleaved with a
comment.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-23 12:33:24 +01:00
Thomas De Schampheleire
9520a56810 alsa-utils: disable on no-mmu platforms (fork)
alsa-utils uses fork which is not available on targets without MMU support.
It seems to be possible to replace fork with vfork in alsa-utils, but we do
not like to carry such patches in buildroot without them being accepted
upstream.

Fixes
http://autobuild.buildroot.org/results/9f8/9f8e572c9f1c677155cc7d1828371bcf572ff878

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-23 12:33:03 +01:00
Thomas De Schampheleire
ffd7a00aef alsa-lib: add patch to remove hardcoded -ldl
The AM_PATH_ALSA macro in utils/alsa.m4 unconditionally uses -ldl. This
breaks compilation of alsa-utils (and probably other packages using this
macro) for targets that do not support dynamic loading, such as for
Blackfin FLAT binaries.

This patch updates the macro to check if dlopen is available, and use that
result to conditionally add -ldl to the list of libraries.

Fixes
http://autobuild.buildroot.org/results/de2/de286880973be956f6c504aa9a758171d6f49674/build-end.log

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-23 12:32:29 +01:00
Thomas De Schampheleire
8d911f9b7b alsa-lib: fix build when dynamic load is not supported (e.g. blackfin FLAT)
The FLAT GNU toolchain doesn't include the dlfcn.h header file.
Provide the necessary declarations (RTLD_*) to make alsa-lib happy.

Fixes
http://autobuild.buildroot.org/results/706/7069e1f43cbed745d65f7dd9904a3fff034530ac/build-end.log

Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
[Thomas: change sequence number from 003 to 0003, update patch and commit
         message ]
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-23 12:32:17 +01:00
Thomas De Schampheleire
f895a67968 alsa-lib: add sequence number to existing patches
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-23 12:32:09 +01:00
Thomas Petazzoni
cb7c12f58c pixman: fix patch for FE_DIVBYZERO detection
In commit a9baea4345 ('pixman: add patch
to fix Microblaze build failure'), a patch is added to the pixman
package to avoid using the FE_DIVBYZERO definition when it is not
available. However, it was using the have_fe_divbyzero variable to
define or not HAVE_FEDIVBYZERO, while the AC_CHECK_DECL autoconf macro
sets the ac_cv_have_decl_FE_DIVBYZERO variable.

The end result was that the FE_DIVBYZERO macro was considered as never
being available. This commit fixes that by using the appropriate
variable.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-23 12:30:02 +01:00
Arnout Vandecappelle
70ee9fcdfc binutils: install libiberty
Some packages (actually, just oprofile) need to link against libiberty.
This option just installs libiberty.a so it has no effect on the target,
therefore it's not needed to add a config option for it.

Before binutils-2.24, there was a bug in libiberty/Makefile.in that
caused libiberty to be installed regardless of the
--enable-install-libiberty option. This problem wasn't noticed before
because binutils-2.24 is not selected on any of the autobuilders: the
version can only be selected if an internal toolchain is used, and it
defaults to 2.21.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-22 23:56:39 +01:00
Thomas Petazzoni
a9baea4345 pixman: add patch to fix Microblaze build failure
The Microblaze build of pixman was failing due to FE_DIVBYZERO not
being implemented. It turns out that the usage of it, like fenv.h and
feenableexcept() is optional. So the patch simply adds a configure
check and disables the appropriate code (which is only use in the
tests anyway).

This commit also renames the existing patch to follow the patch naming
convention, and get a reliable ordering when applying patches.

Fixes:

  http://autobuild.buildroot.org/results/806/8064092cdbac85fbf4322429d29d5d11dc51860f/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-22 23:48:11 +01:00
Thomas Petazzoni
ff6000507a libcec: not available on pure static builds
libcec needs libdl, so it cannot work on pure static builds.

Fixes:

  http://autobuild.buildroot.org/results/670/670ce46627daaa4ae9ecdb8ffb6f97d0574354d4/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-22 23:20:03 +01:00
Ryan Barnett
0a2850104b sawman: add autoreconf step
sawman needs the autoreconf step added in order for Vicente Olivert
Riera's patch - "sawman: Link using gcc instead of ld"
(8fc5ea0043) - to take effect.

Fixes:
  http://autobuild.buildroot.net/results/19b/19bfe0d39e457fd260b73928331721f57555fc84

Signed-off-by: Ryan Barnett <rjbarnet@rockwellcollins.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-22 22:59:18 +01:00
Thomas Petazzoni
5ddfe76889 libcgi: fix build failure on pure static library builds
libcgi always builds both the shared and static library, which doesn't
work on architecture that don't support shared library at all, such as
Blackfin with the FLAT format. libcgi uses autoconf, but not automake,
and the Makefile is not of the highest possible quality, so this
commit fixes the problem by introducing a "STATIC" variable that can
be set from the environment. When set to a non-empty value, the
Makefile assumes it should only build the static version of the
library.

Note that this package is in desperate need of some care: there is one
single patch that mixes several changes together, it doesn't have a
description or a Signed-off-by line, and there is now a github project
for libcgi at https://github.com/rafaelsteil/libcgi/ that has the same
fixes.

However, for the purpose of the master branch, we're doing the most
minimal fix possible, by just adding this STATIC variable.

Fixes:

  http://autobuild.buildroot.net/results/625/625105bcaf26345f422b225787fc19611b65cd57/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-22 22:49:03 +01:00
Peter Seiderer
4a9eb20de8 Fix backup and kernel download url.
Remove duplicated slash from backup and kernel download url,
e.g. http://www.kernel.org/pub//linux/kernel/v3.x/linux-3.13.3.tar.xz

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-22 22:48:53 +01:00
Ryan Barnett
50c33ad125 iputils: disable on older uclibc versions
Disable when using a uclibc version before 0.9.33 since dn_comp
function support was added in this version. Also disabling on AVR32
since any AVR32 toolchain will be based on a uclibc version older
than 0.9.33 (for using an external AVR32 toolchain).

[Peter: use dn_comp instead of __dn_comp]
Signed-off-by: Ryan Barnett <rjbarnet@rockwellcollins.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-22 22:00:32 +01:00
Thomas Petazzoni
35787b822d distcc: deprecate package, only useful for development
Since quite a while, we have deprecated, and then removed the support
to build a compiler on the target. Therefore, having a distcc package
for the package is quite useless, and this patch consequently marks it
as deprecated so it can be removed in a future version of Buildroot.

Fixes:

  http://autobuild.buildroot.net/results/16b/16be2138c8e5ba785fa2ad55b478dcd1b6fb5123/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-22 21:57:32 +01:00
Yann E. MORIN
a524731012 manual: add explanations on limitations about using O=...
Using a relative path for O=... has limitations, since it is interpreted
relative to the Buildroot tree, and thus may lead to unexpected results.

For example, running this:
    make -C buildroot O=my-O

will not create my-O in the current working directory, but as a
sub-directory of the Buildroot tree, here in buildroot/my-O

Explain this in the manual (as is similarly done for BR2_EXTERNAL).
Also add a note that $(O) will be created if missing.

Also change O=.. and -C .. to O=<...> and -C <...> to make it explicit
this is an ellipse, not a relative path.

Reported-by: Jérémy Rosen <jeremy.rosen@openwide.fr>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Samuel Martin <s.martin49@gmail.com>
Reviewed-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-22 21:56:57 +01:00
Yann E. MORIN
1de64ec8c0 manual: switch BR2_EXTERNAL examples to use absolute paths
Although it is possible to use relative paths, there are a few pitfalls
when doing so.

To avoid confusion for a (newcoming) user, use absolute paths in the
manual (as is done in examples for $(O)), since it is guaranteed to be
working without corner cases.

[Peter: s/relatively/relative/ as suggested by Thomas]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-22 21:56:57 +01:00
Yann E. MORIN
5f5e5f2919 Makefile: internally use absolute paths to BR2_EXTERNAL
Using a relative path for BR2_EXTERNAL, and using an external defconfig,
such as in (from a Buildroot top-dir):
    make O=.. BR2_EXTERNAL=.. foo_defconfig

is broken. It is unclear why the %_defconfig rule recurses in that case.

This patch internaly makes BR2_EXTERNAL canonical (ie. makes it an absolute
path), and checks the directory exists.

[Peter: s/relatively/relative/ as suggested by Thomas]
Reported-by: Jérémy Rosen <jeremy.rosen@openwide.fr>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Peter Korsgaard <jacmet@uclibc.org>
Cc: Romain Naour <romain.naour@openwide.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-22 21:56:57 +01:00
Ryan Barnett
f0862592b3 mpg123: needs MMU
mpg123 needs MMU because the application that is built with this
package uses fork. Currently it is difficult to only build the
libraries for mpg123 so disabling the package all together when there
is no MMU support.

Note: mpg123 is an optional dependency of mpd but mpd already requires
BR2_USE_MMU so there is no need to add this as a dependency.

Fixes:
  http://autobuild.buildroot.net/results/5b0/5b053af566dd122ae7e58893e77d5d5f3070fb9e

Signed-off-by: Ryan Barnett <rjbarnet@rockwellcollins.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-22 21:56:57 +01:00
Thomas Petazzoni
5155a8bd1c aiccu: disable on AVR32
In commit 87492d244a ("aiccu: disable
for uClibc 0.9.31/0.9.32"), we made sure it was not possible to select
aiccu with uClibc 0.9.31 and 0.9.32, because they lack dn_skipname().

However, we still have the problem that external AVR32 toolchains can
select aiccu, which causes build failures. Therefore, we also disallow
aiccu on AVR32 altogether. We keep the 0.9.31/0.9.32 exclusions,
because if they are used on other architectures, it would also fail
due to the lack of dn_skipname().

Fixes:

  http://autobuild.buildroot.org/results/a24/a2490d434152625d9208615d83f4c5d6daea79d0/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-22 21:56:57 +01:00
Thomas Petazzoni
8d44671866 efl: disallow on non-MMU systems
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>
2014-02-22 21:23:45 +01:00
Thomas Petazzoni
eda5dd1cee evas: depend on thread support
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>
2014-02-22 21:22:54 +01:00
Fabio Porcedda
060623cfed sdl: add support for top-level parallel make
To be sure that host-autoconf dependency is already built move the
call to autogen.sh from SDL_POST_PATCH_HOOKS to SDL_PRE_CONFIGURE_HOOKS.

Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Acked-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-22 21:18:27 +01:00
Romain Naour
1963bc815d ncftp: fix cross-compilation test
The cross-compilation test is based on the ability to run
a test program on the host, which is wrong.

If it runs, then the configure script concludes
that we're doing native compilation,
if it doesn't run, we're doing cross-compilation.

The configure script needs to be regenerated to fix the
cross-compilation test.

Fixes
http://autobuild.buildroot.net/results/969/969a49ae97a50634ea846a82b9c360e4fb020ace/build-end.log

Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-22 00:40:54 +01:00
Peter Korsgaard
a1451719df skeleton: /etc/fstab: make sure /tmp is world writable and sticky
ramfs (which is used instead of tmpfs if CONFIG_SHMEM isn't enabled in the
kernel configuration), defaults to mode 0755 instead of 01777 like tmpfs
uses.

/tmp should be world writable and sticky, so explictly enforce the mode so
ramfs users gets it correct instead of relying on the defaults.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-21 22:30:24 +01:00
Vicente Olivert Riera
b57b69cd65 matchbox-lib: apply upstream based patch to include a missing header
The upstream patch can't be applied as-is because the source code of
the file which is patched has changed. A version bump to the latest
release doesn't fix the problem because the upstream patch was applied
after the resease.

Upstream patch:
   http://git.yoctoproject.org/cgit/cgit.cgi/libmatchbox/commit/?id=9315bcce1f01e7d6c00161442d61d3c676794d9d

Fixes:
   http://autobuild.buildroot.net/results/e4d/e4d510ab6ba69f95401e3120ab90ccdff22deb91/

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-21 22:09:02 +01:00
Vicente Olivert Riera
6080b2228c matchbox-lib: rename patches to follow BR guidelines
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-21 22:08:59 +01:00
Martin Bark
1889207631 tvheadend: fix error compiling with ccache
The tvheadend configure script fails to correctly handle spaces in any of
the options passed to it.  If ccache is used the configure script fails to
handle the space in the --cc option and errors.  Also the --cflags option
fails to handle multiple entries and only uses the first one.  This patch
simple removes setting the --cc and --cflags options as the configure
script will correctly use the CC and CFLAGS variables already passed in
TARGET_CONFIGURE_OPTS.

Signed-off-by: Martin Bark <martin@barkynet.com>
Cc: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-21 21:57:46 +01:00
Thomas Petazzoni
f7d43f93bb gpsd: disallow NMEA2000 CAN driver on AVR32
AVR32 is using uClibc 0.9.31, which lacks some CAN related definitions
that prevent the gpsd nmea2000 driver from building.

The rest of gpsd, with all options and drivers enabled, builds fine on
AVR32.

Fixes:

  http://autobuild.buildroot.org/results/ee2/ee2ec848e893f08fa80caf99a67e68b73b6400e8/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-21 12:43:52 +01:00
Thomas Petazzoni
b88f2f6159 gpm: disable on !MMU, requires fork()
Fixes:

  http://autobuild.buildroot.net/results/b2b/b2beb4876fba22f139df9c336ff0fae77354721b/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-21 10:00:23 +01:00
Thomas Petazzoni
1fd1fe744e dhcpcd: disable on static library builds
dhcpcd uses dlopen(), so it is not compatible with pure static library
builds.

Fixes:

  http://autobuild.buildroot.net/results/512/51249e8d3487e17bb6a60a99dcbd461f7b591eac/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-21 09:59:42 +01:00
Thomas Petazzoni
0cb2b158d4 coreutils: add gnulib patch to fix librt/libthread link in static case
coreutils was not building in the static link case with uClibc, due to
binaries being linked with librt (for timer functions), but not with
libpthread. However, librt uses functions from libpthread, so both
must be specified. This lack of linking against libpthread was caused
by a deficiency in one of the gnulib m4 macro, for which we add a patch.

Fixes:

  http://autobuild.buildroot.org/results/bd4/bd4cc779b46e3837e3d6c43c97eaf42fdfc3a288/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-21 08:52:31 +01:00
Thomas Petazzoni
c2d4af6e03 pv: fix minisetlocale related build failure
pv configure script is somewhat stupid: if it cannot find the host
gettext tool msgfmt, it concludes that gettext is not available, and
provides its own minimal version. Unfortunately, this minimal version
conflicts with the available target gettext. We fix this by ensuring
that host-gettext is built if gettext support is enabled, by adding it
to the dependencies.

Fixes:

  http://autobuild.buildroot.org/results/d30/d30db79190f2cf8953751d55a5d34644f60daec4/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-20 23:23:47 +01:00
Thomas Petazzoni
faed40cf1d gdb: cross-gdb has no support for NIOS 2
Fixes:

  http://autobuild.buildroot.org/results/df0/df09e1fe301480b599be777bf26874d66a152810//

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-20 23:23:04 +01:00
Thomas Petazzoni
045651e253 libv4l: fix build on AArch64
AArch64 does not implement the SYS_open system call, but only the
SYS_openat system call, as should be done for all modern architectures
merged into the Linux kernel. This causes problems when building
libv4l 0.8.9, which are fixed by integrating an upstream patch,
available in a more recent version of libv4l. Backporting the patch is
preferred over bumping libv4l, as libv4l has a fairly large number of
reverse dependencies, and we don't want to break anything that close
to the release.

Note that this commit also renames the existing libv4l-largefile.patch
to libv4l-01-largefile.patch in order to comply with the Buildroot
patch naming scheme, and guarantee the order in which patches are
applied.

Fixes:

  http://autobuild.buildroot.org/results/ed6/ed66792e332ee0256a17f98cbe21dfcfe6e8743b/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-20 22:52:05 +01:00
Thomas Petazzoni
777f3b56be libsepol: really fix static library build
In commit 52eeb04c76 ('libsepol: fix
static-only library build') I forgot to git add the changes made to
the libsepol.mk file itself. Those changes are needed to actually pass
STATIC=<something> when building static libraries only.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-20 22:50:42 +01:00
Yann E. MORIN
ffeda5e429 manual/faq: add section about why no binary packages
It comes up every now and then on the list, so better be prepared to
point at the manual, rather than rehash the same every time.

Most of the chapter is a copy-paste of the report from the Buildroot
Developpers Day in Pragues, 2011-10-28:
    http://lists.busybox.net/pipermail/buildroot/2011-November/047229.html

We consider the opinions expressed in that report to be still valid
now, two years later.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Samuel Martin <s.martin49@gmail.com>
Cc: Peter Korsgaard <jacmet@uclibc.org>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Cc: Baruch Siach <baruch@tkos.co.il>
Cc: Danomi Manchego <danomimanchego123@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-20 20:56:01 +01:00
Arnout Vandecappelle
b536ee6069 opencv: add missing indirect dependency from gstreamer
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Acked-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-20 19:21:05 +01:00
Arnout Vandecappelle
5010bdcd11 libplayer: add missing indirect dependency from gstreamer
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-20 19:20:49 +01:00
Arnout Vandecappelle
d8d164b52b xscreensaver: add missing indirect dependencies from libgtk2
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-20 19:20:46 +01:00
Thomas Petazzoni
52eeb04c76 libsepol: fix static-only library build
Add a patch that improves the libsepol build system to support
static-only library build.

Fixes:

  http://autobuild.buildroot.org/results/30c/30cb919d2bbf51bfdf0a83c618124d927d046a61/build-end.log

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-20 19:08:00 +01:00
Thomas Petazzoni
8797a8cb58 icu: not available when BR2_BINFMT_FLAT is used
icu does not recognize 'uclinux' as a supported platform. While making
it recognize uclinux is easy, there is another problem down the road:
icu does very weird things to generate an ELF library containing
static data (libicudata.a), and the generated library being ELF, it is
not compatible with the FLAT binary format expected by uclinux
platforms such as Blackfin in FLAT format.

Therefore, we simply disallow the selection of icu on FLAT
platforms.

Note that adding a dependency on BR2_BINFMT_ELF doesn't work, because
BR2_BINFMT_FDPIC is considered to be separate (even if technically
FDPIC is a derivative of ELF). That's why the dependency we're adding
is "depends on !BR2_BINFMT_FLAT" and not "depends on BR2_BINFMT_ELF".

Fixes:

  http://autobuild.buildroot.org/results/b41/b415fed7fae4012bad7d8b53a481bd71bdab716f/build-end.log

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-20 19:06:31 +01:00
95 changed files with 1166 additions and 166 deletions

23
CHANGES
View File

@@ -1,3 +1,26 @@
2014.02-rc3, Released February 25th, 2014
Minor fixes.
Updated/fixed packages: aiccu, ala-lib, alsa-utils, binutils,
cairo, coreutils, dhcpcd, distcc, efl, evas, iputils, gdb,
gpsd, gst-fsl-plugins, icu, libcec, libcgi, libplayer,
libsecret, libsepol, libsigsegv, libtool, libv4l,
linux-headers, matchbox-lib, mpg123, ncftp, opencv, pcmanfm,
pixman, pv, qt, rt-tests, sawman, sconeserver, sdl, thrift,
tvheadend, util-linux, webkit, xscreensaver
Issues resolved (http://bugs.uclibc.org):
#4706: Removing .stamp_target_installed does not trigger...
#5030: busybox built fails if we use an override src dir...
#5420: Dbus and /var/run management
#5768: Not able to build ALSA-Lib for static build
#5774: Not able to build ALSA-Utils for static build
#6542: external python modules fail to compile to pyc if...
#6764: Support for kernel signed modules
#6794: Busybox compiled from buildroot hangs on pass from...
2014.02-rc2, Released February 20th, 2014
Fixes all over the tree. Static linking / nommu fixes and

View File

@@ -173,7 +173,7 @@ if !BR2_PRIMARY_SITE_ONLY
config BR2_BACKUP_SITE
string "Backup download site"
default "http://sources.buildroot.net/"
default "http://sources.buildroot.net"
help
Backup site to download from. If this option is set then buildroot
will fall back to download package sources from here if the
@@ -181,7 +181,7 @@ config BR2_BACKUP_SITE
config BR2_KERNEL_MIRROR
string "Kernel.org mirror"
default "http://www.kernel.org/pub/"
default "http://www.kernel.org/pub"
help
kernel.org is mirrored on a number of servers around the world.
The following allows you to select your preferred mirror.

View File

@@ -25,7 +25,7 @@
#--------------------------------------------------------------
# Set and export the version string
export BR2_VERSION:=2014.02-rc2
export BR2_VERSION:=2014.02-rc3
# Check for minimal make version (note: this check will break at make 10.x)
MIN_MAKE_VERSION=3.81
@@ -119,6 +119,11 @@ ifeq ($(BR2_EXTERNAL),)
override BR2_EXTERNAL = support/dummy-external
$(shell rm -f $(BR2_EXTERNAL_FILE))
else
_BR2_EXTERNAL = $(shell cd $(BR2_EXTERNAL) >/dev/null 2>&1 && pwd)
ifeq ($(_BR2_EXTERNAL),)
$(error BR2_EXTERNAL='$(BR2_EXTERNAL)' does not exist, relative to $(TOPDIR))
endif
override BR2_EXTERNAL := $(_BR2_EXTERNAL)
$(shell echo BR2_EXTERNAL ?= $(BR2_EXTERNAL) > $(BR2_EXTERNAL_FILE))
endif
@@ -131,7 +136,7 @@ endif
# Need that early, before we scan packages
# Avoids doing the $(or...) everytime
BR2_GRAPH_OUT := $(or $(GRAPH_OUT),pdf)
_BR2_GRAPH_OUT := $(or $(BR2_GRAPH_OUT),pdf)
BUILD_DIR:=$(BASE_DIR)/build
STAMP_DIR:=$(BASE_DIR)/stamps
@@ -646,18 +651,18 @@ graph-build: $(O)/build/build-time.log
@install -d $(O)/graphs
$(foreach o,name build duration,./support/scripts/graph-build-time \
--type=histogram --order=$(o) --input=$(<) \
--output=$(O)/graphs/build.hist-$(o).$(BR2_GRAPH_OUT) \
$(if $(GRAPH_ALT),--alternate-colors)$(sep))
--output=$(O)/graphs/build.hist-$(o).$(_BR2_GRAPH_OUT) \
$(if $(BR2_GRAPH_ALT),--alternate-colors)$(sep))
$(foreach t,packages steps,./support/scripts/graph-build-time \
--type=pie-$(t) --input=$(<) \
--output=$(O)/graphs/build.pie-$(t).$(BR2_GRAPH_OUT) \
$(if $(GRAPH_ALT),--alternate-colors)$(sep))
--output=$(O)/graphs/build.pie-$(t).$(_BR2_GRAPH_OUT) \
$(if $(BR2_GRAPH_ALT),--alternate-colors)$(sep))
graph-depends:
@$(INSTALL) -d $(O)/graphs
@cd "$(CONFIG_DIR)"; \
$(TOPDIR)/support/scripts/graph-depends \
|dot -T$(BR2_GRAPH_OUT) -o $(O)/graphs/$(@).$(BR2_GRAPH_OUT)
|dot -T$(_BR2_GRAPH_OUT) -o $(O)/graphs/$(@).$(_BR2_GRAPH_OUT)
else # ifeq ($(BR2_HAVE_DOT_CONFIG),y)

View File

@@ -17,14 +17,14 @@ or
<p>
The latest release candidate is <b>2014.02-rc2</b>, which can be
The latest release candidate is <b>2014.02-rc3</b>, which can be
downloaded here:<p>
<a href="/downloads/buildroot-2014.02-rc2.tar.gz">buildroot-2014.02-rc2.tar.gz</a>
(<a href="/downloads/buildroot-2014.02-rc2.tar.gz.sign">PGP signature</a>)
<a href="/downloads/buildroot-2014.02-rc3.tar.gz">buildroot-2014.02-rc3.tar.gz</a>
(<a href="/downloads/buildroot-2014.02-rc3.tar.gz.sign">PGP signature</a>)
or
<a href="/downloads/buildroot-2014.02-rc2.tar.bz2">buildroot-2014.02-rc2.tar.bz2</a>
(<a href="/downloads/buildroot-2014.02-rc2.tar.bz2.sign">PGP signature</a>).
<a href="/downloads/buildroot-2014.02-rc3.tar.bz2">buildroot-2014.02-rc3.tar.bz2</a>
(<a href="/downloads/buildroot-2014.02-rc3.tar.bz2.sign">PGP signature</a>).
<p>
This and earlier releases (and their PGP signatures) can always be downloaded from

View File

@@ -323,5 +323,16 @@ different way, using different infrastructures:
CMake. We cover them through a xref:cmake-package-tutorial[tutorial]
and xref:cmake-package-reference[reference].
* *Makefiles for Python modules*: We have a dedicated infrastructure
for Python modules that use either the +distutils+ or the
+setuptools+ mechanism. We cover them through a
xref:python-package-tutorial[tutorial] and a
xref:python-package-reference[reference].
* *Makefiles for Lua modules*: We have a dedicated infrastructure for
Lua modules available through the LuaRocks web site. We cover them
through a xref:luarocks-package-tutorial[tutorial] and a
xref:luarocks-package-reference[reference].
Further formatting details: see xref:writing-rules-mk[the writing
rules].

View File

@@ -253,7 +253,7 @@ information is (assuming the package name is +libfoo+) :
Buildroot should download from +LIBFOO_SITE+ in addition to the main
+LIBFOO_SOURCE+ (which usually is a tarball). Buildroot will not do
anything with those additional files, except download files: it will
be up to the package recipe to use them from +$(DL_DIR)+.
be up to the package recipe to use them from +$(BR2_DL_DIR)+.
* +LIBFOO_SITE_METHOD+ determines the method used to fetch or copy the
package source code. In many cases, Buildroot guesses the method

View File

@@ -11,3 +11,5 @@ include::ccache-support.txt[]
include::download-location.txt[]
include::package-make-target.txt[]
include::using-buildroot-development.txt[]

View File

@@ -40,7 +40,13 @@ Or:
$ cd /tmp/build; make O=$PWD -C path/to/buildroot
--------------------
All the output files will be located under +/tmp/build+.
All the output files will be located under +/tmp/build+. If the +O+
path does not exist, Buildroot will create it.
*Note:* the +O+ path can be either an absolute or a relative path, but if it's
passed as a relative path, it is important to note that it is interpreted
relative to the main Buildroot source directory, *not* the current working
directory.
When using out-of-tree builds, the Buildroot +.config+ and temporary
files are also stored in the output directory. This means that you can
@@ -48,8 +54,8 @@ safely run multiple builds in parallel using the same source tree as
long as they use unique output directories.
For ease of use, Buildroot generates a Makefile wrapper in the output
directory - so after the first run, you no longer need to pass +O=..+
and +-C ..+, simply run (in the output directory):
directory - so after the first run, you no longer need to pass +O=<...>+
and +-C <...>+, simply run (in the output directory):
--------------------
$ make <target>
@@ -86,9 +92,9 @@ to +make+ or set in the environment:
Note that the Buildroot download directory can also be set from the
configuration interface, so through the Buildroot +.config+ file; this
is the recommended way of setting it.
* +GRAPH_ALT+, if set and non-empty, to use an alternate color-scheme in
* +BR2_GRAPH_ALT+, if set and non-empty, to use an alternate color-scheme in
build-time graphs
* +GRAPH_OUT+ to set the filetype of generated graphs, either +pdf+ (the
* +BR2_GRAPH_OUT+ to set the filetype of generated graphs, either +pdf+ (the
default), or +png+.
An example that uses config files located in the toplevel directory and
@@ -143,3 +149,102 @@ of an ext2 filesystem may be corrupted; or, if you have sparse files in
your filesystem, those parts may not be all-zeroes when read back). You
should only use sparse files when handling files on the build machine, not
when transferring them to an actual device that will be used on the target.
Graphing the dependencies between packages
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[[graph-depends]]
One of Buildroot's jobs is to know the dependencies between packages,
and make sure they are built in the right order. These dependencies
can sometimes be quite complicated, and for a given system, it is
often not easy to understand why such or such package was brought into
the build by Buildroot.
In order to help understanding the dependencies, and therefore better
understand what is the role of the different components in your
embedded Linux system, Buildroot is capable of generating dependency
graphs.
To generate a dependency graph of the full system you have compiled,
simply run:
------------------------
make graph-depends
------------------------
You will find the generated graph in
+output/graphs/graph-depends.pdf+.
If your system is quite large, the dependency graph may be too complex
and difficult to read. It is therefore possible to generate the
dependency graph just for a given package:
------------------------
make <pkg>-graph-depends
------------------------
You will find the generated graph in
+output/graph/<pkg>-graph-depends.pdf+.
Note that the dependency graphs are generated using the +dot+ tool
from the _Graphviz_ project, which you must have installed on your
system to use this feature. In most distributions, it is available as
the +graphviz+ package.
By default, the dependency graphs are generated in the PDF
format. However, by passing the +BR2_GRAPH_OUT+ environment variable, you
can switch to other output formats, such as PNG, PostScript or
SVG. All formats supported by the +-T+ option of the +dot+ tool are
supported.
--------------------------------
BR2_GRAPH_OUT=svg make graph-depends
--------------------------------
Graphing the build duration
~~~~~~~~~~~~~~~~~~~~~~~~~~~
[[graph-duration]]
When the build of a system takes a long time, it is sometimes useful
to be able to understand which packages are the longest to build, to
see if anything can be done to speed up the build. In order to help
such build time analysis, Buildroot collects the build time of each
step of each package, and allows to generate graphs from this data.
To generate the build time graph after a build, run:
----------------
make graph-build
----------------
This will generate a set of files in +output/graphs+ :
* +build.hist-build.pdf+, a histogram of the build time for each
package, ordered in the build order.
* +build.hist-duration.pdf+, a histogram of the build time for each
package, ordered by duration (longest first)
* +build.hist-name.pdf+, a histogram of the build time for each
package, order by package name.
* +build.pie-packages.pdf+, a pie chart of the build time per package
* +build.pie-steps.pdf+, a pie chart of the global time spent in each
step of the packages build process.
This +graph-build+ target requires the Python Matplotlib and Numpy
libraries to be installed (+python-matplotlib+ and +python-numpy+ on
most distributions), and also the +argparse+ module if you're using a
Python version older than 2.7 (+python-argparse+ on most
distributions).
By default, the output format for the graph is PDF, but a different
format can be selected using the +BR2_GRAPH_OUT+ environment variable. The
only other format supported is PNG:
----------------
BR2_GRAPH_OUT=png make graph-build
----------------

View File

@@ -68,12 +68,10 @@ The _internal toolchain backend_ is the backend where Buildroot builds
by itself a cross-compilation toolchain, before building the userspace
applications and libraries for your target embedded system.
This backend is the historical backend of Buildroot, and has been
limited for a long time to the usage of the
http://www.uclibc.org[uClibc C library]. Support for the _eglibc_ C
library has been added in 2013 and is at this point considered
experimental. See the _External toolchain backend_ for another
solution to use _glibc_ or _eglibc_.
This backend supports several C libraries:
http://www.uclibc.org[uClibc], the
http://www.gnu.org/software/libc/libc.html[glibc] and
http://www.eglibc.org[eglibc].
Once you have selected this backend, a number of options appear. The
most important ones allow to:
@@ -96,18 +94,7 @@ most important ones allow to:
the C library might be using interfaces that are not provided by
your Linux kernel.
* Change the version and the configuration of the uClibc C library
(if uClibc is selected). The default options are usually
fine. However, if you really need to specifically customize the
configuration of your uClibc C library, you can pass a specific
configuration file here. Or alternatively, you can run the +make
uclibc-menuconfig+ command to get access to uClibc's configuration
interface. Note that all packages in Buildroot are tested against
the default uClibc configuration bundled in Buildroot: if you
deviate from this configuration by removing features from uClibc,
some packages may no longer build.
* Change the version of the GCC compiler and binutils.
* Change the version of the GCC compiler, binutils and the C library.
* Select a number of toolchain options (uClibc only): whether the
toolchain should have largefile support (i.e support for files
@@ -118,7 +105,12 @@ most important ones allow to:
libraries visible in Buildroot menus will change: many applications
and libraries require certain toolchain options to be enabled. Most
packages show a comment when a certain toolchain option is required
to be able to enable those packages.
to be able to enable those packages. If needed, you can further
refine the uClibc configuration by running +make
uclibc-menuconfig+. Note however that all packages in Buildroot are
tested against the default uClibc configuration bundled in
Buildroot: if you deviate from this configuration by removing
features from uClibc, some packages may no longer build.
It is worth noting that whenever one of those options is modified,
then the entire toolchain and system must be rebuilt. See
@@ -146,10 +138,9 @@ http://www.linaro.org[Linaro] for ARM,
http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/[Sourcery
CodeBench] for ARM, x86, x86-64, PowerPC, MIPS and SuperH,
https://blackfin.uclinux.org/gf/project/toolchain[Blackfin toolchains
from ADI], http://git.xilinx.com/[Xilinx toolchains for Microblaze],
etc.) and is capable of downloading them automatically, or it can be
pointed to a custom toolchain, either available for download or
installed locally.
from Analog Devices], etc.) and is capable of downloading them
automatically, or it can be pointed to a custom toolchain, either
available for download or installed locally.
Then, you have three solutions to use an external toolchain:
@@ -168,14 +159,14 @@ Then, you have three solutions to use an external toolchain:
toolchain.
* Use a completely custom external toolchain. This is particularly
useful for toolchains generated using crosstool-NG. To do this,
select the +Custom toolchain+ solution in the +Toolchain+ list. You
need to fill the +Toolchain path+, +Toolchain prefix+ and +External
toolchain C library+ options. Then, you have to tell Buildroot what
your external toolchain supports. If your external toolchain uses
the 'glibc' library, you only have to tell whether your toolchain
supports C\+\+ or not and whether it has built-in RPC support. If
your external toolchain uses the 'uClibc'
useful for toolchains generated using crosstool-NG or with Buildroot
itself. To do this, select the +Custom toolchain+ solution in the
+Toolchain+ list. You need to fill the +Toolchain path+, +Toolchain
prefix+ and +External toolchain C library+ options. Then, you have
to tell Buildroot what your external toolchain supports. If your
external toolchain uses the 'glibc' library, you only have to tell
whether your toolchain supports C\+\+ or not and whether it has
built-in RPC support. If your external toolchain uses the 'uClibc'
library, then you have to tell Buildroot if it supports largefile,
IPv6, RPC, wide-char, locale, program invocation, threads and
C++. At the beginning of the execution, Buildroot will tell you if
@@ -188,23 +179,13 @@ Buildroot itself. In general, all toolchains that support the
'sysroot' feature should work. If not, do not hesitate to contact the
developers.
We do not support toolchains from the
http://www.denx.de/wiki/DULG/ELDK[ELDK] of Denx, for two reasons:
* The ELDK does not contain a pure toolchain (i.e just the compiler,
binutils, the C and C++ libraries), but a toolchain that comes with
a very large set of pre-compiled libraries and programs. Therefore,
Buildroot cannot import the 'sysroot' of the toolchain, as it would
contain hundreds of megabytes of pre-compiled libraries that are
normally built by Buildroot.
* The ELDK toolchains have a completely non-standard custom mechanism
to handle multiple library variants. Instead of using the standard
GCC 'multilib' mechanism, the ARM ELDK uses different symbolic links
to the compiler to differentiate between library variants (for ARM
soft-float and ARM VFP), and the PowerPC ELDK compiler uses a
+CROSS_COMPILE+ environment variable. This non-standard behaviour
makes it difficult to support ELDK in Buildroot.
We do not support toolchains or SDK generated by OpenEmbedded or
Yocto, because these toolchains are not pure toolchains (i.e just the
compiler, binutils, the C and C++ libraries). Instead these toolchains
come with a very large set of pre-compiled libraries and
programs. Therefore, Buildroot cannot import the 'sysroot' of the
toolchain, as it would contain hundreds of megabytes of pre-compiled
libraries that are normally built by Buildroot.
We also do not support using the distribution toolchain (i.e the
gcc/binutils/C library installed by your distribution) as the

View File

@@ -30,18 +30,18 @@ there is no need to pass +BR2_EXTERNAL+ at every +make+ invocation. It
can however be changed at any time by passing a new value, and can be
removed by passing an empty value.
The +BR2_EXTERNAL+ path can be either an absolute or a relative path,
*Note:* the +BR2_EXTERNAL+ path can be either an absolute or a relative path,
but if it's passed as a relative path, it is important to note that it
is interpreted relatively to the main Buildroot source directory, not
is interpreted relative to the main Buildroot source directory, *not*
the Buildroot output directory.
Some examples:
-----
buildroot/ $ make BR2_EXTERNAL=../foobar menuconfig
buildroot/ $ make BR2_EXTERNAL=/path/to/foobar menuconfig
-----
Starting from now on, external definitions from the +../foobar+
Starting from now on, external definitions from the +/path/to/foobar+
directory will be used:
-----
@@ -52,7 +52,7 @@ directory will be used:
We can switch to another external definitions directory at any time:
-----
buildroot/ $ make BR2_EXTERNAL=../barfoo xconfig
buildroot/ $ make BR2_EXTERNAL=/where/we/have/barfoo xconfig
-----
Or disable the usage of external definitions:

View File

@@ -111,3 +111,103 @@ directory as the new root, will most likely fail.
If you want to run the target filesystem inside a chroot, or as an NFS
root, then use the tarball image generated in +images/+ and extract it
as root.
[[faq-no-binary-packages]]
Why doesn't Buildroot generate binary packages (.deb, .ipkg...)?
----------------------------------------------------------------
One feature that is often discussed on the Buildroot list is the
the general topic of "package management". To summarize, the idea
would be to add some tracking of which Buildroot package installs
what files, with the goals of:
* being able to remove files installed by a package when this package
gets unselected from the menuconfig;
* being able to generate binary packages (ipk or other format) that
can be installed on the target without re-generating a new root
filesystem image.
In general, most people think it is easy to do: just track which package
installed what and remove it when the package is unselected. However, it
is much more complicated than that:
* It is not only about the +target/+ directory, but also the sysroot in
+host/usr/<tuple>/sysroot+ and the +host/+ directory itself. All files
installed in those directories by various packages must be tracked.
* When a package is unselected from the configuration, it is not
sufficient to remove just the files it installed. One must also
remove all its reverse dependencies (i.e packages relying on it)
and rebuild all those packages. For example, package A depends
optionally on the OpenSSL library. Both are selected, and Buildroot
is built. Package A is built with crypto support using OpenSSL.
Later on, OpenSSL gets unselected from the configuration, but
package A remains (since OpenSSL is an optional dependency, this
is possible.) If only OpenSSL files are removed, then the files
installed by package A are broken: they use a library that is no
longer present on the target. Although this is technically doable,
it adds a lot of complexity to Buildroot, which goes against the
simplicity we try to stick to.
* In addition to the previous problem, there is the case where the
optional dependency is not even known to Buildroot. For example,
package A in version 1.0 never used OpenSSL, but in version 2.0 it
automatically uses OpenSSL if available. If the Buildroot .mk file
hasn't been updated to take this into account, then package A will
not be part of the reverse dependencies of OpenSSL and will not be
removed and rebuilt when OpenSSL is removed. For sure, the .mk file
of package A should be fixed to mention this optional dependency,
but in the mean time, you can have non-reproducible behaviors.
* The request is to also allow changes in the menuconfig to be
applied on the output directory without having to rebuild
everything from scratch. However, this is very difficult to achieve
in a reliable way: what happens when the suboptions of a package
are changed (we would have to detect this, and rebuild the package
from scratch and potentially all its reverse dependencies), what
happens if toolchain options are changed, etc. At the moment, what
Buildroot does is clear and simple so its behaviour is very
reliable and it is easy to support users. If configuration changes
done in menuconfig are applied after the next make, then it has to
work correctly and properly in all situations, and not have some
bizarre corner cases. The risk is to get bug reports like "I have
enabled package A, B and C, then ran make, then disabled package
C and enabled package D and ran make, then re-enabled package C
and enabled package E and then there is a build failure". Or worse
"I did some configuration, then built, then did some changes,
built, some more changes, built, some more changes, built, and now
it fails, but I don't remember all the changes I did and in which
order". This will be impossible to support.
For all these reasons, the conclusion is that adding tracking of
installed files to remove them when the package is unselected, or to
generate a repository of binary packages, is something that is very
hard to achieve reliably and will add a lot of complexity.
On this matter, the Buildroot developers make this position statement:
* Buildroot strives to make it easy to generate a root filesystem (hence
the name, by the way.) That is what we want to make Buildroot good at:
building root filesystems.
* Buildroot is not meant to be a distribution (or rather, a distribution
generator.) It is the opinion of most Buildroot developers that this
is not a goal we should pursue. We believe that there are other tools
better suited to generate a distro than Buildroot is. For example,
http://openembedded.org/[Open Embedded], or https://openwrt.org/[openWRT],
are such tools.
* We prefer to push Buildroot in a direction that makes it easy (or even
easier) to generate complete root filesystems. This is what makes
Buildroot stands out in the crowd (among other things, of course!)
* We believe that for most embedded Linux systems, binary packages are
not necessary, and potentially harmful. When binary packages are
used, it means that the system can be partially upgraded, which
creates an enormous number of possible combinations of package
versions that should be tested before doing the upgrade on the
embedded device. On the other hand, by doing complete system
upgrades by upgrading the entire root filesystem image at once,
the image deployed to the embedded system is guaranteed to really
be the one that has been tested and validated.

View File

@@ -32,10 +32,12 @@ The result of the search shows the help message of the matching items.
Not all targets are always available,
some settings in the +.config+ file may hide some targets:
* +busybox-menuconfig+ and +busybox-savedefconfig+ ony work when
+busybox+ is enabled;
* +linux-menuconfig+ and +linux-savedefconfig+ only work when
+linux+ is enabled;
* +uclibc-menuconfig+ is only available when the
Buildroot internal toolchain backend is used;
* +uclibc-menuconfig+ is only available when the uClibc C library is
selected in the internal toolchain backend;
* +barebox-menuconfig+ and +barebox-savedefconfig+ only work when the
+barebox+ bootloader is enabled.

View File

@@ -63,6 +63,11 @@ Additionally, there are some other useful make targets:
| +show-depends+ | Displays the dependencies required to build the
package
| +graph-depends+ | Generate a dependency graph of the package, in the
context of the current Buildroot configuration. See
xref:graph-depends[this section] for more details about dependency
graphs.
| +dirclean+ | Remove the whole package build directory
| +rebuild+ | Re-run the compilation commands - this only makes

View File

@@ -5,33 +5,82 @@
Understanding when a full rebuild is necessary
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
A full rebuild is achieved by running:
Buildroot does not attempt to detect what parts of the system should
be rebuilt when the system configuration is changed through +make
menuconfig+, +make xconfig+ or one of the other configuration
tools. In some cases, Buildroot should rebuild the entire system, in
some cases, only a specific subset of packages. But detecting this in
a completely reliable manner is very difficult, and therefore the
Buildroot developers have decided to simply not attempt to do this.
Instead, it is the responsibility of the user to know when a full
rebuild is necessary. As a hint, here are a few rules of thumb that
can help you understand how to work with Buildroot:
* When the target architecture configuration is changed, a complete
rebuild is needed. Changing the architecture variant, the binary
format or the floating point strategy for example has an impact on
the entire system.
* When the toolchain configuration is changed, a complete rebuild
generally is needed. Changing the toolchain configuration often
involves changing the compiler version, the type of C library or
its configuration, or some other fundamental configuration item,
and these changes have an impact on the entire system.
* When an additional package is added to the configuration, a full
rebuild is not necessarily needed. Buildroot will detect that this
package has never been built, and will build it. However, if this
package is a library that can optionally be used by packages that
have already been built, Buildroot will not automatically rebuild
those. Either you know which packages should be rebuilt, and you
can rebuild them manually, or you should do a full rebuild. For
example, let's suppose you have built a system with the +ctorrent+
package, but without +openssl+. Your system works, but you realize
you would like to have SSL support in +ctorrent+, so you enable the
+openssl+ package in Buildroot configuration and restart the
build. Buildroot will detect that +openssl+ should be built and
will be build it, but it will not detect that +ctorrent+ should be
rebuilt to benefit from +openssl+ to add OpenSSL support. You will
either have to do a full rebuild, or rebuild +ctorrent+ itself.
* When a package is removed from the configuration, Buildroot does
not do anything special. It does not remove the files installed by
this package from the target root filesystem or from the toolchain
_sysroot_. A full rebuild is needed to get rid of this
package. However, generally you don't necessarily need this package
to be removed right now: you can wait for the next lunch break to
restart the build from scratch.
* When the sub-options of a package are changed, the package is not
automatically rebuilt. After making such changes, rebuilding only
this package is often sufficient, unless enabling the package
sub-option adds some features to the package that are useful for
another package which has already been built. Again, Buildroot does
not track when a package should be rebuilt: once a package has been
built, it is never rebuilt unless explicitly told to do so.
* When a change to the root filesystem skeleton is made, a full
rebuild is needed. However, when changes to the root filesystem
overlay, a post-build script or a post-image script are made,
there is no need for a full rebuild: a simple +make+ invocation
will take the changes into account.
Generally speaking, when you're facing a build error and you're unsure
of the potential consequences of the configuration changes you've
made, do a full rebuild. If you get the same build error, then you are
sure that the error is not related to partial rebuilds of packages,
and if this error occurs with packages from the official Buildroot, do
not hesitate to report the problem! As your experience with Buildroot
progresses, you will progressively learn when a full rebuild is really
necessary, and you will save more and more time.
For reference, a full rebuild is achieved by running:
---------------
$ make clean all
---------------
In some cases, a full rebuild is mandatory:
* each time the toolchain properties are changed, this includes:
** after changing any toolchain option under the _Toolchain_ menu (if
the internal Buildroot backend is used);
** after running +make uclibc-menuconfig+.
* after removing some libraries from the package selection.
In some cases, a full rebuild is recommended:
* after adding some libraries to the package selection (otherwise,
packages that can be optionally linked against those libraries
won't be rebuilt, so they won't support those new available
features).
In other cases, it is up to you to decide if you should run a
full rebuild, but you should know what is impacted and understand what
you are doing anyway.
[[rebuild-pkg]]
Understanding how to rebuild packages
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -51,26 +100,25 @@ its build directory in +output/build+. Buildroot will then re-extract,
re-configure, re-compile and re-install this package from scratch. You
can ask buildroot to do this with the +make <package>-dirclean+ command.
For convenience, the special make targets
<package>-reconfigure and <package>-rebuild repeat the configure
resp. build steps.
On the other hand, if you only want to restart the build process of a
package from its compilation step, you can run +make
<package>-rebuild+, followed by +make+ or +make <package>+. It will
restart the compilation and installation of the package, but not from
scratch: it basically re-executes +make+ and +make install+
inside the package, so it will only rebuild files that changed.
However, if you don't want to rebuild the package completely from
scratch, a better understanding of the Buildroot internals is
needed. Internally, to keep track of which steps have been done and
which steps remain to be done, Buildroot maintains stamp files (empty
files that just tell whether this or that action has been done):
If you want to restart the build process of a package from its
configuration step, you can run +make <package>-reconfigure+, followed
by +make+ or +make <package>+. It will restart the configuration,
compilation and installation of the package.
* +output/build/<package>-<version>/.stamp_configured+. If removed,
Buildroot will trigger the recompilation of the package from the
configuration step (execution of +./configure+).
* +output/build/<package>-<version>/.stamp_built+. If removed,
Buildroot will trigger the recompilation of the package from the
compilation step (execution of +make+).
Note: toolchain packages use custom makefiles. Their stamp files are named
differently.
Internally, Buildroot creates so-called _stamp files_ to keep track of
which build steps have been completed for each package. They are
stored in the package build directory,
+output/build/<package>-<version>/+ and are named
+.stamp_<step-name>+. The commands detailed above simply manipulate
these stamp files to force Buildroot to restart a specific set of
steps of a package build process.
Further details about package special make targets are explained in
xref:pkg-build-steps[].

View File

@@ -0,0 +1,84 @@
// -*- mode:doc; -*-
// vim: set syntax=asciidoc:
Using Buildroot during development
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The normal operation of Buildroot is to download a tarball, extract
it, configure, compile and install the software component found inside
this tarball. The source code is extracted in
+output/build/<package>-<version>+, which is a temporary directory:
whenever +make clean+ is used, this directory is entirely removed, and
re-recreated at the next +make+ invocation. Even when a Git or
Subversion repository is used as the input for the package source
code, Buildroot creates a tarball out of it, and then behaves as it
normally does with tarballs.
This behavior is well-suited when Buildroot is used mainly as an
integration tool, to build and integrate all the components of an
embedded Linux system. However, if one uses Buildroot during the
development of certain components of the system, this behavior is not
very convenient: one would instead like to make a small change to the
source code of one package, and be able to quickly rebuild the system
with Buildroot.
Making changes directly in +output/build/<package>-<version>+ is not
an appropriate solution, because this directory is removed on +make
clean+.
Therefore, Buildroot provides a specific mechanism for this use case:
the +<pkg>_OVERRIDE_SRCDIR+ mechanism. Buildroot reads an _override_
file, which allows the user to tell Buildroot the location of the
source for certain packages. By default this _override_ file is named
+local.mk+ and located in the top directory of the Buildroot source
tree, but a different location can be specified through the
+BR2_PACKAGE_OVERRIDE_FILE+ configuration option.
In this _override_ file, Buildroot expects to find lines of the form:
------------------
<pkg1>_OVERRIDE_SRCDIR = /path/to/pkg1/sources
<pkg2>_OVERRIDE_SRCDIR = /path/to/pkg2/sources
------------------
For example:
------------------
LINUX_OVERRIDE_SRCDIR = /home/bob/linux/
BUSYBOX_OVERRIDE_SRCDIR = /home/bob/busybox/
------------------
When Buildroot finds that for a given package, an
+<pkg>_OVERRIDE_SRCDIR+ has been defined, it will no longer attempt to
download, extract and patch the package. Instead, it will directly use
the source code available in in the specified directory and +make
clean+ will not touch this directory. This allows to point Buildroot
to your own directories, that can be managed by Git, Subversion, or
any other version control system. To achieve this, Buildroot will use
_rsync_ to copy the source code of the component from the specified
+<pkg>_OVERRIDE_SRCDIR+ to +output/build/<package>-custom/+.
This mechanism is best used in conjuction with the +make
<pkg>-rebuild+ and +make <pkg>-reconfigure+ targets. A +make
<pkg>-rebuild all+ sequence will _rsync_ the source code from
+<pkg>_OVERRIDE_SRCDIR+ to +output/build/<package>-custom+ (thanks to
_rsync_, only the modified files are copied), and restart the build
process of just this package.
In the example of the +linux+ package above, the developer can then
make a source code change in +/home/bob/linux+ and then run:
-----------------------
make linux-rebuild all
-----------------------
and in a matter of seconds gets the updated Linux kernel image in
+output/images+. Similarly, a change can be made to the Busybox source
code in +/home/bob/busybox+, and after:
-----------------------
make busybox-rebuild all
-----------------------
the root filesystem image in +output/images+ contains the updated
Busybox.

View File

@@ -5,6 +5,18 @@
<p>
<ul>
<li><b>25 February 2014 -- 2014.02-rc3 released</b>
<p>Release candidate 3 is out with more cleanups and build fixes. See the <a
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2014.02-rc3">CHANGES</a>
file for details.</p>
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2014.02-rc3.tar.bz2">2014.02-rc3
release candidate</a>, and report any problems found to the <a
href="lists.html">mailing list</a> or <a
href="https://bugs.uclibc.org">bug tracker</a>.</p>
<li><b>20 February 2014 -- 2014.02-rc2 released</b>
<p>Another week, another release candidate with more cleanups and

View File

@@ -21,7 +21,7 @@ choice
prompt "Kernel version"
config BR2_LINUX_KERNEL_LATEST_VERSION
bool "3.13.3"
bool "3.13.5"
config BR2_LINUX_KERNEL_SAME_AS_HEADERS
bool "Same as toolchain kernel headers"
@@ -104,7 +104,7 @@ config BR2_LINUX_KERNEL_CUSTOM_LOCAL_PATH
config BR2_LINUX_KERNEL_VERSION
string
default "3.13.3" if BR2_LINUX_KERNEL_LATEST_VERSION
default "3.13.5" if BR2_LINUX_KERNEL_LATEST_VERSION
default BR2_DEFAULT_KERNEL_HEADERS if BR2_LINUX_KERNEL_SAME_AS_HEADERS
default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \
if BR2_LINUX_KERNEL_CUSTOM_VERSION

View File

@@ -7,6 +7,10 @@ config BR2_PACKAGE_AICCU
# Uses dn_skipname(), only available since 0.9.33
depends on !BR2_UCLIBC_VERSION_0_9_31 && \
!BR2_UCLIBC_VERSION_0_9_32
# AVR32 only has uClibc 0.9.31, so there's no way it can build
# due to the lack of dn_skipname(), even with external
# toolchains.
depends on !BR2_avr32
select BR2_PACKAGE_GNUTLS
help
SixXS Automatic IPv6 Connectivity Client Utility

View File

@@ -0,0 +1,57 @@
alsa-lib: provide dummy definitions of RTLD_* if necessary
The FLAT GNU toolchain (e.g. blackfin) doesn't include the dlfcn.h header
file, so we need to guard that include. Additionally, provide dummy
definitions for parameters RTLD_GLOBAL / RTLD_NOW which are normally
provided by dlfcn.h.
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
[Thomas: don't add separate dlmisc.h, move dummy defs to global.h]
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
diff --git a/include/global.h b/include/global.h
--- a/include/global.h
+++ b/include/global.h
@@ -97,6 +97,16 @@ extern struct snd_dlsym_link *snd_dlsym_
/** \brief Returns the version of a dynamic symbol as a string. */
#define SND_DLSYM_VERSION(version) __STRING(version)
+/* RTLD_NOW and RTLD_GLOBAL (used for 'mode' in snd_dlopen) are not defined
+ * on all arches (e.g. blackfin), so provide a dummy definition here. */
+#ifndef RTLD_NOW
+#define RTLD_NOW 0
+#endif
+
+#ifndef RTLD_GLOBAL
+#define RTLD_GLOBAL 0
+#endif
+
void *snd_dlopen(const char *file, int mode);
void *snd_dlsym(void *handle, const char *name, const char *version);
int snd_dlclose(void *handle);
diff --git a/modules/mixer/simple/sbasedl.c b/modules/mixer/simple/sbasedl.c
--- a/modules/mixer/simple/sbasedl.c
+++ b/modules/mixer/simple/sbasedl.c
@@ -27,7 +27,9 @@
#include <fcntl.h>
#include <sys/ioctl.h>
#include <math.h>
+#ifdef HAVE_LIBDL
#include <dlfcn.h>
+#endif
#include "config.h"
#include "asoundlib.h"
#include "mixer_abst.h"
diff --git a/src/mixer/simple_abst.c b/src/mixer/simple_abst.c
--- a/src/mixer/simple_abst.c
+++ b/src/mixer/simple_abst.c
@@ -34,7 +34,9 @@
#include <fcntl.h>
#include <sys/ioctl.h>
#include <math.h>
+#ifdef HAVE_LIBDL
#include <dlfcn.h>
+#endif
#include "config.h"
#include "asoundlib.h"
#include "mixer_simple.h"

View File

@@ -0,0 +1,35 @@
alsa-lib: conditionally enable libdl in AM_PATH_ALSA m4 macro
The AM_PATH_ALSA macro in utils/alsa.m4 unconditionally uses -ldl. This
breaks compilation of alsa-utils (and probably other packages using this
macro) for targets that do not support dynamic loading, such as for
Blackfin FLAT binaries.
This patch updates the macro to check if dlopen is available, and use that
result to conditionally add -ldl to the list of libraries.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
---
diff --git a/utils/alsa.m4 b/utils/alsa.m4
--- a/utils/alsa.m4
+++ b/utils/alsa.m4
@@ -44,6 +44,8 @@ if test "$alsa_inc_prefix" != "" ; then
fi
AC_MSG_RESULT($ALSA_CFLAGS)
+AC_CHECK_LIB(c, dlopen, LIBDL="", [AC_CHECK_LIB(dl, dlopen, LIBDL="-ldl")])
+
dnl add any special lib dirs
AC_MSG_CHECKING(for ALSA LDFLAGS)
if test "$alsa_prefix" != "" ; then
@@ -52,7 +54,7 @@ if test "$alsa_prefix" != "" ; then
fi
dnl add the alsa library
-ALSA_LIBS="$ALSA_LIBS -lasound -lm -ldl -lpthread"
+ALSA_LIBS="$ALSA_LIBS -lasound -lm $LIBDL -lpthread"
LIBS="$ALSA_LIBS $LIBS"
AC_MSG_RESULT($ALSA_LIBS)

View File

@@ -1,5 +1,10 @@
comment "alsa-utils needs a toolchain w/ largefile, threads"
depends on BR2_USE_MMU # fork
depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS
config BR2_PACKAGE_ALSA_UTILS
bool "alsa-utils"
depends on BR2_USE_MMU # fork
depends on BR2_LARGEFILE
depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib
select BR2_PACKAGE_ALSA_LIB
@@ -9,9 +14,6 @@ config BR2_PACKAGE_ALSA_UTILS
http://www.alsa-project.org/
comment "alsa-utils needs a toolchain w/ largefile, threads"
depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS
if BR2_PACKAGE_ALSA_UTILS
menu "ALSA utils selection"

View File

@@ -2,7 +2,7 @@ config BR2_PACKAGE_BEECRYPT
bool "beecrypt"
depends on BR2_TOOLCHAIN_HAS_THREADS
select BR2_PACKAGE_ICU if BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR && \
!BR2_arc
!BR2_arc && !BR2_BINFMT_FLAT
help
Beecrypt is a general-purpose cryptography library.
@@ -13,4 +13,5 @@ comment "beecrypt needs a toolchain w/ threads"
comment "beecrypt C++ support needs a toolchain w/ wchar"
depends on !BR2_arc
depends on !BR2_BINFMT_FLAT
depends on BR2_INSTALL_LIBSTDCPP && !BR2_USE_WCHAR && BR2_TOOLCHAIN_HAS_THREADS

View File

@@ -0,0 +1,46 @@
From 369be6981b26787b2685e3b8c6da779dae8ce35f Mon Sep 17 00:00:00 2001
From: Mike Frysinger <vapier@gentoo.org>
Date: Mon, 6 Jan 2014 18:15:31 +0000
Subject: [PATCH] libiberty: fix --enable-install-libiberty flag [PR 56780]
Commit 199570 fixed the --disable-install-libiberty behavior, but it also
added a bug where the enable path never works because the initial clear
of target_header_dir wasn't deleted. So we end up initializing properly
at the top only to reset it at the end all the time.
[Arnout: adapt to match 2.24 tarball]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206367 138bc75d-0d04-0410-961f-82ee72b054a4
---
libiberty/configure | 1 -
libiberty/configure.ac | 1 -
3 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/libiberty/configure b/libiberty/configure
index 8ea54da..7bde9b3 100755
--- a/libiberty/configure
+++ b/libiberty/configure
@@ -5507,7 +5507,6 @@ fi
setobjs=
CHECK=
-target_header_dir=
if test -n "${with_target_subdir}"; then
# We are being configured as a target library. AC_REPLACE_FUNCS
diff --git a/libiberty/configure.ac b/libiberty/configure.ac
index 4ad88a9..d6180bc 100644
--- a/libiberty/configure.ac
+++ b/libiberty/configure.ac
@@ -405,7 +405,6 @@ fi
setobjs=
CHECK=
-target_header_dir=
if test -n "${with_target_subdir}"; then
# We are being configured as a target library. AC_REPLACE_FUNCS
--
1.7.1

View File

@@ -0,0 +1,46 @@
From 369be6981b26787b2685e3b8c6da779dae8ce35f Mon Sep 17 00:00:00 2001
From: Mike Frysinger <vapier@gentoo.org>
Date: Mon, 6 Jan 2014 18:15:31 +0000
Subject: [PATCH] libiberty: fix --enable-install-libiberty flag [PR 56780]
Commit 199570 fixed the --disable-install-libiberty behavior, but it also
added a bug where the enable path never works because the initial clear
of target_header_dir wasn't deleted. So we end up initializing properly
at the top only to reset it at the end all the time.
[Arnout: adapt to match 2.24 tarball]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206367 138bc75d-0d04-0410-961f-82ee72b054a4
---
libiberty/configure | 1 -
libiberty/configure.ac | 1 -
3 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/libiberty/configure b/libiberty/configure
index 8ea54da..7bde9b3 100755
--- a/libiberty/configure
+++ b/libiberty/configure
@@ -5507,7 +5507,6 @@ fi
setobjs=
CHECK=
-target_header_dir=
if test -n "${with_target_subdir}"; then
# We are being configured as a target library. AC_REPLACE_FUNCS
diff --git a/libiberty/configure.ac b/libiberty/configure.ac
index 4ad88a9..d6180bc 100644
--- a/libiberty/configure.ac
+++ b/libiberty/configure.ac
@@ -405,7 +405,6 @@ fi
setobjs=
CHECK=
-target_header_dir=
if test -n "${with_target_subdir}"; then
# We are being configured as a target library. AC_REPLACE_FUNCS
--
1.7.1

View File

@@ -51,6 +51,7 @@ endif
BINUTILS_CONF_OPT = --disable-multilib --disable-werror \
--host=$(GNU_TARGET_NAME) \
--target=$(GNU_TARGET_NAME) \
--enable-install-libiberty \
$(BINUTILS_EXTRA_CONFIG_OPTIONS)
# Install binutils after busybox to prefer full-blown utilities

View File

@@ -34,3 +34,22 @@ Index: b/src/cairo-compiler-private.h
#else
# define slim_hidden_proto(name) int _cairo_dummy_prototype(void)
# define slim_hidden_proto_no_warn(name) int _cairo_dummy_prototype(void)
Index: b/util/cairo-script/cairo-script-private.h
===================================================================
--- a/util/cairo-script/cairo-script-private.h
+++ b/util/cairo-script/cairo-script-private.h
@@ -109,12 +109,13 @@
__asm__ (slim_hidden_asmname (internal))
# define slim_hidden_def1(name, internal) \
extern __typeof (name) EXT_##name __asm__(slim_hidden_asmname(name)) \
- __attribute__((__alias__(slim_hidden_asmname(internal))))
+ __attribute__((__alias__(slim_hidden_realname(internal))))
# define slim_hidden_ulp slim_hidden_ulp1(__USER_LABEL_PREFIX__)
# define slim_hidden_ulp1(x) slim_hidden_ulp2(x)
# define slim_hidden_ulp2(x) #x
# define slim_hidden_asmname(name) slim_hidden_asmname1(name)
# define slim_hidden_asmname1(name) slim_hidden_ulp #name
+# define slim_hidden_realname(name) #name
#else
# define slim_hidden_proto(name) int _csi_dummy_prototype(void)
# define slim_hidden_proto_no_warn(name) int _csi_dummy_prototype(void)

View File

@@ -0,0 +1,29 @@
test: fix build when SHOULD_FORK is false
The code in test/cairo-test-runner.c properly takes into account
platforms that do have fork() support, and uses the SHOULD_FORK define
to know whether fork is available or not.
However, this SHOULD_FORK macro is used to guard the inclusion of
<unistd.h>, which is needed to get the prototype of other functions
(namely readlink and getppid), that are used in portions of this file
not guarded by SHOULD_FORK.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Index: b/test/cairo-test-runner.c
===================================================================
--- a/test/cairo-test-runner.c
+++ b/test/cairo-test-runner.c
@@ -36,10 +36,10 @@
#include <pixman.h> /* for version information */
#define SHOULD_FORK HAVE_FORK && HAVE_WAITPID
-#if SHOULD_FORK
#if HAVE_UNISTD_H
#include <unistd.h>
#endif
+#if SHOULD_FORK
#if HAVE_SIGNAL_H
#include <signal.h>
#endif

View File

@@ -0,0 +1,36 @@
Fix thread detection with uClibc in timer_time.m4
The timer_time.m4 gl_TIMER_TIME function determines which libraries
need to be linked to get access to the timer function, generally -lrt
for Linux systems. On platforms where threads are used, librt
typically uses thread functions from libpthread.
However, the test to determine whether the platform has thread or not
is incorrect: it assumes that if the C library is uClibc, then threads
are not available. This is actually not true: uClibc has configurable
thread support, and when thread support is available, librt calls
libpthread functions.
This is important when static linking is used, because otherwise only
-lrt is used at link time, which fails because librt calls undefined
thread functions. Both -lrt and -lpthread must be passed.
This problem is fixed by making the uClibc thread detection a bit
smarter, thanks to the usage of the __HAS_NO_THREADS__ macro defined
in <bits/uClibc_config.h>, which itself is included by <features.h>.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Index: b/m4/timer_time.m4
===================================================================
--- a/m4/timer_time.m4
+++ b/m4/timer_time.m4
@@ -28,7 +28,7 @@
#include <features.h>
#ifdef __GNU_LIBRARY__
#if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || (__GLIBC__ > 2)) \
- && !defined __UCLIBC__
+ && !(__UCLIBC__ && __HAS_NO_THREADS__)
Thread emulation available
#endif
#endif

View File

@@ -25,6 +25,7 @@ if BR2_PACKAGE_CPPCMS
config BR2_PACKAGE_CPPCMS_ICU
bool "enable icu support"
depends on !BR2_arc # icu -> atomic builtins
depends on !BR2_BINFMT_FLAT # icu
select BR2_PACKAGE_ICU
help
Using ICU allows advanced localization features into CppCMS,

View File

@@ -6,7 +6,7 @@ config BR2_PACKAGE_CRYPTSETUP
select BR2_PACKAGE_E2FSPROGS
select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
depends on BR2_LARGEFILE # lvm2, util-linux
depends on BR2_USE_MMU # lvm2
depends on BR2_USE_MMU # lvm2, e2fsprogs
depends on !BR2_PREFER_STATIC_LIB # lvm2
depends on BR2_USE_WCHAR # util-linux
help

View File

@@ -3,7 +3,13 @@ config BR2_PACKAGE_DHCPCD
# No support for AI_ADDRCONFIG
depends on !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R2 && \
!BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R1
depends on !BR2_PREFER_STATIC_LIB
help
An RFC2131 compliant DHCP client
http://roy.marples.name/downloads/dhcpcd
comment "dhcpcd needs a toolchain w/ dynamic library"
depends on !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R2 && \
!BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R1
depends on BR2_PREFER_STATIC_LIB

View File

@@ -2,6 +2,7 @@ config BR2_PACKAGE_DISTCC
bool "distcc"
# needs fork()
depends on BR2_USE_MMU
depends on BR2_DEPRECATED_SINCE_2014_02
help
Distributed compiler client and server. Allows you to
distribute compilation of C code across several machines

View File

@@ -3,6 +3,7 @@ config BR2_PACKAGE_E2FSPROGS
bool "e2fsprogs"
depends on BR2_LARGEFILE
depends on BR2_USE_WCHAR # util-linux
depends on BR2_USE_MMU # util-linux/libblkid
select BR2_PACKAGE_UTIL_LINUX
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
select BR2_PACKAGE_UTIL_LINUX_LIBUUID

View File

@@ -1,6 +1,8 @@
menuconfig BR2_PACKAGE_EFL
bool "Enlightenment Foundation Libraries"
depends on BR2_USE_WCHAR
# libeina uses madvise(). To revisit when bumping EFL to 1.8
depends on BR2_USE_MMU
help
Enlightenment Foundation Libraries

View File

@@ -4,6 +4,7 @@ config BR2_PACKAGE_EXPEDITE
select BR2_PACKAGE_LIBEVAS
select BR2_PACKAGE_LIBEET
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS # libevas
depends on !BR2_avr32 # libevas
help
Expedite is the official Evas benchmark tool. It can test different
@@ -11,6 +12,7 @@ config BR2_PACKAGE_EXPEDITE
DirectFB and so on. Its tests are quite extensive, trying to
reproduce real world usage cases.
comment "expedite needs a toolchain w/ C++"
comment "expedite needs a toolchain w/ C++, threads"
depends on !BR2_INSTALL_LIBSTDCPP
depends on !BR2_TOOLCHAIN_HAS_THREADS
depends on !BR2_avr32

View File

@@ -38,6 +38,11 @@ config BR2_PACKAGE_LIBECORE_X_XCB
config BR2_PACKAGE_LIBECORE_EVAS
bool "libecore Evas support"
select BR2_PACKAGE_LIBEVAS
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on !BR2_avr32 # libevas
comment "evas support needs a toolchain w/ threads"
depends on !BR2_TOOLCHAIN_HAS_THREADS
depends on !BR2_avr32 # libevas
endif # BR2_PACKAGE_LIBECORE

View File

@@ -1,3 +1,7 @@
comment "libedje needs a toolchain w/ threads"
depends on !BR2_avr32
depends on !BR2_TOOLCHAIN_HAS_THREADS
config BR2_PACKAGE_LIBEDJE
bool "libedje"
select BR2_PACKAGE_LIBEINA
@@ -8,6 +12,7 @@ config BR2_PACKAGE_LIBEDJE
select BR2_PACKAGE_LIBEVAS
select BR2_PACKAGE_LUA
depends on !BR2_avr32 # libevas
depends on BR2_TOOLCHAIN_HAS_THREADS # libevas
help
A graphical layout and animation library for animated
resizable, compressed and scalable themes.

View File

@@ -1,3 +1,7 @@
comment "libelementary needs a toolchain w/ threads"
depends on !BR2_avr32
depends on !BR2_TOOLCHAIN_HAS_THREADS
config BR2_PACKAGE_LIBELEMENTARY
bool "libelementary"
select BR2_PACKAGE_LIBEINA
@@ -5,6 +9,7 @@ config BR2_PACKAGE_LIBELEMENTARY
select BR2_PACKAGE_LIBECORE
select BR2_PACKAGE_LIBEDJE
depends on !BR2_avr32 # libevas
depends on BR2_TOOLCHAIN_HAS_THREADS # libevas
help
Elementary is a widget toolkit and EFL wrapper and convenience
library to make it easy to build applications and tools with UIs

View File

@@ -1,3 +1,7 @@
comment "libethumb needs a toolchain w/ threads"
depends on !BR2_avr32
depends on !BR2_TOOLCHAIN_HAS_THREADS
config BR2_PACKAGE_LIBETHUMB
bool "libethumb"
select BR2_PACKAGE_LIBEINA
@@ -6,6 +10,7 @@ config BR2_PACKAGE_LIBETHUMB
select BR2_PACKAGE_LIBECORE_EVAS
select BR2_PACKAGE_LIBEDJE
depends on !BR2_avr32 # libevas
depends on BR2_TOOLCHAIN_HAS_THREADS # libevas
help
Ethumb is a library for generating thumbnail images of documents.

View File

@@ -1,6 +1,16 @@
comment "libevas needs a toolchain w/ threads"
depends on !BR2_avr32
depends on !BR2_TOOLCHAIN_HAS_THREADS
config BR2_PACKAGE_LIBEVAS
bool "libevas"
depends on !BR2_avr32 # no epoll_create1 or inotify_init1
# libevas should normally build without threads, but due to a
# build issue when the async preloader is disabled, which is
# needed when no threads are available, we don't allow evas to
# be built without threads. This should be revisited when efl
# is bumped to 1.8.
depends on BR2_TOOLCHAIN_HAS_THREADS
select BR2_PACKAGE_FREETYPE
select BR2_PACKAGE_LIBEINA
# required to build so far

View File

@@ -203,11 +203,6 @@ else
LIBEVAS_CONF_OPT += --disable-font-loader-eet
endif
# async image preload support needs threads support in toolchain
ifneq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
LIBEVAS_CONF_OPT += --disable-async-preload
endif
# libevas installs the source code of examples on the target, which
# are generally not useful.
define LIBEVAS_REMOVE_EXAMPLES

View File

@@ -21,9 +21,9 @@ config BR2_PACKAGE_ENLIGHTENMENT
depends on BR2_USE_WCHAR
depends on BR2_INSTALL_LIBSTDCPP
# libedbus -> dbus
# libedbus -> glib2
# libedbus -> glib2, libevas
depends on BR2_TOOLCHAIN_HAS_THREADS
# libedbus -> dbus
# libedbus -> dbus, efl libraries
depends on BR2_USE_MMU
depends on BR2_PACKAGE_XORG7
depends on !BR2_avr32 # libevas

View File

@@ -4,7 +4,7 @@ config BR2_PACKAGE_HOST_GDB
# allow to build a cross-gdb, as the one of the external
# toolchain should be used.
depends on !BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY
depends on !BR2_aarch64
depends on !BR2_aarch64 && !BR2_nios2
help
Build a cross gdb that runs on the host machine and debugs
programs running on the target. It requires 'gdbserver'

View File

@@ -1,6 +1,7 @@
config BR2_PACKAGE_GPM
bool "gpm"
depends on !BR2_PREFER_STATIC_LIB
depends on BR2_USE_MMU # fork()
help
"gpm" means general purpose mouse (server) and provides mouse support
for Linux virtual consoles.

View File

@@ -174,6 +174,9 @@ config BR2_PACKAGE_GPSD_NMEA2000
bool "NMEA2000"
select BR2_PACKAGE_GPSD_NAVCOM
select BR2_PACKAGE_GPSD_AIVDM
# uClibc 0.9.31, used on AVR32, does not have the necessary
# CAN definitions.
depends on !BR2_avr32
help
NMEA2000/CAN support

View File

@@ -0,0 +1,46 @@
From 1ca4251d1284f2cb56e31aaec4d369809e2139c9 Mon Sep 17 00:00:00 2001
From: Peter Seiderer <ps.report@gmx.net>
Date: Mon, 24 Feb 2014 16:30:39 +0100
Subject: [PATCH] Fix libgstfsl linkage (add -lrt for shared memory functions).
Fixes runtime failure of gst-fsl-plugins, e.g.:
(gst-plugin-scanner:1700): GStreamer-WARNING **: Failed to load
plugin '/usr/lib/gstreamer-0.10/libmfw_vpu.so':
/usr/lib/libgstfsl-0.10.so.0: undefined symbol: shm_open)
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
configure.ac | 3 +++
libs/Makefile.am | 2 +-
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index f7907a7..9f834df 100755
--- a/configure.ac
+++ b/configure.ac
@@ -173,6 +173,9 @@ AC_CHECK_LIB(ipu, mxc_ipu_lib_task_init, [IPU_LIBS=-lipu], [echo "No libipu arou
AC_SUBST(IPU_CFLAGS)
AC_SUBST(IPU_LIBS)
+AC_SEARCH_LIBS([shm_open], [rt], [SHM_LIBS="-lrt"])
+AC_SUBST(SHM_LIBS)
+
FSL_MM_CORE_CFLAGS=`$PKG_CONFIG --cflags libfslaudiocodec 2>/dev/null`
FSL_MM_CORE_CFLAGS="$FSL_MM_CORE_CFLAGS `$PKG_CONFIG --cflags libfslvideocodec 2>/dev/null`"
FSL_MM_CORE_CFLAGS="$FSL_MM_CORE_CFLAGS `$PKG_CONFIG --cflags libfslparser 2>/dev/null`"
diff --git a/libs/Makefile.am b/libs/Makefile.am
index a68fd4b..7b19b92 100755
--- a/libs/Makefile.am
+++ b/libs/Makefile.am
@@ -12,7 +12,7 @@ libgstfsl_@GST_MAJORMINOR@_la_SOURCES = \
libgstfsl_@GST_MAJORMINOR@_la_CFLAGS = $(GST_BASE_CFLAGS) $(IPU_CFLAGS) -I../inc/common
libgstfsl_@GST_MAJORMINOR@_la_LDFLAGS = -version-info @GSTMXLIBS_VERSION@
-libgstfsl_@GST_MAJORMINOR@_la_LIBADD = $(GST_BASE_LIBS) -lgstvideo-@GST_MAJORMINOR@ -lgstinterfaces-$(GST_MAJORMINOR) $(IPU_LIBS)
+libgstfsl_@GST_MAJORMINOR@_la_LIBADD = $(GST_BASE_LIBS) -lgstvideo-@GST_MAJORMINOR@ -lgstinterfaces-$(GST_MAJORMINOR) $(IPU_LIBS) $(SHM_LIBS)
libgstfsl_@GST_MAJORMINOR@includedir = $(includedir)/gstreamer-@GST_MAJORMINOR@/gst/imx-mm
libgstfsl_@GST_MAJORMINOR@include_HEADERS = \
--
1.8.1.4

View File

@@ -87,6 +87,7 @@ config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_PANGO
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_USE_WCHAR # pango -> libglib2
depends on BR2_TOOLCHAIN_HAS_THREADS # pango -> libglib2
depends on BR2_USE_MMU # pango -> glib2
select BR2_PACKAGE_PANGO
comment "pango plugin needs a toolchain w/ C++, wchar, threads"

View File

@@ -400,6 +400,7 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEG2ENC
config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPG123
bool "mpg123"
select BR2_PACKAGE_MPG123
depends on BR2_USE_MMU # mpg123
help
mp3 decoding based on the mpg123 library

View File

@@ -131,6 +131,7 @@ config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_PANGO
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_USE_WCHAR # pango -> libglib2
depends on BR2_TOOLCHAIN_HAS_THREADS # pango -> libglib2
depends on BR2_USE_MMU # pango -> libglib2
select BR2_PACKAGE_PANGO
help
Pango-based text rendering and overlay

View File

@@ -3,6 +3,10 @@ config BR2_PACKAGE_ICU
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_USE_WCHAR
depends on BR2_TOOLCHAIN_HAS_THREADS
# icu does some funky things by generating by itself an ELF
# file, and it cannot easily be changed to generate FLAT
# format.
depends on !BR2_BINFMT_FLAT
depends on !BR2_arc # atomic builtins
help
International Components for Unicode.
@@ -11,5 +15,6 @@ config BR2_PACKAGE_ICU
comment "icu needs a toolchain w/ C++, wchar, threads"
depends on !BR2_arc
depends on !BR2_BINFMT_FLAT
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
!BR2_TOOLCHAIN_HAS_THREADS

View File

@@ -2,6 +2,10 @@ config BR2_PACKAGE_IPUTILS
bool "iputils"
select BR2_OPENSSL if BR2_INET_IPV6
depends on BR2_USE_MMU # fork()
# requires dn_comp (only available in since uclibc 0.9.33)
depends on !BR2_avr32
depends on !BR2_UCLIBC_VERSION_0_9_31 && \
!BR2_UCLIBC_VERSION_0_9_32
help
This package is set of small useful utilities for Linux networking.
It includes complete versions of ping, traceroute, etc.

View File

@@ -3,6 +3,7 @@ config BR2_PACKAGE_LIBCEC
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_USE_WCHAR
depends on !BR2_PREFER_STATIC_LIB
help
libcec allows you in combination with the right hardware to
control your home theater devices with your TV remote
@@ -10,6 +11,6 @@ config BR2_PACKAGE_LIBCEC
http://libcec.pulse-eight.com
comment "libcec needs a toolchain w/ C++, wchar, threads"
comment "libcec needs a toolchain w/ C++, wchar, threads, dynamic library"
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
!BR2_USE_WCHAR
!BR2_USE_WCHAR || BR2_PREFER_STATIC_LIB

View File

@@ -8,7 +8,8 @@ LIBCGI_VERSION = 1.0
LIBCGI_SITE = http://downloads.sourceforge.net/project/libcgi/libcgi/$(LIBCGI_VERSION)
LIBCGI_INSTALL_STAGING = YES
# use cross CC/AR rather than host
LIBCGI_MAKE_ENV = CC="$(TARGET_CC) $(TARGET_CFLAGS)" AR="$(TARGET_AR)"
LIBCGI_MAKE_ENV = CC="$(TARGET_CC) $(TARGET_CFLAGS)" AR="$(TARGET_AR)" \
$(if $(BR2_PREFER_STATIC_LIB),STATIC=1)
LIBCGI_LICENSE = LGPLv2.1+
$(eval $(autotools-package))

View File

@@ -1,5 +1,7 @@
--- libcgi-1.0.orig/src/cgi.c
+++ libcgi-1.0/src/cgi.c
Index: b/src/cgi.c
===================================================================
--- a/src/cgi.c
+++ b/src/cgi.c
@@ -336,7 +336,7 @@
hextable['b'] = 11;
hextable['c'] = 12;
@@ -9,8 +11,10 @@
hextable['f'] = 15;
hextable['A'] = 10;
hextable['B'] = 11;
--- libcgi-1.0.orig/src/string.c
+++ libcgi-1.0/src/string.c
Index: b/src/string.c
===================================================================
--- a/src/string.c
+++ b/src/string.c
@@ -584,7 +584,7 @@
va_start(ptr, s);
@@ -20,9 +24,11 @@
len = strlen(s);
while (*str) {
--- libcgi-1.0.orig/Makefile.in
+++ libcgi-1.0/Makefile.in
@@ -5,22 +5,27 @@
Index: b/Makefile.in
===================================================================
--- a/Makefile.in
+++ b/Makefile.in
@@ -5,22 +5,32 @@
prefix = @prefix@
exec_prefix = @exec_prefix@
@@ -44,18 +50,23 @@
+SHOBJS=$(OBJS:.o=.sh.o)
-.c.o: $(CC) $(FLAGS) -c $<
+%.o: %.c
+ $(CC) $(FLAGS) -c $*.c -o $@
+ALL_TARGETS = src/libcgi.a
+ifeq ($(STATIC),)
+ALL_TARGETS += src/libcgi.so
+endif
-all: $(OBJS) src/libcgi.so
+%.o: %.c
+ $(CC) $(FLAGS) -c $*.c -o $@
+
+%.sh.o: %.c
+ $(CC) $(FLAGS) -fPIC -c $*.c -o $@
+
+all: src/libcgi.so src/libcgi.a
+all: $(ALL_TARGETS)
@echo ""
@echo ""
@@ -48,14 +53,15 @@
@@ -48,14 +58,17 @@
src/libcgi.a: $(OBJS)
$(AR) rc src/libcgi.a $(OBJS)
@@ -70,14 +81,16 @@
- cp src/cgi.h $(INCDIR)
- cp src/session.h $(INCDIR)
+ cp src/libcgi.a $(DESTDIR)/$(LIBDIR)
+ifeq ($(STATIC),)
+ cp src/libcgi.so $(DESTDIR)/$(LIBDIR)
+endif
+ [ -d $(DESTDIR)/$(INCDIR) ] || mkdir -p $(DESTDIR)/$(INCDIR)
+ cp src/cgi.h $(DESTDIR)/$(INCDIR)
+ cp src/session.h $(DESTDIR)/$(INCDIR)
src/error.o: src/error.c src/error.h
@@ -69,8 +75,9 @@
@@ -69,8 +82,9 @@
src/list.o: src/list.c
clean:
@@ -88,7 +101,7 @@
uninstall: clean
rm -f $(LIBDIR)/libcgi.*
@@ -78,11 +85,11 @@
@@ -78,11 +92,11 @@
rm -f $(INCDIR)/session.h
rm -f $(MANDIR)/libcgi*

View File

@@ -2,6 +2,7 @@ config BR2_PACKAGE_LIBGAIL
bool "libgail"
depends on BR2_USE_WCHAR # pango -> libglib2
depends on BR2_TOOLCHAIN_HAS_THREADS # pango -> libglib2
depends on BR2_USE_MMU # pango -> libglib2
depends on BR2_PACKAGE_LIBGTK2
select BR2_PACKAGE_PANGO
help

View File

@@ -27,9 +27,11 @@ config BR2_PACKAGE_LIBPLAYER_GSTREAMER
bool "gstreamer backend"
depends on BR2_USE_WCHAR # glib2
depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
depends on BR2_USE_MMU # glib2
select BR2_PACKAGE_GSTREAMER
comment "gstreamer backend needs a toolchain w/ wchar, threads"
depends on BR2_USE_MMU
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
config BR2_PACKAGE_LIBPLAYER_PYTHON

View File

@@ -4,6 +4,8 @@ config BR2_PACKAGE_LIBSECRET
depends on BR2_USE_WCHAR # gettext dep in libglib2
depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
depends on BR2_USE_MMU # libglib2
# Triggers an internal compiler error on AVR32
depends on !BR2_avr32
help
libsecret is a library for storing and retrieving passwords and other
secrets. It communicates with the "Secret Service" using DBus.
@@ -13,5 +15,6 @@ config BR2_PACKAGE_LIBSECRET
https://wiki.gnome.org/Libsecret
comment "libsecret needs a toolchain w/ wchar, threads"
depends on !BR2_avr32
depends on BR2_USE_MMU
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS

View File

@@ -0,0 +1,44 @@
Add support for static-only build
Instead of unconditionally building shared libraries, this patch
improves the libsepol build system with a "STATIC" variable, which
when defined to some non-empty value, will disable the build of shared
libraries. It allows to support cases where the target architecture
does not have support for shared libraries.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Index: b/src/Makefile
===================================================================
--- a/src/Makefile
+++ b/src/Makefile
@@ -17,7 +17,12 @@
CFLAGS ?= -Werror -Wall -W -Wundef -Wshadow -Wmissing-noreturn -Wmissing-format-attribute
override CFLAGS += -I. -I../include -D_GNU_SOURCE
-all: $(LIBA) $(LIBSO) $(LIBPC)
+ALL_TARGETS = $(LIBA) $(LIBPC)
+ifeq ($(STATIC),)
+ALL_TARGETS += $(LIBSO)
+endif
+
+all: $(ALL_TARGETS)
$(LIBA): $(OBJS)
$(AR) rcs $@ $^
@@ -39,11 +44,13 @@
install: all
test -d $(LIBDIR) || install -m 755 -d $(LIBDIR)
install -m 644 $(LIBA) $(LIBDIR)
- test -d $(SHLIBDIR) || install -m 755 -d $(SHLIBDIR)
- install -m 755 $(LIBSO) $(SHLIBDIR)
test -d $(LIBDIR)/pkgconfig || install -m 755 -d $(LIBDIR)/pkgconfig
install -m 644 $(LIBPC) $(LIBDIR)/pkgconfig
+ifeq ($(STATIC),)
+ test -d $(SHLIBDIR) || install -m 755 -d $(SHLIBDIR)
+ install -m 755 $(LIBSO) $(SHLIBDIR)
cd $(LIBDIR) && ln -sf ../../`basename $(SHLIBDIR)`/$(LIBSO) $(TARGET)
+endif
relabel:
/sbin/restorecon $(SHLIBDIR)/$(LIBSO)

View File

@@ -11,18 +11,24 @@ LIBSEPOL_LICENSE_FILES = COPYING
LIBSEPOL_INSTALL_STAGING = YES
LIBSEPOL_MAKE_FLAGS = $(TARGET_CONFIGURE_OPTS)
ifeq ($(BR2_PREFER_STATIC_LIB),y)
LIBSEPOL_MAKE_FLAGS += STATIC=1
endif
define LIBSEPOL_BUILD_CMDS
# DESTDIR is needed during the compile to compute library and
# header paths.
$(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) DESTDIR=$(STAGING_DIR)
$(MAKE) -C $(@D) $(LIBSEPOL_MAKE_FLAGS) DESTDIR=$(STAGING_DIR)
endef
define LIBSEPOL_INSTALL_STAGING_CMDS
$(MAKE) -C $(@D) install $(TARGET_CONFIGURE_OPTS) DESTDIR=$(STAGING_DIR)
$(MAKE) -C $(@D) install $(LIBSEPOL_MAKE_FLAGS) DESTDIR=$(STAGING_DIR)
endef
define LIBSEPOL_INSTALL_TARGET_CMDS
$(MAKE) -C $(@D) install $(TARGET_CONFIGURE_OPTS) DESTDIR=$(TARGET_DIR)
$(MAKE) -C $(@D) install $(LIBSEPOL_MAKE_FLAGS) DESTDIR=$(TARGET_DIR)
endef
define HOST_LIBSEPOL_BUILD_CMDS

View File

@@ -0,0 +1,19 @@
Add stack direction for Blackfin
The stack grows downward on Blackfin, see
https://sourceware.org/binutils/docs/as/Blackfin-Syntax.html: "The
stack grows by decrementing the stack pointer.".
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Index: b/m4/stack-direction.m4
===================================================================
--- a/m4/stack-direction.m4
+++ b/m4/stack-direction.m4
@@ -18,6 +18,7 @@
arc | \
arm* | strongarm* | xscale* | \
avr | avr32 | \
+ bfin | \
c1 | c2 | c32 | c34 | c38 | \
clipper | \
cris | \

View File

@@ -13,6 +13,19 @@ LIBTOOL_LICENSE_FILES = COPYING
HOST_LIBTOOL_LIBTOOL_PATCH = NO
# libtool-mips64-n64-linking.post-install-patch is an upstream patch that
# fixes MIPS64 n64 link failures. However, because the patch touches an m4
# file, applying it triggers a run of autoconf, automake, etc. This sometimes
# leads to build failures due to incompatible system autotools. We cannot
# simply set HOST_LIBTOOL_AUTORECONF = YES because that would create a
# circular dependency on host-libtool. Therefore, just apply the patch
# directly on the installed file.
define HOST_LIBTOOL_FIXUP_LIBTOOL_M4
patch $(HOST_DIR)/usr/share/aclocal/libtool.m4 < \
package/libtool/libtool-mips64-n64-linking.post-install-patch
endef
HOST_LIBTOOL_POST_INSTALL_HOOKS += HOST_LIBTOOL_FIXUP_LIBTOOL_M4
$(eval $(autotools-package))
$(eval $(host-autotools-package))

View File

@@ -0,0 +1,34 @@
From: Riku Voipio <riku.voipio@linaro.org>
Date: Tue, 22 Jan 2013 15:37:22 +0000 (-0300)
Subject: v4l-utils: use openat when available
X-Git-Tag: v4l-utils-0.9.4~61
X-Git-Url: http://git.linuxtv.org
v4l-utils: use openat when available
New architectures such as 64-Bit arm build kernels without legacy
system calls - Such as the the no-at system calls. Thus, use
SYS_openat whenever it is available.
Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
---
diff --git a/lib/libv4lconvert/libv4lsyscall-priv.h b/lib/libv4lconvert/libv4lsyscall-priv.h
index 2dac49a..cdd38bc 100644
--- a/lib/libv4lconvert/libv4lsyscall-priv.h
+++ b/lib/libv4lconvert/libv4lsyscall-priv.h
@@ -72,8 +72,13 @@ typedef off_t __off_t;
#ifndef CONFIG_SYS_WRAPPER
+#ifdef SYS_openat
+#define SYS_OPEN(file, oflag, mode) \
+ syscall(SYS_openat, AT_FDCWD, (const char *)(file), (int)(oflag), (mode_t)(mode))
+#else
#define SYS_OPEN(file, oflag, mode) \
syscall(SYS_open, (const char *)(file), (int)(oflag), (mode_t)(mode))
+#endif
#define SYS_CLOSE(fd) \
syscall(SYS_close, (int)(fd))
#define SYS_IOCTL(fd, cmd, arg) \

View File

@@ -72,14 +72,14 @@ config BR2_DEFAULT_KERNEL_HEADERS
string
default "3.0.101" if BR2_KERNEL_HEADERS_3_0
default "3.2.55" if BR2_KERNEL_HEADERS_3_2
default "3.4.80" if BR2_KERNEL_HEADERS_3_4
default "3.4.82" if BR2_KERNEL_HEADERS_3_4
default "3.6.11" if BR2_KERNEL_HEADERS_3_6
default "3.7.10" if BR2_KERNEL_HEADERS_3_7
default "3.8.13" if BR2_KERNEL_HEADERS_3_8
default "3.9.11" if BR2_KERNEL_HEADERS_3_9
default "3.10.30" if BR2_KERNEL_HEADERS_3_10
default "3.10.32" if BR2_KERNEL_HEADERS_3_10
default "3.11.10" if BR2_KERNEL_HEADERS_3_11
default "3.12.11" if BR2_KERNEL_HEADERS_3_12
default "3.13.3" if BR2_KERNEL_HEADERS_3_13
default "3.12.13" if BR2_KERNEL_HEADERS_3_12
default "3.13.5" if BR2_KERNEL_HEADERS_3_13
default "2.6" if BR2_KERNEL_HEADERS_SNAP
default BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION

View File

@@ -17,6 +17,12 @@ LINUX_HEADERS_SOURCE = linux-$(LINUX_HEADERS_VERSION).tar.xz
LINUX_HEADERS_INSTALL_STAGING = YES
# For some architectures (eg. Arc, Cris, Hexagon, ia64, parisc,
# score and xtensa), the Linux buildsystem tries to call the
# cross-compiler, although it is not needed at all.
# This results in seemingly errors like:
# [...]/scripts/gcc-version.sh: line 26: arc-linux-uclibc-gcc: command not found
# Those can be safely ignored.
define LINUX_HEADERS_INSTALL_STAGING_CMDS
(cd $(@D); \
$(TARGET_MAKE_ENV) $(MAKE) \

View File

@@ -0,0 +1,17 @@
matchbox-lib: include setjmp.h
Based on this upstream patch:
http://git.yoctoproject.org/cgit/cgit.cgi/libmatchbox/commit/?id=9315bcce1f01e7d6c00161442d61d3c676794d9d
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
--- libmatchbox-1.9/libmb/mbpixbuf.c.orig 2014-02-21 12:45:46.867035956 +0000
+++ libmatchbox-1.9/libmb/mbpixbuf.c 2014-02-21 12:46:43.482949583 +0000
@@ -22,6 +22,7 @@
#include <strings.h>
#include "mbpixbuf.h"
+#include <setjmp.h>
#define BYTE_ORD_24_RGB 0
#define BYTE_ORD_24_RBG 1

View File

@@ -1,5 +1,6 @@
config BR2_PACKAGE_MPG123
bool "mpg123"
depends on BR2_USE_MMU # fork - in the application
help
Fast, free and portable MPEG audio player for Unix. It supports
MPEG 1.0/2.0 layers 1, 2 and 3.

View File

@@ -11,6 +11,14 @@ NCFTP_TARGET_BINS = ncftp
NCFTP_LICENSE = Clarified Artistic License
NCFTP_LICENSE_FILES = doc/LICENSE.txt
NCFTP_DEPENDENCIES = host-autoconf
define NCFTP_RUN_AUTOCONF
(cd $(@D); $(HOST_DIR)/usr/bin/autoconf -I$(@D)/autoconf_local/)
endef
NCFTP_PRE_CONFIGURE_HOOKS += NCFTP_RUN_AUTOCONF
ifeq ($(BR2_PACKAGE_NCFTP_GET),y)
NCFTP_TARGET_BINS += ncftpget
endif

View File

@@ -134,6 +134,7 @@ comment "ffmpeg support needs a toolchain w/ largefile, IPv6"
config BR2_PACKAGE_OPENCV_WITH_GSTREAMER
bool "gstreamer support"
depends on BR2_USE_MMU # gstreamer -> libglib2
depends on BR2_USE_WCHAR # gstreamer -> libglib2
depends on BR2_TOOLCHAIN_HAS_THREADS # gstreamer -> libglib2
select BR2_PACKAGE_GSTREAMER
@@ -141,6 +142,7 @@ config BR2_PACKAGE_OPENCV_WITH_GSTREAMER
select BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_APP
comment "gstreamer support needs a toolchain w/ wchar, threads"
depends on BR2_USE_MMU
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
config BR2_PACKAGE_OPENCV_WITH_GTK
@@ -149,6 +151,7 @@ config BR2_PACKAGE_OPENCV_WITH_GTK
depends on BR2_USE_WCHAR # libgtk2 -> libglib2
depends on BR2_TOOLCHAIN_HAS_THREADS # libgtk2 -> libglib2
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_USE_MMU # libgtk2 -> glib2
select BR2_PACKAGE_LIBGTK2
config BR2_PACKAGE_OPENCV_WITH_JPEG
@@ -167,6 +170,7 @@ config BR2_PACKAGE_OPENCV_WITH_QT
bool "qt backend support"
depends on BR2_INSTALL_LIBSTDCPP
depends on !BR2_avr32 # qt
depends on BR2_USE_MMU # qt
select BR2_PACKAGE_QT
select BR2_PACKAGE_QT_STL
default y

View File

@@ -1,4 +1,5 @@
comment "openpowerlink needs a toolchain w/ C++, threads"
depends on BR2_USE_MMU
depends on BR2_i386 || BR2_x86_64
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
@@ -7,6 +8,7 @@ config BR2_PACKAGE_OPENPOWERLINK
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_i386 || BR2_x86_64
depends on BR2_USE_MMU # qt
help
openPOWERLINK is an Open Source Industrial Ethernet
stack implementing the POWERLINK protocol for Managing Node

View File

@@ -3,6 +3,7 @@ config BR2_PACKAGE_PCMANFM
depends on BR2_PACKAGE_XORG7
depends on BR2_USE_WCHAR # glib2
depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
depends on BR2_USE_MMU # glib2
select BR2_PACKAGE_GAMIN
select BR2_PACKAGE_STARTUP_NOTIFICATION
select BR2_PACKAGE_XLIB_LIBX11

View File

@@ -162,11 +162,13 @@ config BR2_PACKAGE_PHP_EXT_INTL
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_USE_WCHAR
depends on !BR2_arc # icu -> atomic builtins
depends on !BR2_BINFMT_FLAT # icu
help
Internationalization support
comment "intl support needs a toolchain w/ C++, wchar"
depends on !BR2_arc
depends on !BR2_BINFMT_FLAT
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR
comment "Image processing"

View File

@@ -0,0 +1,41 @@
Add a check for FE_DIVBYZERO
Some architectures (namely Microblaze) do have fenv.h and
feenableexcept, but they don't have the FE_DIVBYZERO definition. This
patch adds a configure check for FE_DIVBYZERO, and only uses it if
it's available.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Index: b/configure.ac
===================================================================
--- a/configure.ac
+++ b/configure.ac
@@ -838,6 +838,11 @@
AC_DEFINE(HAVE_FEENABLEEXCEPT, 1, [Whether we have feenableexcept()])
fi
+AC_CHECK_DECL([FE_DIVBYZERO], [], [], [[#include <fenv.h>]])
+if test x$ac_cv_have_decl_FE_DIVBYZERO = xyes; then
+ AC_DEFINE(HAVE_FEDIVBYZERO, 1, [Whether we have FE_DIVBYZERO])
+fi
+
AC_CHECK_FUNC(gettimeofday, have_gettimeofday=yes, have_gettimeofday=no)
AC_CHECK_HEADER(sys/time.h, have_sys_time_h=yes, have_sys_time_h=no)
if test x$have_gettimeofday = xyes && test x$have_sys_time_h = xyes; then
Index: b/test/utils.c
===================================================================
--- a/test/utils.c
+++ b/test/utils.c
@@ -776,9 +776,11 @@
{
#ifdef HAVE_FENV_H
#ifdef HAVE_FEENABLEEXCEPT
+#ifdef HAVE_FE_DIVBYZERO
feenableexcept (FE_DIVBYZERO);
#endif
#endif
+#endif
}
void *

View File

@@ -470,7 +470,7 @@ $(1)-graph-depends:
@$(INSTALL) -d $(O)/graphs
@cd "$(CONFIG_DIR)"; \
$(TOPDIR)/support/scripts/graph-depends $(1) \
|dot -T$(BR2_GRAPH_OUT) -o $(O)/graphs/$$(@).$(BR2_GRAPH_OUT)
|dot -T$(_BR2_GRAPH_OUT) -o $(O)/graphs/$$(@).$(_BR2_GRAPH_OUT)
$(1)-dirclean: $$($(2)_TARGET_DIRCLEAN)

View File

@@ -9,7 +9,13 @@ PV_SOURCE = pv-$(PV_VERSION).tar.bz2
PV_SITE = http://www.ivarch.com/programs/sources
PV_LICENSE = Artistic-2.0
PV_LICENSE_FILES = doc/COPYING
PV_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)
# pv configure script is somewhat stupid: if it cannot find the host
# gettext tool msgfmt, it concludes that gettext is not available, and
# provides its own minimal version. Unfortunately, this minimal
# version conflicts with the available target gettext. We fix this by
# ensuring that host-gettext is built if gettext support is enabled;
PV_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext host-gettext)
# While 'pv' uses autoconf, it does not use automake for its
# makefiles. It uses $(LD) $(LDFLAGS) to achieve partial linking, but

View File

@@ -1,10 +1,12 @@
comment "qt needs a toolchain w/ C++, threads"
depends on !BR2_avr32
depends on BR2_USE_MMU
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
menuconfig BR2_PACKAGE_QT
bool "Qt"
depends on !BR2_avr32 # lacks TLS
depends on BR2_USE_MMU # fork
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS
help

View File

@@ -189,6 +189,7 @@ config BR2_PACKAGE_QT5BASE_ICU
bool "Enable ICU support"
select BR2_PACKAGE_ICU
depends on !BR2_arc # icu -> atomic builtins
depends on !BR2_BINFMT_FLAT # icu
help
This option enables ICU support in Qt5. This is for example
needed for Qt5Webkit.

View File

@@ -4,7 +4,10 @@ config BR2_PACKAGE_RT_TESTS
# priority-inheritance mutex needs NPTL
depends on !BR2_PTHREADS && !BR2_PTHREADS_OLD
# no NPTL for these archs
depends on !BR2_avr32 && !BR2_xtensa && !BR2_arc
depends on !BR2_avr32 && !BR2_xtensa && !BR2_arc && !BR2_bfin
# no _tid field in 'struct sigevent'
depends on !(BR2_TOOLCHAIN_USES_UCLIBC && (BR2_mips || BR2_mipsel || \
BR2_mips64 || BR2_mips64el))
help
Set of utilities for testing the real-time behaviour of a
Linux system.
@@ -25,5 +28,9 @@ config BR2_PACKAGE_RT_TESTS
comment "rt-tests needs a toolchain w/ threads"
depends on !BR2_PTHREADS && !BR2_PTHREADS_OLD
depends on !BR2_avr32 && !BR2_xtensa && !BR2_arc
depends on !BR2_avr32 && !BR2_xtensa && !BR2_arc && !BR2_bfin
depends on !BR2_TOOLCHAIN_HAS_THREADS
comment "rt-tests needs an (e)glibc toolchain"
depends on BR2_TOOLCHAIN_USES_UCLIBC && (BR2_mips || BR2_mipsel || \
BR2_mips64 || BR2_mips64el)

View File

@@ -8,6 +8,7 @@ SAWMAN_VERSION = 1.6.3
SAWMAN_SOURCE = SaWMan-$(SAWMAN_VERSION).tar.gz
SAWMAN_SITE = http://www.directfb.org/downloads/Extras
SAWMAN_INSTALL_STAGING = YES
SAWMAN_AUTORECONF = YES
SAWMAN_DEPENDENCIES = directfb
$(eval $(autotools-package))

View File

@@ -31,6 +31,7 @@ config BR2_PACKAGE_SCONESERVER_HTTP_SCONESITE
config BR2_PACKAGE_SCONESERVER_HTTP_SCONESITE_IMAGE
bool "http::sconesite::image"
depends on BR2_PACKAGE_SCONESERVER_HTTP_SCONESITE
depends on BR2_USE_MMU # imagemagick
select BR2_PACKAGE_IMAGEMAGICK
help
http::sconesite::image module for Sconeserver

View File

@@ -12,12 +12,12 @@ SDL_LICENSE_FILES = COPYING
SDL_INSTALL_STAGING = YES
# we're patching configure.in, but package cannot autoreconf with our version of
# autotools, so we have to do it manually instead of setting SD_AUTORECONF = YES
# autotools, so we have to do it manually instead of setting SDL_AUTORECONF = YES
define SDL_RUN_AUTOGEN
cd $(@D) && PATH=$(HOST_PATH) ./autogen.sh
endef
SDL_POST_PATCH_HOOKS += SDL_RUN_AUTOGEN
SDL_PRE_CONFIGURE_HOOKS += SDL_RUN_AUTOGEN
SDL_DEPENDENCIES += host-automake host-autoconf host-libtool

View File

@@ -9,7 +9,7 @@ THRIFT_SITE = http://www.us.apache.org/dist/thrift/$(THRIFT_VERSION)
THRIFT_DEPENDENCIES = host-pkgconf host-thrift boost libevent openssl zlib
THRIFT_INSTALL_STAGING = YES
HOST_THRIFT_DEPENDENCIES = host-boost host-libevent host-openssl host-pkgconf \
host-zlib
host-zlib host-bison host-flex
THRIFT_CONF_OPT = --with-sysroot=$(STAGING_DIR) --with-tests=no \
--with-boost=$(STAGING_DIR)
HOST_THRIFT_CONF_OPT = --with-sysroot=$(HOST_DIR) --with-tests=no

View File

@@ -28,8 +28,6 @@ define TVHEADEND_CONFIGURE_CMDS
$(TARGET_CONFIGURE_ARGS) \
./configure \
--prefix=/usr \
--cc="$(TARGET_CC)" \
--cflags="$(TARGET_CFLAGS)" \
--arch="$(ARCH)" \
--cpu="$(BR2_GCC_TARGET_CPU)" \
--python="$(HOST_DIR)/usr/bin/python" \

View File

@@ -5,6 +5,7 @@ config BR2_PACKAGE_UDEV
depends on BR2_LARGEFILE # util-linux
depends on BR2_USE_WCHAR # util-linux
depends on !BR2_PREFER_STATIC_LIB # kmod
depends on BR2_USE_MMU # util-linux/libblkid
select BR2_PACKAGE_UTIL_LINUX
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
select BR2_PACKAGE_KMOD

View File

@@ -14,6 +14,7 @@ if BR2_PACKAGE_UTIL_LINUX
config BR2_PACKAGE_UTIL_LINUX_LIBBLKID
select BR2_PACKAGE_UTIL_LINUX_LIBUUID
depends on BR2_USE_MMU # fork
bool "libblkid"
help
Install libblkid.
@@ -22,6 +23,7 @@ config BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
# libc lacks UTIME_NOW & UTIME_COMMIT
depends on !(BR2_microblazeel || BR2_microblazebe)
depends on BR2_USE_MMU # util-linux/libblkid
bool "libmount"
help
Install libmount.

View File

@@ -4,15 +4,19 @@ config BR2_PACKAGE_WEBKIT_ARCH_SUPPORTS
default y if (BR2_arm || BR2_armeb) && \
!(BR2_arm7tdmi || BR2_arm720t || BR2_arm920t || BR2_arm922t || BR2_fa526)
default y if BR2_i386 || BR2_mips || BR2_mipsel || \
BR2_powerpc || BR2_sh || BR2_sparc || BR2_x86_64
BR2_sh || BR2_sparc || BR2_x86_64
# disabled on powerpc due to bug https://bugs.webkit.org/show_bug.cgi?id=113638
config BR2_PACKAGE_WEBKIT
bool "webkit"
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_USE_WCHAR # enchant -> libglib2
depends on BR2_TOOLCHAIN_HAS_THREADS # enchant -> libglib2
depends on BR2_USE_MMU # libgail -> pango -> libglib2
depends on BR2_PACKAGE_LIBGTK2
depends on BR2_PACKAGE_WEBKIT_ARCH_SUPPORTS
depends on !BR2_BINFMT_FLAT # icu
select BR2_PACKAGE_CAIRO_PNG
select BR2_PACKAGE_ENCHANT
select BR2_PACKAGE_HARFBUZZ

View File

@@ -3,6 +3,8 @@ config BR2_PACKAGE_XSCREENSAVER
depends on BR2_PACKAGE_XORG7
depends on BR2_INSTALL_LIBSTDCPP # libgtk2->pango
depends on BR2_TOOLCHAIN_HAS_THREADS # libgtk2->glib2
depends on BR2_USE_WCHAR # libgtk2->glib2
depends on BR2_USE_MMU # libgtk2->glib2
select BR2_PACKAGE_LIBGTK2
select BR2_PACKAGE_LIBGLADE
select BR2_PACKAGE_JPEG
@@ -18,6 +20,7 @@ config BR2_PACKAGE_XSCREENSAVER
http://www.jwz.org/xscreensaver/
comment "xscreensaver needs a toolchain w/ C++, threads"
comment "xscreensaver needs a toolchain w/ wchar, C++, threads"
depends on BR2_PACKAGE_XORG7
depends on BR2_USE_MMU
depends on !(BR2_INSTALL_LIBSTDCPP && BR2_TOOLCHAIN_HAS_THREADS)

View File

@@ -127,6 +127,7 @@ config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
depends on BR2_LARGEFILE # udev
depends on BR2_USE_WCHAR # udev
depends on !BR2_PREFER_STATIC_LIB # udev -> kmod
depends on BR2_USE_MMU # udev -> util-linux/libblkid
select BR2_PACKAGE_UDEV
comment "udev needs a toolchain w/ largefile, wchar"

View File

@@ -5,5 +5,5 @@
proc /proc proc defaults 0 0
devpts /dev/pts devpts defaults,gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs mode=0777 0 0
tmpfs /tmp tmpfs defaults 0 0
tmpfs /tmp tmpfs mode=1777 0 0
sysfs /sys sysfs defaults 0 0