[% setvar title Use features of portable, free compilers and libraries %]

This file is part of the Perl 6 Archive

Note: these documents may be out of date. Do not use as reference!

To see what is currently happening visit http://www.perl6.org/

TITLE

Use features of portable, free compilers and libraries

VERSION

  Maintainer: John Tobey <jtobey@john-edwin-tobey.org>
  Date: 5 Aug 2000
  Last Modified: 28 Sep 2000
  Mailing List: perl6-internals@perl.org
  Number: 46
  Version: 2
  Status: Retracted

NOTES ON RETRACTION

This generated only negative response. Adherence to standards is a better way to save the world.

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.

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 SAVE THE WORLD by giving these clowns a serious incentive to do the RIGHT THING.

IMPLEMENTATION

Perl 5 already takes advantage of some GNU CC features. It should henceforth consider anything below GCC 2 as CRIPPLED_CC. Perl works around limitations of Standard C library functions that GNU Libc has already overcome. sprintf() comes to mind. alloca(), please somebody tell me I can use 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.

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?

REFERENCES

The GNU C Library Reference Manual, Using and Porting GNU CC, GNU Binutils manual. Get 'em through www.gnu.org.