Richard Braun [Tue, 20 Nov 2012 07:18:11 +0000 (07:18 +0000)]
Makefile: fix thread libraries stripping
Strip libthread_db the same as any other library, but strip libpthread
with --strip-debug. See the relevant mailing list discussion [1] for
additional details.
Davide Viti [Sun, 25 Nov 2012 06:43:37 +0000 (06:43 +0000)]
List the useful hook points available in buildroot
The complete list can be obtained with the following command:
grep "_HOOKS[ ]\+?=" package/pkg-generic.mk
Signed-off-by: Davide Viti <zinosat@tiscali.it> Acked-by: Samuel Martin <s.martin49@gmail.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
legacy: evtest is dropped from input-tools package
We select BR2_PACKAGE_EVTEST automatically. This has only limited use:
when the LEGACY_CHECK menu is disabled in menuconfig (or even oldconfig),
it will also unselect BR2_PACKAGE_EVTEST again. Still, it can serve as a
hint of how to fix things.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
As discussed in the BR developer days, we want to be more strict about API
changes in buildroot. I.e., we want to make it less likely that a user's
customizations break down after upgrading buildroot.
A first step is to make sure that the user is warned about API changes.
This patch introduces Makefile.legacy and Config.in.legacy, which will
issue clear error messages for such situations.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Gustavo Zacarias [Fri, 30 Nov 2012 00:46:03 +0000 (00:46 +0000)]
flex: fix build for nommu systems
The flex binary uses fork() so it breaks on !MMU builds.
Since we usually don't require flex in the target and the common
scenario is that we just want libfl in staging reverse the options so
that BR2_PACKAGE_FLEX just builds and install libfl.a and change the
LIBFL option to BR2_PACKAGE_FLEX_BINARY to install the binary in the
target.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Samuel Martin [Wed, 21 Nov 2012 14:18:17 +0000 (14:18 +0000)]
imagemagick: add license info
Signed-off-by: Samuel Martin <s.martin49@gmail.com> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Samuel Martin [Thu, 22 Nov 2012 00:18:13 +0000 (01:18 +0100)]
scons: add license info
Signed-off-by: Samuel Martin <s.martin49@gmail.com> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Samuel Martin [Wed, 21 Nov 2012 14:18:12 +0000 (14:18 +0000)]
libmad: add license info
[Peter: license is GPLv2+ as pointed out by Arnout] Signed-off-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Samuel Martin [Wed, 21 Nov 2012 14:18:08 +0000 (14:18 +0000)]
linux-fusion: bump to version 8.10.4
Also fix directfb build avoiding the following error to occur
(since FCEF_FOLLOW has been added in linux-fusion-8.9.0):
libtool: compile: /opt/br/output/host/usr/bin/ccache /opt/br/output/host/usr/bin/arm-buildroot-linux-uclibcgnueabi-gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../../lib -I../../include -I../../lib -DDATADIR=\"/usr/share/directfb-1.4.17\" -DMODULEDIR=\"/usr/lib/directfb-1.4-6\" -D_REENTRANT -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O3 -ffast-math -pipe -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os -g2 -g3 -fno-inline -Wno-inline -D_GNU_SOURCE -finstrument-functions -std=gnu99 -Werror-implicit-function-declaration -MT call.lo -MD -MP -MF .deps/call.Tpo -c call.c -fPIC -DPIC -o .libs/call.o
call.c: In function 'fusion_call_execute3':
call.c:311:66: error 'FCEF_FOLLOW' undeclared (first use in this function)
call.c:311:66: note: each undeclared identifier is reported only once for each function it appears in
call.c: In function 'fusion_world_flush_calls':
call.c:444:54: error 'FCEF_FOLLOW' undeclared (first use in this function)
make[5]: *** [call.lo] Error 1
make[5]: Leaving directory `/opt/br/output/build/directfb-1.4.17/lib/fusion'
Signed-off-by: Samuel Martin <s.martin49@gmail.com> Acked-by: Simon Dawson <spdawson@gmail.com> Tested-by: Simon Dawson <spdawson@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Samuel Martin [Wed, 21 Nov 2012 14:17:59 +0000 (14:17 +0000)]
linux-fusion: fix build
Signed-off-by: Samuel Martin <s.martin49@gmail.com> Acked-by: Simon Dawson <spdawson@gmail.com> Tested-by: Simon Dawson <spdawson@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Thomas Petazzoni [Wed, 28 Nov 2012 06:34:52 +0000 (06:34 +0000)]
gdb: properly pass the PATH when building gdb for the host
When building gdb for the host, we properly pass the PATH (through
HOST_CONFIGURE_OPTS) during the configure step, but we forget to do so
for the compilation step.
The result of this is that when the Crosstool-NG backend is used, gawk
is built and installed in $(HOST_DIR), as a dependency of the
crosstool-ng package.
Then, the host gdb configure script detects this gawk binary
($(HOST_DIR) is in the PATH), and assumes gawk is
available. Unfortunately, during the compilation step, it fails to
find the expected gawk binary, because $(HOST_DIR) is no longer in the
PATH. This causes the following build failure:
In fact the configure.in of libpcap has provision to support
--enable-shared/--disable-shared, but the generated configure script
in the libpcap package has not been regenerated with the configure.in
changes.
So basically, enabling LIBPCAP_AUTORECONF=YES ensures that the
configure script gets generated, which brings us a working
--enable-shared / --disable-shared.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The depends-on-vs-select part of the manual really deserves its own
section title (especially because it is referred to and the xref gets
a 'sinpara' in PDF if the section doesn't have a title). So restructure
the surrounding sections to reduce the section nesting depth.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Acked-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The tutorial for autotools-package and cmake-package currently gives
the bad example of setting _INSTALL_TARGET to YES, which is the default.
So change this into an example with _INSTALL_TARGET = NO, and explain in
which case this is relevant.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Acked-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Acked-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Also removing some sentences that are not or no longer relevant.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Acked-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Markos Chandras [Sun, 4 Nov 2012 23:44:54 +0000 (23:44 +0000)]
fs/common: Create initial console device
A /dev/console node must be present in rootfs when the Linux kernel
boots otherwise the kernel will print the following warning:
"Warning: unable to open an initial console"
This is because when we use an initramfs the /dev directory is not
populated at this point. This can cause problems when a program
(e.g ldso with early debugging enabled) opens a standard file
descriptor for read/write before these descriptors are actually
created by the init process later on.
Chris Zankel [Tue, 20 Nov 2012 08:43:59 +0000 (08:43 +0000)]
xtensa: fix target gdb build and 64-bit host side gdb
Fix build breakage, use the version of the ptrace header file in asm
instead of sys. Also, fix GDB running on 64 bit hosts. GDB was using
unsigned long for 32-bit registers, but unsigned long is 64 bit on
64-bit hosts.
Signed-off-by: Chris Zankel <chris@zankel.net> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Chris Zankel [Tue, 20 Nov 2012 08:31:36 +0000 (08:31 +0000)]
xtensa: use uppercase for configurations and modified overlay structure
Except for architecture and processor names, buildroot uses capitalized
configuration names, so change the macro names for xtensa to follow that
standard.
Change the overlay file to have a subdirectory for each component
(gdb, binutils, gcc, etc.) to make it more future-prove.
Signed-off-by: Chris Zankel <chris@zankel.net> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Busybox does partial linking of its modules before linking everything
together into the binary. Those partial links are done without the
standard libraries, but that also means -ltirpc can't be found. In
addition, this probably fails horribly with static linking (untested).
The problem is that the LDFLAGS are also used in the partial links.
So instead, use CFLAGS_busybox, which is only used for the busybox
link step. Also make sure that this is passed through the environment,
not on the command line, so the busybox Makefile can still append to
it.
Thomas Petazzoni [Sat, 17 Nov 2012 12:24:08 +0000 (12:24 +0000)]
dbus: uses fork(), requires MMU
In order to solve
http://autobuild.buildroot.org/results/34f6843137efda20626af72714c110280ec577d7/build-end.log,
this patch makes the D-Bus package as well as all the packages that
select the D-Bus package 'depends on BR2_USE_MMU'.
In addition, for the specific case of gvfs, the missing
BR2_TOOLCHAIN_HAS_THREADS dependency is added (threads are required by
D-Bus, so they are also required by gvfs which selects D-Bus).
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Thomas Petazzoni [Sat, 17 Nov 2012 12:24:04 +0000 (12:24 +0000)]
gsl: fix build on !i386 uClibc
uClibc pretends to implement <fenv.h> as it installs the header, but
in practice, it only implements the functions for i386. This makes gsl
unhappy as it detects fenv.h, but then cannot use the fenv functions.
Moreover, the 7.2 version is the one used by Debian/Ubuntu, and it has
been tested to build fine with the two packages that depend on
libatomic_ops: libdrm and pulseaudio.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Vellemans Noel [Sat, 17 Nov 2012 12:24:01 +0000 (12:24 +0000)]
mesa3d: requires host-libxml2 and host-python to generate some files
mesa3d now generates some C files at build time (related to the OpenGL
API) from XML files. This generation process is done using Python
scripts that require the libxml2 Python module.
Patch based on the initial work of Will Wagner (Thanks Will).
Signed-off-by: Vellemans Noel <noel.vellemans@visionbms.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Thomas Petazzoni [Sat, 17 Nov 2012 12:23:59 +0000 (12:23 +0000)]
python: use default configure commands to get shared build
Commit 3c90f754961c6d99059c0b6d0a66bc797a3c017b made Python use a
special ./configure command in order to avoid --enable-shared
--disable-static being passed, because it was causing issues when
building certain modules for a 64 bits system.
However, not having a shared libpython2.7 library for the host
prevents the libxml2 Python binding to get built.
So instead, we use the default configure command, but we add
--enable-static which is needed for Python to build correctly.
Note that we tested the build of Python on a 64 bits host as well as
the build of Python for a 64 bits target, and both went fine, with all
modules built properly.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Peter Korsgaard [Sat, 17 Nov 2012 21:19:26 +0000 (22:19 +0100)]
lua: don't be fancy when creating shared library
(Possibly) fixes #5354
The lua shared library patch was creating the shared library with
-nostdlib -lgcc for some unknown reason, which most likely is
the reason for the link issue reported in #5354.
Fix it by dropping these arguments, so gcc gets to figure out itself
what dependencies are needed.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Philippe Reynes [Sat, 17 Nov 2012 12:01:22 +0000 (13:01 +0100)]
Allow to run severals post build scripts instead of only one
Using severals post build scripts is usefull to share
script between severals boards/projects.
[Peter: fix trailing spaces in Config.in] Signed-off-by: Philippe Reynes <philippe.reynes@sagemcom.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Thomas Petazzoni [Sat, 17 Nov 2012 03:52:14 +0000 (03:52 +0000)]
Warn the user about the usage of output/target as the root filesystem
A very common mistake done by our users is that they use
output/target/ directory as their root filesystem. Even though this is
loudly documented in our Buildroot manual, people don't read
documentation, so it is not sufficient.
This patch adds a text file named
output/target/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM which explains why
output/target isn't appropriate to use as the root filesystem. The
process is:
* At the beginning of the build, right after the skeleton has been
copied, support/misc/target-dir-warning.txt is copied to
output/target/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM
* In the filesystem images creation code, this file is removed before
launching fakeroot, and restored right after that, so that this
file is not present in the generated root filesystem images.
Note that the file has not been added to the default skeleton for two
reasons:
* It would have annoying to have in our source tree a file named in
capital letters inside system/skeleton/
* The proposed way works even if the user uses a custom skeleton.
[Peter: fixed typo] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Juha Lumme <juha.lumme@gmail.com> Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Thomas Petazzoni [Sat, 10 Nov 2012 12:36:03 +0000 (12:36 +0000)]
Mark a number of development related packages as deprecated
automake, autoconf, libtool and make on the target are basically
useless if we don't support building a toolchain on the target. Of
course, the host variant of automake, autoconf and libtool will remain
available.
[Peter: fixup to apply after perl change] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Thomas Petazzoni [Sat, 10 Nov 2012 12:36:02 +0000 (12:36 +0000)]
Deprecate the support for the toolchain on target
As discussed during the ELCE 2012 Buildroot Developers Meeting, we no
longer want to support the possibility of building a toolchain for the
target. None of the core developers have any use for this, it has been
known to be broken or cause problems for a long time without anyone
providing fixes for it.
In addition to this, Buildroot is inherently a cross-compilation tool,
so the usage of a native toolchain on the target is not really
useful. Many newcomers are tempted to use this possibility even though
it is clearly not the intended usage of Buildroot.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>