diff options
author | Paul Sokolovsky <pmiscml@gmail.com> | 2006-12-22 09:44:03 +0000 |
---|---|---|
committer | Paul Sokolovsky <pmiscml@gmail.com> | 2006-12-22 09:44:03 +0000 |
commit | 16c89f95689e9ead5f0438bbb5c0d601a7fdff74 (patch) | |
tree | 943fcd074f542c81a7e11e159abbe731ab290e23 /conf | |
parent | f0ac326b0c83fad9315d406e12b5f2e992674913 (diff) | |
parent | c0c21a6d23cf70c053dbf39f85402e2d4ba21677 (diff) |
merge of '5ea326f3b26f2123d331eace3ce101ac2983534e'
and 'fd22e946abe117169eb2505f30a12a2aa70f1a71'
Diffstat (limited to 'conf')
-rw-r--r-- | conf/local.conf.sample | 21 | ||||
-rw-r--r-- | conf/machine/include/tune-thumb.conf | 32 |
2 files changed, 44 insertions, 9 deletions
diff --git a/conf/local.conf.sample b/conf/local.conf.sample index 52bd88a4e9..df00fbae37 100644 --- a/conf/local.conf.sample +++ b/conf/local.conf.sample @@ -55,8 +55,9 @@ PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross" # TMPDIR = /usr/local/projects/oetmp # Uncomment this to specify a machine to build for. See the conf directory -# for machines currently known to OpenEmbedded. -# MACHINE = "collie" +# for machines currently known to OpenEmbedded. This will automatically take care +# of TARGET_ARCH +# MACHINE = "c7x0" # Use this to specify the target architecture. Note that this is only # needed when building for a machine not known to OpenEmbedded. Better use @@ -66,25 +67,26 @@ PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross" # Use this to specify the target operating system. The default is "linux", # for a normal linux system with glibc. Set this to "linux-uclibc" if you want # to build a uclibc based system. +# Normally the DISTRO of your choosing will take care of this # TARGET_OS = "linux" # TARGET_OS = "linux-uclibc" # Uncomment this to select a distribution policy. See the conf directory # for distributions currently known to OpenEmbedded. -# Although they no longer contain version number in the (file-)name -# familiar-unstable and openzaurus-unstable are so called "versioned" -# distros, i.e. they explicitely select specific versions of various -# packages. +# Although it no longer contain version number in the (file-)name +# openzaurus-unstable is a so called "versioned" distro, i.e. they +# explicitely select specific versions of various packages. # Stay away from unversioned distros unless you really know what you are doing # DISTRO = "generic" -# So far, angstrom.conf and familiar.conf set ENABLE_BINARY_LOCALE_GENERATION +# So far, angstrom.conf sets ENABLE_BINARY_LOCALE_GENERATION # to generate binary locale packages at build time using qemu-native and # thereby guarantee i18n support on all devices. If your build breaks on # qemu-native consider disabling ENABLE_BINARY_LOCALE_GENERATION (note that # this breaks i18n on devices with less than 128MB RAM) or installing # a working third-party qemu (e.g. provided by your distribution) and -# adding qemu-native to ASSUME_PROVIDED +# adding qemu-native to ASSUME_PROVIDED. Caveat emptor, since third-party +# qemus lack patches needed to work with various OE targets. # ENABLE_BINARY_LOCALE_GENERATION = "0" # ASSUME_PROVIDED += "qemu-native" @@ -108,7 +110,8 @@ IMAGE_FSTYPES = "jffs2 tar" # BBDEBUG = "yes" # Uncomment these two if you want BitBake to build images useful for debugging. -# Note that INHIBIT_PACKAGE_STRIP needs a package format to be defined +# Note that INHIBIT_PACKAGE_STRIP needs a package format to be defined. +# Also note that OE now produces -dbg packages which contain debugging symbols. # DEBUG_BUILD = "1" # INHIBIT_PACKAGE_STRIP = "1" diff --git a/conf/machine/include/tune-thumb.conf b/conf/machine/include/tune-thumb.conf new file mode 100644 index 0000000000..2a12443b3d --- /dev/null +++ b/conf/machine/include/tune-thumb.conf @@ -0,0 +1,32 @@ +#tune file for thumb instructions + +ARM_INSTRUCTION_SET ?= "arm" +# "arm" "thumb" +# The instruction set the compiler should use when generating application +# code. The kernel is always compiled with arm code at present. arm code +# is the original 32 bit ARM instruction set, thumb code is the 16 bit +# encoded RISC sub-set. Thumb code is smaller (maybe 70% of the ARM size) +# but requires more instructions (140% for 70% smaller code) so may be +# slower. + +THUMB_INTERWORK ?= "no" +# "yes" "no" +# Whether to compile with code to allow interworking between the two +# instruction sets. This allows thumb code to be executed on a primarily +# arm system and vice versa. It is strongly recommended that DISTROs not +# turn this off - the actual cost is very small. + +OVERRIDE_THUMB = "${@['', ':thumb'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) == 'thumb']}" +OVERRIDE_INTERWORK = "${@['', ':thumb-interwork'][bb.data.getVar('THUMB_INTERWORK', d, 1) == 'yes']}" +OVERRIDES += "${OVERRIDE_THUMB}${OVERRIDE_INTERWORK}" + +# Compiler and linker options for application code and kernel code. These +# options ensure that the compiler has the correct settings for the selected +# instruction set and interworking. +ARM_INTERWORK_M_OPT = "${@['-mno-thumb-interwork', '-mthumb-interwork'][bb.data.getVar('THUMB_INTERWORK', d, 1) == 'yes']}" +ARM_THUMB_M_OPT = "${@['-mno-thumb', '-mthumb'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) == 'thumb']}" + +# +TARGET_CC_ARCH += "${ARM_INTERWORK_M_OPT} ${ARM_THUMB_M_OPT}" +TARGET_CC_KERNEL_ARCH += "-mno-thumb" + |