mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-30 06:36:34 +00:00
- 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"
|
prompt "Target Architecture"
|
||||||
default BR2_i386
|
default BR2_i386
|
||||||
help
|
help
|
||||||
Stuff
|
Select the target architecture family to build for.
|
||||||
|
|
||||||
config BR2_alpha
|
config BR2_alpha
|
||||||
bool "alpha"
|
bool "alpha"
|
||||||
@ -52,6 +52,9 @@ choice
|
|||||||
prompt "Target Architecture Variant"
|
prompt "Target Architecture Variant"
|
||||||
depends BR2_arm || BR2_armeb
|
depends BR2_arm || BR2_armeb
|
||||||
default BR2_generic_arm
|
default BR2_generic_arm
|
||||||
|
help
|
||||||
|
Specific CPU variant to use
|
||||||
|
|
||||||
config BR2_generic_arm
|
config BR2_generic_arm
|
||||||
bool "generic_arm"
|
bool "generic_arm"
|
||||||
config BR2_arm610
|
config BR2_arm610
|
||||||
@ -97,6 +100,9 @@ choice
|
|||||||
prompt "Target ABI"
|
prompt "Target ABI"
|
||||||
depends BR2_arm || BR2_armeb
|
depends BR2_arm || BR2_armeb
|
||||||
default BR2_ARM_OABI
|
default BR2_ARM_OABI
|
||||||
|
help
|
||||||
|
Application Binary Interface to use
|
||||||
|
|
||||||
config BR2_ARM_OABI
|
config BR2_ARM_OABI
|
||||||
bool "OABI"
|
bool "OABI"
|
||||||
config BR2_ARM_EABI
|
config BR2_ARM_EABI
|
||||||
@ -107,6 +113,9 @@ choice
|
|||||||
prompt "Target Architecture Variant"
|
prompt "Target Architecture Variant"
|
||||||
depends BR2_sh
|
depends BR2_sh
|
||||||
default BR2_sh4
|
default BR2_sh4
|
||||||
|
help
|
||||||
|
Specific CPU variant to use
|
||||||
|
|
||||||
config BR2_sh2a_nofpueb
|
config BR2_sh2a_nofpueb
|
||||||
bool "sh2a_nofpueb"
|
bool "sh2a_nofpueb"
|
||||||
config BR2_sh2eb
|
config BR2_sh2eb
|
||||||
@ -129,6 +138,9 @@ choice
|
|||||||
prompt "Target Architecture Variant"
|
prompt "Target Architecture Variant"
|
||||||
depends BR2_i386
|
depends BR2_i386
|
||||||
default BR2_x86_i686
|
default BR2_x86_i686
|
||||||
|
help
|
||||||
|
Specific CPU variant to use
|
||||||
|
|
||||||
config BR2_x86_i386
|
config BR2_x86_i386
|
||||||
bool "i386"
|
bool "i386"
|
||||||
config BR2_x86_i486
|
config BR2_x86_i486
|
||||||
@ -221,54 +233,54 @@ config BR2_SOURCEFORGE_MIRROR
|
|||||||
string "Sourceforge mirror site"
|
string "Sourceforge mirror site"
|
||||||
default "easynews"
|
default "easynews"
|
||||||
help
|
help
|
||||||
Sourceforge has a system of mirror sites. Some sites may be closer
|
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
|
to your location, and sometimes mirror sites go down and are no longer
|
||||||
available. This option allows you to select your preferred Sourceforge
|
available. This option allows you to select your preferred Sourceforge
|
||||||
mirror site.
|
mirror site.
|
||||||
|
|
||||||
The list of mirrors is available here:
|
The list of mirrors is available here:
|
||||||
http://prdownloads.sourceforge.net/index-sf.html?download
|
http://prdownloads.sourceforge.net/index-sf.html?download
|
||||||
|
|
||||||
config BR2_STAGING_DIR
|
config BR2_STAGING_DIR
|
||||||
string "Toolchain and header file location?"
|
string "Toolchain and header file location?"
|
||||||
default "$(BUILD_DIR)/staging_dir"
|
default "$(BUILD_DIR)/staging_dir"
|
||||||
help
|
help
|
||||||
This is the location where the toolchain will be installed. The
|
This is the location where the toolchain will be installed. The
|
||||||
toolchain will not work if it is moved from this location.
|
toolchain will not work if it is moved from this location.
|
||||||
Therefore, if you wish to package up a uClibc toolchain, it is
|
Therefore, if you wish to package up a uClibc toolchain, it is
|
||||||
important that is is set to the final location where the toolchain
|
important that is is set to the final location where the toolchain
|
||||||
will be used.
|
will be used.
|
||||||
|
|
||||||
Most people will leave this set to the default value of
|
Most people will leave this set to the default value of
|
||||||
"$(BUILD_DIR)/staging_dir".
|
"$(BUILD_DIR)/staging_dir".
|
||||||
|
|
||||||
config BR2_TOPDIR_PREFIX
|
config BR2_TOPDIR_PREFIX
|
||||||
string "Custom build dir prefix"
|
string "Custom build dir prefix"
|
||||||
default ""
|
default ""
|
||||||
help
|
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
|
build_ARCH -> [PREFIX]_build_ARCH
|
||||||
toolchain_build_ARCH -> [PREFIX]_toolchain_build_ARCH
|
toolchain_build_ARCH -> [PREFIX]_toolchain_build_ARCH
|
||||||
|
|
||||||
config BR2_TOPDIR_SUFFIX
|
config BR2_TOPDIR_SUFFIX
|
||||||
string "Custom build dir suffix"
|
string "Custom build dir suffix"
|
||||||
default ""
|
default ""
|
||||||
help
|
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]
|
build_ARCH -> build_ARCH_[SUFFIX]
|
||||||
toolchain_build_ARCH -> toolchain_build_ARCH_[SUFFIX]
|
toolchain_build_ARCH -> toolchain_build_ARCH_[SUFFIX]
|
||||||
|
|
||||||
config BR2_GNU_BUILD_SUFFIX
|
config BR2_GNU_BUILD_SUFFIX
|
||||||
string "GNU build hostname suffix"
|
string "GNU build hostname suffix"
|
||||||
default "pc-linux-gnu"
|
default "pc-linux-gnu"
|
||||||
help
|
help
|
||||||
The string used to pass to configure scripts via the
|
The string used to pass to configure scripts via the
|
||||||
--build= option. Just specify the suffix here, the leading
|
--build= option. Just specify the suffix here, the leading
|
||||||
arch will be filled in automatically.
|
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
|
linux: pc-linux-gnu
|
||||||
cygwin: pc-cygwin
|
cygwin: pc-cygwin
|
||||||
os x: apple-darwin7 / apple-darwin8
|
os x: apple-darwin7 / apple-darwin8
|
||||||
@ -278,15 +290,15 @@ config BR2_GNU_TARGET_SUFFIX
|
|||||||
default "linux-uclibcgnueabi" if BR2_ARM_EABI
|
default "linux-uclibcgnueabi" if BR2_ARM_EABI
|
||||||
default "linux-uclibc"
|
default "linux-uclibc"
|
||||||
help
|
help
|
||||||
The string used to pass to configure scripts via the
|
The string used to pass to configure scripts via the
|
||||||
--target= option. Just specify the suffix here, the leading
|
--target= option. Just specify the suffix here, the leading
|
||||||
arch will be filled in automatically.
|
arch will be filled in automatically.
|
||||||
|
|
||||||
Most users will want to stick with the default setting, though
|
Most users will want to stick with the default setting, though
|
||||||
other users (most notably ARM EABI) like to add on to this in
|
other users (most notably ARM EABI) like to add on to this in
|
||||||
order to stay in line with gcc conventions.
|
order to stay in line with gcc conventions.
|
||||||
|
|
||||||
Default options are:
|
Default options are:
|
||||||
linux-uclibcgnueabi for ARM EABI
|
linux-uclibcgnueabi for ARM EABI
|
||||||
linux-uclibc for the rest
|
linux-uclibc for the rest
|
||||||
|
|
||||||
@ -294,7 +306,20 @@ config BR2_JLEVEL
|
|||||||
int "Number of jobs to run simultaneously"
|
int "Number of jobs to run simultaneously"
|
||||||
default "1"
|
default "1"
|
||||||
help
|
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
|
endmenu
|
||||||
|
|
||||||
|
@ -96,6 +96,14 @@ $(BUSYBOX_DIR)/busybox: $(BUSYBOX_DIR)/.configured
|
|||||||
CROSS="$(TARGET_CROSS)" PREFIX="$(TARGET_DIR)" \
|
CROSS="$(TARGET_CROSS)" PREFIX="$(TARGET_DIR)" \
|
||||||
ARCH=$(KERNEL_ARCH) \
|
ARCH=$(KERNEL_ARCH) \
|
||||||
EXTRA_CFLAGS="$(TARGET_CFLAGS)" -C $(BUSYBOX_DIR)
|
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
|
$(TARGET_DIR)/bin/busybox: $(BUSYBOX_DIR)/busybox
|
||||||
ifeq ($(BR2_PACKAGE_BUSYBOX_INSTALL_SYMLINKS),y)
|
ifeq ($(BR2_PACKAGE_BUSYBOX_INSTALL_SYMLINKS),y)
|
||||||
|
@ -5,3 +5,11 @@ config BR2_PACKAGE_GCC_TARGET
|
|||||||
help
|
help
|
||||||
If you want the target system to be able to run
|
If you want the target system to be able to run
|
||||||
binutils/gcc and compile native code, say Y here.
|
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)"
|
BOOT_CFLAGS="$(TARGET_CFLAGS) $(TARGET_SOFT_FLOAT)"
|
||||||
|
|
||||||
ifeq ($(strip $(BR2_PACKAGE_GCC_TARGET)),y)
|
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
|
TARGETS+=gcc_target
|
||||||
endif
|
endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user