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.

Reply via email to