Commit Graph

16 Commits

Author SHA1 Message Date
Felix Fietkau
9a46799804 build: use gcc-provided ar, nm and ranlib where appropriate
Since GCC 4.7, GCC provides its own wrappers around ar, nm and ranlib, which
should be used for builds with link-time optimization. Since GCC 4.9, using them
actually necessary for LTO builds using convenience libraries to succeed.

There are some packages which try to automatically detect if gcc-{ar,nm,ranlib}
exist (one example is my package "fastd" in the package repository, which tries
to use LTO). This breaks because the OpenWrt build system explicitly sets the
binutils versions of these tools.

As it doesn't cause any issues to use gcc-{ar,nm,ranlib} instead of
{ar,nm,ranlib} even without LTO, this patch just makes OpenWrt use the
GCC-provided versions by default, which fixes the build of such packages with
GCC 4.9.

(I know that builds fail though when clang is used with -flto and
gcc-{ar,nm,ranlib}, but as all OpenWrt toolchains are based on GCC, this isn't
a real issue.)

Completely cleaning the tree (or at least `make clean toolchain/clean`) is
necessary to get a consistent state after the binutils plugins support patch and
this one (as trying to use gcc-{ar,nm,ranlib} with a binutils built without
plugin support will definitely lead to a build failure).

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>

SVN-Revision: 43784
2014-12-27 12:59:59 +00:00
Felix Fietkau
ca6ba637cd include/cmake.mk: fix indentation
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 41144
2014-06-11 17:01:15 +00:00
Felix Fietkau
0e9245c19f include/cmake.mk: define CMAKE_AR and CMAKE_RANLIB to fix build errors
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 40885
2014-05-30 11:58:54 +00:00
Felix Fietkau
9706d4e00e cmake.mk: fix support for ccache
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 38853
2013-11-18 14:10:12 +00:00
Jo-Philipp Wich
73a584f912 include: cmake: pass toolchain directory to default root find path as well
SVN-Revision: 37737
2013-08-07 13:54:51 +00:00
Felix Fietkau
f3d5f6ccb0 cmake.mk: add support for overriding the source dir, and define the cmake prefix path to avoid picking up host libraries for target builds (patch by Henning Rogge)
SVN-Revision: 34914
2012-12-29 11:12:31 +00:00
Felix Fietkau
b648860f9c cmake: add support for V=cs
SVN-Revision: 31485
2012-04-26 17:54:03 +00:00
Jo-Philipp Wich
9054bc91b3 cmake.mk: fix passing of LDFLAGS
SVN-Revision: 29701
2012-01-09 05:42:04 +00:00
Felix Fietkau
0d0915d168 cmake: fix ccache command when using host ccache (patch from #9611)
SVN-Revision: 27742
2011-07-24 08:34:08 +00:00
Jo-Philipp Wich
cda35d2ef2 cmake.mk: fix bogus values for FIND_ROOT_PATH_MODE_*; kept plplot from compiling (#9573)
SVN-Revision: 27256
2011-06-22 11:02:00 +00:00
Felix Fietkau
aea6afefe6 add LD_LIBRARY to cmake.mk
Otherwise cmake programs try to link with host ld.so

Signed-off-by: Jan Willies <jan@willies.info>

SVN-Revision: 26963
2011-05-20 16:21:30 +00:00
Jo-Philipp Wich
0f13d0a068 cmake.mk: don't assume toolchain binaries in .../bin/ if an external toolchain is used, rely on which instead
SVN-Revision: 26584
2011-04-11 02:11:11 +00:00
Michael Büsch
9e7801b913 cmake: Fix ccache
SVN-Revision: 25878
2011-03-05 10:36:52 +00:00
Michael Büsch
6da37f79c5 cmake: Pass VERBOSE=1 to the generated makefile to reveal flags and commands in a verbose openwrt build.
SVN-Revision: 25376
2011-02-05 19:50:54 +00:00
Michael Büsch
21e2dcd199 cmake: Remove -O3 from release CFLAGS. Honor the OpenWRT -Os flag instead.
SVN-Revision: 25372
2011-02-05 19:39:48 +00:00
Felix Fietkau
c4d2dde396 add a template for cmake packages
SVN-Revision: 25265
2011-01-31 20:16:01 +00:00