Felix Fietkau
a778060392
toolchain: switch to musl by default, except for mips64
...
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 45995
2015-06-15 23:05:08 +00:00
Felix Fietkau
beca028bd6
build: add integration for managing opkg package feed keys
...
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 45286
2015-04-06 19:39:51 +00:00
John Crispin
6c434d5f06
rules.mk: add newline definition
...
To be used for stuff like $(subst $(space),$(newline),$(SOME_VAR))
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
SVN-Revision: 44796
2015-03-15 19:47:46 +00:00
Jo-Philipp Wich
24f49b170e
rules.mk: don't add staging_dir/host/bin/ path again
...
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 44379
2015-02-10 15:49:36 +00:00
Jo-Philipp Wich
2efe776ab0
scripts: extend rstrip.sh to remove bad rpaths
...
Remove all rpath entries which do not point to a location below /lib or
/usr/lib and which do not begin with '$ORIGIN'.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 44377
2015-02-10 15:48:48 +00:00
Jo-Philipp Wich
1162d6b721
rules.mk: use relative paths for BASH, TAR, FIND, PATCH, PYTHON
...
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 44294
2015-02-06 12:35:36 +00:00
Jo-Philipp Wich
78f476ed02
include: declare variables formerly set in tmp/.host.mk
...
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 44272
2015-02-05 16:57:18 +00:00
Felix Fietkau
60629e1695
build: do not assume that gcc-{ar,ranlib,nm} is usable with an external toolchain
...
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 43911
2015-01-10 16:14:25 +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
20a3814a9c
rules.mk: reduce shexport to one line to allow it to be put in a target context
...
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 43018
2014-10-22 08:57:20 +00:00
Felix Fietkau
d081edf7eb
build: clean up and optimize ipkg control generator code
...
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 43017
2014-10-22 08:57:16 +00:00
John Crispin
7557afa9a5
build: add $(STAGING_DIR_HOST)/usr/{include, lib} to build search path.
...
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
SVN-Revision: 42987
2014-10-20 06:29:21 +00:00
Felix Fietkau
c541b31e40
build: override hardcoded paths to bison and m4 to make the SDK more relocatable
...
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 42300
2014-08-26 12:15:50 +00:00
Felix Fietkau
627e974c99
partially revert "build: remove check for nonexistant CONFIG_TAR_VERBOSITY variable and move TAR_OPTIONS to unpack.mk"
...
This complicates the evaluation order for some packages
SVN-Revision: 40006
2014-03-22 19:52:48 +00:00
Felix Fietkau
e71ec4cb55
build: remove GREP_OPTIONS export from rules.mk, defining it in the top-level Makefile is enough
...
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 39982
2014-03-21 15:54:14 +00:00
Felix Fietkau
51ae801ee3
build: remove check to nonexistant CONFIG_ENABLE_LOCALE variable and move DISABLE_NLS to package-defaults.mk
...
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 39980
2014-03-21 15:54:07 +00:00
Felix Fietkau
00bcebeb4c
build: remove check for nonexistant CONFIG_TAR_VERBOSITY variable and move TAR_OPTIONS to unpack.mk
...
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 39979
2014-03-21 15:54:03 +00:00
Felix Fietkau
318052e03c
build: add a variable for the name of the {build,staging}_dir/{target,toolchain}-* directories
...
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 39857
2014-03-10 11:12:32 +00:00
Imre Kaloz
f6b57149af
FPU type should not interfere with the ABI selection. Also make sure we either do real soft-float or hard-float on ARM, with the right options.
...
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
SVN-Revision: 38943
2013-11-29 10:59:51 +00:00
Imre Kaloz
f0721fa502
allow configuration of the target directory for binaries
...
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
SVN-Revision: 38890
2013-11-22 09:39:41 +00:00
Felix Fietkau
e0189ccef4
build: include the cpu type as part of the toolchain/target directory name
...
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 38214
2013-09-26 17:53:32 +00:00
Felix Fietkau
a1a5f59ea3
build: decouple the mips16 support flag from the toolchain
...
Add the flags from package.mk instead, and leave libc and gcc
unaffected.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 37770
2013-08-14 13:02:29 +00:00
Felix Fietkau
73c4d73d6d
build: unify target independent optimization options
...
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 37600
2013-07-29 09:38:29 +00:00
Felix Fietkau
5d1c80f002
build: add required exports for dependency tracking
...
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 37387
2013-07-18 11:18:37 +00:00
Felix Fietkau
1c742fb388
build: move the XARGS variable out of the host checks, since a working xargs is built in tools/
...
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 37228
2013-07-10 15:11:29 +00:00
Felix Fietkau
e3a28f415b
rules.mk: use qstrip to reduce syntax highlighting issues
...
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 37225
2013-07-10 14:51:09 +00:00
Felix Fietkau
2430e9a4f5
toolchain: eliminate the INSTALL_LIBSTDCPP config symbol and make c++ support mandatory - fixes recursive config symbol dependency issues
...
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 36594
2013-05-09 20:50:49 +00:00
John Crispin
c2c1f9ae73
rules.mk: add _dsp to ARCH_SUFFIX if the dsp ase is used
...
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 36566
2013-05-06 16:45:51 +00:00
Florian Fainelli
e032922266
toolchain: allow choosing the MIPS64 user-land ABI
...
Signed-off-by: Florian Fainelli <florian@openwrt.org>
SVN-Revision: 36205
2013-04-05 12:36:23 +00:00
Florian Fainelli
348cae15d2
buildroot: factor knowledge of a 64bits architecture
...
Signed-off-by: Florian Fainelli <florian@openwrt.org>
SVN-Revision: 36204
2013-04-05 12:36:19 +00:00
Florian Fainelli
9e1d2c15d9
buildroot: allow enabling MIPS16 user-space build
...
Enabling MIPS16 is made conditional on advertising the "mips16" feature
for a specific target since it requires support from the CPU
(HAS_MIPS16) and the actual use of MIPS16 for building packages
(USE_MIPS16).
Signed-off-by: Florian Fainelli <florian@openwrt.org>
SVN-Revision: 36202
2013-04-05 12:36:12 +00:00
Florian Fainelli
be5d8e6c87
rules.mk: MIPS16 builds get a different toolchain
...
To be safe, build "m16" into the toolchain and target architecture the
same way mips32r2 does:
target-mips_r2_m16_uClibc-0.9.33.2
toolchain-mips_r2_m16_gcc-4.6-linaro_uClibc-0.9.33.2
Signed-off-by: Jay Carlson <nop@nop.com>
Signed-off-by: Florian Fainelli <florian@openwrt.org>
SVN-Revision: 36198
2013-04-05 12:35:56 +00:00
Florian Fainelli
5b3445c60b
rules.mk: Create TARGET_ASFLAGS; force -mno-mips16
...
Create and use a TARGET_ASFLAGS, defaulting to TARGET_CFLAGS.
MIPS .S files reasonably assume they are not in mips16 mode. Because
"-mips16 -mno-mips16" results in -mno-mips16, I can append that to the
TARGET_ASFLAGS. This should be done with $(filter-out)?
Signed-off-by: Jay Carlson <nop@nop.com>
Signed-off-by: Florian Fainelli <florian@openwrt.org>
SVN-Revision: 36197
2013-04-05 12:35:53 +00:00
Felix Fietkau
3d6093c275
build: add a HOSTCXX variable pointing at the c++ compiler
...
SVN-Revision: 36109
2013-03-22 12:52:17 +00:00
Gabor Juhos
2d9e89b24c
fix ARCH_SUFFIX for mips64{,el}r2
...
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35688
2013-02-20 06:49:02 +00:00
Jo-Philipp Wich
236c369a89
rules.mk: only select latest libgcc.a with wildcard match ( #12798 )
...
SVN-Revision: 35144
2013-01-13 20:59:51 +00:00
Jo-Philipp Wich
993ac4600a
rules.mk: don't use $(realpath) in file_copy, the destination directory might not exist yet - spotted while doing a fresh build
...
SVN-Revision: 34447
2012-12-02 15:15:07 +00:00
Jo-Philipp Wich
828597693e
rules.mk: provide a macro "file_copy" which removes any symlink in the destination dir that would be overwritten
...
SVN-Revision: 34437
2012-12-02 12:20:34 +00:00
Jo-Philipp Wich
2371c6542e
rules.mk: fix misspelled config symbol introduced by r34300
...
SVN-Revision: 34304
2012-11-23 10:12:18 +00:00
Jo-Philipp Wich
a21fbec006
rules.mk: append libc implementation to bin directory name if not using uClibc
...
SVN-Revision: 34300
2012-11-22 13:43:30 +00:00
Felix Fietkau
44cd20b802
build: rework the package/install step - collect package install lists during package/compile, then install all packages at once
...
SVN-Revision: 33631
2012-10-06 16:01:06 +00:00
Felix Fietkau
28665d55cd
rules.mk: add TARGET_AR and TARGET_RANLIB
...
SVN-Revision: 33508
2012-09-22 20:10:24 +00:00
Jo-Philipp Wich
8726a422cd
do not pass optimization flags in HOST_CPPFLAGS ( #12153 )
...
SVN-Revision: 33351
2012-09-09 21:35:42 +00:00
John Crispin
1c53dda443
remove duplicate HOSTCC_NOCACHE
...
SVN-Revision: 33088
2012-08-10 19:07:03 +00:00
Florian Fainelli
fb9023bb8a
move LIB_SUFFIX from base-files to rules.mk
...
Some packages are going to need fixups based on LIB_SUFFIX
SVN-Revision: 33080
2012-08-10 14:15:06 +00:00
John Crispin
370894e594
fix up scons vs ccache
...
SVN-Revision: 32902
2012-07-28 21:06:59 +00:00
John Crispin
f6ef96fab2
add and export HOSTCC_NOCACHE
...
SVN-Revision: 32466
2012-06-20 07:48:47 +00:00
Felix Fietkau
4d8cd3afc0
make librpc compatible with eglibc, unconditionally enable it for packages that need rpc support
...
SVN-Revision: 32129
2012-06-08 15:10:18 +00:00
John Crispin
a53b084e49
add ccache wrapper
...
SVN-Revision: 32075
2012-06-06 13:27:11 +00:00
John Crispin
cc5b3e683e
Use build suffix on build_dir paths
...
Adds BUILD_SUFFIX to STAGING_DIR
Signed-off-by: Tathagata Das <tathagata@alumnux.com>
SVN-Revision: 31233
2012-04-10 10:55:55 +00:00
Felix Fietkau
236dd9d9a2
kernel: keep more symbols in the kernel modules when doing profiling
...
SVN-Revision: 30762
2012-03-01 15:13:26 +00:00
Felix Fietkau
edc3ad9100
build: add TARGET_CXXFLAGS and EXTRA_CXXFLAGS, defaulting to *_CFLAGS via lazy evaluation. this allows adding c++ specific cflags
...
SVN-Revision: 30760
2012-03-01 10:39:46 +00:00
Felix Fietkau
a8ec8ce1ac
kernel: do not rename module symbols with kallsyms enabled
...
SVN-Revision: 30759
2012-03-01 09:58:03 +00:00
Felix Fietkau
c2590fe930
strip kernel modules more aggressively: make all global symbols local, rename all symbols in the symbol table to make them compress better
...
SVN-Revision: 30662
2012-02-20 17:38:26 +00:00
Felix Fietkau
27bb12af0f
build: add -Wno-error=unused-but-set-variable to cflags for gcc 4.6 and newer to avoid stupid -Werror related package breakage
...
SVN-Revision: 30556
2012-02-15 19:19:12 +00:00
Jo-Philipp Wich
1504738c02
rules.mk: filter "." and "./" entries from $PATH, prevents toolchain build issues and likely other problems
...
SVN-Revision: 29951
2012-01-29 23:34:25 +00:00
Jo-Philipp Wich
5b7668ca44
use ext-toolchain.sh to integrate external toolchains Use ext-toolchain.sh to wrap external toolchain commands, abort build if certain features such as CONFIG_SOFT_FLOAT or CONFIG_IPV6 are enabled but not supported by the toolchain.
...
SVN-Revision: 29766
2012-01-18 03:08:09 +00:00
John Crispin
ccb6b0a063
tools: clean up Makefiles / make ccache work
...
SVN-Revision: 29754
2012-01-15 11:43:13 +00:00
Jo-Philipp Wich
cbe164a295
rules.mk: provide a LIBGCC_A variable
...
SVN-Revision: 28175
2011-09-05 19:29:22 +00:00
Felix Fietkau
5820306407
only export GCC_HONOUR_COPTS for the built-in toolchain, fixes missing-fhonour-copts warnings with external toolchains
...
SVN-Revision: 27771
2011-07-25 10:32:38 +00:00
John Crispin
4551f2bfcc
add menuconfig option to enable log files during build process
...
SVN-Revision: 27403
2011-07-03 17:37:31 +00:00
Jo-Philipp Wich
a66b496001
rules.mk: properly populate $(LIBGCC_S) for external toolchains
...
SVN-Revision: 26593
2011-04-11 16:06:46 +00:00
Felix Fietkau
21ff098352
set TOOLCHAIN_DIR var when using external toolchain
...
This patch allows to use the openwrt toolchain as external toolchain for the
same project. See bug #9131 for details.
Signed-off-by: Sven Bachmann <dev@mcbachmann.de>
SVN-Revision: 26405
2011-04-02 14:27:51 +00:00
Felix Fietkau
6c7170b923
Revert "kernel: remove all local symbols from kernel modules at link time to reduce their size" Use -x when stripping kernel modules instead
...
SVN-Revision: 26305
2011-03-26 15:29:53 +00:00
Felix Fietkau
596d89b331
strip .gnu.attributes and .reginfo from kernel modules
...
SVN-Revision: 26304
2011-03-26 15:22:14 +00:00
Felix Fietkau
791641db07
strip .note.gnu.build-id from kernel modules
...
SVN-Revision: 26217
2011-03-18 03:13:38 +00:00
Felix Fietkau
73c1dd9473
build: move the CCACHE_DIR to the build targets so that it doesn't interfere with a host ccache setup
...
SVN-Revision: 26181
2011-03-15 19:58:32 +00:00
Imre Kaloz
b74308c433
only support EABI on ARM targets
...
SVN-Revision: 25928
2011-03-07 12:59:19 +00:00
Jo-Philipp Wich
260652bf8f
add an abstract $(LIBRPC_DEPENDS) variable for feed packages to rely on
...
SVN-Revision: 25841
2011-03-03 01:45:36 +00:00
Imre Kaloz
a3989e3dbd
We use different toolchain directories for different ARM archs, so we should set the default arch of gcc to reflect this.
...
This enables EABI support for armv4 CPUs.
Signed-off-by: Jochen Friedrich <jochen@scram.de>
SVN-Revision: 25705
2011-02-25 16:52:25 +00:00
Felix Fietkau
85c44cafab
add a variable LIBRPC to refer to the external librpc if used
...
SVN-Revision: 25497
2011-02-13 01:45:07 +00:00
Jo-Philipp Wich
3052dfbb85
remove support for disabling large file support, it is broken, breaks compatibility to anything and has no effect on most packages
...
SVN-Revision: 25208
2011-01-28 17:00:43 +00:00
Felix Fietkau
8740549c57
mpc85xx: add a new 'spe_fpu' feature flag for the FPU used on freescale powerpc cpus The SPE FPU is ABI-incompatible with the regular powerpc FPU, this needs to be reflected in the toolchain target name. Fixes floating point crashes in user space
...
SVN-Revision: 25018
2011-01-16 01:25:06 +00:00
Jo-Philipp Wich
dbf8d9c516
- implement hooks for hostbuilds - use host build hooks to implement fixups for host build - move separator declaration to rules.mk
...
SVN-Revision: 24551
2010-12-13 19:04:33 +00:00
Felix Fietkau
97b3d9688c
remove an obsolete comment for the flock template
...
SVN-Revision: 23744
2010-10-31 15:36:47 +00:00
Felix Fietkau
b34a0b3282
fix usage of flock - use the command mode instead of locking a file descriptor to fix build issues on mac os x
...
SVN-Revision: 23743
2010-10-31 15:33:48 +00:00
Michael Büsch
e396e33ad2
Add macro for locking of recipe commands.
...
SVN-Revision: 23708
2010-10-29 14:53:16 +00:00
Michael Büsch
a46c332411
Add HOST_FPIC. It currently always is -fPIC, because that should work on all platforms, even if it may generate slightly inefficient code on some arches.
...
SVN-Revision: 23598
2010-10-23 20:30:43 +00:00
Jo-Philipp Wich
10f5101af3
Add two debug rules the examine the values of runtime make variables. Based on patch by Philip Prindeville <philipp@redfish-solutions.com>
...
SVN-Revision: 23389
2010-10-10 22:40:44 +00:00
Jo-Philipp Wich
d3f412f4ec
rename PATCH to KPATCH
...
SVN-Revision: 23286
2010-10-07 11:32:09 +00:00
Jo-Philipp Wich
19421b6732
drop the usr/ prefix when scanning for libgcc.a
...
SVN-Revision: 23042
2010-09-12 22:19:29 +00:00
Jo-Philipp Wich
064e7c8f00
Implement an ARCH_PACKAGES variable which defaults to BOARD but can be overridden on a per-subtarget basis. This is intended for targets such as adm5120 and malta which support both big and little endianess and will replace the target specific exceptions in package-defaults and Image Builder.
...
SVN-Revision: 23029
2010-09-12 20:49:54 +00:00
Florian Fainelli
3992d44428
ccache TARGET_CXX
...
Signed-off-by: Alam Arias <Alam.GBC@gmail.com>
SVN-Revision: 23008
2010-09-11 18:37:15 +00:00
Felix Fietkau
b3c871375b
fix compile errors by forcing bash to be used as a shell in all submake processes
...
SVN-Revision: 22726
2010-08-19 13:32:47 +00:00
Felix Fietkau
62c1740676
toolchain: fix the sysroot mess by getting rid of $(TOOLCHAIN_DIR)/usr and moving it back to $(TOOLCHAIN_DIR), this change makes the toolchain relocatable again, which should fix the SDK
...
SVN-Revision: 22723
2010-08-19 12:49:51 +00:00
Felix Fietkau
a9136c0892
speed up the build system by including include/shell.sh on shell commands only where necessary
...
SVN-Revision: 22720
2010-08-19 12:49:37 +00:00
Florian Fainelli
7fc192e9a5
fix for GREP_OPTIONS
...
When using GREP_OPTIONS to supply default options to grep, the buildsystem might get broken (For example adding --color=always breaks it)
This patch will empty the GREP_OPTIONS to prevent the described (and any other) problems related to GREP_OPTIONS
Signed-off-by: Maarten Bezemer <m.m.bezemer@utwente.nl>
SVN-Revision: 22443
2010-07-31 22:32:21 +00:00
Nicolas Thill
18035964c7
fix path to libgcc.a in LIBGCC_S
...
SVN-Revision: 20593
2010-03-30 04:04:47 +00:00
Felix Fietkau
dd046f4759
use lazy evaluation for TARGET_CONFIGURE_OPTS to make it possible to override TARGET_CC and TARGET_CXX
...
SVN-Revision: 20566
2010-03-29 00:05:48 +00:00
Felix Fietkau
80d6e3b245
add an arch suffix for handling different variants of arm/mips for the toolchain/target directories
...
SVN-Revision: 20215
2010-03-14 18:24:05 +00:00
Travis Kemen
137c26b7cb
there are quite a lot of package using ln -sf in their Makefile, so this patch adds
...
LN:=ln -sf
to rules.mk
-Raphael
SVN-Revision: 19998
2010-03-05 20:26:14 +00:00
Nicolas Thill
9899fbb148
use distinct build/staging dirs for EABI/OABI builds
...
SVN-Revision: 19885
2010-02-27 18:27:48 +00:00
Nicolas Thill
c0f8b43b17
use a DIR_SUFFIX variable to hold libc/version and use it in build/staging dir names
...
SVN-Revision: 19884
2010-02-27 18:14:24 +00:00
Felix Fietkau
15fecc9e6c
remove support for DEBUG_DIR, it has lost its purpose since STAGING_DIR_ROOT was added
...
SVN-Revision: 19849
2010-02-24 23:43:05 +00:00
Lars-Peter Clausen
001736d848
Add include_mk template which makes it a bit more convienient to include package installed mk files.
...
SVN-Revision: 19847
2010-02-24 23:07:56 +00:00
Nicolas Thill
0f3c406bdb
add a config item to specify arguments to strip
...
SVN-Revision: 19270
2010-01-22 08:12:20 +00:00
Felix Fietkau
6c57203836
oops, forgot one small change in the last commit
...
SVN-Revision: 18640
2009-12-04 22:18:36 +00:00
Felix Fietkau
b647c168de
remove the redundant subdirectory from the packages directory variable
...
SVN-Revision: 18639
2009-12-04 22:17:26 +00:00
Florian Fainelli
ee8018ef11
output firmware files in bin/$(BOARD) instead of bin/
...
SVN-Revision: 18624
2009-12-03 18:21:03 +00:00
Felix Fietkau
d648a0827b
fix a typo
...
SVN-Revision: 18122
2009-10-22 16:39:39 +00:00