We're disabling fenv.h usage on i386 because it is not available in
musl/uclibc (and not musl/glibc as was written).
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The official upstream site is available again, so let's switch to
using it.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Tested-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Now that xtensa toolchain is able to compile huge functions this
workaround is no longer needed.
This reverts commit d21932508e.
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
With support from assembler this option allows compiling huge functions,
where single literal pool at the beginning of a function may not be
reachable by L32R instructions at its end.
Currently assembler --auto-litpools option cannot deal with literals
used from multiple locations separated by more than 256 KBytes of code.
Don't turn constants into literals, instead use MOVI instruction to load
them into registers and let the assembler turn them into literals as
necessary.
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Auto-litpools is the automated version of text-section-literals: literal
pool candidate frags are planted every N frags and during relaxation
they are turned into actual literal pools where literals are moved to
become reachable for their first reference by L32R instruction.
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
One of the gcc configure options that we hash for ccache is
--with-pkgversion which is set to something like Buildroot
2015.11-git-00426-ge7e7e4f - i.e., it will change with every buildroot
commit. That's obviously not wanted, so substitute this away.
Also add a \n to the printf so the output is a bit more readable.
[Peter: update documentation to match]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
When building in a different output directory than the original build,
there will currently be a lot of ccache misses because in many cases
there is some -I/... absolute path in the compilation. Ccache has an
option CCACHE_BASEDIR to substitute absolute paths with relative paths,
so they wil be the same in the hash (and in the output).
Since there are some disadvantages to this path rewriting, it is made
optional as BR2_CCACHE_USE_BASEDIR. It defaults to y because the
usefulness of ccache is severely reduced without this option.
In addition to CCACHE_BASEDIR, we also substitute away the occurences
of $(HOST_DIR) in the calculation of the compiler hash. This is done
regardless of the setting of BR2_CCACHE_USE_BASEDIR because it's
quite harmless.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Our current ccache disables hashing of the compiler executable itself,
because using the default 'mtime' doesn't work in buildroot: we always
rebuild the compiler, so the mtime is always different, so the cache
always misses.
However, in the current situation, if a user changes the compiler
configuration (which would result in the compiler generating different
object files than before) and does 'make clean all', ccache may in fact
reuse object files from the previous run. This rarely gives problems,
because
(1) the cache expires quite quickly (it's only 1GB by default),
(2) radically changing compiler options will cause cache misses because
different header files are used,
(3) many compiler changes (e.g. changing -mtune) have little practical
effect because the resulting code is usually still compatible,
(4) we currently don't use CCACHE_BASEDIR, and almost all object files
will contain an absolute path (e.g. in debug info), so when
building in a different directory, most of it will miss,
(5) we do mostly build test, and many of the potential problems only
appear at runtime.
Still, when ccache _does_ use the wrong cached object files, the
effects are really weird and hard to debug. Also, we want reproducible
builds and obviously the above makes builds non-reproducible. So we
have a FAQ entry that warns against using ccache and tells the user to
clear the cache in case of problems.
Now that ccache is called from the toolchain wrapper, it is in fact
possible to at least use the 'mtime' compiler hash for the external
toolchain and for the host-gcc. Indeed, in this case, the compiler
executable comes from a tarball so the mtime will be a good reference
for its state. Therefore, the patch (sed script) that changes the
default from 'mtime' to 'none' is removed.
For the internal toolchain, we can do better by providing a hash of
the relevant toolchain options. We are only interested in things that
affect the compiler itself, because ccache also processes the header
files and it doesn't look at libraries because it doesn't cache the
link step, just compilation. Everything that affects the compiler
itself can nicely be summarised in $(HOST_GCC_FINAL_CONF_OPTS). Of
course, also the compiler source itself is relevant, so the source
tarball and all the patches are included in the hash. For this purpose,
a new HOST_GCC_XTENSA_OVERLAY_TAR is introduced.
The following procedure tests the ccache behaviour:
Use this defconfig:
BR2_arm=y
BR2_CCACHE=y
make
readelf -A output/build/uclibc-1.0.6/libc/signal/signal.os
-> Tag_CPU_name: "ARM926EJ-S"
Now make menuconfig, change variant into BR2_cortex_a9
make clean; make
readelf -A output/build/uclibc-1.0.6/libc/signal/signal.os
-> Tag_CPU_name: "ARM926EJ-S"
should be "Cortex-A9"
After this commit, it is "Cortex-A9".
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Cc: Danomi Manchego <danomimanchego123@gmail.com>
Cc: Károly Kasza <kaszak@gmail.com>
Cc: Samuel Martin <s.martin49@gmail.com>
Cc: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Although this patch is still relevant for upstream, we don't need it
anymore in buildoort because we no longer have _ARG1.
Note that it would be relevant again if we would add host-qpid-proton.
However, the 0.10 release already has the fix.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
All the complexity with the different ways that CMAKE_C_COMPILER and
CMAKE_C_COMPILER_ARG1 can be set are no longer needed, it's all handled
by the toolchain wrapper now.
Note that it is still necessary to handle this for the host build.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Now the ccache handling has moved to the toolchain wrapper, it is no
longer necessary to pass TARGET_CC_NOCCACHE.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Since we always have a toolchain wrapper now, we can move the ccache
call to the toolchain wrapper.
The hostcc ccache handling obviously stays.
The global addition of ccache to TARGET_CC/CXX is removed, but many
individual packages and infras still add it. This means we have a
chain like this: ccache -> toolchain-wrapper -> ccache -> gcc
However, this is fairly harmless: for cache misses, the inner ccache
just adds overhead and for cache hits, the inner ccache is never
called. Later patches will remove these redundant ccache calls.
As a side effect, perl now supports ccache as well.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Cc: Danomi Manchego <danomimanchego123@gmail.com>
Cc: Károly Kasza <kaszak@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Now that the calls to gcc always pass through the toolchain wrapper, it
is no longer necessary to patch gcc to support poisoning.
This does have the disadvantage that there is no unsafe path check for
libc, libgcc and libstdc++ (all of these are built before the wrapper
exists). But we can assume that the toolchain components themselves
should be pretty safe.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
We have a toolchain wrapper for external toolchain, but it is also
beneficial for internal toolchains, for the following reasons:
1. It can make sure that BR2_TARGET_OPTIMIZATION is passed to the
compiler even if a package's build system doesn't honor CFLAGS.
2. It allows us to do the unsafe path check (i.e. -I/usr/include)
without patching gcc.
3. It makes it simpler to implement building each package with a
separate staging directory (per-package staging).
4. It makes it simpler to implement a compiler hash check for ccache.
The wrapper is reused from the external toolchain. A third CROSS_PATH_
option is added to the wrapper: in this case, the real executable is in
the same directory, with the extension .real.
The creation of the simple symlinks is merged with the creation of the
wrapper symlinks, otherwise part of the -gcc-ar handling logic would
have to be repeated.
The complex case-condition could be refactored with the one for the
external toolchain, but then it becomes even more complex because
they each have special corner cases. For example, the internal
toolchain has to handle *.real to avoid creating an extra indirection
after host-gcc-{final,initial}-rebuild.
Instead of creating the .real files, it would also have been possible
to install the internal toolchain in $(HOST_DIR)/opt, similar to what
we do for the external toolchain. However, then we would also have to
copy things to the sysroot and do more of the magic that the external
toolchain is doing. So keeping it in $(HOST_DIR)/usr/bin is much
simpler.
Note that gcc-initial has to be wrapped as well, because it is used for
building libc and we want to apply the same magic when building libc.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Cc: Fabio Porcedda <fabio.porcedda@gmail.com>
Cc: Jérôme Oufella <jerome.oufella@savoirfairelinux.com>
Reviewed-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The FOO_SITE/FOO_SOURCE variables usually point to a tarball containing
source code.
For the downloaded external toolchains this is not true, the "source"
tarball actually contains binaries. This is fine for making Buildroot
work, but for legal-info we really want to ship real source code, not
binaries.
Luckily, some (hopefully all) toolchain vendors publish a downloadable
tarball containing the source code counterpart for their binary
packages.
Here we allow the user to declare the URL of this other tarball in the
pair of variables FOO_ACTUAL_SOURCE_TARBALL (by default equal to
FOO_SOURCE) and FOO_ACTUAL_SOURCE_SITE (by default equal to FOO_SITE).
If the "actual source" package can be downloaded from the same
directory as the binary package, then only FOO_ACTUAL_SOURCE_TARBALL
needs to be set.
Note this change is not strictly toolchain-specific: it might be useful
for other packages that happen to ship binaries in the same way.
[Thomas:
- remove "the source code has not been saved" warning that could
never be triggered due to how the conditions were
organized. Discussed with Luca live during the meeting.]
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
----
v2 -> v3:
- Remove the select (not needed, we only have to propagate the
depends on)
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Not needed anymore since the URLs have been cleared, the manual states
they are illegal and a check has been introduced to notice future
mistakes.
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
A trailing slash in FOO_SITE is useless, since Buildroot automatically adds
a slash between FOO_SITE and the filename as appropriate.
Moreover it is potentially harmful, which led to introducing a workaround
to strip them:
commit 1cbffbd015
Author: Shawn J. Goff <shawn7400@gmail.com>
Date: Fri Apr 12 09:40:30 2013 +0000
eliminate double slashes caused by FOO_SITE ending in a slash
When a FOO_SITE variable ends in a slash and gets joined with a
FOO_SOURCE variable like $(FOO_SITE)/$(FOO_SOURCE), the resulting URI
has a double slash. While double-slashes are fine in unix paths, they
are reserved in URIs - the part following '//' must be an authority.
So let's ban trailing slashes entirely. They have all been removed in
a 7b0e757fb8, now add a check to error out loudly in case a new one
is added.
Example commands to test this check:
$ make busybox-dirclean busybox-source
rm -Rf /home/murray/devel/buildroot/output/build/busybox-1.23.2
busybox-1.23.2.tar.bz2: OK (md5: 7925683d7dd105aabe9b6b618d48cc73)
busybox-1.23.2.tar.bz2: OK (sha1: 7f37193cb249f27630e0b2a2c6c9bbb7b1d24c16)
$
$ make BUSYBOX_SITE=http://www.busybox.net/downloads/ busybox-dirclean busybox-source
rm -Rf /home/murray/devel/buildroot/output/build/busybox-1.23.2
BUSYBOX_SITE (http://www.busybox.net/downloads/) cannot have a trailing slash
make[1]: *** [/home/murray/devel/buildroot/output/build/busybox-1.23.2/.stamp_downloaded] Error 1
make: *** [_all] Error 2
$
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The 0001-CMakeLists-add-rules-for-installation.patch patch has been
merged upstream 7 minutes after it was submitted. So let's bump to the
latest upstream version and drop the no longer needed patch.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
ZXing was hosted on Google Code, which is a closing. The current link
was already redirecting to the github repo.
But upstream is no longer supporting the cpp bindings, it's now a Java
library/application.
A fork has been created from the latest cpp source of the original
upstream. So this commit creates a new package, zxing-cpp, and adds
Config.in.legacy handling for the old zxing pakcage that is removed.
[Thomas:
- add a patch that improves the CMakeLists.txt file to add
installation rules. This allows to remove the manual installation
logic from zxing-cpp.mk.
- make libiconv a normal optional dependency. No need to involve
BR2_ENABLE_LOCALE in the condition, since libiconv can only be
enabled when !BR2_ENABLE_LOCALE.
- bump to the latest upstream version.
- add hash file.]
Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
FreeRDP does not have a single C++ source file, however it insists on
having a C++ compiler. Removing that requirement is a bit too much
involving, so we just depend on it...
Fixes:
http://autobuild.buildroot.org/results/e5b/e5bee760d52e5ee433dcb6c8a7296f99312cfcf4/
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
FreeRDP uses CMSPAR, which is defined by glibc in bits/termios.h .
glibc has two flavours of bits/termios.h: a genmeric one and an
architecture-specific one. When installing, glibc will install the
architecture-specific file if it exists, otherwise it installs the
generic file. Only Alpha, MIPS, PPC and Sparc have their own
bits/termios.h.
The generic bits/termios.h, as well as the Alpha, PPC and Sparc flavours
do define CMSPAR. However, the MIPS flavour does not define it.
We add a patch to FreeRDP that defines CMSPAR to the value from the
generic value, which is also the value known to the Linux kernel for
MIPS.
Fixes:
http://autobuild.buildroot.org/results/0b4/0b4793f0bf9f4c57933897f3480054a4e06528ad/http://autobuild.buildroot.org/results/7a2/7a2284d0a2987158fa2e78f789b07c8c6fcdb974/http://autobuild.buildroot.org/results/387/3874088c3ccd4bbf76ea0c911ca1ef64c7dc9d1c/
...
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Peter Korsgaard <jacmet@uclibc.org>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
And also move to GitHub since Google Code is going to die soon.
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Mesa3d 10.6.x is reaching end-of-life:
http://lists.freedesktop.org/archives/mesa-announce/2015-October/000178.html
"NOTE: It is anticipated that 10.6.9 will be the final release in the
10.6 series. Users of 10.6 are encouraged to migrate to the 11.0 series
in order to obtain future fixes."
Run-time testing with Kodi Isengard on an Intel GPU was positive.
Rebased 0001-Fix-khrplatform.h-not-installed-if-EGL-is-disabled.patch.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Building host-localdef fails under gcc5.1 reporting multiple definitions and undefined references:
argp-help.o: In function `argp_fmtstream_write':
argp-help.c:(.text+0x1dc0): multiple definition of `argp_fmtstream_write'
argp-fmtstream.o:argp-fmtstream.c:(.text+0x750): first defined here
argp-help.o: In function `argp_fmtstream_puts':
argp-help.c:(.text+0x1e10): multiple definition of `argp_fmtstream_puts'
argp-fmtstream.o:argp-fmtstream.c:(.text+0x810): first defined here
argp-help.o: In function `argp_fmtstream_putc':
argp-help.c:(.text+0x1e80): multiple definition of `argp_fmtstream_putc'
argp-fmtstream.o:argp-fmtstream.c:(.text+0x7b0): first defined here
argp-help.o: In function `argp_fmtstream_set_lmargin':
argp-help.c:(.text+0x1ed0): multiple definition of `argp_fmtstream_set_lmargin'
argp-fmtstream.o:argp-fmtstream.c:(.text+0x590): first defined here
argp-help.o: In function `argp_fmtstream_set_rmargin':
argp-help.c:(.text+0x1f00): multiple definition of `argp_fmtstream_set_rmargin'
argp-fmtstream.o:argp-fmtstream.c:(.text+0x5c0): first defined here
argp-help.o: In function `argp_fmtstream_set_wmargin':
argp-help.c:(.text+0x1f30): multiple definition of `argp_fmtstream_set_wmargin'
argp-fmtstream.o:argp-fmtstream.c:(.text+0x5f0): first defined here
argp-help.o: In function `argp_fmtstream_point':
argp-help.c:(.text+0x1f60): multiple definition of `argp_fmtstream_point'
argp-fmtstream.o:argp-fmtstream.c:(.text+0x620): first defined here
charmap.o: In function `cmlr_open.constprop.2':
charmap.c:(.text+0x230a): undefined reference to `charmap_hash'
charmap.o: In function `charmap_read':
charmap.c:(.text+0x2397): undefined reference to `charmap_hash'
locfile.o: In function `locfile_read':
locfile.c:(.text+0x2e4): undefined reference to `locfile_hash'
locfile.c:(.text+0x8f4): undefined reference to `locfile_hash'
locfile.c:(.text+0x9b3): undefined reference to `locfile_hash'
locfile.c:(.text+0xa36): undefined reference to `locfile_hash'
collect2: error: ld returned 1 exit status
Makefile:58: recipe for target 'localedef' failed
Ref: http://permalink.gmane.org/gmane.comp.embedded.ptxdist.devel/12950
Signed-off-by: Stephen Agate <stephen.agate@talktalk.net>
Reviewed-by: Romain Naour <romain.naour@openwide.fr>
Tested-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The problem looks like this:
/br/output/host/usr/mipsel-buildroot-linux-uclibc/sysroot/usr//lib/librt.a(timer_routines.os):
In function `__start_helper_thread':
timer_routines.c:(.text+0x2f4): undefined reference to `pthread_atfork'
collect2: error: ld returned 1 exit status
Adding -pthread to LDFLAGS fixes the problem.
Fixes:
http://autobuild.buildroot.net/results/a87/a87a764d3a28f835ed8645923594f7023a662ae8/
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
'echo -n' is not a POSIX construct (no flag support), we shoud use
'printf', especially in init script.
This patch was generated by the following command line:
git grep -l 'echo -n' -- `git ls-files | grep -v 'patch'` | xargs sed -i 's/echo -n/printf/'
Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
[Peter: fix .hash comment as pointed out by Vincent]
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Our previous patch to disable the documentation in gdb wasn't complete.
There are cases where the documentation under bfd and gprof directories
is being built, causing the subsequent failure due to missing makeinfo.
This patch fixes that problem.
Fixes:
http://autobuild.buildroot.org/results/244/2442e697d8a300496434fd42fcb1ee3941d13e06/
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Needed by Kodi 16.x-Jarvis:
6f8171f539
[Peter: needs GCC >= 4.7 for C+11, no need to install in target,
Drop TARGET_CONFIGURE_OPTS, add TARGET_CXXFLAGS, wrap long lines]
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Add the fbturbo video driver, which is based on xf86-video-fbdev (with
none of the original features stripped), primarily optimized for the
devices powered by the Allwinner SoC (A10, A13, A20).
https://github.com/ssvb/xf86-video-fbturbo/
Signed-off-by: Scott Fan <fancp2007@gmail.com>
[yann.morin.1998@free.fr: strip help text to the basics only]
[Peter: needs libdrm/pixman, add patch to drop libdri2 dependency
reformat and add optional libpciaccess support]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Inspired by jMock, EasyMock, and Hamcrest, and designed with C++'s
specifics in mind, Google C++ Mocking Framework (or Google Mock for
short) is a library for writing and using C++ mock classes.
Google Mock:
* lets you create mock classes trivially using simple macros,
* supports a rich set of matchers and actions,
* handles unordered, partially ordered, or completely ordered
expectations,
* is extensible by users, and
* works on Linux, Mac OS X, Windows, Windows Mobile, minGW, and
Symbian.
http://code.google.com/p/googlemock/
There are both host and target packages. The target one has include
files required to compile the tests and the static libraries required
to link/run them. The host package installs gmock_gen, a Python script
used to generate code mocks.
Notice that GMock 1.7.0 requires the Python 2 host package even if
Python 3 is selected as a target package.
Signed-off-by: Marcelo Barbosa <marcelo.barbosa@datacom.ind.br>
Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
Reviewed-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
swupdate provides a reliable way to update the software on an embedded system.
Note that swupdates has a reworked Kbuild/Kconfig system. It has now support
for the 'option' and 'env' symbols as well for the 'savedefconfig' target.
This makes dependency handling much easier. We're now able to pass which
dependencies are available through the environment, as suggested by Arnout
Vandecappelle [1].
In previous version of this patch we had a configuration setting where all
package dependencies except Lua were selected by default. This has changed with
v7 as we are now able to pass dependencies to the swupdate build system through
the environment. For useful operation swupdate requires a parser which depends
by default on libconfig, but can be replaced by a json-c or Lua parser.
To provide a reasonable firmware update system we enable the embedded webserver
based on mongoose (also see notes about mongoose below), a parser as stated
above and a handler for raw NAND or NOR flash.
The user can modify this configuration by selecting the appropriate dependencies
before running `make swupdate-menuconfig`. The help text contains information
about which packages may be of interest for the user.
The embedded web server requires a website for proper operation. We install the
included website by default, however the user may choose to install a custom
website on the post-build scripts.
Note, swupdate includes some old versions of mongoose and lsqlite3:
- mongoose is version 3.8 from year 2013
- lsqlite3 is version 0.8 from year 2011
Currently, swupdate does not provide a way to replace these with external
packages.
This patch is based on a WIP version submitted by Romain Naour, commented by
Arnout Vandecappelle [2].
[1]
http://lists.busybox.net/pipermail/buildroot/2015-March/122981.html
[2]
https://patchwork.ozlabs.org/patch/401270/
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Cc: Romain Naour <romain.naour@openwide.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Yann E. MORIN <yann.morin.1998@free.fr>
Tested-by: Mike Williams <mike@mikebwilliams.com>
Reviewed-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Several inittab steps are redirected to /dev/null. This means any error or
warning printed by these crucial commands would be hidden from the user.
There is no evident reason to hide this output, so stop doing that.
Suggested by Thomas Petazzoni:
http://lists.busybox.net/pipermail/buildroot/2015-September/139146.html
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
And also use the .tar.bz2 tarball to save disk space and bandwidth.
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
When Valgrind detects a 32-bit MIPS architecture, it forcibly adds
-march=mips32 to CFLAGS; when it detects a 64-bit MIPS architecture, it
forcibly adds -march=mips64. This causes Valgrind to be built always for
the first ISA revision level (R1), even when the user has configured
Buildroot for the second ISA revision level (R2).
Since R2 is backwards compatible with R1, you can run a Valgrind built
for R1 in an R2 core. This is why nobody noticed about this problem, or
at least nobody complained.
But, since (I hope) we will support R6 in Buildroot in the near future,
this problem will become very important because R6 is not backwards
compatible with R1 or R2, so building Valgrind for R1 when your target
is R6 will result in a non-working Valgrind.
Override the CFLAGS variable (which Valgrind appends to its CFLAGS) and
pass the right -march option, so they take precedence over Valgrind's
wrongfully detected value.
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The default is $PREFIX/libexec which ends up in an ugly and non-standard
/libexec dir in the target.
Move it to $PREFIX/lib/dhcpcd which is far more nicer and suitable.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Reviewed-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Tested-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The systemd service file is taken from Fedora.
Signed-off-by: Christophe Vu-Brugier <cvubrugier@fastmail.fm>
Reviewed-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Tested-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
[Peter: use 'depends on' for wayland to match X11 client]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Currently, the only client we can build is the X11 client.
FreeRDP now has support for building a wayland client.
However, that means we need to rethink the way we build FreeRDP, because
of some "inconsistencies" in its build system. This is because FreeRDP's
buildsystem does not have orthogonal options; some of the options can be
used for different components.
For example, the set of X11 libraries needed to build the server is a
superset of the X11 libraries needed to build the X11 client. So,
whenever the server is enabled, it means the X11 libraries required to
build the X11 client are available.
Now, if the user also wants to build the waland client (but not the X11
client), there is no way to tell FreeRDP not to build the X11 client,
because there is a single option, WITH_CLIENT, to drive whether any of
the clients is built. The decision is made on the availability of the
required libraries. And since the server is enabled, the X11 libs
required to build the X11 client are available. So, we end up with the
X11 client, even though it is not wanted.
And conversely with wayland...
So, we redesign the way we build FreeRDP. WE do not care what is
actually built; we just build whatever is buildable with the current
set of enabled libraries. But at install time (both in staging/ and
target/) we remove whatever the user does not want.
We also take the opportunity to rename the X11 client option, so it is
coherent with the soon-to-be-introduced wayland client.
Note: since FreeRDP has gained new dependencies, we can not just
introduce the legacy option as-is, otherwise we run the risk that it
selects the new option even though the new FreeRDP dependencies are not
enabled, spitting out the infamous 'unmet direct dependencies" kconfig
error.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Previously, we expected the user to select gstreamer-0.x on his own,
to enable gstreamer support in FreeRDP. This could have been a bit
confusing to the user, as he may have enabled gst-1.x but FreeRDP did
only support gst-0.x.
Also, gstreamer support needs xlib-libxrandr, which was missing in
FreeRDP's dependencies, so it was never enabled (AFAICS).
(Re-)introduce support for gstreamer-0.x and gstreamer-1.x, since both
are supported.
We're doing it in a choice, and select whichever version the user chooses,
rather than automatically detect it as previosuly done. We can select the
gstreamer packages, as their dependencies are anyway already covered by the
ones of FreeRDP.
This also now requires xlib-libxrandr, so hide the choice if X.org is
not enabled, still offer the option of not using gstreamer if it is.
[Peter: Hide option if gstreamer{,1} aren't enabled,
Default to gstreamer{,1} support enabled
GStreamer 0.10 support needs host-pkgconf and libxml2]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Now that we've switched to using FreeRDP from master, we can build weston's
FreeRDP backend again.
Propagate the new dependencies of FreeRDP.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Currently, we're packaging FreeRDP from the stable-1.1 branch, which has
not evolved since march 2015 and hasn't seen any release (not even a
tag) since July 2013. It is by all purpose and means, dead.
Other packages that may use FreeRDP (like weston) are now migrating to,
or have already migrated to using the API from master, which has changed
a bit from what was available on the stable-1.1 branch. So, those
packages now FTBFS.
However, FreeRDP still has not done a release from their master branch;
the last tag dates back to September 2014 and there are 1850+ changes on
top of that tag.
So, switch to using the currently-latest commit from master.
This version can also use gstreamer-1.x (in addition to gst-0.x), which
needs quite some rework on how we handle the dependency on gstreamer.
Drop gstreamer support entirely, support for gst-0.x and gst-1.x will be
re-added in a followup patch.
Similarly, a wayland client can now be built, support for which will
be added in a subsequent path; it is currently forcibly disabled.
The way the libraries are built has changed: the previous single library
has been split in multiple libraries, each implementing parts of the RDP
protocol.
Slight rewording of the prompts:
- drop the 'install' for client and server.
- drop 'freerdp' from the client and server comment
The location of the server keys has changed, so copy them from the new
location.
Finally, drop patches 1 and 3, applied upstrem; rename remaining
patches.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
the perl dependency of cpan module is no longer generated by scancpan,
but added at the infrastructure level
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Switch to bitbucket since it's not hosted at sourceforge any more (and
the official mutt source is ftp).
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The imx-vpu package builds just fine without any special kernel header.
Cc: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Tested-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Also switch the homepage to a non-ftp site.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Also, require threads support. cmake detects threads support correctly, but
libssh build system uses this information incorrectly.
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Version 4.7.4 of tcpdump is not vulnerable to these issues according to:
https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-8767https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-8768https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-8769
The tcpdump commit log seems to indicate that these issues were fixes in a
different way in the following commits:
CVE-2014-8767: 4038f83ebf654804829b258dde5e0a508c1c2003
CVE-2014-8768: 9255c9b05b0a04b8d89739b3efcb9f393a617fe9
CVE-2014-8769: 9ed7ddb48fd557dc993e73f22a50dda6cedf4df7
Just drop these patches.
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
As the usual rule consider full-blown packages superior to busybox,
hence build after it.
Also install cpio to /bin to override the busybox-provided one.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
In favor of imx-kobs maintained by Freescale.
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Based on the Yocto 3.14.28-1.0.0_ga update:
https://github.com/Freescale/meta-fsl-arm/commit/6c44744
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Buildroot patches libtirpc to remove auth_des support. This breaks tirpc test
build. Remove support for libtirpc for now.
Fixes:
http://autobuild.buildroot.net/results/301/3015eee7b1b6b240e7948b08954d273d28f44c32/
Cc: Anders Roxell <anders.roxell@linaro.org>
Cc: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Added configuration option BR2_PACKAGE_OPENVPN_PWSAVE that
adds --enable-password-save to OPENVPN_CONF_OPTS if selected.
[Thomas: rewrap Config.in help text, as suggested by Vicente.]
Signed-off-by: Andreas Wetzel <andreas.wetzel@nanotronic.ch>
Reviewed-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The recommended form is without the trailing slash, and will become
mandatory in a coming commit.
This avoids the need for the $$($(2)_SITE:/=) magic in package/pkg-generic.mk
to avoid double slashes in download URLs, like
"https://mosh.mit.edu//mosh-1.2.5.tar.gz".
^^
Note: this work has already been done in b0b9606530 a few
months ago and earlier in c7f4b96471 and 4a9eb20de8,
but no check has been added at that time to avoid new slashes to slip
in, and so they did. This time a patch will follow immediately to
prevent future mistakes from being unnoticed.
Mass-replaced with the following command:
git grep -l '_SITE.*/$' | xargs sed -i '/_SITE.*=/s|/$||'
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The waf build system of glmark2 needs Python 2 as stated on its README
file:
python 2.x (>= 2.4) for the build system (waf)
Building it with a system with Python 3 as the default Python version
will result on a failure like this one:
File "waflib/Utils.py", line 199
except OSError ,e:
^
SyntaxError: invalid syntax
So, in order to fix this, make this package depending on host-python and
also run the waf script using $(HOST_DIR)/usr/bin/python2.
At the same time delete 3 Python environment variables passed to the waf
script during the configure phase which it seems there aren't needed for
anything.
Fixes:
http://autobuild.buildroot.net/results/fc6/fc6cd2a90bbb0e6f80f6c4afaae1430f82e54046/
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This reverts commit 1ac68fe2c9.
Further investigations revealed that the problem wasn't a race condition
but the lack of flex package in the host machine:
https://github.com/TresysTechnology/setools3/issues/5#issuecomment-144048612
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The 'ZIC=$$(ZIC)' assignment is seen as 'ZIC=$(ZIC)' by the shell, that
interprets that as command substitution causing an error like:
/bin/sh: ZIC: command not found
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
- Bump to version 1.9.2.
- Update the hash file.
- Use a tar.bz2 tarball to save space and bandwidth.
- Fix a typo in the berkeley-db configure option.
- Remove non-existent configure options: neon, gssapi and ssl.
- Remove neon dependency: is not needed to build subversion.
- Tweak the 0001-dont-mangle-cflags.patch for the 1.9.2 version and to
patch configure.ac instead of configure.
- Add a new 0002-disable-macos-specific-features.patch to remove a
configure check for Mach-O (and two more) which breaks the build when
cross-compiling.
- Enable autoreconf since we are patching the configure.ac.
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Kodi 16.x-Jarvis depends on libbluray > 0.7.0
329190a032
Also enable UDF support like in OpenElec:
50d086b1b2
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
libstrophe.a and libcrypto.a have symbols with equal names, so
executables can't be statically linked with libstrophe and openssl:
sha1dgst.c:(.text+0x1b4c): multiple definition of `SHA1_Update'
sha1dgst.c:(.text+0x1cc0): multiple definition of `SHA1_Final'
sha1dgst.c:(.text+0x1e78): multiple definition of `SHA1_Init
Renaming the internal SHA functions fixes the problem.
Issue reported upstream:
https://github.com/strophe/libstrophe/issues/40
Fixes:
http://autobuild.buildroot.net/results/047/047e319b9d7bf0cdaabc007326a6d67de2c1ee52/
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This new version fixes segmentation faults on some platforms.
Signed-off-by: Benoît Thébaudeau <benoit@wsystem.com>
Reviewed-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Tested-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Reviewed-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Tested-by: Gergely Imreh <imrehg@gmail.com>
Tested-by: Gergely Imreh <imrehg@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Thomas:
- tweak description of the patch
- turn the doc/test removal hook as a post patch hook rather than a
pre-configure hook.]
Signed-off-by: Gustavo Zacarias <gustavo.zacarias@free-electrons.com>
Reviewed-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Tested-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Version 8.9.4 of drbd-utils contains fixes for the musl C library.
Fixes:
http://autobuild.buildroot.net/results/4e0/4e0ed65b2e06f4ccadcad5b4302e6334667ecbdb
Moreover, this commit adds the --without-manual option to ./configure
and drops the hook used to disable the documentation.
Signed-off-by: Christophe Vu-Brugier <cvubrugier@fastmail.fm>
Reviewed-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Tested-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
There are two problems building micropython for Blackfin. The first is
some printf format specifier warnings/errors that seem to be triggered
only for that architecture/compiler. This could be worked around by
specifying CFLAGS=-Wno-error=format.
The second problem is that libffi doesn't provide the closure
implementation on Blackfin. There is no known workaround for this issue.
For now disable micropython on Blackfin.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Rather than specifying architectures that do not have explicit support
in micropython invert the logic and set MICROPY_GCREGS_SETJMP=1 if the
architecture does not have explicit support. MIPS is listed as being
supported but this support consists of automatically defining
MICROPY_GCREGS_SETJMP 1 based on __mips__ being defined.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Switch from : to # since CFLAGS can include :'s spilled in from
BR2_TARGET_OPTIMIZATION, for example:
BR2_TARGET_OPTIMIZATION="-Wl,-rpath,/lib:/usr/lib" would cause the sed
expression to fail thus breaking the build.
Changed all of the SEDs to # for consistency.
Signed-off-by: Gustavo Zacarias <gustavo.zacarias@free-electrons.com>
Reviewed-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This patch applies an upstream patch to fix a compile error like this
one:
modffi.c: In function 'ffifunc_call':
modffi.c:358:25: error: cast from pointer to integer of different size
[-Werror=pointer-to-int-cast]
values[i] = (ffi_arg)a;
This error can be highlighted when building micropython for MIPS64 n32
because ffi_arg is 64-bit wide and the pointers on MIPS64 n32 are 32-bit
wide, so it's trying to case an integer to a pointer (or vice versa) of
a different size. We should cast first the pointer (or the integer) to a
pointer sized integer (intptr_t) to fix that problem.
This patch was merged upstream as a result of this pull request:
https://github.com/micropython/micropython/pull/1471
Fixes:
http://autobuild.buildroot.net/results/e22/e2253de3f96e9a53e75b4cecaf56c1df2950803f/
[Thomas: use a single assignement for MICROPYTHON_PATCH.]
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
shairport-sync tries to access to a non-existent member called
"meta_dir" of a "shairport_cfg" struct:
[snip]
if (config.meta_dir)
[snip]
That struct doesn't have that member so it causes a build failure like
this one:
mdns_tinysvcmdns.c: In function 'mdns_tinysvcmdns_register':
mdns_tinysvcmdns.c:121:13: error: 'shairport_cfg' has no member named
'meta_dir'
if (config.meta_dir)
This issue has been reported and fixed upstream:
https://github.com/mikebrady/shairport-sync/issues/128#issuecomment-141947175
Fixes:
http://autobuild.buildroot.net/results/89d/89d22ba2d41e05b407cde04c7e57510b36973ce9/
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Switch from : to # since CFLAGS can include :'s spilled in from
BR2_TARGET_OPTIMIZATION, for example:
BR2_TARGET_OPTIMIZATION="-Wl,-rpath,/lib:/usr/lib" would cause the sed
expression to fail thus breaking the build.
Signed-off-by: Gustavo Zacarias <gustavo.zacarias@free-electrons.com>
Reviewed-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
libuv bindings for LuaJIT and Lua.
[Thomas:
- Move the package to the sub-menu of Lua modules.
- Remove no longer needed dependency on
BR2_PACKAGE_HAS_LUAINTERPRETER.
- Propagate dependencies of libuv (mmu, !static, threads)
- Update to upstream version 1.7.4-4.
- Add hash file.]
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Douglas RAILLARD <public.douglas.raillard@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Use Waldemar Brodkorb's repository (at least) until an
"official" upstream repository is established, to get
the ARM noMMU patches
Signed-off-by: Douglas RAILLARD <public.douglas.raillard@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
When a module is native or depends of a native module, it must be
disabled for static builds via its Config.in
We detect native modules by looking at the filenames listed in the
MANIFEST. If there is a file which looks like it contains code that
much be compiled (e.g. .c, .h and so on...), then we exclude that
module (and its dependencies) from static builds.
That's what we tried to do so far, but failed when there was a
comment on the same line as the filename in the manifest, like so:
foo-bar.c # Bla bla bla
Fix that by detecting either endof-line (as currently done) or
end-of-string.
For an example of failed build of perl-html-parser, see
http://autobuild.buildroot.net/results/128/128671dfa23d843698a63220c2fac1f44e1d5845/
[Thomas: use better commit log proposed by Yann E. Morin.]
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
When eudev is used as the udev provider, libgudev is automatically
provided as it is part of eudev. However, when systemd is used as
the udev provider, libgudev is not provided, and needs to be built
separately. This is why we select the libgudev package only if
systemd is used.
Fixes: http://autobuild.buildroot.net/results/d59/d597a81271a082c8252e2333906815c437b6576d/
While at it, group the existing dbus select together with the dbus-glib
select, so that all "select" statements are together.
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Reviewed-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Version 2.4 of shairport-sync introduces new optional features (metadata,
stdout, pipe) which we enable by default. The impact on the binary size is
about 18 kB (110 kB vs 92 kB) for an ARM target.
Also add a new dependency to libconfig and install the default config script.
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Having checked that binutils doesn't need to depend on host-texinfo...
http://patchwork.ozlabs.org/patch/515914/
...and having fixed gdb to not build the documentation...
http://patchwork.ozlabs.org/patch/515821/
...we can now safely remove this host package since there aren't any
packages depending on it.
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
host-texinfo dependency was only necessary when building the git version
of binutils, however, this upstream commit allows binutils to build
without makeinfo (a binary provided by host-texinfo)...
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=bba33ab1e0f7d2ebd8f8435f92ed12e2a3c558a4
...so we can safely remove the host-texinfo dependency.
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Fixes:
http://autobuild.buildroot.net/results/9c3/9c3889fe80e58b7a35c242332f993992044d2f6b/
ibrcommon was relying on a glibc extension to basename(3) which allowed it
to accept a const char* parameter (instead of char*). Fixed by testing
for __GLIBC__; if not defined (such as when musl is in use) a fallback
block is used which creates a temporary copy of the path.
Signed-off-by: Brendan Heading <brendanheading@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
gcc used to be installed into $(HOST_DIR)/usr/$(GNU_TARGET_NAME) but
since gcc 4.9 this is no longer the case. Therefore, the cc -> gcc
symlink that is created in that we create in that directory is dead.
There don't seem to have been any problems due to the missing gcc and
cc in $(HOST_DIR)/usr/$(GNU_TARGET_NAME), things seems to build fine
without it. The cc -> gcc symlinks in general should not be needed
anyway, since we always pass the appropriate CC variable to the
package build system.
Therefore, let's remove the cc -> gcc symlink in
$(HOST_DIR)/usr/$(GNU_TARGET_NAME) - also for pre-4.9 gcc versions.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Fixes the following error when building for a 64-bit target
../py/objint_mpz.c:54:5: error: right shift count >= width of type [-Werror]
(MP_SSIZE_MAX >> MPZ_DIG_SIZE * 4) & DIG_MASK,
^
../py/objint_mpz.c:54:5: error: initializer element is not constant
../py/objint_mpz.c:54:5: error: (near initialization for 'maxsize_dig[4]')
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Tested-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
"xxHash is an extremely fast hash algorithm, running at RAM speed
limits."
[Thomas:
- tweak commit log title
- add correct license and license files information, using the
suggestion from Yann E. Morin
- add $(TARGET_MAKE_ENV) in the environment in the build step.]
Signed-off-by: Ed Swierk <eswierk@skyportsystems.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Changelog:
(0.11.1)
- vpu: decoder: Keep track of unfinished gstvideo frames
- blitter fixes and enhancements
- ipu: All pages are now cleared when page flipping is used
- compositor: Added support for cropping input streams
- imxv4l2src fixes and enhancements
(0.11.0)
- new common codebase for rectangular regions and video canvases
- new blitter-based video sink with full support for vsync to
eliminate tearing
- complete rewrite of blitter base code
- new compositor elements
- vpu: decoder: Memory leaks fixed
- vpu: encoder: Bitrate can now be set on the fly
- eglvivsink: In Wayland, window x/y coordinates are now supported
- several v4l2src fixes
(0.10.2)
- v4l2src: renamed imxv4l2src to imxv4l2videosrc to avoid name
collisions with the FSL plugins
- v4l2src: Call the buffer pool baseclass stop() function (fixes
segfaults)
- uniaudio: Create correct config header even if no codecs were found
- audio: new MP3 encoder element using the libfslcodec MP3 encoder
- g2d/ipu/pxp blitter sink: Respect aspect ratio also in 90/270 degree
rotations
- pxp: Remove broken/unsupported formats
- eglvivsink: Fix double mutex unlock
- phys mem meta naming cleanup
Tested with the following commands:
# gst-launch-1.0 playbin uri=file:///root/tears_of_steel_1080p.webm
# gst-launch-1.0 filesrc location=/root/tears_of_steel_1080p.webm ! \
matroskademux ! imxvpudec ! imxipuvideosink
# gst-launch-1.0 filesrc location=/root/tears_of_steel_1080p.webm ! \
matroskademux ! imxvpudec ! imxeglvivsink
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Also added the package hash file.
This patch is based on the Yocto equivalent:
https://github.com/Freescale/meta-fsl-arm/commit/0d2f4f8
This package has been tested using the following commands:
# gst-launch-0.10 playbin uri=file:///root/tears_of_steel_1080p.webm
# gst-launch-0.10 filesrc location=/root/tears_of_steel_1080p.webm ! \
matroskademux ! vpudec ! autovideosink
# gst-launch-0.10 filesrc location=/root/tears_of_steel_1080p.webm ! \
matroskademux ! vpudec ! mfw_isink
# gst-launch-0.10 imxv4l2src ! autovideosink
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Change license file + add hash file.
Changelog:
- Update the license file with new version and use COPYING
- Remove the folder /usr/share to avoid empty folder installation
This patch is based on the Yocto equivalent:
https://github.com/Freescale/meta-fsl-arm/commit/1506776
This package has been implicitely tested through gstreamer as the
plugins rely on it for vpu decoding:
# gst-launch-0.10 playbin
# uri=file:///root/tears_of_steel_1080p.webm
# gst-launch-1.0 playbin uri=file:///root/tears_of_steel_1080p.webm
# gst-launch-1.0 filesrc location=/root/tears_of_steel_1080p.webm ! \
matroskademux ! imxvpudec ! imxipuvideosink
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Update license file + add hash file.
Changelog:
- Upgrade MP4 and MPEG2 parser
- Update COPYING with new version of license file
This patch is based on the Yocto equivalent:
https://github.com/Freescale/meta-fsl-arm/commit/a7c90ea6
This package has been implicitely tested through gstreamer as the 0.10
plugin relies on it:
# gst-launch-0.10 playbin uri=file:///root/tears_of_steel_1080p.webm
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Update license file + add hash file.
This patch is based on the Yocto equivalent:
https://github.com/Freescale/meta-fsl-arm/commit/93b4c8c
This package has been implicitely tested through gstreamer as the 0.10
plugin relies on it:
# gst-launch-0.10 playbin uri=file:///root/tears_of_steel_1080p.webm
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Also add the package hash file.
3.14.28-1.0.1 patch release has the following bug fixes:
MGS-554 [#1644] Fix the false alert with GPU commit dirty
MGS-528 [#ccc] Wayland does not free window memory until the application
exits
GRPH-56 [#ccc] Add environment variable to turn off memory fill
GRPH-55 [ccc] Add alpha channel for direct texture viv extension
MA-6540 [#1672] Fix native fence FD leak found by Android™ CTS
MGS-663 [#1686] P4 release can't be built statically
MA-6527 [#1666] Fix android.webgl.cts.WebGLTest CTS failure
MGS-511-2 [#1593] Qt 3D app cannot run on i.MX 6SoloX board
MGS-658 [#ccc] Fix build warning of isInApiTraceMode for static link
Revert MGS-352 [#1453] Creating context on 5.x is slower than 4.x due to
process name
read
MGS-578 [#1657] GoogleEarth APK encounters a shader compile error
MGS-507 [#1323] RenderToTexture has distorted pictures on screen in DL
board
MGS-547 [#ccc] Add YVYU format test in g2d_overlay_test
MGS-547 [#1640] YVYU format gets wrong result when 2D is built
MGS-564 [#ccc] Resolve race condition in display frame sync
MGS-367 [#1589] "CTRL+C" to close the "tutorial7_es20" causes GPU to
hang
MGS-543 [#1604] Remove some unsupported extensions in gles10
MGS-436 [#ccc] Memory leak in glimagesink video loop playback
MA-6267 [#1600] Fix ES3.0 benchmark UBenchEnhanced can't run
MA-6208-1 [#1543] Fix build error
MA-6208 [#1543] Fix com.drawelements.deqp.gles3 CTS failure
MGS-511 [#1593] Qt 3D app cannot run on i.MX 6SoloX board
MGS-512 [#1493] Fix es30 conformance failures related to glReadPixels
MGS-502 [#ccc] libCLC failure
MGS-500 [#ccc] Disable apitrace for static build
This patch is based on the Yocto equivalent:
https://github.com/Freescale/meta-freescale/commit/8f74380a
This package has been tested with both X11 and Framebuffer backends:
# cd /usr/share/examples/viv_samples/vdk/
# ./tutorial7
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Add hash files for the updated packages.
Also update the license of firmware-imx.
This patch is based on the Yocto equivalent:
5521d77c9f191b5808cb3bad4af9484ac
Those packages have been implicitely tested through gstreamer as the
plugins rely on them for vpu decoding for instance:
# gst-launch-0.10 playbin
# uri=file:///root/tears_of_steel_1080p.webm
# gst-launch-1.0 playbin uri=file:///root/tears_of_steel_1080p.webm
# gst-launch-1.0 filesrc location=/root/tears_of_steel_1080p.webm ! \
matroskademux ! imxvpudec ! imxipuvideosink
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
xtensa patch is upstream so there's no need for it any longer.
Signed-off-by: Gustavo Zacarias <gustavo.zacarias@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Backport patch from upstream to fix musl build error:
```
In file included from ext/posix/posix.c:25:0:
ext/posix/sched.c: In function 'Psched_setscheduler':
ext/posix/sched.c:74:9: error: variable 'sched_param' has initializer but incomplete type
struct sched_param sched_param = {0};
```
Fixed upstream by commit 11cc8a2973569ec7fb1e7c2466dca0282944b124.
[Thomas: add missing <pkg>_AUTORECONF=YES.]
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Also remove patch 0001-fix-build-flags.patch. The uCLibc issue is fixed
upstream.
Add patch taken and slighly adopted from the c-periphery package to fix build
issue with musl.
Build was tested with an uCLibc toolchain and a musl toolchain.
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
These architectures don't have explicit exception handling support in
micropython but can use the setjmp fallback behaviour instead.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>