1*# 2*# X86 Architecture definition (IA32, X86_64, and X32) 3*# 4* 5*DEFAULTTUNE ?= "x86" 6*TARGET_FPU ?= "" 7*X86ARCH32 ?= "i586" 8*X86ARCH64 ?= "x86_64" 9* 10*TUNE_PKGARCH = "${TUNE_PKGARCH:tune-${DEFAULTTUNE}}" 11* 12*# ELF32 ABI 13*TUNEVALID[m32] = "IA32 ELF32 standard ABI" 14*TUNECONFLICTS[m32] = "m64 mx32" 15*TUNE_ARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'm32', '${X86ARCH32}', '', d)}" 16*TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'm32', ' -m32', '', d)}" 17*MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'm32', 'x86:', '', d)}" 18* 19*# x32 ABI 20*TUNEVALID[mx32] = "IA32e (x86_64) ELF32 standard ABI" 21*TUNECONFLICTS[mx32] = "m64 m32" 22*TUNE_ARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'mx32', '${X86ARCH64}', '', d)}" 23*ABIEXTENSION .= "${@bb.utils.contains('TUNE_FEATURES', 'mx32', 'x32', '', d)}" 24*TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mx32', ' -mx32', '', d)}" 25*TUNE_LDARGS += "${@bb.utils.contains('TUNE_FEATURES', 'mx32', '-m elf32_x86_64', '', d)}" 26*TUNE_ASARGS += "${@bb.utils.contains('TUNE_FEATURES', 'mx32', '-x32', '', d)}" 27*# user mode qemu doesn't support x32 28*MACHINE_FEATURES_BACKFILL_CONSIDERED:append = " ${@bb.utils.contains('TUNE_FEATURES', 'mx32', 'qemu-usermode', '', d)}" 29*MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'mx32', 'x86-x32:', '', d)}" 30* 31*# ELF64 ABI 32*TUNEVALID[m64] = "IA32e (x86_64) ELF64 standard ABI" 33*TUNECONFLICTS[m64] = "m32 mx32" 34*TUNE_ARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'm64', '${X86ARCH64}', '', d)}" 35*TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'm64', ' -m64', '', d)}" 36* 37*# Default Tune configurations 38*AVAILTUNES += "x86" 39*TUNE_FEATURES:tune-x86 = "m32" 40*BASE_LIB:tune-x86 = "lib" 41*TUNE_PKGARCH:tune-x86 = "x86" 42*PACKAGE_EXTRA_ARCHS:tune-x86 = "${TUNE_PKGARCH:tune-x86}" 43* 44*AVAILTUNES += "x86-64" 45*TUNE_FEATURES:tune-x86-64 = "m64" 46*BASE_LIB:tune-x86-64 = "lib64" 47*TUNE_PKGARCH:tune-x86-64 = "x86_64" 48*PACKAGE_EXTRA_ARCHS:tune-x86-64 = "${TUNE_PKGARCH:tune-x86-64}" 49* 50*AVAILTUNES += "x86-64-x32" 51*TUNE_FEATURES:tune-x86-64-x32 = "mx32" 52*BASE_LIB:tune-x86-64-x32 = "libx32" 53*TUNE_PKGARCH:tune-x86-64-x32 = "x86_64_x32" 54*PACKAGE_EXTRA_ARCHS:tune-x86-64-x32 = "${TUNE_PKGARCH:tune-x86-64-x32}" 55*