On Thu, Sep 2, 2010 at 2:32 PM, Loïc Minier loic.minier@linaro.org wrote:
On Thu, Sep 02, 2010, Jon Smirl wrote:
As an embedded developer I'd like to see a standardized tool chain for building on most ARM architectures. There are at least two groups of users for this tool chain - ARM based PCs and embedded systems. There are dozens are various tool chain build systems for ARM. Every time I get a new embedded dev board I have to build yet another ARM tool chain to match what the accompanying software expects. This is a significant hurdle to new developers who may not have fast machines. Some of the people I've worked with needed 24hrs to build a tool chain. Let's get a standardized tool chain for the older ARM chips into a distribution to stop this needless proliferation.
I'd like to understand your use cases to make sure we're on track to cover them. First, we're trying to maintain a toolchain source tree which is adequately patched; that's mostly launchpad.net/gcc-linaro right now. Second, we're integrating that into the native Ubuntu toolchain. Third, we're providing a cross-toolchain to install in Ubuntu environments. The latter two are built from the same source, which includes the gcc-linaro tree.
Is this what you're looking for, or do you need more? What were the specific cases which you experienced which required different toolchain?
Things I can think of, but I don't know how important they are: - being able to easily change the default toolchain build flags (how do you get the toolchain? which flags do you use?) - being able to easily drop patches into the toolchain (how do you get the toolchain? which kind of patches?) - being able to roll your own toolchain packages from another toolchain tree - providing RPM packages for native and cross toolchains - providing tarball "packages" with "standalone" linux binaries, similar to CS toolchain downloads
I think we have partial answers for some of the above things, but many we dismissed. Would love to hear which one you think are important for your specific use case (tell us what you do!)
This question should be asked on a list with more embedded ARM integrators, like the linux-arm kernel list or the open embedded list. I've fowarded it to the Pengutronix developers. I'm an end user of the tools, the bigger picture is to get the companies putting together BSPs for embedded ARM systems to stop rolling their own compilers. Getting a tool chain with into Ubuntu with broad target support should be enough to get the ball rolling.
What I'd like to do is install a pre-built cross tools chain (x86 to ARM) that works with the common CPU archs. Currently I am working with v4t, 926, ARM11, etc. Right now I have to have a separate build environment for every dev system I am using. Some of these systems run Linux and some are too small.
An unrelated thing that is missing is a universal configuration tool for putting together Linux images. Pengutronix has modified kconfig to do this but every dev system is different. The basic idea is a menu system that lets you pick what packages you want in your flash image. Open embedded does this with bitbake, etc, etc...
-- Loďc Minier