Commit Graph

38288 Commits

Author SHA1 Message Date
Romain Naour
dd983d5d17 package/solatus: new package
Sample quest and testing quest are not included in SOLARUS_LICENSE
since it's notinstalled by default.

Remove Werror when building with debugging symbols.

Add libpng runtime dependency since solarus games require png image
support.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Julien BOIBESSOT <julien.boibessot@armadeus.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-29 21:15:20 +01:00
Romain Naour
7a6dc427a2 package/physfs: bump to 3.0.1
Remove upstream patch.

Use the official archive and add a hash file.
Also add a license file hash.

Remove LGPL.txt license file since src/lzma directory has been removed
from the sources.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Julien BOIBESSOT <julien.boibessot@armadeus.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-29 21:13:16 +01:00
Baruch Siach
a34d965af7 gnutls: bump to version 3.5.16
Add link to tarball signature.

Add license hashes.

Cc: Matt Weber <matthew.weber@rockwellcollins.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-29 17:36:28 +01:00
Baruch Siach
48b4ad9451 libmicrohttpd: bump to version 0.9.57
Drop libgcrypt dependency for SSL support; with newer version of gnutls
libgcrypt is not needed.

Drop the LIBS fix for static linking with gnutls that has been
introduced in commit 2d3d6d258b (libmicrohttpd: fix static linking with
gnutls). gnutls does not support static linking anymore.

Fix a comment typo.

Add license hash.

Cc: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-29 17:35:49 +01:00
Thomas Petazzoni
9272eb4684 test-pkg: filter empty lines and comments in CSV file
In preparation for the addition of comments in the CSV file listing
toolchain configurations, we filter out such lines when reading the
CSV file in utils/test-pkg.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-27 23:24:49 +01:00
Thomas Petazzoni
c7abd1ddfb utils/genrandconfig: filter empty lines and comments in CSV file
In preparation for the addition of comments in the CSV file listing
toolchain configurations, we filter out such lines when reading the
CSV file in utils/genrandconfig.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-27 23:20:04 +01:00
Yann E. MORIN
1b8ad2d08e core: check files are not touched by more than one package
Currently, we do nothing about packages that touch the same file: given
a specific configuration, the result is reproducible (even though it
might not be what the user expected) because the build order is
guaranteed.

However, when we later introduce top-level parallel build, we will no
longer be able to guarantee a build order, by the mere way of it being
parallel. Reconciliating all those modified files will be impossible to
do automatically. The only way will be to refuse such situations.

As a preliminary step, introduce a helper script that detects files that
are being moified by two or more packages, and reports them and the
impacted packages, at the end of the build.

The list being reported at the end of the build will make it prominently
visible in autobuilder results, so we can assess the problem, if any.

Later on, calling that helper script can be done right after the package
installation step, to bail out early.

Thanks Arnout for the pythonist way to write default dictionaries! ;-)

Note: doing it in python rather than a shell script is impressively
faster: where the shell script takes ~1.2s on a minimalist build, the
python script only takes ~0.015s, that is about 80 times faster.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: Baruch Siach <baruch@tkos.co.il>
Cc: Peter Seiderer <ps.report@gmx.net>
[Thomas: rename script without .py extension.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-27 23:02:19 +01:00
Yann E. MORIN
0c02bf829b core/pkg-generic: store file->package list for staging and host too
Currently, we store the list of files installed in target/ and associate
each of them to the package that installed it.

However, we sometimes may need to know what package installed which file
in staging/, for example to debug header collision, or in host/, to
debug what package installed what host tool.

Enhance the step instrumentation to also generate the list for staging/
and host/.

We maintain backward compatibility, for external scripts that wanted to
parse the previously existing list, by not renaming the target-related
package list. Only the staging- and host-related lists are named after
staging and host.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Thomas: fix missing word in .mk comment.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-27 22:57:26 +01:00
Yann E. MORIN
d63670009b core/pkg-generic: redirect only when listing package's installed files
There is no need to redirect again and again for each new file added to
the list; we can just redirect once and for all.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-27 22:56:55 +01:00
Yann E. MORIN
306ad0181a core/pkg-generic: remove intermediate file-list files
To compute the list of files added by a package, we first store the list
of files before the install, do the install, list the files after the
install, and finally compare the two lists. The two lists are stored in
dot-files, hidden in the package's build dir.

We currently keep those two files, and only list the files installed in
target/

In followup patches, we'll also list files installed in staging/ as well
as files installed in host/.

Rather than add even more internal, hidden files in the package build
dir, we'll just re-use the same two temporary files to store the before
and after lists.

So, remove them after the comparison is done.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-27 22:56:43 +01:00
Fabrice Fontaine
fa8b196e5f rygel: new package
Rygel is a home media solution (UPnP AV MediaServer) that allows you to
easily share audio, video and pictures to other devices.

Additionally, media player software may use Rygel to become a
MediaRenderer that may be controlled remotely by a UPnP or DLNA
Controller.

Rygel achieves interoperability with other devices in the market by
trying to conform to the very strict requirements of DLNA and by
converting media on-the-fly to formats that client devices can handle.

Most Rygel functionality is implemented through a plug-in mechanism.

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Thomas:
 - use SPDX license codes
 - add hashes for license files
 - move Config.in comment at the end of the Config.in file to not
   break the indentation of the sub-options.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-27 22:27:52 +01:00
Fabrice Fontaine
d682569f5d gupnp-av: fix static library linking with gupnp
gupnp and gupnp-av defines two internal functions with the same name:
xml_util_get_element and xml_util_get_child_element_content, as a result
an application such as rygel can't be build statically.
To fix this issue, rename both functions as
xml_util_get_element2 and xml_util_get_child_element_content2

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-27 22:10:37 +01:00
Baruch Siach
3587d29eae gnupg2: bump to version 2.2.2
Cc: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-27 21:56:49 +01:00
Baruch Siach
86dfb429ae gnupg2: don't preserve the old gpg2 executable name
Commit e82fadab23 (gnupg2: bump to version 2.2.0) added a configure
option to keep the old 'gpg2' executable name to avoid conflict with the
gnupg package. It turns out that gnupg depends on !BR2_PACKAGE_GNUPG2
since commit 2cadb26e6d (gnupg: make gnupg and gnupg2 mutually
exclusive). Drop this configure option.

Rename the config option that controls the removal of gpgv2, now gpgv,
to match the new name. Add legacy config symbol handling.

Cc: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-27 21:52:13 +01:00
Gaël PORTAY
00012bf9d5 qt5webengine: enable build for 5.6.3
The build was broken in 5.6.2 and was disabled.

It compiles fine since 5.6.3.

The two additional patches are useful at run-time.

The first one avoid the need to specify the path to the SSL certificate
directory (using an additional environment variable).

The second one is the same used in 5.9.x (plus resolved conflicts). It uses the
process's context to get handles on EGL and GLESv2 libraries. Those libraries
are linked to Qt WebEngine at compile time.

The patch is particularly usefull for RPI boards since the raspberrypi userland
package does not provide the libEGLv2.so.2 and libGLES.so.1 symlinks. Both
library paths are hardcoded in Qt WebEngine.

Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-27 21:42:12 +01:00
Adam Duskett
b101114b82 postgresql: bump to 10.1
- Add a hash for the license file.

- PostgreSQL 10.0 and above will default to checking for /dev/urandom if an
  SSL library is not found, which will fail when cross compiling.
  Since /dev/urandom is guaranteed to be provided on Linux systems,
  add ac_cv_file__dev_urandom=yes to the configure environment if a SSL library
  is not selected.

Signed-off-by: Adam Duskett <Adamduskett@outlook.com>
[Thomas: minor tweaks to the /dev/urandom comment in the .mk file.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-27 09:44:24 +01:00
Bernd Kuhls
0f24504771 package/avahi: bump version to 0.7
Added license hash, removed license text in avahi.mk added in 2006:
https://git.buildroot.net/buildroot/commit/package/avahi?id=21e97d3e155f4d9604f729698cdfff3c40eefbe7

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-27 09:37:38 +01:00
Baruch Siach
84e3bbcac8 dbus: bump to version 1.12.2
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-27 09:33:31 +01:00
Bernd Kuhls
0ddfa00194 package/{mesa3d, mesa3d-headers}: bump version to 17.2.6
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-27 09:32:23 +01:00
Yegor Yefremov
d7500b615f python-jaraco-classes: add missing dependency
python-jaraco-classes needs host-python-setuptools-scm.

Fixes:
http://autobuild.buildroot.net/results/3a7000002b86663a56c0341d192f131a4a8f4936
http://autobuild.buildroot.net/results/553d6fdeb6ea5359b1c7d4eeb844da7a588f02e7

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-27 09:32:04 +01:00
Bernd Kuhls
c7f33aa9d1 package/samba4: bump version to 4.7.3
Rebased 0001-libreplace-disable-libbsd-support.patch.

Added iconv-related entry to samba4-cache.txt to fix configure error:
Cross answers file
 /home/buildroot/test-samba4/armv5-ctng-linux-gnueabi/build/samba4-4.7.3/cache.txt
 is incomplete

with this defconfig

BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
BR2_PACKAGE_LIBICONV=y
BR2_PACKAGE_SAMBA4=y
BR2_PACKAGE_SAMBA4_AD_DC=y
BR2_PACKAGE_SAMBA4_ADS=y
BR2_PACKAGE_SAMBA4_SMBTORTURE=y

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-27 09:28:42 +01:00
Fabio Estevam
a8c1f02ecc linux-firmware: Bump to the latest version
Update to commit 17e6288135d4.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-27 09:26:48 +01:00
Marcus Folkesson
e5b2fc8c7d utils/diffconfig: add diffconfig utility
Diffconfig is a simple utility for comparing two configuration files.
See usage in the script for more info.

Borrowed from the Linux kernel source code and adapted to Buildroot.

Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-25 13:46:41 +01:00
Joseph Kogut
0954a0372b python-schedule: new package
Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-25 13:33:55 +01:00
Alexander Mukhin
9e252c9575 hostapd: keep previous patches when DRIVER_RTW set
Changed HOSTAPD_PATCH= to HOSTAPD_PATCH+= to keep previously added
patches.

Signed-off-by: Alexander Mukhin <alexander.i.mukhin@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-25 13:21:50 +01:00
Bernd Kuhls
ee967f28cd package/eudev: bump version to 3.2.5
Added license hash.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-25 13:21:32 +01:00
Bernd Kuhls
ab01a1279c package/php: bump version to 7.1.12
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-25 13:21:30 +01:00
Bernd Kuhls
cda7db8b86 package/nano: bump version to 2.9.0
Removed patch applied upstream, added license hash.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-25 13:21:29 +01:00
Ismael Luceno
921014df87 axel: bump to version 2.16
- Change upstream URL.
- Add optional dependency on libressl/openssl.
- Switch to autotools-package.

Signed-off-by: Ismael Luceno <ismael@iodev.co.uk>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-25 13:21:27 +01:00
Bernd Kuhls
c33c9ca62a package/python-mwclient: require pytest-runner only when necessary
Fixes
http://autobuild.buildroot.net/results/09c/09c0e590448f1fc069d1d00564c202d2b009d59a/
http://autobuild.buildroot.net/results/79e/79ef04d2e8c91231028e23f4bb35df685efa55ca/
http://autobuild.buildroot.net/results/7a4/7a4a4aecbe6dd315062bafe97b291645d3d6ced1/

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-24 23:33:06 +01:00
Yann E. MORIN
6317a199ec arch/arm: add armv8.1a cores
The armv8.1a generation is a cumulative extension to armv8a. It adds new
extensions, and makes some previously optional ones now mandatory.

Since gcc correctly enables the appropriate extensions based on the core
name, we don't really need to introduce a separate config for armv8.1a,
and we can piggyback on armv8a.

All those new cores are aarch64 only (gcc fails to build in arm mode).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-24 23:30:43 +01:00
Yann E. MORIN
d632d9e5a9 arch/arm: add some non-cortex armv8a cores
Some need gcc-5, some gcc-6 and some gcc-7.

The thunderx familly does not build in 32-bit mode (gcc complains
that the CPU is unknown, and even gcc master only knows them as
aarch64-only).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-24 23:30:36 +01:00
Yann E. MORIN
e9960da6ec arch/arm: add some armv8a cortex variants
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-24 23:18:08 +01:00
Yann E. MORIN
ffc9d60243 arch/arm: add cortex-A32
The cortex-A32 is an armv8a core, but it lacks the optional AArch64
extensions, so can only work in 32-bit mode.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-24 23:11:52 +01:00
Yann E. MORIN
003b1f3c74 arch/arm: armv8 is really armv8a
For armv8, there are different profiles: A, M and R, like there is for
armv7.

So, rename our internal symbol to mirror what we do for armv7.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-24 23:01:41 +01:00
Yann E. MORIN
a9f95de2c0 arch/arm: simplify hiding non 64-bit cores
Now that the cores are all oredered correctly, we can just enclose all
the non 64-bit cores inside a big if-block, rather than have each of
them have the dependency.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-24 23:01:03 +01:00
Yann E. MORIN
52d500aa35 arch/arm: re-order cores choice
Currently, the logic for ordering the ARM cores in the choice is all
but obvious. ;-)

Reorder the choice by architecture generation, starting with armv4,
ending with armv8.

Add a comment before each generation, just for ease of use. Add a
separate comment for armv7a and armv7m.

Finally, order cores alphabetically inside the same generation (except
for armv7m cores, listed after all armv7a cores).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-24 23:00:37 +01:00
Yann E. MORIN
4a5140ecff toolchain/buildroot: glibc requires kernel headers >= 4.5 with NaN-2008
From sysdeps/unix/sysv/linux/mips/configure.ac in glibc:

if test -z "$arch_minimum_kernel"; then
  if test x$libc_cv_mips_nan2008 = xyes; then
    arch_minimum_kernel=4.5.0
  fi
fi

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Romain Naour <romain.naour@openwide.fr>
Cc: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-24 22:51:48 +01:00
Yann E. MORIN
e25d704e10 arch/mips: inverse the mfpxx logic
Currently, the possibility to choose the floating point mode (32, xx or
64) is conditional on having a sufficiently recent gcc version.

Which means that the architecture selection depends on the gcc version.

But that's opposite to what we've always done in Buildroot: the software
versions are conditional to the architecture options. There is nothing
we can do about the hardware: it is there, we can't change it, while we
can restrict ourselves to using software that is working on said
hardware.

Thus, we inverse the logic, to move the condition onto the software
side: whenever mfpxx is selected, we restrict the toolchain selection to
at least a gcc-5.

And now, the blind BR2_TOOLCHAIN_HAS_MFPXX_OPTION symbol is no longer
needed, so we get rid of it.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-24 22:45:48 +01:00
Yann E. MORIN
31b134a645 arch/mips: inverse the NaN logic
Currently the possibility to choose the NaN encoding is conditional to
having a sufficiently recent gcc version.

Which means that the architecture selection depends on the gcc version.

But that's opposite to what we've always done in Buildroot: the software
versions are conditional to the architecture options. There is nothing
we can do about the hardware: it is there, we can't change it, while we
can restrict ourselves to using software that is working on said
hardware.

Thus, we inverse the logic, to move the condition onto the software
side: whenever NaN-2008 are selected, we restrict the toolchain
selection to at least a gcc-4.9.

But now, the option with the NaN type is always set, so we must enclose
the code in gcc.mk inside a HAS_NAN_OPTION condition, as is already done
for the external toolchain case.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-24 22:39:56 +01:00
Yann E. MORIN
5e6de23e45 package/gcc: slight cleanup and reorg in remaining arch depends
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-24 22:20:14 +01:00
Yann E. MORIN
d08ccb40f5 arch/arm: some variants need different gcc versions
Take the conditions currently specified in the gcc version choice.

Also, the conditions explained in the commit log for 78c2a9f7 were not
all properly applied, especially the a57-a53 combo needs gcc-6, but
78c2a9f7 forgot to add the condition to gcc-4.9.

gcc-4.9 was excluded for cortex-a17 and a72, but the CodeSourcery
external toolchain, which uses 4.8, was not excluded for those two
cores. Now it is.

Remove the arch condition from gcc and the external toolchains.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-24 22:19:14 +01:00
Yann E. MORIN
f82218fcbb arch/mips: some variants need different gcc versions
We use the conditions currently expressed in the gcc version choice.

We leave the musl vs mips64 conditions in gcc, because the "fault"
really is on gcc, which does not recognise the mips64+musl tuples,
so the fix lies within gcc, and the current conditions are fitting.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-24 22:18:18 +01:00
Yann E. MORIN
6df07bc58e arch/bfin: needs gcc >= 6
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-24 22:17:03 +01:00
Yann E. MORIN
881cc8f1c4 toolchain/external: hide versions too old for the current arch
Hide the toolchains if the arch requires a gcc version more recent
than the one they provide.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-24 22:16:19 +01:00
Yann E. MORIN
3ae7f68b59 toolchain/external-custom: hide versions too old for the current arch
When an architecture expresses a requirement on the gcc version, limit
the version choice in the custom external toolchain.

The rationale being that there is no point in offering that version to
the user if we know before-hand that the gcc version will not work for
that architecture.

All versions below the minimum we support is just made conditional to
that minimum as well, including the "older" entry.

However, this means that the "older" entry is no longer available when
the architecture requires a minimum gcc version. A user who wants to use
a toolchain with a gcc older than the minimum will have no choice but to
realise the toolchain is not suitable (or lie and we would catch that
when checking the gcc version anyway).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-24 22:10:46 +01:00
Yann E. MORIN
1f33e55df0 package/gcc: hide versions too old for the current arch
Begin the conversion from hard-coded dependencies on architectures, to
architecture-specified version requirement, using the newly introduced
BR2_ARCH_NEEDS_GCC_AT_LEAST_XXX symbols.

Hard-coded dependencies will be removed progressively, as archs are
individually converted over to using the new symbols.

We do not change the architecture-specific versions for ARC and
OpenRISC, because there is no point in doing so for those, as they use
special, non-upstream versions anyway.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-24 22:09:58 +01:00
Yann E. MORIN
974d97bc26 arch: introduce minimal required gcc version
Some CPU variants require that a recent-enough gcc be selected. For
example, ARM's cortex-a35 requires gcc-5, while cortex-a73 requires
gcc-7. Same goes for other architectures, of course.

Currently, we hard-code every such conditions in the gcc version choice,
as well as in the individual external toolchains.

However, as we add even more CPU variants, the conditions are getting
more and more complex to write and maintain.

Introduce new symbols, that architectures can select if they have a
specific requirement on the gcc version. gcc and external toolchains
can then properly depend on those symbols.

The burden of maintaining the requirements on the gcc version now falls
down to the architeture, instead of being split up in gcc and all the
external toolchains.

As the oldest gcc version to handle, we can either choose gcc-4.9, as
the oldest version we support in our internal toolchain, or choose
gcc-4.8, as the oldest external toolchain we support (except for the
custom ones, but they'll be handled specifically in upcoming changes).
We choose to go back up to gcc-4.8.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-24 22:03:31 +01:00
Alexander Mukhin
5a0cfbded0 hostapd: add support for Realtek driver
Since kernel drivers for Realtek wireless chips use non-standard
interfaces, upstream hostapd does not support them. One have to apply
an external patch for hostapd to work with these chips. See:
https://github.com/pritambaral/hostapd-rtl871xdrv

A configuration option is added to enable support for Realtek chips,
and it's turned off by default.

Signed-off-by: Alexander Mukhin <alexander.i.mukhin@gmail.com>
Tested-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-24 21:45:17 +01:00
Thomas Petazzoni
0d2e7522ed mtd: be explicit about config options for the host
Instead of letting auto-detection do its job, be explicit about the
fact that we want the JFFS2 and UBIFS utilities when building the host
variant of mtd.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-24 21:37:18 +01:00