The following patch makes the MESSAGE Macro in Makefile.autotools.in
work.
I think it was originally intended to print the messages in bold type
but it doesn't appear to work correctly. This patch should work on all
platforms.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
(Fixed to not continously call tput)
Revert the rpath patch, it looked good up until someone tried
to build a kernel as well. This seems to break as a result.
Will post a new patch soon and see how that goes..
Signed-off-by: Daniel Laird <daniel.j.laird@nxp.com>
Apply the patch I posted some time ago that fixes
rpath issues with external toolchains.
Has been tested by users of buildroot and feedback looks good.
Signed-off-by: Thomas Petazzoni
Signed-off-by: Daniel Laird <daniel.j.laird@nxp.com>
This patch will make the installation of modules rule depend on .depend_done instead of .configured to make sure make prepare is run before modules are installed.
Make kernelversion does not work before make prepare has been run.
Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
This patch will add a rule to top level Makefile to depend on the
$(PROJECT_BUILD_DIR)/autotools-stamps as a required directory. Hence it will be
generated if missing in stead of made when the $(PROJECT_BUILD_DIR)/.root rule
is triggered.
Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
This patch will create the autotools-stamps directory early in the build
process, thus making it possible for non Makefile.autotools.in packages to use
this directory to hold stamp files.
Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
This patch adds gettext dependency to make: rule instead of the TARGETS
variable if locale is selected. Just to conform with common syntax.
Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
This patch makes sure gettext and libintl are selected if locale support is
enabled. Gettext must also be compiled before make so appropriate headers are
available to make.
Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
This patch prevents the user from select "linux (Same version as linux
headers)" as a choice for building the kernel when an external binary
toolchain is used, since "same version as linux headers" doesn't make
sense when an external toolchain is used.
It fixes the issue encountered by Hartley <hartleys@visionengravers.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
HOST_GLIB is set to the path that contains the host glib tool set and is
used when building packages using glib. The buildroot top level Makefile
sets HOST_GLIB using which to find the path where glib-genmarshal is
located.
The problem is that a cross compiled version of glib-genmarshal is also
put in the build_ARCH/staging_dir/usr/bin directory when the package
libglib2 is built. This cross compiled version will typically not run on
the host system.
Fix it by ignoring staging_dir in the which output.
Closes#5934
jacmet: fixed to work correctly if it's only found in staging_dir.
External toolchain C++ cross-compiler fix
package/Makefile.in resets CXX to "" in TARGET_CONFIGURE_OPTS if
BR2_GCC_CROSS_CXX is not set to 'y'. However, when using an external
toolchain, BR2_GCC_CROSS_CXX is not set even if the toolchain has a
C++ cross-compiler.
This patch adds a new BR2_GCC_CROSS_CXX option in the external
toolchain configuration menu, so that just like BR2_INET_RPC,
BR2_INET_IPV6 and the others, it can be set according to the external
toolchain configuration.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Fix issues with binary external toolchains
Fix two problems encountered while using an external binary toolchain
generated by crosstool-ng:
- Don't remove the ending / in LIB_DIR, otherwise find $LIB_DIR
-maxdepth 1 doesn't find any file in the case LIB_DIR is a symbolic
link and not a directory.
For some reason, find -maxdepth 1 doesn't have the same behaviour
on directories and symbolic links. Demonstration:
$ mkdir foobar
$ touch foobar/t1
$ touch foobar/t2
$ ln -s foobar barfoo
$ find foobar -maxdepth 1 -name 't*'
foobar/t1
foobar/t2
$ find barfoo -maxdepth 1 -name 't*'
$ find barfoo/ -maxdepth 1 -name 't*'
barfoo/t1
barfoo/t2
* Make sure the libraries are writable, otherwise the strip operation
might fail. The library files may not be writable if the toolchain
is not writable (which may happen if one wants to prevent anyone
from overwriting the toolchain, which is done by crosstool-ng, for
example).
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Improve external toolchain support
* Do not put kernel-headers in the dependencies of BASE_TARGETS in
the case where BR2_TOOLCHAIN_SOURCE is not y. The kernel headers
are already supposed to be part of the external toolchain, so
there's no need to download, extract and install them.
* In the configuration system, don't display the kernel headers
version selection list when an external toolchain is selected. This
is implemented by moving the source
"toolchain/kernel-headers/Config.in" inside the if
BR2_TOOLCHAIN_SOURCE in toolchain/Config.in.2.
* Change the description and help message of the BR2_LARGEFILE,
BR2_INET_IPV6, BR2_INET_RPC, and BR2_SOFT_FLOAT option in
toolchain/external-toolchain/Config.in. In the case of an external
toolchain, the semantic of these options is not to enable large
file support, IPV6 or RPC (since the toolchain is already compiled,
it has been decided previously). Their semantic is to let Buildroot
know about the characteristics of the external toolchain being
used.
As an improvement, we could guess these values automatically:
- for BR2_LARGEFILE, look at the value of __UCLIBC_HAS_LFS__ in
bits/uClibc_config.h in the libc headers directory.
- for BR2_INET_RPC, look at the value of __UCLIBC_HAS_RPC__ in the
same file
- for BR2_INET_IPV6, look at the value of __UCLIBC_HAS_IPV6__ in
the same file
- for BR2_SOFT_FLOAT, look at the output of $(CC) -v 2>&1 | grep
-- "--with-float=soft"
But I'm not sure how this would be possible, since these values are
used at configuration-time by other configuration options, not only
at build time.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
libpng used to have the 'png' Makefile alias, which some packages used
in their dependencies list.
With the move to Makefile.autotools.in this is now gone, so update the
packages to match.
This patch will check if CONFIG_MODULES is set in the kernel .config, if not
yes then it will skip installing the modules.
Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
This patch will ask the kernel for the specific version before doing
modules_install, that way Buildroot will know which directories to remove and
what parameters to use for depmod. Needed when compiling a kernel grabbed from
GIT or vendor specific releases.
Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>