Re: [U-Boot] buildman and multiple toolchains?
Hi Tom, On 23 April 2015 at 13:26, Tom Rini wrote: > On Thu, Apr 23, 2015 at 01:22:55PM -0600, Simon Glass wrote: >> Hi Tom, >> >> On 23 April 2015 at 12:57, Tom Rini wrote: >> > On Thu, Apr 23, 2015 at 12:44:12PM -0600, Simon Glass wrote: >> >> Hi Tom, >> >> >> >> On 23 April 2015 at 07:07, Tom Rini wrote: >> >> > Hey, >> >> > >> >> > So I'm merging (or rather have merged and will push shortly) the ARMv7-M >> >> > support. You can't build this with your normal arm-linux toolchain. Is >> >> > there some way in buildman to be able to say, roughly: >> >> > [toolchain] >> >> > arm: /usr/bin/arm-linux-gnueabi >> >> > armnone: /usr/bin/arm-none-eabi >> >> > >> >> > [toolchain-alias] >> >> > stm32f429-discovery: armnone >> >> > >> >> > And have the 'arm' toolchain used normally for arm but 'armnone' used >> >> > for the stm32f429-discovery board? >> >> >> >> I don't see why not, or something similar. Are you asking for a patch? :-) >> > >> > Or a pointer to where to start hacking :) >> >> The toolchain is selected in builderthread.py: >> >> self.toolchain = self.builder.toolchains.Select(brd.arch) >> >> brd is a Board object. >> >> At present only the arch is passed in, but you could pass in >> brd.target if you like. >> >> You'll then need to enhance toolchain.Select() to check for an alias >> for that target. > > Ah, but the first problem is that I can't convince buildman that if I > have both /usr/bin/arm-linux-gnueabi-gcc and /usr/bin/arm-none-eabi-gcc > to let me set both "arm" and "armnone" to something. Or even > /somewhere/else/bin/arm-linux-gnueabi-gcc and /usr/bin/arm-none-eabi-gcc > Where does that need beating up? :) Ah, well at present there is only one toolchain per arch. Toolchains.Add() relies on toolchain.arch as a key for its dictionary. Public members: toolchains: Dict of Toolchain objects, keyed by architecture name So this is a problem. I suppose you need to allow more than one toolchain for each arch - e.g. change the valuers in that dict from being a single Toolchain to being a list of Toolchain objects. But you need a label for each toolchain - thatt could be kept in the Toolchain object. At present Toolchain.arch tells you everything you need to know about which toolchain to use. But if you add Toolchain.target (for example) then Toolchains.Select() could look for that first. I think that list-tool-chains should be enhanced to list all tool chains in that case. Happy hacking. Let me know if you want me to take a look. Regards, Simon ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] buildman and multiple toolchains?
On Thu, Apr 23, 2015 at 01:22:55PM -0600, Simon Glass wrote: > Hi Tom, > > On 23 April 2015 at 12:57, Tom Rini wrote: > > On Thu, Apr 23, 2015 at 12:44:12PM -0600, Simon Glass wrote: > >> Hi Tom, > >> > >> On 23 April 2015 at 07:07, Tom Rini wrote: > >> > Hey, > >> > > >> > So I'm merging (or rather have merged and will push shortly) the ARMv7-M > >> > support. You can't build this with your normal arm-linux toolchain. Is > >> > there some way in buildman to be able to say, roughly: > >> > [toolchain] > >> > arm: /usr/bin/arm-linux-gnueabi > >> > armnone: /usr/bin/arm-none-eabi > >> > > >> > [toolchain-alias] > >> > stm32f429-discovery: armnone > >> > > >> > And have the 'arm' toolchain used normally for arm but 'armnone' used > >> > for the stm32f429-discovery board? > >> > >> I don't see why not, or something similar. Are you asking for a patch? :-) > > > > Or a pointer to where to start hacking :) > > The toolchain is selected in builderthread.py: > > self.toolchain = self.builder.toolchains.Select(brd.arch) > > brd is a Board object. > > At present only the arch is passed in, but you could pass in > brd.target if you like. > > You'll then need to enhance toolchain.Select() to check for an alias > for that target. Ah, but the first problem is that I can't convince buildman that if I have both /usr/bin/arm-linux-gnueabi-gcc and /usr/bin/arm-none-eabi-gcc to let me set both "arm" and "armnone" to something. Or even /somewhere/else/bin/arm-linux-gnueabi-gcc and /usr/bin/arm-none-eabi-gcc Where does that need beating up? :) -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] buildman and multiple toolchains?
Hi Tom, On 23 April 2015 at 12:57, Tom Rini wrote: > On Thu, Apr 23, 2015 at 12:44:12PM -0600, Simon Glass wrote: >> Hi Tom, >> >> On 23 April 2015 at 07:07, Tom Rini wrote: >> > Hey, >> > >> > So I'm merging (or rather have merged and will push shortly) the ARMv7-M >> > support. You can't build this with your normal arm-linux toolchain. Is >> > there some way in buildman to be able to say, roughly: >> > [toolchain] >> > arm: /usr/bin/arm-linux-gnueabi >> > armnone: /usr/bin/arm-none-eabi >> > >> > [toolchain-alias] >> > stm32f429-discovery: armnone >> > >> > And have the 'arm' toolchain used normally for arm but 'armnone' used >> > for the stm32f429-discovery board? >> >> I don't see why not, or something similar. Are you asking for a patch? :-) > > Or a pointer to where to start hacking :) The toolchain is selected in builderthread.py: self.toolchain = self.builder.toolchains.Select(brd.arch) brd is a Board object. At present only the arch is passed in, but you could pass in brd.target if you like. You'll then need to enhance toolchain.Select() to check for an alias for that target. Regards, Simon ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] buildman and multiple toolchains?
On Thu, Apr 23, 2015 at 12:44:12PM -0600, Simon Glass wrote: > Hi Tom, > > On 23 April 2015 at 07:07, Tom Rini wrote: > > Hey, > > > > So I'm merging (or rather have merged and will push shortly) the ARMv7-M > > support. You can't build this with your normal arm-linux toolchain. Is > > there some way in buildman to be able to say, roughly: > > [toolchain] > > arm: /usr/bin/arm-linux-gnueabi > > armnone: /usr/bin/arm-none-eabi > > > > [toolchain-alias] > > stm32f429-discovery: armnone > > > > And have the 'arm' toolchain used normally for arm but 'armnone' used > > for the stm32f429-discovery board? > > I don't see why not, or something similar. Are you asking for a patch? :-) Or a pointer to where to start hacking :) -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] buildman and multiple toolchains?
Hi Tom, On 23 April 2015 at 07:07, Tom Rini wrote: > Hey, > > So I'm merging (or rather have merged and will push shortly) the ARMv7-M > support. You can't build this with your normal arm-linux toolchain. Is > there some way in buildman to be able to say, roughly: > [toolchain] > arm: /usr/bin/arm-linux-gnueabi > armnone: /usr/bin/arm-none-eabi > > [toolchain-alias] > stm32f429-discovery: armnone > > And have the 'arm' toolchain used normally for arm but 'armnone' used > for the stm32f429-discovery board? I don't see why not, or something similar. Are you asking for a patch? :-) I don't have one one of those boards. Maybe I should take a look. Regards, Simon ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] buildman and multiple toolchains?
Hey, So I'm merging (or rather have merged and will push shortly) the ARMv7-M support. You can't build this with your normal arm-linux toolchain. Is there some way in buildman to be able to say, roughly: [toolchain] arm: /usr/bin/arm-linux-gnueabi armnone: /usr/bin/arm-none-eabi [toolchain-alias] stm32f429-discovery: armnone And have the 'arm' toolchain used normally for arm but 'armnone' used for the stm32f429-discovery board? Thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot