Commit Graph

20 Commits (7e5bf40cac5234f63d0f97d8d9c7ebe8b6d60fcc)

Author SHA1 Message Date
Felix Fietkau 4cfc7b50ae cmake.mk: add host build support
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45282
2015-04-06 19:37:42 +00:00
Felix Fietkau a5422864f5 build: fix CMake assembly builds with ccache
CMAKE_ASM_COMPILER is automatically set to CMAKE_C_COMPILER by CMake, but
CMAKE_C_COMPILER_ARG1 is lost. This causes assembly builds to fail when ccache
is enabled (for example the package fastd on x86).

Fix this by explicitly defining CMAKE_ASM_COMPILER and CMAKE_ASM_COMPILER_ARG1.

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

SVN-Revision: 45119
2015-03-29 05:12:58 +00:00
Felix Fietkau da91462013 cmake: include external toolchain directory in CMAKE_FIND_ROOT_PATH (fixes #19074)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 44825
2015-03-16 07:51:45 +00:00
Jo-Philipp Wich fd53d49f5b include: cmake: prevent inclusion of rpath in binaries
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 44328
2015-02-08 22:54:15 +00:00
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