generic-poky/meta/conf/machine/include/mips
Martin Jansa 60589dd60c conf/machine: use .= instead of += in TUNE_CCARGS
* number of TUNE_CCARGS conditionals is important if we add
  extra space with each one in "else" branch

  I'm building for 2 MACHINEs one is cortexa9, second is cortexa8

  few months ago we added TUNE_CCARGS[vardepvalue] in bitbake.conf
  http://git.openembedded.org/openembedded-core/commit/?id=03f1e34ea3ce80931e9c3cd2ab22824f28a7233b

  which fixed some cases (like mentioned tune-xscale and tune-arm926ejs)
  where both had unused TUNE_CCARGS when common DEFAULTTUNE was used.

  with cortexa[89] it's different, because cortexa9 has one extra TUNE_CCARGS
  TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "cortexa9", "-mtune=cortex-a9", "", d)}"
  which adds extra *space* even when not used because of '+=' and as result:

  $ bitbake-diffsigs tmp-eglibc/sstate-diff/1366797730/*/armv7*/adapterbase/*do_configure*
  basehash changed from f986789fb8fb3579ed6a3492cc8a8d10 to c851b5f838d945ee13072e9ad6725dca
  Variable TUNE_CCARGS value changed from
  ' -march=armv7-a     -mthumb-interwork -mfloat-abi=softfp -mfpu=neon '
  to
  ' -march=armv7-a     -mthumb-interwork -mfloat-abi=softfp -mfpu=neon  '
  Hash for dependent task gcc-runtime_4.7.bb.do_populate_sysroot changed from bdeabf7a86958b9110b566344b7916de to 2be5618e6bc8c57ec9db5659bf217915
  Hash for dependent task eglibc_2.17.bb.do_populate_sysroot changed from b4f40fc62dde684acd0a574532a55360 to 97fcb426603d4a1c1099c0504d2ebf7d
  Hash for dependent task glib-2.0_2.34.3.bb.do_populate_sysroot changed from fd2f90b83098c34e88d649d70f6ea4f5 to ebd740bb94ea3eb0a914efda6fc82c4a

(From OE-Core rev: b7430ff83760ac29079d20dc7c62f498a0a9d55d)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-29 14:45:06 +01:00
..
README conf/machine/include: Cleanup MIPS tunings to match README 2012-04-04 17:17:54 +01:00
arch-mips.inc conf/machine: use .= instead of += in TUNE_CCARGS 2013-04-29 14:45:06 +01:00

README

2012/03/30 - Mark Hatle <mark.hatle@windriver.com>
  - Initial Version

MIPS currently defines 12 ABIs.  Combinations of:
 *) Big/Little Endian
 *) Hardware/Software Floating Point
 *) o32, n32, n64 ABI

TUNE_ARCH, the GNU canonical arch, is defined as:

mips${MIPSPKGSFX_BYTE}${MIPSPKGSFX_ENDIAN}

The package arch is defined in such a way to generated a standard naming
scheme.  The scheme is: <mips variant>[-nf][-n32]

TUNE_PKGARCH is defined as:

${MIPSPKGSFX_VARIANT_tune-${DEFAULTTUNE}}${MIPSPKGSFX_FPU}${MIPSPKGSFX_ABI}

The following is a list of MIPS specific variables:

MIPSPKGSFX_BYTE - This is defined as either blank and "64" for MIPS64 CPUs.

MIPSPKGSFX_ENDIAN - For bigendian hardware this is blank, otherwise it's
defined as "el".

MIPSPKGSFX_VARIANT_tune-<tune> - In the default tunings it is set to the
same value as TUNE_ARCH.  In custom, optimized tunings, the value should
be modified to more precisely describe the tuning.

MIPSPKGSFX_FPU - The value is set to "" or "-nf", where "-nf" indicates 
that the tune is using a non-floating point ABI.

MIPSPKGSFX_ABI - This is used to specify an alternative ABI when the previous
values are not enough to distringuish the package.  "-n32" is added when
building for N32 ABI.