Monday March 26, 2007 by Lorn Potter | Comments
I have been working with embedded distribution build systems for some years now, since the Sharp Zaurus 5000d first got released and have thought a lot about this subject. I have tried many build systems, some commercial, and all have short comings. A build system should require a few things:
1) It has got to be stable and should "just work", out of the box.
some of them out there are neither. They use mainly very unstable cvs/svn for sources, and a developer can either never get a build finished, has to spend precious time fixing things that should just work to get it building. They themselves are 'works in progress', and have never created something stable.
2)It should be easy to configure which packages get build.
I have used the old openzaurus 'buildroot'. I prefer it, because it uses the old kernel config gui, and doesn't download entirely new completely unstable cvs/svn sources just because the wind blew differently. It is stable because no one but myself works on it. Give me some kind of gui to select packages! The gui should be easy to maintain, and well known.
3) It should have good up to date documentation on it's use
Nothing worse than trying to use documents on a wiki, which are outdated and do not work.
4) It should be easy to maintain
Build systems should not have to be complicated. They should be easy to understand, so a developer can easily
add new packages, or remove them. Having to download and learn 5 or 6 ever changing packages just to suit the build system is not my idea of easy.
5) It should build a toolchain, and should be configurable where it lives
I hate to hear it, and hear it often, some developer just wants to cross compile one or two apps for some device. Someone jumps in with "Why don't you use < some ungodly big, unstable distribution build system >". Cross compiling is just that - a simple process that someone wants to do quickly, without too much hassle. Developers just want a frickin' toolchain! Don't recommend overkill. You wouldn't use a jack hammer to pound in one small tack. It should also be configurable where this toolchain lives, because no one likes your idea of putting the cross compiling environment in some unstandard, unobvious and out of the way place.
more thoughts later... my one and a half year old just woke up...
Download the latest release here: www.qt.io/download.
Qt 6 was created to be the productivity platform for the future, with next-gen 2D & 3D UX and limitless scalability.
Find webinars, use cases, tutorials, videos & more at resources.qt.io
Check out all our open positions here and follow us on Instagram to see what it's like to be #QtPeople.
Näytä tämä julkaisu Instagramissa.Henkilön Qt (@theqtcompany) jakama julkaisu