Commit graph

205 commits

Author SHA1 Message Date
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
Felix Fietkau
9bd710e050 add some extra stripping options for kernel modules to reduce size even more (thx, matteo)
SVN-Revision: 18121
2009-10-22 16:26:12 +00:00
Nicolas Thill
c9bc7c504c add external toolchain support, enhance native toolchain support (special thanks to Luigi Mantellini for his help... and patience ;)
SVN-Revision: 17682
2009-09-23 02:27:38 +00:00
Felix Fietkau
2982f7ef79 move the package dir to bin/packages/$(BOARD)_$(LIBC)-$(LIBCV) to prevent multiple configs with the same arch from deleting each others' packages
SVN-Revision: 17329
2009-08-20 15:31:17 +00:00
Felix Fietkau
4169a2e834 add a staging directory for unstripped package files, useful for debugging, will be used for mklibs integration later
SVN-Revision: 17167
2009-08-07 21:58:35 +00:00
Felix Fietkau
f8097687d1 add -L$(TOOLCHAIN_DIR)/lib to the LIBGCC_S variable, if necessary
SVN-Revision: 17082
2009-08-01 21:29:00 +00:00
Florian Fainelli
28efbbc87f do not set anything in DISABLE_IPV6 when set, let the package pick up the defaults
SVN-Revision: 17077
2009-08-01 12:12:48 +00:00
Florian Fainelli
11e1304ca0 globally define IPv6 support or not in OpenWrt, just like for largefiles, ipv6 disabled by default (#4857)
SVN-Revision: 16983
2009-07-25 21:45:51 +00:00
Nicolas Thill
4702698c68 add a config option to select the binary stripping method to use (between none, strip & sstrip)
SVN-Revision: 16728
2009-07-07 02:34:58 +00:00
Lars-Peter Clausen
ebeb3829e1 Set TARGET_CXX to 'no' if c++ is not enabled in the toolchain.
SVN-Revision: 16213
2009-05-30 15:48:44 +00:00
Ralph Hempel
c4d7af7094 added BUILD_LOG_DIR variable, make clean will delete the ./logs dir
SVN-Revision: 16148
2009-05-28 16:30:04 +00:00
Felix Fietkau
34939cad39 get rid of $Id$ - it has never helped us and it has broken too many patches ;)
SVN-Revision: 15242
2009-04-17 14:09:46 +00:00
Felix Fietkau
72faa09dff move cflags default setting to target makefiles
SVN-Revision: 14866
2009-03-14 03:17:06 +00:00
Felix Fietkau
b6f0cb5366 prepend $(STAGING_DIR)/host to the PATH only in target-package stampfile targets, should fix usage of cross tools with host builds
SVN-Revision: 14800
2009-03-09 01:15:59 +00:00
Felix Fietkau
431c9267b4 replace a few unnecessary $(shell) calls
SVN-Revision: 14739
2009-03-03 14:55:53 +00:00
Felix Fietkau
127296bc45 speed up metadata scanning a lot by avoiding unnecessary shell commands and make recursions
SVN-Revision: 14734
2009-03-03 13:54:29 +00:00
Ralph Hempel
70633d5f2f second part of target rootfs relocation
SVN-Revision: 14578
2009-02-20 10:44:19 +00:00
Nicolas Thill
db059cc0ff remove LINUX_HEADERS_DIR, not used anymore
SVN-Revision: 14271
2009-01-29 20:37:58 +00:00
Nicolas Thill
343c412a22 indent soft-float options
SVN-Revision: 14270
2009-01-29 20:19:00 +00:00
Nicolas Thill
1be5092692 move IPKG_STATE_DIR from ./rules.mk to ./include/package-ipkg.mk and change its value to suit opkg
SVN-Revision: 14269
2009-01-29 20:13:01 +00:00
Lars-Peter Clausen
28abf79c44 Use multi libc naming scheme for PACKAGE_DIR
SVN-Revision: 14168
2009-01-24 15:46:57 +00:00
Felix Fietkau
ab0c71fe99 Revert r14071
SVN-Revision: 14077
2009-01-17 20:36:38 +00:00
Felix Fietkau
55a7b0a6e1 add eabi suffix to the target name
SVN-Revision: 14071
2009-01-17 19:15:09 +00:00
Felix Fietkau
eb1c4db039 add support for an optional staging directory for debug binaries
SVN-Revision: 14018
2009-01-13 03:21:25 +00:00
Nicolas Thill
a3edea1b91 add support for alternative C libraries (currently only glibc/eglibc) other (related) changes: - kernel headers are now installed using "make headers_install" on 2.6 - target names now contain an openwrt "vendor" tag (e.g. mips-openwrt-linux-gnu) - build directory names now contain gcc/libc name/version - default cpu for x86 is now i486 (required to build glibc/eglibc)
SVN-Revision: 13931
2009-01-08 01:49:11 +00:00
Felix Fietkau
0434df7fee add the make variable LIBGCC_S, which points to the correct libgcc ldflag (avr32 only has a static library, most targets use the dynamic one)
SVN-Revision: 13892
2009-01-06 15:56:30 +00:00
Felix Fietkau
87f9c56103 fix whitespace order in cflags without CONFIG_DEBUG to prevent breakage in some packages' configure step
SVN-Revision: 12601
2008-09-13 17:41:02 +00:00
Lars-Peter Clausen
b7b1b8dc73 Revert r12510. Remove -rpath-link form TARGET_LDFLAGS as it breaks some packages.
SVN-Revision: 12597
2008-09-13 14:34:43 +00:00
Felix Fietkau
373e5f5e8d add new option for enabling debugging symbols
SVN-Revision: 12591
2008-09-13 08:31:15 +00:00
Felix Fietkau
6acecfb3cd add -rpath-link to TARGET_LDFLAGS by default
SVN-Revision: 12510
2008-09-03 13:18:52 +00:00