libgtk2 can either use the X11 or directfb backend, depending on what
is selected - But if other packages 'select' libgtk2 there is no
guarantee that any backends are enabled, breaking the build.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Having a BR2_NEEDS_GETTEXT option, as introduced by
54d64798e1 isn't sufficient to express
the different kind of dependencies on gettext.
This commit, based on an idea by Peter Korsgaard, introduces two
different options :
* BR2_NEEDS_GETTEXT, which is true as soon as the toolchain doesn't
provide gettext itself (i.e, when the toolchain is uClibc based, be
it an internal or external toolchain)
* BR2_NEEDS_GETTEXT_IF_LOCALE, which is true when the toolchain
doesn't provide gettext *and* locale support has been enabled in
Buildroot.
A following commit adds some documentation that details how these
configuration variables should be used by packages.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Closes#1819
Fix two issues with pciutils:
- pciutils would look in /usr/share/misc for pci.ids, but install it in
/usr/share. This is because pciutils doesn't use a ./configure script,
so we have to also provide the configuration (make) arguments when
we run make install as well. Fix it by making it look into /usr/share
as that's simpler to do, and is what upstream does.
- the update-pciids script would call wget with the --no-timestamping
option, which isn't supported by busybox wget. Fix it by simply
removing that option as it isn't really critical.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Contrary to the comment in Config.in, mutt isn't broken when wchar
is enabled - In fact, it doesn't build without it.
Add BR2_USE_WCHAR dependency to make this clear.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Fix two issues with the icu build:
- icu source contains an #elif without any arguments, which g++ >= 4.4
flags as an error. This is both an issue for target and host build,
so restructure the .mk so any *both*patch is applied to both builds
(the other patches would cause trouble with host builds)
- icu build system isn't parallel make safe, use MAKE1
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
atngw100_defconfig: update to fix build failure:
* The AVR32 toolchain fails to build with the new uClibc version
0.9.31.x. Use the older uClibc 0.9.30.x branch instead.
* Disable linux-fusion as it fails to build
(why was this selected anyway, when DirectFB was not selected?).
* U-Boot 2010.03 is broken for AVR32. The build fails with:
zlib.c:31:27: error: asm/unaligned.h: No such file or directory
Select the older U-Boot 2009.08 version that builds instead.
* Disable rsync as it fails to build.
Build tested with 'make distclean && make atngw100_defconfig && make'
on an Ubuntu 10.04 x86_64 host.
Signed-off-by: Bjørn Forsman <bjorn.forsman@gmail.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Having . in the PATH makes the toolchain build process fail because it
confuses host tools and target tools.
This fixes bug #75.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Things like LD_LIBRARY_PATH=. or even LD_LIBRARY_PATH=.:/usr/lib were
not detected as incorrect.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Otherwise u-boot tools / kernel modules are only added to target AFTER
the filesystems are built.
Long term u-boot/kernel stuff should get splitted from target/device,
but this is the safest solution for now.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The build of fltk was failing due to an issue in the usage of
scandir(). This issue is fixed by a new patch,
fltk-1.1.7-scandir-fix.patch. Moreover, this problem was not
necessarly visible, as the build process of FLTK didn't bail out with
an error when it was failing. This if fixed by
fltk-1.1.7-bail-out-on-error.patch. Finally, there was a problem with
the tests of FLTK, so we disabled them.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Slightly improve the package type detection heuristic, and fix a small
bug about package/multimedia/multimedia.mk exclusion.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Add a Python script that draws dependency graphs, either for the full
set of selected packages, or for a particular given package. Of
course, it is limited to packages that use either the generic or
autotools infrastructures. The script generates a file that Graphviz
can parse and generate a PDF (or other formats) from it.
Full dependency graph of all selected packages :
./scripts/graph-depends > test.dot
dot -Tpdf test.dot -o test.pdf
Dependency graph of libgtk2 :
./scripts/graph-depends libgtk2 > test.dot
dot -Tpdf test.dot -o test.pdf
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The new <pkg>-show-depends simply outputs the list of dependencies for
the given package.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The recent change to use config.guess to figure out GNU_HOST_NAME
broken the x86x86fix detection for 32bit hosts, as config.guess
returns something like i686-pc-linux-gnu rather than something with
*-unknown-linux-* like we used to use.
Fix it by simply looking for "linux" instead.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
There is a build problem with netsnmp on external toolchain that isn't
easy to fix: libtool strips the --sysroot that we are passing it,
which make the link step fail.
In preparation for the release, just make sure this package isn't
visible to external toolchain users. Of course, on the long run, we
should fix this.
We also disable the build of the Quagga SNMP support because it
selects netsnmp.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
External toolchain builds absolutely require the --sysroot option to
be passed at link time.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Without CFLAGS, the build breaks because --sysroot is missing at link
time, and this option is absolutely mandatory for external toolchain
builds.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Since lvm2 uses autoconf, there's no point in overriding CC and other
variables at build time. This causes build breakage as CFLAGS aren't
used at link time, therefore --sysroot lacks, which breaks the build
with external toolchains.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
mutt has been upgraded, but the mutt-1.5.16-makedoc-hostcc.patch
wasn't upgraded accordingly, causing build failures in the
documentation. Therefore, we add a new patch
mutt-1.5.17+20080114-nodoc.patch that disables the construction of the
documentation.
As this patch modifies Makefile.am, we need to autoreconf the
package. The simplest and cleanest way to do this is to convert the
package to the autotools infrastructure.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Since we no longer need to build pango on the host, cairo on the host
is no longer needed.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
We needed to build pango for the host in order to compile
pango-querymodules for the host, which was used to produce
/etc/pango/pango.modules. Unfortunately:
* This produces an incorrect /etc/pango/pango.modules (no modules
detected in my case), probably because the host pango-querymodules
was looking at host pango modules
* This requires to build pango for the host, which requires to build
cairo for the host, which requires to build X11 for the host.
To make things work and remove the dependency between pango and
host-pango, we introduce a S25pango script that creates
/etc/pango/pango.modules on startup if it doesn't exist, just as we do
with libgtk2 for /etc/gtk-2.0/gdk-pixbuf.loaders.
Since host-pango is no longer needed, we remove all definitions
related to it.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This patch adds a patch to NTP to fix the following build failure,
using a workaround patch found on the Fedora bugzilla:
ntp_loopfilter.c: In function 'local_clock':
ntp_loopfilter.c:571: error: 'MOD_NANO' undeclared (first use in this function)
ntp_loopfilter.c:571: error: (Each undeclared identifier is reported only once
ntp_loopfilter.c:571: error: for each function it appears in.)
ntp_loopfilter.c: In function 'loop_config':
ntp_loopfilter.c:896: error: 'MOD_NANO' undeclared (first use in this function)
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This package uses several pmap_*() functions in the C library, that
are only available if the C library has RPC support.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
A C library compiled with locale support already has an iconv()
implementation. In that case, libiconv is useless. Therefore, disallow
the selection of libiconv when the configuration says that the
toolchain has locale support.
This fixes build issues similar to the one we had with gettext:
libiconv headers are installed, but -liconv is not added because the
./configure script detects that the C library supports iconv.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Verify that the value of BR2_INSTALL_LIBSTDCPP set by the user in the
Buildroot configuration really matches the external toolchain
capabilities by checking that a C++ cross-compiler is available.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This allows to make sure that an user, or a randpackageconfig, will
not select the gettext or libintl package when using an external
toolchain based on glibc/eglibc.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
ltrace failed to build because of missing arguments to gcc to find the
header files. This is due to the fact that the existing ltrace.mk was
setting CC and LD at build time to incorrect values. Keeping the
values set at configure time is just the right thing to do.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The patch had an incorrect name, and the libtool patch was applied
while it shouldn't, and the package wasn't autoreconfed while the
patch changes some Makefile.am files.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>