- add an experimental BR2_PREFER_IMA.
Currently disfunctional for gcc-4.2 due to PR30620 and possibly others
This commit is contained in:
parent
f27735d605
commit
93ab6d3021
89
Config.in
89
Config.in
@ -10,7 +10,7 @@ choice
|
||||
prompt "Target Architecture"
|
||||
default BR2_i386
|
||||
help
|
||||
Stuff
|
||||
Select the target architecture family to build for.
|
||||
|
||||
config BR2_alpha
|
||||
bool "alpha"
|
||||
@ -52,6 +52,9 @@ choice
|
||||
prompt "Target Architecture Variant"
|
||||
depends BR2_arm || BR2_armeb
|
||||
default BR2_generic_arm
|
||||
help
|
||||
Specific CPU variant to use
|
||||
|
||||
config BR2_generic_arm
|
||||
bool "generic_arm"
|
||||
config BR2_arm610
|
||||
@ -97,6 +100,9 @@ choice
|
||||
prompt "Target ABI"
|
||||
depends BR2_arm || BR2_armeb
|
||||
default BR2_ARM_OABI
|
||||
help
|
||||
Application Binary Interface to use
|
||||
|
||||
config BR2_ARM_OABI
|
||||
bool "OABI"
|
||||
config BR2_ARM_EABI
|
||||
@ -107,6 +113,9 @@ choice
|
||||
prompt "Target Architecture Variant"
|
||||
depends BR2_sh
|
||||
default BR2_sh4
|
||||
help
|
||||
Specific CPU variant to use
|
||||
|
||||
config BR2_sh2a_nofpueb
|
||||
bool "sh2a_nofpueb"
|
||||
config BR2_sh2eb
|
||||
@ -129,6 +138,9 @@ choice
|
||||
prompt "Target Architecture Variant"
|
||||
depends BR2_i386
|
||||
default BR2_x86_i686
|
||||
help
|
||||
Specific CPU variant to use
|
||||
|
||||
config BR2_x86_i386
|
||||
bool "i386"
|
||||
config BR2_x86_i486
|
||||
@ -221,54 +233,54 @@ config BR2_SOURCEFORGE_MIRROR
|
||||
string "Sourceforge mirror site"
|
||||
default "easynews"
|
||||
help
|
||||
Sourceforge has a system of mirror sites. Some sites may be closer
|
||||
to your location, and sometimes mirror sites go down and are no longer
|
||||
available. This option allows you to select your preferred Sourceforge
|
||||
mirror site.
|
||||
Sourceforge has a system of mirror sites. Some sites may be closer
|
||||
to your location, and sometimes mirror sites go down and are no longer
|
||||
available. This option allows you to select your preferred Sourceforge
|
||||
mirror site.
|
||||
|
||||
The list of mirrors is available here:
|
||||
http://prdownloads.sourceforge.net/index-sf.html?download
|
||||
The list of mirrors is available here:
|
||||
http://prdownloads.sourceforge.net/index-sf.html?download
|
||||
|
||||
config BR2_STAGING_DIR
|
||||
string "Toolchain and header file location?"
|
||||
default "$(BUILD_DIR)/staging_dir"
|
||||
help
|
||||
This is the location where the toolchain will be installed. The
|
||||
toolchain will not work if it is moved from this location.
|
||||
Therefore, if you wish to package up a uClibc toolchain, it is
|
||||
important that is is set to the final location where the toolchain
|
||||
will be used.
|
||||
This is the location where the toolchain will be installed. The
|
||||
toolchain will not work if it is moved from this location.
|
||||
Therefore, if you wish to package up a uClibc toolchain, it is
|
||||
important that is is set to the final location where the toolchain
|
||||
will be used.
|
||||
|
||||
Most people will leave this set to the default value of
|
||||
"$(BUILD_DIR)/staging_dir".
|
||||
Most people will leave this set to the default value of
|
||||
"$(BUILD_DIR)/staging_dir".
|
||||
|
||||
config BR2_TOPDIR_PREFIX
|
||||
string "Custom build dir prefix"
|
||||
default ""
|
||||
help
|
||||
Add a custom string to the beginning of the build directories.
|
||||
Add a custom string to the beginning of the build directories.
|
||||
|
||||
build_ARCH -> [PREFIX]_build_ARCH
|
||||
toolchain_build_ARCH -> [PREFIX]_toolchain_build_ARCH
|
||||
build_ARCH -> [PREFIX]_build_ARCH
|
||||
toolchain_build_ARCH -> [PREFIX]_toolchain_build_ARCH
|
||||
|
||||
config BR2_TOPDIR_SUFFIX
|
||||
string "Custom build dir suffix"
|
||||
default ""
|
||||
help
|
||||
Add a custom string to the end of the build directories.
|
||||
Add a custom string to the end of the build directories.
|
||||
|
||||
build_ARCH -> build_ARCH_[SUFFIX]
|
||||
toolchain_build_ARCH -> toolchain_build_ARCH_[SUFFIX]
|
||||
build_ARCH -> build_ARCH_[SUFFIX]
|
||||
toolchain_build_ARCH -> toolchain_build_ARCH_[SUFFIX]
|
||||
|
||||
config BR2_GNU_BUILD_SUFFIX
|
||||
string "GNU build hostname suffix"
|
||||
default "pc-linux-gnu"
|
||||
help
|
||||
The string used to pass to configure scripts via the
|
||||
--build= option. Just specify the suffix here, the leading
|
||||
arch will be filled in automatically.
|
||||
The string used to pass to configure scripts via the
|
||||
--build= option. Just specify the suffix here, the leading
|
||||
arch will be filled in automatically.
|
||||
|
||||
Here's some copy and paste build host options for you:
|
||||
Here's some copy and paste build host options for you:
|
||||
linux: pc-linux-gnu
|
||||
cygwin: pc-cygwin
|
||||
os x: apple-darwin7 / apple-darwin8
|
||||
@ -278,15 +290,15 @@ config BR2_GNU_TARGET_SUFFIX
|
||||
default "linux-uclibcgnueabi" if BR2_ARM_EABI
|
||||
default "linux-uclibc"
|
||||
help
|
||||
The string used to pass to configure scripts via the
|
||||
--target= option. Just specify the suffix here, the leading
|
||||
arch will be filled in automatically.
|
||||
The string used to pass to configure scripts via the
|
||||
--target= option. Just specify the suffix here, the leading
|
||||
arch will be filled in automatically.
|
||||
|
||||
Most users will want to stick with the default setting, though
|
||||
other users (most notably ARM EABI) like to add on to this in
|
||||
order to stay in line with gcc conventions.
|
||||
Most users will want to stick with the default setting, though
|
||||
other users (most notably ARM EABI) like to add on to this in
|
||||
order to stay in line with gcc conventions.
|
||||
|
||||
Default options are:
|
||||
Default options are:
|
||||
linux-uclibcgnueabi for ARM EABI
|
||||
linux-uclibc for the rest
|
||||
|
||||
@ -294,7 +306,20 @@ config BR2_JLEVEL
|
||||
int "Number of jobs to run simultaneously"
|
||||
default "1"
|
||||
help
|
||||
Number of jobs to run simultaneously
|
||||
Number of jobs to run simultaneously
|
||||
|
||||
config BR2_PREFER_IMA
|
||||
bool "prefer IMA compiles"
|
||||
default n
|
||||
help
|
||||
Where possible, compile package with Inter Module Analysis.
|
||||
This potentially uses alot of system resources on your compile
|
||||
host with the benefit of creating smaller binaries for the target.
|
||||
|
||||
If unsure, say No.
|
||||
|
||||
WARNING: This is highly experimental at the moment.
|
||||
|
||||
|
||||
endmenu
|
||||
|
||||
|
@ -96,6 +96,14 @@ $(BUSYBOX_DIR)/busybox: $(BUSYBOX_DIR)/.configured
|
||||
CROSS="$(TARGET_CROSS)" PREFIX="$(TARGET_DIR)" \
|
||||
ARCH=$(KERNEL_ARCH) \
|
||||
EXTRA_CFLAGS="$(TARGET_CFLAGS)" -C $(BUSYBOX_DIR)
|
||||
ifeq ($(BR2_PREFER_IMA)$(BR2_PACKAGE_BUSYBOX_SNAPSHOT),yy)
|
||||
rm -f $@
|
||||
$(MAKE) CC=$(TARGET_CC) CROSS_COMPILE="$(TARGET_CROSS)" \
|
||||
CROSS="$(TARGET_CROSS)" PREFIX="$(TARGET_DIR)" \
|
||||
ARCH=$(KERNEL_ARCH) STRIP="$(STRIP)" \
|
||||
EXTRA_CFLAGS="$(TARGET_CFLAGS)" -C $(BUSYBOX_DIR) \
|
||||
-f scripts/Makefile.IMA
|
||||
endif
|
||||
|
||||
$(TARGET_DIR)/bin/busybox: $(BUSYBOX_DIR)/busybox
|
||||
ifeq ($(BR2_PACKAGE_BUSYBOX_INSTALL_SYMLINKS),y)
|
||||
|
@ -5,3 +5,11 @@ config BR2_PACKAGE_GCC_TARGET
|
||||
help
|
||||
If you want the target system to be able to run
|
||||
binutils/gcc and compile native code, say Y here.
|
||||
|
||||
config BR2_EXTRA_TARGET_GCC_CONFIG_OPTIONS
|
||||
string "Additional target gcc options"
|
||||
default ""
|
||||
help
|
||||
Any additional target gcc options you may want to include....
|
||||
Including, but not limited to --disable-checking etc.
|
||||
Refer to */configure in your gcc sources.
|
||||
|
@ -55,5 +55,19 @@ TARGET_GCC_FLAGS= CFLAGS_FOR_TARGET="$(TARGET_CFLAGS) $(TARGET_SOFT_FLOAT)" \
|
||||
BOOT_CFLAGS="$(TARGET_CFLAGS) $(TARGET_SOFT_FLOAT)"
|
||||
|
||||
ifeq ($(strip $(BR2_PACKAGE_GCC_TARGET)),y)
|
||||
# pull in config opts from the user
|
||||
EXTRA_TARGET_GCC_CONFIG_OPTIONS:=$(strip $(subst ",, $(BR2_EXTRA_TARGET_GCC_CONFIG_OPTIONS)))
|
||||
#"))
|
||||
|
||||
ifeq ($(BR2_PREFER_IMA),y)
|
||||
# >= 4.2
|
||||
ifeq ($(findstring 4.2,$(GCC_VERSION)),4.2)
|
||||
EXTRA_TARGET_GCC_CONFIG_OPTIONS+=--enable-intermodule
|
||||
endif
|
||||
ifeq ($(findstring 4.3,$(GCC_VERSION)),4.3)
|
||||
EXTRA_TARGET_GCC_CONFIG_OPTIONS+=--enable-intermodule
|
||||
endif
|
||||
endif # BR2_PREFER_IMA=y
|
||||
|
||||
TARGETS+=gcc_target
|
||||
endif
|
||||
|
Loading…
Reference in New Issue
Block a user