pkg-infra: correct the source name for host-only packages
Host-only package that don't define their <PKG>_SOURCE variable would
default to host-<pkg>-<version>.tar.gz. It's more logical to remove
the host- prefix in this case.
This problem is most apparent with host-only packages downloaded from
version control, because they never define <PKG>_SOURCE.
Reported by Thomas Petazzoni and initial analysis by Luca Ceresoli.
Thomas Petazzoni [Sun, 14 Oct 2012 08:18:21 +0000 (08:18 +0000)]
libv4l: decode-tm6000 requires libv4l2util
The decode-tm6000 utility cannot build without the libv4l2util. If
this library is not available, the build breaks with:
decode_tm6000.o: In function `read_stream':
decode_tm6000.c:(.text+0x220): undefined reference to `v4l2_rcvbuf'
decode_tm6000.o: In function `main':
decode_tm6000.c:(.text+0x37c): undefined reference to `v4l2_open'
decode_tm6000.c:(.text+0x3cc): undefined reference to `v4l2_gettryset_fmt_cap'
decode_tm6000.c:(.text+0x424): undefined reference to `v4l2_getset_freq'
decode_tm6000.c:(.text+0x47c): undefined reference to `v4l2_mmap_bufs'
decode_tm6000.c:(.text+0x4a0): undefined reference to `v4l2_start_streaming'
We fix this by adding util/libv4l2util to the list of directories to
build when decode-tm6000 is enabled. The only other user of
libv4l2util is another utility called qv4l2, for which Buildroot has
no Config.in option, so we only handle the case of decode-tm6000 at
the moment.
Thomas Petazzoni [Sun, 14 Oct 2012 08:18:20 +0000 (08:18 +0000)]
libv4l: properly error out when one of the make step fails
In libv4l.mk, if there are multiple elements in $(LIBV4L_DIRS_y), they
are built in order, one after the other. However, our loop construct
doesn't take into account the fact that we should error out if one of
the steps failed.
A good illustration is having BR2_PACKAGE_LIBV4L_DECODE_TM6000 and
BR2_PACKAGE_LIBV4L_V4L2_CTL enabled. The build of decode-tm6000 will
fail, but the build will happily continue without stopping in libv4l.
Thomas Petazzoni [Sun, 14 Oct 2012 08:47:56 +0000 (08:47 +0000)]
sdl_gfx: don't use --enable-mmx on x86_64
Even though the MMX instructions are available on x86_64 processors,
the MMX code in sdl_gfx is written in IA32-specific assembly code, and
therefore does not build on x86_64. It generates the following build
issues:
SDL_imageFilter.c: Assembler messages:
SDL_imageFilter.c:34: Error: `pusha' is not supported in 64-bit mode
SDL_imageFilter.c:38: Error: `popa' is not supported in 64-bit mode
SDL_imageFilter.c:77: Error: `pusha' is not supported in 64-bit mode
SDL_imageFilter.c:93: Error: `popa' is not supported in 64-bit mode
[...]
We fix this by only enabling MMX support in this package when the
processor supports MMX *and* it is a IA32 compatible processor.
Thomas Petazzoni [Sun, 14 Oct 2012 00:28:37 +0000 (00:28 +0000)]
cairo: disable trace and trace interpreter
The Cairo tracing and trace interpreter are most likely not that
useful, so disable them. They also require zlib, which isn't a
dependency of Cairo at the moment. This fixes the following build
failure:
Thomas Petazzoni [Fri, 12 Oct 2012 06:29:27 +0000 (06:29 +0000)]
xenomai: bump to 2.6.1
The largefile patch is no longer necessary, it has been merged
upstream. However, in order to make the build work properly with
Thumb2 toolchains (such as Linaro toolchains), an additional fix is
needed. This fix is already upstream and will be part of upcoming
Xenomai releases.
Gustavo Zacarias [Sat, 13 Oct 2012 01:33:38 +0000 (01:33 +0000)]
package infra: remove empty TARGET_CPPFLAGS def
It's unneeded, just fills the next match (LARGEFILE) with a leading
space. Fixes
http://autobuild.buildroot.net/results/ad5772d19036a0c5564228ac7aba953d35a3cf85/build-end.log
since SCons can't handle leading whitespace in LDFLAGS gracefully.
On gentoo systems SCons setup.py tries to install into
$(HOST_DIR)/usr/lib64 but SCons looks up for its stuff in
$(HOST_DIR)/usr/lib instead hence breaking.
Make it install into $(HOST_DIR)/usr/lib by force to avoid the issue, it
shouldn't matter on other distributions.
Version bumping doesn't fix it.
[Peter: drop version, fix install and simplify uninstall] Signed-off-by: Simon Dawson <[email protected]> Signed-off-by: Peter Korsgaard <[email protected]>
mtd appends to CFLAGS/CPPFLAGS, but doesn't use override - So we need
to pass flags in the environment and not on the make command line to
get the combination of our flags and mtd's.
At the same time cleanup the host build to use a similar form
(HOST_CONFIGURE_OPTS) as target build.
The preload libraries needs to wrap both the lfs and !lfs variants, so
ensure the lfs versions are not transparently used (as they are when
_LARGEFILE_SOURCE / _FILE_OFFSET_BITS=64 are defined).
This used to work by accident before, as our custom CFLAGS (containing those
defines) wasn't used.
Peter Korsgaard [Tue, 9 Oct 2012 07:36:35 +0000 (09:36 +0200)]
netkittelnet: fix build on toolchains without C++ support
The configure script checks for C++ support as telnet (but not telnetd)
contains C++ code. This used to work by accident if the host had g++,
as we didn't pass TARGET_CONFIGURE_OPTS to configure (which sets CXX to
/bin/false).
Fix it by removing the g++ check and rewriting the configure checks to
use the C compiler instead.
The sylpheed headers are installed to $(DESTDIR)$(includedir),
while DESTDIR is $(TARGET_DIR) and includedir is set to
$(STAGING_DIR)/usr/include in the SYLPHEED_CONF_OPT.
Thus, the full staging directory path is created in the
target root filesystem, which is wrong.
The includedir was set to staging include because sylpheed
incorrectly adds includedir to its include path, and does
not cross-compile with the default includedir set to
/usr/include.
This removes includedir setting and also removes it from
include paths in Makefiles to prevent using host headers
from /usr/include. The same approach is used in the OE.
Marek Belisko [Thu, 20 Sep 2012 10:48:20 +0000 (10:48 +0000)]
Download packages from github in tar.gz format instead git format.
Verified way how to get packages from github by version or sha1
(it's enough to use first 7 characters from SHA1):
1. by sha1
FOO_VERSION = 1234567
FOO_SITE = http://github.com/user/package/tarball/branch
2. by version
FOO_VERSION = v1.0
FOO_SITE = http://github.com/user/package/tarball/$(FOO_VERSION)
Netatalk goes to version 3.0.
The startup script has changed too, there is now only one binary called
netatalk. No more afpd, cnid, ... at startup ! They are executed by netatalk.
All the config is done within /etc/afp.conf, look at :
http://netatalk.sourceforge.net/3.0/htmldocs/upgrade.html
for more info about the upgrade process.
[Peter: added --without-kerberos to disable kerberos detection] Signed-off-by: Peter Korsgaard <[email protected]>
Pulseaudio installs autostart .desktop files when X11 support is enabled,
but the files are not created from the corresponding .desktop.in files
when built with --disable-nls (which we add for !locale builds).
The pkgconfig files are located in /usr/lib/pkgconfig
and /usr/share/pkgconfig directories.
However, only /usr/lib/pkgconfig is removed when no
development files are needed in the target filesystem.
Remove pkgconfig directory from $(TARGET_DIR)/usr/share
as well if BR2_HAVE_DEVFILES is not set.
pkg-infra: make sure cross compiling is enabled when host == target
When compiling for the same architecture and libc as the host,
GNU_TARGET_NAME and GNU_HOST_NAME are equal. configure scripts use
these to detect cross-compilation, and will decide that we're doing
native compilation. This may trigger running of executables,
which fail because of missing libraries in the host environment.
To solve this, set the vendor part in GNU_TARGET_NAME to buildroot.
This problem exists for instance in xserver_xorg-server on x86_64.
Peter Korsgaard [Sun, 30 Sep 2012 20:00:33 +0000 (22:00 +0200)]
sheevaplug_defconfig: use 3.5.4 kernel
Notice that you need u-boot >= 2012.04 to be able to boot kernel >= 3.2,
because older u-boots keep the l2 cache enabled, see u-boot commit 679530278 (arm, arm-kirkwood: disable l2c before linux boot) for details.
Peter Korsgaard [Sat, 29 Sep 2012 18:40:39 +0000 (20:40 +0200)]
x11vnc: add libXtst as a dependency
x11vnc CAN be built without XTEST support, but it isn't very useful as
noted by the warning printed by configure when it isn't found:
*** A working build environment for the XTEST extension was not found ***
(libXtst). An x11vnc built this way will be *ONLY BARELY USABLE*.
You will be able to move the mouse but not click or type. There can
also be deadlocks if an application grabs the X server.
It is recommended that you install the necessary development packages
for XTEST (perhaps it is named something like libxtst-dev) and run
configure again.