This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Good {morning,afternoon,evening} all! Sorry in advance for this long post... :-/ First of all, I'd like to thank every one of you who helped with enhancing crosstool-NG, either with new features or fixes, with suggestions, with bug reports, with sample configurations, and other ways... That's nice! :-) Now, there are some issues reamining that should get fixed. I'll try to build a list below, and if any one feels like it, he/she's welcome to pick one! :-) POSIX compliancy Some parts of ./configure are not POSIXly correct. The rest of the scripts need not be POSIX compliant, because ./configure is here to check before-hand that the needed /extensions/ are present. ./configure behavior ./configure only checks for the needed tools, using a crude heuristic to check availability and version conformity. Although it did fit nicely in the beginning, it now ultimately sucks, as it is not expandable. On the other hand, one alternative (using autotools and the likes) really sucks in other ways, and I'm inclined to accept all ideas fixing ./configure without resorting to autotools... See the archives for a recent post about it. Portability crosstool-NG is mainly writen with a Linux build host in mind. This means that other systems (Cygwin, Solaris, MacOS...) have issues. Making it work on as many systems as possible will ensure portability, but as a side effect will also make it more robust. Target systems As for the build host, crosstool-NG currently targets mostly Linux-based systems. It has some basic support for (real) bare-metal compiler with no C library at all, but this is wobbly at best (works for me TM). It would be nice if alternative target systems be eventually supported (Cygwin, BSD, Solaris...) Code cleanup Currently, glibc and eglibc are treated as two different libraries, when in fact they are very similar. Merging the two code paths would be a real gain in terms of maintenance. Also, overall code audits and cleanups are welcome... Test suite At this point, crosstool-NG has still to get a test suite. Testing gets longer with each fix, enhancement or new sample, so it is highly time we get a decent test-suite. Currently it is possible to test-build all the samples (at least with some trivial scripting), but a systematic, build-and-run test would be better. This one is tough. Patchset auditing I've done my best to construct a sane patchset for each version of each component, often vampirised from some distributions (Gentoo comes to mind), from buildroot, or from random patches on-line and on this list. Hopefully, each patch origin is acknowkedged, either in the patch, in docs/CREDIT, or in the svn log. This should have gone directly in the patch header, sorry :-( It would be nice to have a reason for each patch (PR, bug report, upstream fix...) Reproducibility It would be nice to have a script installed alongside the toolchain that, when fired, will rebuild the exact same toolchain (possibly in an other directory). A sort of tarball of the crosstool-NG build scripts, with the toolchain's .config file, and all the components tarballs. That would highly help on a production system, where the build tools often gets archived on a CDROM, and recovery procedures require the full source to the build tools. Components versions update Add the latest versions of all components, and try to have all samples use the highest version as possible. Currently, some are lagging behind... Alternate components - new target architectures - adding newlib should be quite straight-forward, as there already are three C libraries, and mimicking will be easier - on the kernel side, see above for alternate target systems. - for the compiler, we have little choice away from gcc: - tcc might be too limited and may not fit well, - llvm I don't know, - icc is x86-only and binary-only (AFAICR) - others, don't the BSD guys had a project on an alternative to gcc? - others have no viable alternatives, or even none at all Documentation I'm afraid I made an awfull job at keeping the documentation up-to-date with the code... :-( Also, the documentation format is un-suitable to a modern software, but I don't grok docbook, xml, or any other known-to-me documentation format. Others There are many other areas of enhancement throughout crosstool-NG! Plenty of work to be done! :-) Next release I was planning a 1.4.0 release end of January 2009, but that may eventually slip until at least ./configure gets fixed and enhanced. Also, I'd like as much fixes to go in, essentially portability fixes, even if there are not so much new features. That'll make a saner base to later build up a more feature-full 1.5.0 version. I have no plan on dumping crosstool-NG, but I can no longer sustain the development pace. If anyone wants to coordinate one of the above points, I'd be more than happy! There is no deadline, no pressure except for the ones you'd impose yourself! :-) Thank you for reading through this long mail. And again, thank you for all your contributions! :-) Regards, Yann E. MORIN. -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +0/33 662376056 | Software Designer | \ / CAMPAIGN | ___ | | --==< ^_^ >==-- `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | `------------------------------^-------^------------------^--------------------' -- For unsubscribe information see http://sourceware.org/lists.html#faq
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |