Felix Fietkau
81fceec185
build: do not assume that gcc-{ar,ranlib,nm} is usable with an external toolchain
...
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43911 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-01-10 16:14:25 +00:00
Felix Fietkau
6c2782f025
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43784 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-27 12:59:59 +00:00
Felix Fietkau
3da7d95965
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43018 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-10-22 08:57:20 +00:00
Felix Fietkau
09976aa562
build: clean up and optimize ipkg control generator code
...
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43017 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-10-22 08:57:16 +00:00
John Crispin
ff763853bc
build: add $(STAGING_DIR_HOST)/usr/{include, lib} to build search path.
...
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42987 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-10-20 06:29:21 +00:00
Felix Fietkau
0b67a9fef5
build: override hardcoded paths to bison and m4 to make the SDK more relocatable
...
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42300 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-08-26 12:15:50 +00:00
Felix Fietkau
e7a9ff8b70
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
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@40006 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-03-22 19:52:48 +00:00
Felix Fietkau
0406a37593
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39982 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-03-21 15:54:14 +00:00
Felix Fietkau
6b7bcb9292
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39980 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-03-21 15:54:07 +00:00
Felix Fietkau
adc4005450
build: remove check for nonexistant CONFIG_TAR_VERBOSITY variable and move TAR_OPTIONS to unpack.mk
...
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39979 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-03-21 15:54:03 +00:00
Felix Fietkau
9f91b508aa
build: add a variable for the name of the {build,staging}_dir/{target,toolchain}-* directories
...
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39857 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-03-10 11:12:32 +00:00
Imre Kaloz
0fdebf9347
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38943 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-11-29 10:59:51 +00:00
Imre Kaloz
3f7b7dc29e
allow configuration of the target directory for binaries
...
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38890 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-11-22 09:39:41 +00:00
Felix Fietkau
be6662ecdf
build: include the cpu type as part of the toolchain/target directory name
...
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38214 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-09-26 17:53:32 +00:00
Felix Fietkau
64584aa1fc
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37770 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-08-14 13:02:29 +00:00
Felix Fietkau
01695667a8
build: unify target independent optimization options
...
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37600 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-07-29 09:38:29 +00:00
Felix Fietkau
61b763d414
build: add required exports for dependency tracking
...
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37387 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-07-18 11:18:37 +00:00
Felix Fietkau
920880de04
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37228 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-07-10 15:11:29 +00:00
Felix Fietkau
ac72309525
rules.mk: use qstrip to reduce syntax highlighting issues
...
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37225 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-07-10 14:51:09 +00:00
Felix Fietkau
30e9f35428
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36594 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-05-09 20:50:49 +00:00
John Crispin
d8eb7a4caf
rules.mk: add _dsp to ARCH_SUFFIX if the dsp ase is used
...
Signed-off-by: John Crispin <blogic@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36566 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-05-06 16:45:51 +00:00
Florian Fainelli
a4fbc42a5a
toolchain: allow choosing the MIPS64 user-land ABI
...
Signed-off-by: Florian Fainelli <florian@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36205 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-04-05 12:36:23 +00:00
Florian Fainelli
d32ac499b8
buildroot: factor knowledge of a 64bits architecture
...
Signed-off-by: Florian Fainelli <florian@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36204 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-04-05 12:36:19 +00:00
Florian Fainelli
e861f11c45
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36202 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-04-05 12:36:12 +00:00
Florian Fainelli
f04de2f5d2
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36198 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-04-05 12:35:56 +00:00
Florian Fainelli
a5e7050033
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36197 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-04-05 12:35:53 +00:00
Felix Fietkau
cd9eb981de
build: add a HOSTCXX variable pointing at the c++ compiler
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36109 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-03-22 12:52:17 +00:00
Gabor Juhos
65da6815b3
fix ARCH_SUFFIX for mips64{,el}r2
...
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35688 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-02-20 06:49:02 +00:00
Jo-Philipp Wich
dd62d0cc9c
rules.mk: only select latest libgcc.a with wildcard match ( #12798 )
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35144 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-01-13 20:59:51 +00:00
Jo-Philipp Wich
77febe3142
rules.mk: don't use $(realpath) in file_copy, the destination directory might not exist yet - spotted while doing a fresh build
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34447 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-12-02 15:15:07 +00:00
Jo-Philipp Wich
0e9a69f081
rules.mk: provide a macro "file_copy" which removes any symlink in the destination dir that would be overwritten
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34437 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-12-02 12:20:34 +00:00
Jo-Philipp Wich
689c9782b3
rules.mk: fix misspelled config symbol introduced by r34300
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34304 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-11-23 10:12:18 +00:00
Jo-Philipp Wich
c596ba2220
rules.mk: append libc implementation to bin directory name if not using uClibc
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34300 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-11-22 13:43:30 +00:00
Felix Fietkau
6683f47568
build: rework the package/install step - collect package install lists during package/compile, then install all packages at once
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33631 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-10-06 16:01:06 +00:00
Felix Fietkau
0c12b233e7
rules.mk: add TARGET_AR and TARGET_RANLIB
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33508 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-09-22 20:10:24 +00:00
Jo-Philipp Wich
9c8ed9e702
[buildroot] do not pass optimization flags in HOST_CPPFLAGS ( #12153 )
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33351 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-09-09 21:35:42 +00:00
John Crispin
df21869cae
[rules.mk] remove duplicate HOSTCC_NOCACHE
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33088 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-08-10 19:07:03 +00:00
Florian Fainelli
8c0856ac4c
[buildroot] move LIB_SUFFIX from base-files to rules.mk
...
Some packages are going to need fixups based on LIB_SUFFIX
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33080 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-08-10 14:15:06 +00:00
John Crispin
7c4db9ed38
[include] fix up scons vs ccache
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32902 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-07-28 21:06:59 +00:00
John Crispin
b6e06ce98b
add and export HOSTCC_NOCACHE
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32466 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-06-20 07:48:47 +00:00
Felix Fietkau
8da44b5fc9
make librpc compatible with eglibc, unconditionally enable it for packages that need rpc support
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32129 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-06-08 15:10:18 +00:00
John Crispin
e84fbcf5bc
[tools] add ccache wrapper
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32075 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-06-06 13:27:11 +00:00
John Crispin
45879534fd
[include] Use build suffix on build_dir paths
...
Adds BUILD_SUFFIX to STAGING_DIR
Signed-off-by: Tathagata Das <tathagata@alumnux.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31233 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-04-10 10:55:55 +00:00
Felix Fietkau
d8d82fb79d
kernel: keep more symbols in the kernel modules when doing profiling
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30762 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-01 15:13:26 +00:00
Felix Fietkau
99dfff5e68
build: add TARGET_CXXFLAGS and EXTRA_CXXFLAGS, defaulting to *_CFLAGS via lazy evaluation. this allows adding c++ specific cflags
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30760 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-01 10:39:46 +00:00
Felix Fietkau
81f11f6976
kernel: do not rename module symbols with kallsyms enabled
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30759 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-01 09:58:03 +00:00
Felix Fietkau
32a6974781
strip kernel modules more aggressively: make all global symbols local, rename all symbols in the symbol table to make them compress better
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30662 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-20 17:38:26 +00:00
Felix Fietkau
9c7fb0200c
build: add -Wno-error=unused-but-set-variable to cflags for gcc 4.6 and newer to avoid stupid -Werror related package breakage
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30556 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-15 19:19:12 +00:00
Jo-Philipp Wich
16eb3e2e8b
[buildroot] rules.mk: filter "." and "./" entries from $PATH, prevents toolchain build issues and likely other problems
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29951 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-01-29 23:34:25 +00:00
Jo-Philipp Wich
ac2f1b4f01
[buildroot] 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.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29766 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-01-18 03:08:09 +00:00