This and other RFCs are available on the web at http://dev.perl.org/rfc/ =head1 TITLE Use features of portable, free compilers and libraries =head1 VERSION Maintainer: John Tobey <[EMAIL PROTECTED]> Date: 5 Aug 2000 Last Modified: 28 Sep 2000 Mailing List: [EMAIL PROTECTED] Number: 46 Version: 2 Status: Retracted =head1 NOTES ON RETRACTION This generated only negative response. Adherence to standards is a better way to save the world. =head1 ABSTRACT There is no sane reason why *nix vendors continue to push proprietary compilers and system libraries on their customers when better, free replacements could be had for little effort. Eventually, they will realize this and start porting GNU Libc and Binutils, contributing whatever unique features their current tools have to the GNU versions, and shipping these packages with their systems. Perl should take aggressive advantage of these programs' features in anticipation of eventually not having to support all the other cruft that's out there. =head1 DESCRIPTION Sun beats AIX and loses to Linux for (practically) no other reason than the intermediate quality of its GCC and GNU Binutils ports. Bla, bla, Glibc is portable, so port it. Get with it, Sun! Get with it, HP! Wake up, IBM! Come on, SGI! Hello, MSFT! The GNU stuff is nice. It is free. If it comes with the system, there is no licensing war. Think about how much it would cost the vendors to merge their features into the GNU stuff. Then think about how much developer effort would be saved worldwide if all major systems shared a C library, compiler, preprocessor, and linker. Configure would be 5% its current size, if it would exist at all. We now have the chance to B<SAVE THE WORLD> by giving these clowns a serious incentive to do the B<RIGHT THING>. =head1 IMPLEMENTATION Perl 5 already takes advantage of some GNU CC features. It should henceforth consider anything below GCC 2 as C<CRIPPLED_CC>. Perl works around limitations of Standard C library functions that GNU Libc has already overcome. C<sprintf()> comes to mind. C<alloca()>, I<please> somebody tell me I can use C<alloca()>! We should stop duplicating effort and take advantage of that code. GNU CPP supports varargs macros, so why not ship GNU CPP with perl? There is no GPL issue if it is only used in the build. =head1 ISSUES I have not looked at the BSD C library, so I don't know what to say about it. Is it portable? Is it as featureful as GNU Libc? Does it perform as well or better? =head1 REFERENCES The GNU C Library Reference Manual, Using and Porting GNU CC, GNU Binutils manual. Get 'em through www.gnu.org.