icu: fix build after custom data library patch

Commit abded6bfead49d61c24a45d811a83ca082adf677 ("icu: add an option
to add a custom data library file") broke the build because of an
improper test on a non-qstripped variable. This commit fixes that.

Fixes:

  http://autobuild.buildroot.org/results/02a/02a0800b01a4bf8734d601f79dc12663fe8f7542/
  and many other similar occurences of the same issue.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
PPC: fix ltrace build on PPC32

Add a patch to fix the build on PPC32 platform. That patch has been
submitted upstream.

Fixes:

  http://autobuild.buildroot.org/results/446/4460aac38225289ef58a8693da9ae520ae07a226/

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
popt: rename patch to use the correct naming convention

This patch renames the popt patch popt-1.14_no-wchar.patch to
popt-01-no-wchar.patch in order to follow the naming convention used
in all packages.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
popt: solve the glob_pattern_p() problem

The current popt build system tests the existence of <glob.h>, and
then assumes that if __GLIBC__ is defined, then glob_pattern_p() must
be available. Unfortunately, that's not true with uClibc: <glob.h> may
be installed, but not necessarily the GNU glob extensions... and
uClibc defines __GLIBC__. This is causing build issues with certain
uClibc toolchains that do not have GNU glob extensions enabled.

To fix this, we introduce a patch called popt-03-glob-detection.patch
which adds a new AC_CHECK_FUNCS() test for glob_pattern_p() and uses
the result to know if this function is available, instead of testing
__GLIBC__.

In order for this patch to work, the popt package must be
autoreconfigured, so another patch, popt-02-fix-autoreconf.patch, is
needed to make the package autoreconfigure properly. And also
POPT_AUTORECONF = YES is added to popt.mk.

Finally, this change avoids the need for the Blackfin toolchain
specific testing, which we forgot to update when introducing the
2014R1 version of the Blackfin toolchain. With this new solution,
there will be no need to update the popt.mk file when new Blackfin
toolchains are added.

Fixes:

  http://autobuild.buildroot.org/results/e09/e09e24fec240382a3197fef3e98eb9a22f76420a/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Yuvaraj Patil <yuvaraj.patil@wipro.com>
Cc: Sonic Zhang <sonic.zhang@analog.com>
linux-headers: bump 3.{3, 10, 14, 15}.x series

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
linux: bump default to version 3.15.7

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
qemu/sparc-ss10: update defconfig to Linux 3.15.x

Update defconfig to 3.15, tested with Qemu 2.0.0.
Removed hint about framebuffer, as -display none is used.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
uclibc: fix networking support on sparc

While updating the default config for Sparc, I noticed that networking
is broken. The reason is a uClibc backport patch from uClibc
master. This commit adds a fix on top of it, which was submitted to
upstream uClibc.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
perl: refactor with TARGET_FINALIZE_HOOKS

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
luarocks: refactor with TARGET_FINALIZE_HOOKS

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
docs/manual: add sob line for patch series

The -s is missing in the documentation when teaching how to use 'git
format-patch' to automatically add the sob line.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
httping: fix math library linking

Add the math library directive '-lm' to linker options at the end.
The order of the math library directive '-lm' matters.

Fixes:

  http://autobuild.buildroot.net/results/843/84382290696e72c23995f5ed020ad5c157817012/

Signed-off-by: Yuvaraj Patil <yuvaraj.patil@wipro.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
python: new module cffi

Foreign Function Interface for Python calling C code.

[Thomas: add dependency on host-pkgconf and libffi, enable on Python 3
since the module builds fine and loads fine with Python 3 as well.]

Signed-off-by: oli vogt <oli.vogt.pub01@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
popt: now needs gettextize

Because of df9244ff3738face50605eacf4d4f15d963de915 we now need to
gettextize popt. Fixes:
http://autobuild.buildroot.net/results/6e2/6e27c98407f114df07eb5cd16a843420fdb72bf4/

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
xserver_xorg-server: Add support for DRI3

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
xdriver_xf86-video-intel: Bump version to 2.99.914

- enable sna module by default
- optionally enable uxa module if DRI2 support is enabled
- add support for DRI3
- dependencies for DRI1/2/3 modules are provided by xserver_xorg-server,
  therefore remove mesa3d dependency
- clean-up ums/kms options, configure picks sane defaults
- replace dependencies xproto_randrproto & xproto_renderproto with xlib_libXrandr

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
uclibc: build tests after uClibc libs are installed to staging location

If libuClibc is not installed to staging on attempt to build tests following
errors happen:

============
  TEST_LINK termios/ termios
.../host/usr/arc-buildroot-linux-uclibc/sysroot/usr/lib/crt1.o: In function `__start':
.../build/uclibc/libc/sysdeps/linux/arc/crt1.S:53: undefined reference to `__uClibc_main'
termios.o: In function `main':
.../build/uclibc/test/termios/termios.c:13: undefined reference to `printf'
.../build/uclibc/test/termios/termios.c:14: undefined reference to `printf'
.../build/uclibc/test/termios/termios.c:16: undefined reference to `stdout'
.../build/uclibc/test/termios/termios.c:16: undefined reference to `fileno'
.../build/uclibc/test/termios/termios.c:16: undefined reference to `ioctl'
.../build/uclibc/test/termios/termios.c:19: undefined reference to `perror'
.../build/uclibc/test/termios/termios.c:21: undefined reference to `printf'
.../host/usr/lib/gcc/arc-buildroot-linux-uclibc/4.8.0/../../../../arc-buildroot-linux-uclibc/lib/libgcc_s.so.1: undefined reference to `memcpy'
.../host/usr/lib/gcc/arc-buildroot-linux-uclibc/4.8.0/../../../../arc-buildroot-linux-uclibc/lib/libgcc_s.so.1: undefined reference to `malloc'
.../host/usr/lib/gcc/arc-buildroot-linux-uclibc/4.8.0/../../../../arc-buildroot-linux-uclibc/lib/libgcc_s.so.1: undefined reference to `abort'
.../host/usr/lib/gcc/arc-buildroot-linux-uclibc/4.8.0/../../../../arc-buildroot-linux-uclibc/lib/libgcc_s.so.1: undefined reference to `calloc'
.../host/usr/lib/gcc/arc-buildroot-linux-uclibc/4.8.0/../../../../arc-buildroot-linux-uclibc/lib/libgcc_s.so.1: undefined reference to `dl_iterate_phdr'
.../host/usr/lib/gcc/arc-buildroot-linux-uclibc/4.8.0/../../../../arc-buildroot-linux-uclibc/lib/libgcc_s.so.1: undefined reference to `realloc'
.../host/usr/lib/gcc/arc-buildroot-linux-uclibc/4.8.0/../../../../arc-buildroot-linux-uclibc/lib/libgcc_s.so.1: undefined reference to `memset'
.../host/usr/lib/gcc/arc-buildroot-linux-uclibc/4.8.0/../../../../arc-buildroot-linux-uclibc/lib/libgcc_s.so.1: undefined reference to `strlen'
.../host/usr/lib/gcc/arc-buildroot-linux-uclibc/4.8.0/../../../../arc-buildroot-linux-uclibc/lib/libgcc_s.so.1: undefined reference to `free'
collect2: error: ld returned 1 exit status
make[3]: *** [termios] Error 1
============

And the simplest solution is to build tests right before installation in
UCLIBC_INSTALL_TARGET_CMDS which follows UCLIBC_INSTALL_STAGING_CMDS so
all required libs are in place.

Interesting note - if one enables uClibc tests after initial full buildroot
build mentioned errors don't happen. This is because uClibc libc libs are
already installed to staging. That's why I didn't noticed this problem before.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>

Cc: Anton Kolesov <akolesov@synopsys.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
uclibc: rename SETUP_DOT_CONFIG to FIXUP_DOT_CONFIG

In a subsequent patch, the behavior of UCLIBC_SETUP_DOT_CONFIG will change
so that it only applies fixups to the (already copied) configuration file.
This patch renames this function to UCLIBC_FIXUP_DOT_CONFIG to better match
the future behavior.

Suggested-by: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
uclibc: menuconfig: take into account initial settings from config file

When executing the sequence 'make clean uclibc-menuconfig', the configured
config file is not taken into account and one starts from the default
settings.

This patch adds an explicit target for the config file and lets the
configure and menuconfig steps depend on it, fixing the problem.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
uclibc: update-config: preserve freshly configured settings

In the sequence:

make uclibc-menuconfig
make uclibc-update-config

the freshly configured settings from the menuconfig are lost during the
update-config step. This is because update-config depends on the configure
step, which starts by copying the config file to the build directory.

Instead, stop depending on the configure step from update-config, and
introduce a new stamp file .stamp_config_fixup_done, which applies any
fixups on the .config file.
An alternative solution would be to add a call to UCLIBC_FIXUP_DOT_CONFIG to
the relevant targets instead of depending on a new stamp file. The advantage
of the stamp file, though, is that we avoid redoing the fixup unnecessarily.
Moreover, in the light of the plan to extract the kconfig-specific bits into
a separate kconfig-package infrastructure, the stamp file rules are more
easily moved into such an infrastructure, while the alternative solution
requires the package .mk file to explicitly call the FIXUP rules which may
more easily be forgotten.

No longer depending on the configure step has the added bonus that
'uclibc-update-config' no longer needs the toolchain to be available, which
makes:
    make clean uclibc-menuconfig uclibc-update-config
much faster and user-friendly.

Additionally, make sure that 'make clean uclibc-update-config' works
properly, by depending on .stamp_config_fixup_done so that the config file
is present and fixed.

Fixes bug #7154 https://bugs.busybox.net/show_bug.cgi?id=7154

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>