Similar to the --with-pc-path option. It works just like the existing
PKG_CONFIG_SYSROOT_DIR environment variable, but compiled in.
The environment variable overrides this default setting if set.
This way we don't need to pass PKG_CONFIG_SYSROOT_DIR in the environment
when building for the target, and it is easier to reuse pkg-config outside
BR (E.G. for the SDK) without having to setup special environment
variables.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Fixes gst-plugins-bad build, if gstreamer is installed on host with xml
support, as it uses pkg-config --variable=includedir to find gstconfig.h,
and hence ends up looking at the host version.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Now that we have a proper host-python package, use that one instead of
whatever might be available on the build host. Also don't overwrite
the host-python package version variable and fix dependency list
(xcb-proto is needed for the host).
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Some packages (like libxcb) need xml support in host-python in order to
build (.py file tries to import xml.etree.cElementTree).
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The CMAKETARGETS infrastructure makes adding CMake-based packages to
Buildroot easy. It uses the same set of variables as the autotools
infrastructure, except for autoreconf and libtool stuff which is not
needed. Usage: just call CMAKETARGETS instead of AUTOTARGETS.
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>
A CMake toolchain-file makes it easy to develop CMake-based packages
outside of Buildroot. Just give the toolchain-file to CMake via the
-DCMAKE_TOOLCHAIN_FILE=... option.
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>
By default, zlib installation procedure calls ldconfig, which takes
time uselessly. ldconfig is only useful if you install libraries on
the host (in directories listed in /etc/ld.so.conf, or in /usr/lib or
/lib), so calling it after installing libraries in $(STAGING_DIR),
$(TARGET_DIR) or $(HOST_DIR) is just a lenghty no-op.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Autoconf would append -dirty to it's version number, causing build breakage
with packages explicitly requesting autoconf 2.65, if built in a subdir
of a git tree with uncommitted changes. This is a relatively common
situation when developing on BR.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
As pointed out on the list, using sysroot rather than sys-root is less
confusing, as this is how it is referred to in the GCC manual.
So rather than changing BR, patch ct-ng to use sysroot instead.
The next ct-ng release will use 'sysroot' as well by default.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
A number of packages depended on the libpython make target for python
support, which no longer exist.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
crosstool-ng would normally delete its installation directory before
installing the toolchain to ensure it wouldn't get confused by an earlier
build. Now that we're installing directly into HOST_DIR/usr, this doesn't
work very well - So get rid of the rm's.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
For some reason, tcpdump and libpcap need to have some information
about the kernel version being used. This information is passed using
the ac_cv_linux_vers autoconf variable.
However, the current value is determined using
BR2_DEFAULT_KERNEL_HEADERS which is only defined when an internal
Buildroot toolchain is used. So it would break with an external
toolchain or the Crosstool-NG backend.
According to Mike Frysinger at
http://lists.busybox.net/pipermail/buildroot/2011-January/040861.html,
this value is only used to determine if the kernel version is 0.x, 1.x
or 2.x, so passing ac_cv_linux_vers=2 is sufficient since Buildroot
only supports the 2.6 kernel anyway.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Simplifies code and helps us when we add SDK support in the future.
With this we no longer need to copy headers/libraries to STAGING_DIR either.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Use unknown for the vendor part of the tuple, and add $arch-linux- symlinks,
similar to how it's done for the internal toolchain, rather than using
buildroot_ctng and unknown symlinks.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The name of the sysroot directory is arbitrary, but as ct-ng uses sys-root,
let's use that as well for consistency.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
python-mad is a Python binding for the MAD library, a high-quality
integer-only MPEG decoder.
This package has been introduced as a test to make sure that
third-party Python modules that rely on a C extension can properly be
built against the Python infrastructure of Buildroot.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
python-serial is a Python library to access serial ports.
This package has originally been introduced to test that third-party
pure Python modules (that do not use C extensions) build properly
against the Buildroot Python infrastructure.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit does a number of changes and improvements to the Python
interpreter package :
* It converts the .mk file to the AUTOTARGETS infrastructure. Even
though Python uses only autoconf and not automake, the AUTOTARGETS
is a fairly good fit for the Python interpreter, so we make use of
it.
* It bumps the version to 2.7.1. As this is a minor release compared
to 2.7, there are no particular changes needed because of this
bump. All changes done to the package are cleanups and improvements
unrelated to the version bump.
* It uses the system libffi. Until now, Python was building its own
libffi (a library used by interprets to build code that makes
function call at runtime). Using the Python internal libffi was not
working as Python was not passing the appropriate arguments down to
libffi ./configure script. And it sounded better to use a
system-wide libffi, that could potentially be used by other
packages as well. This libffi is needed for the ctypes Python
module.
* Remove all "depends on BR2_PACKAGE_PYTHON" by moving all
Python-related options under a "if BR2_PACKAGE_PYTHON ... endif"
condition.
* Make the installation of pre-compiled Python modules (.pyc) the
default, since they are smaller and do not need to be compiled on
the target. It is still possible to install uncompiled modules, or
both the uncompiled and pre-compiled versions.
* The options to select the set of Python modules to compile has been
moved to a submenu.
* The codecscjk (Japanese, Korean and Chinese codecs) module is no
longer enabled by default.
* The commented options for gdbm and nis in Python have been
removed. Those were not supported, so let's get rid of unused code.
* The option for the tkinker module in Python has been removed, since
we don't have a package for Tk in Buildroot.
* Options for the bzip2, sqlite and zlib modules have been added,
since those modules have external dependencies.
* The set of patches has been completely reworked and extended, with
more fine-grained patches and newer functionalities. The patches
are split in two categories:
- Patches that make various modifications to the Python build
system to support cross-compilation or make some minor
modifications. Those patches are numbered from 0 to 100.
- Patches that add configuration options to the Python build
system in order to enable/disable the compilation of Python
extensions or modules (test modules, pydoc, lib2to3, sqlite, tk,
curses, expat, codecs-cjk, nis, unicodedata, database modules,
ssl, bzip2, zlib). These patches are numbered from 100 to 200.
All features of the previous four patches are preserved, but they
are organized differently and the patches have been renamed. This
makes it difficult to see the differences from the existing
patches.
* The host Python interpreter is now installed in $(HOST_DIR), since
it is used to build third party Python modules.
* The BR2_PACKAGE_PYTHON_DEV option is removed since
BR2_HAVE_DEVFILES already does the necessary work.
* The "make -i install" workaround introduced by Maxime Ripard is no
longer needed. It was caused by the compilation of the tests that
required the unicodedata module (which wasn't built in the host
Python interpreter). Since we no longer compile the Python tests,
the problem doesn't exist anymore and we can avoid this "-i"
option.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
libffi is needed by the Python interpreter.
The libffi library provides a portable, high level programming
interface to various calling conventions. This allows a programmer to
call any function specified by a call interface description at
run-time.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
On 0.10.11 the binary-registry was added, on 0.10.12 the libxml2
dependency was dropped when binary-registry was used, on 0.10.18 the
binary-registry was made default, and on 0.10.23 it was the only option.
So, libxml2 is not needed any more for the registry.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>