Changeset View
Standalone View
share/mk/src.opts.mk
Show First 20 Lines • Show All 309 Lines • ▼ Show 20 Lines | |||||
# EFI doesn't exist on mips or powerpc. | # EFI doesn't exist on mips or powerpc. | ||||
.if ${__T:Mmips*} || ${__T:Mpowerpc*} | .if ${__T:Mmips*} || ${__T:Mpowerpc*} | ||||
BROKEN_OPTIONS+=EFI | BROKEN_OPTIONS+=EFI | ||||
.endif | .endif | ||||
# OFW is only for powerpc, exclude others | # OFW is only for powerpc, exclude others | ||||
.if ${__T:Mpowerpc*} == "" | .if ${__T:Mpowerpc*} == "" | ||||
BROKEN_OPTIONS+=LOADER_OFW | BROKEN_OPTIONS+=LOADER_OFW | ||||
.endif | .endif | ||||
# UBOOT is only for arm, mips and powerpc, exclude others | # UBOOT is only for arm, and big-endian powerpc | ||||
.if ${__T:Marm*} == "" && ${__T:Mmips*} == "" && ${__T:Mpowerpc*} == "" | .if ${__T:Marm*} == "" && (${__T:Mpowerpc*} == "" && ${__T} != "powerpc64le") | ||||
jrtc27: I think you mean `|| ${__T} == "powerpc64le"` inside your parentheses (`!ppcbe == !(ppc && be)… | |||||
impAuthorUnsubmitted Done Inline ActionsI think this fix is correct, please verify. imp: I think this fix is correct, please verify. | |||||
Not Done Inline ActionsInstead of the separate :M values you can do it like this: .if ${__T:Narm*:Npowerpc*} != "" || ${__T} == "powerpc64le" (Note that I don't think you intended to have $__fT in there... it looks like a "f" creeped in.) stevek: Instead of the separate :M values you can do it like this:
`.if ${__T:Narm*:Npowerpc*} != ""… | |||||
Done Inline ActionsI agree about the stray f. However, your example is != and mine is ==, so ${__T:Narm*:Npowerpc*} will always produce the null set, no? imp: I agree about the stray f.
However, your example is != and mine is ==, so ${__T:Narm*… | |||||
Not Done Inline Actionsstevek's suggestion uses :N not :M, but :N isn't commonly used in base for this, especially this file likes :M != "", so I'd prefer to keep it as is jrtc27: stevek's suggestion uses :N not :M, but :N isn't commonly used in base for this, especially… | |||||
Not Done Inline ActionsWe use the :N form a lot in our build at Juniper as it's rather convenient and more efficient than a bunch of separate expressions stevek: We use the :N form a lot in our build at Juniper as it's rather convenient and more efficient… | |||||
Not Done Inline ActionsFor example of usage already in the tree, see share/mk/bsd.obj.mk with the .TARGETS variable stevek: For example of usage already in the tree, see share/mk/bsd.obj.mk with the .TARGETS variable
| |||||
Done Inline ActionsOK. I've convinced myself that :N makes sense (thanks jrtc27 for the insight). I do have one question on ubldr: how do I test it? imp: OK. I've convinced myself that :N makes sense (thanks jrtc27 for the insight).
I'm inclined to… | |||||
BROKEN_OPTIONS+=LOADER_UBOOT | BROKEN_OPTIONS+=LOADER_UBOOT | ||||
.endif | .endif | ||||
# GELI and Lua in loader currently cause boot failures on powerpc. | # GELI and Lua in loader currently cause boot failures on powerpc. | ||||
# Further debugging is required -- probably they are just broken on big | # Further debugging is required -- probably they are just broken on big | ||||
# endian systems generically (they jump to null pointers or try to read | # endian systems generically (they jump to null pointers or try to read | ||||
# crazy high addresses, which is typical of endianness problems). | # crazy high addresses, which is typical of endianness problems). | ||||
.if ${__T:Mpowerpc*} | .if ${__T:Mpowerpc*} | ||||
BROKEN_OPTIONS+=LOADER_GELI LOADER_LUA | BROKEN_OPTIONS+=LOADER_GELI LOADER_LUA | ||||
▲ Show 20 Lines • Show All 186 Lines • Show Last 20 Lines |
I think you mean || ${__T} == "powerpc64le" inside your parentheses (!ppcbe == !(ppc && be) == (!ppc || !be) == (!ppc || le))? What you have is equivalent to the existing ${__T:Mpowerpc*} == "".