Since argp-standalone is only available for uClibc-ng
and musl toolchains, it's safe to link with it when
the package is selected.
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This comment is about host-cpio which hasn't
been added in Buildroot.
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Since argp-standalone is only available for uClibc-ng
and musl toolchains, add the dependendy only if it's
selected.
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Since argp-standalone is only available for uClibc-ng
and musl toolchains, it's safe to link with it when
the package is selected.
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
lrzsz could technically build in a static-only environment, but it
unconditionally redefines the error() and error_at_line() functions,
which clashes with the definition from uClibc. Since the autotools
packaging dates back from 1998, lots of work is needed to fix it, and
do some proper tests on the availability of such functions.
So, let's mark it as not available for static builds, until someone
interested enough fixes it.
Fixes:
http://autobuild.buildroot.net/results/8106ab057f538d1408d736736fdbe50b99ae709d/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
guile uses bdwgc, which is already compiled with GC_NO_DLOPEN in
static-only scenarios. However, the bdwgc headers continue to include
<dlfcn.h> if used with GC_NO_DLOPEN undefined.
Therefore, to make guile link properly in a static-only scenario, we
have to build it with GC_NO_DLOPEN defined.
Fixes:
http://autobuild.buildroot.net/results/1bf/1bf73dd4c28d6607e8c24d3abf259b8032712a02/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
By default, libpfm4 tries to build a shared library. However, by
passing CONFIG_PFMLIB_SHARED=n, we can convince it to build only a
static library. Therefore, this commit uses that to fix the
static-only build, therefore fixing:
http://autobuild.buildroot.net/results/efa/efae782912face7c36417dfb1023228d6b137654/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Like PowerPC, the uClibc port on SuperH doesn't implement ucontext, so
we can't build libsigsegv in such a configuration. Therefore this
commit marks libsigsegv as not available on SuperH/uClibc.
Fixes:
http://autobuild.buildroot.net/results/2128a3507e57e707ee5c726f1ccfddadb7b19112/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
audit uses -fPIE/-pie, which is not compatible with static only builds
with uClibc. Since using audit in a statically linked environment is
probably not a very common use case, let's simply mark it as
non-available in such situations.
Fixes:
http://autobuild.buildroot.net/results/549492270f3f43747a96a8326aef1d7ae1d3b213/
Thanks to Waldemar for explaining the source of the problem.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Thomas: applying for 2015.08, because it fixes a regression
introduced in dnsmasq 2.74, as reported by Gustavo.]
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
BR2_PREFER_STATIC_LIB has been changed/renamed quite some time ago to
BR2_STATIC_LIBS, but the c-icap submission was done before that, and
during the review/merge of the patch, this rename was forgotten.
This commit therefore fixes the c-icap dependency on BR2_STATIC_LIBS,
which should fix:
http://autobuild.buildroot.net/results/cb623460de30dd7c4ef3275fe13220c1ca0642a5/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
According to the doc file from <uclibc-src>/docs/
Glibc_vs_uClibc_Differences.txt, the uclibc library read the
TZ environment variable, or the /etc/TZ file; the /etc/TZ file
should be a single line, ending with a newline, containing the
TZ setting. For example: echo CST6CDT > /etc/TZ
Whereas the tzdump cmd would output two lines like this:
# Asia/Shanghai
CST-8
This make the uclibc could not read the correct TZ setting, therefore
e.g. the 'busybox date' cmd always show the UTC timezone.
This fix remove the redundant first line from the tzdump output.
Signed-off-by: Scott Fan <fancp2007@gmail.com>
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Add a patch to disable mallinfo statistics with musl toolchains
which doesn't have struct mallinfo.
Fixes:
selinux-util.c: In function ‘mac_selinux_init’:
selinux-util.c:70:25: error: storage size of ‘before_mallinfo’ isn’t known
struct mallinfo before_mallinfo, after_mallinfo;
Add a second patch for strndupa() which is a GNU extension.
Fixes:
./.libs/libudev-core.a(selinux-util.o): In function `mac_selinux_bind':
selinux-util.c:(.text+0xd94): undefined reference to `strndupa'
collect2: error: ld returned 1 exit status
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Cc: Clayton Shotwell <clshotwe@rockwellcollins.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The musl C library does not understand the feature test macro __USE_MISC and so
libuv (built-in dependency of nodejs) does not use the correct struct stat
definition for musl:
error: ‘uv_statbuf_t’ has no member named ‘st_ctimensec’
error: ‘uv_statbuf_t’ has no member named ‘st_mtimensec’
The macro __USE_MISC is defined by glibc if _BSD_SOURCE or _SVID_SOURCE is
defined.
The libuv build system enables the feature test macro _GNU_SOURCE for linux
builds.
Since glibc 2.19, defining _GNU_SOURCE also has the effect of implicitly
defining _DEFAULT_SOURCE - the replacement for _BSD_SOURCE and _SVID_SOURCE.
In glibc versions before 2.20, defining _GNU_SOURCE also had the effect of
implicitly defining _BSD_SOURCE and _SVID_SOURCE. This is also true for uClibc.
Alltogether, we can safely replace __USE_MISC by _GNU_SOURCE to support building
nodejs 0.10.x with the musl C library.
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
poco requires dlopen(). There is a --no-sharedlibs option that is
supposed to support building in a statically linked environment, but
it doesn't do anything.
Fixes:
http://autobuild.buildroot.net/results/952/952f05efd245ba59991f3c5be02a0572e8b9e544/
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Add a patch from the Alpine Linux project [1] to fix a musl build issue with
gcc 5:
```
error: temporary of non-literal type ‘pthread_mutex_t’ in a constant expression
constexpr PosixMutex():mutex(PTHREAD_MUTEX_INITIALIZER) {}
```
Problem has been reported by the Alpine team upstream and was closed by the MPD
maintainer with WONTFIX:
http://bugs.musicpd.org/view.php?id=4387http://bugs.musicpd.org/view.php?id=4110
However...
POSIX does not permit using PTHREAD_COND_INITIALIZER except for static
initialization, and certainly does not permit using it as a value.
Also POSIX does not specify the type of the object (it's opaque) so if
there are any types for which their code would be invalid C++, then their
code is invalid.
Also, volatile in the type is necessary. without that, LTO can break the code.
[1]
http://git.alpinelinux.org/cgit/aports/log/main/mpd/musl-gcc5-fixes.patch
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
It is Buildroot convention to comment when "_INSTALL_TARGET = NO".
Signed-off-by: Jonathan Ben Avraham <yba@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Angelo is the author of the upstream patch, so it is safe to add his
SoB. This commit also adds the upstream status of the patch.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Webkit 2.4.x depends on gcc being >= 4.8.x so use the new
BR2_TOOLCHAIN_GCC_AT_LEAST_X_Y knob and drop the manual x86* external
toolchain exclusions.
Follow up in the midori package as well.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
mpd requires at least gcc 4.6, so use the newly introduced gcc version
dependency mechanism instead of open-coded toolchain dependencies.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
This commit changes the libupnp Config.in to use the gcc version
dependency mechanism. The only reverse dependency of libupnpp is
upmpdcli, which has already been updated, and requires >= 4.6, while
libupnpp only requires >= 4.5.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
In most packages, we use 'depends on !A || !B || !C' and not 'depends
on !(A && B && C)' to express the dependencies of comments on missing
toolchain features. As suggested by Yann E. Morin, let's switch zmqpp
to this convention.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit updates the zmqpp Config.in file to use the newly
introduced gcc version dependency mechanism to depend on gcc >= 4.6
instead of open-coding dependencies on specific toolchains.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
This commit updates the upmpdcli Config.in file to use the newly
introduced gcc version dependency mechanism to depend on gcc >= 4.6
instead of open-coding dependencies on specific toolchains.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Until recently, only the C++ bindings of libsigrok needed a recent
compiler because they are written in C++11. However, now, libsigrok
itself is written in C11, which is only available since gcc 4.7.
So, this commit replaces the CodeSourcery-specific exclusions by a
proper dependency on gcc >= 4.7.
The sigrok-cli and pulseview packages, which select libsigrok, are
also updated accordingly.
Fixes:
http://autobuild.buildroot.org/results/1d7/1d75497009f1e3b06236b3409fd768dcf7956b87/http://autobuild.buildroot.org/results/563/563378e3f6320980153c8c972ceba5e913fe933f/
[Thomas: add autobuilder references, as suggested by Yann E. Morin.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
This commit updates the Buildroot manual to document how to detail the
gcc version dependencies in Config.in comments of packages, like we do
for kernel headers version.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
This commit wires up the gcc version dependency mechanism in the
external toolchain backend. To do so, it:
* Changes the definition of all pre-defined external toolchain
profiles to select the appropriate BR2_TOOLCHAIN_GCC_AT_LEAST_*
option.
* For custom external toolchains, provides a visible Config.in
"choice" to select the gcc version used in the external toolchain.
* Adds a new check_gcc_version function, that verifies that the real
gcc version found in the external toolchain matches the one
declared in the Buildroot configuration.
[Thomas: use better sed expression proposed by Yann E. Morin, which
works with more cases.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit wires up the gcc version dependency mechanism in the
internal toolchain backend by making the gcc version choice in the gcc
package Config.in.host select the appropriate
BR2_TOOLCHAIN_GCC_AT_LEAST_* option.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
This commit adds a number of hidden Config.in options, that will be
used to handle dependencies on the gcc version. We mimic the model
that was used for the kernel headers dependency mechanism.
These hidden options will be selected by the internal and external
toolchain backend logic respectively, in follow-up commits.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
With the fix for missing .tdata/.tbss sections we unintentionally
introduced a regression for ARCv2 ISA (read ARC HS38) kernel building.
That's what we got on attempt to build kernel:
----------------------------------->8--------------------------------------
LD drivers/video/fbdev/built-in.o
arc-linux-ld: ERROR: Attempting to link drivers/video/fbdev/omap2/built-in.o with a binary drivers/video/fbdev/built-in.o of different architecture
arc-linux-ld: failed to merge target specific data of file drivers/video/fbdev/omap2/built-in.o
scripts/Makefile.build:337: recipe for target 'drivers/video/fbdev/built-in.o' failed
make[3]: *** [drivers/video/fbdev/built-in.o] Error 1
scripts/Makefile.build:403: recipe for target 'drivers/video/fbdev' failed
make[2]: *** [drivers/video/fbdev] Error 2
scripts/Makefile.build:403: recipe for target 'drivers/video' failed
make[1]: *** [drivers/video] Error 2
Makefile:944: recipe for target 'drivers' failed
make: *** [drivers] Error 2
----------------------------------->8--------------------------------------
The reason was empty .tdata and .tbss sections in empty archives. And
later empty archives were linked in built-in.o with default architecture
(in our case ARCv1 ISA, read for ARC 700) and then expected failure
happened when objets for different architectures were attempted to link
together.
Now we have a fix for that issue, see
a65b844aed
This fix is in arc-2.23-dev branch and will be a part of the next
release of ARC tools, so then this patch must be removed from buildroot.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The AXS10x Platform consists of a DesignWare AXC001 CPU
Card (with ARC 770D core) in case of AXS101 or AXC003 CPU Card
(typically with ARC HS38 core) in case of AXS103 mounted on an
ARC Software Development Platform Mainboard with DesignWare peripherals:
* SD/MMC contoller
* Gigabit network contoller
* Serial ports (8250-compatible)
* USB 2.0
* SPI
* I2C
It also houses HDMI output for external monitor connection.
For stand-alone usage of the board (with only keyboard, mouse and montor
attached) kernel console and getty made available on tty0 as well as on
serial port (ttyS3).
Note there're 2 prerequisites:
[1] u-boot: 2015.07 - fix creation of .config
http://patchwork.ozlabs.org/patch/502558/
[2] binutils: fix buildng of Linux kernel for ARCv2 ISA
http://patchwork.ozlabs.org/patch/503550/
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Patches upstream so drop them.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>