Archives of the list are held at:
- http://www.rosat.mpe-garching.mpg.de/mailing-lists/perl-porters/
+ http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/
=head1 How are Perl Releases Numbered?
=head2 Todo
-The F<Todo> file contains a roughly-catgorized unordered list of
+The F<pod/perltodo.pod> file contains a roughly-catgorized unordered list of
aspects of Perl that could use enhancement, features that could be
added, areas that could be cleaned up, and so on. During your term as
pumpkin-holder, you will probably address some of these issues, and
can find champions for partiticular issues on the to-do list: an issue
owned is an issue more likely to be resolved.
-There are also some more porting-specific L<Todo> items later in this
+There are also some more porting-specific L</Todo> items later in this
file.
=head2 OS/2-specific updates
make clean
make miniperl
- make all OPTIMIZE=-DCHECK_FORMAT >& make.log
+ make all OPTIMIZE='-DCHECK_FORMAT -Wformat' >& make.log
=item *
(-Wformat support by Robin Barker.)
+=item gcc -ansi -pedantic
+
+Configure -Dgccansipedantic [ -Dcc=gcc ] will enable (via the cflags script,
+not $Config{ccflags}) the gcc strict ANSI C flags -ansi and -pedantic for
+the compilation of the core files on platforms where it knows it can
+do so (like Linux, see cflags.SH for the full list), and on some
+platforms only one (Solaris can do only -pedantic, not -ansi).
+The flag -DPERL_GCC_PEDANTIC also gets added, since gcc does not add
+any internal cpp flag to signify that -pedantic is being used, as it
+does for -ansi (__STRICT_ANSI__).
+
+Note that the -ansi and -pedantic are enabled only for version 3 (and
+later) of gcc, since even gcc version 2.95.4 finds lots of seemingly
+false "value computed not used" errors from Perl.
+
+The -ansi and -pedantic are useful in catching at least the following
+nonportable practices:
+
+=over 4
+
+=item *
+
+gcc-specific extensions
+
+=item *
+
+lvalue casts
+
+=item *
+
+// C++ comments
+
+=item *
+
+enum trailing commas
+
+=back
+
+The -Dgccansipedantic should be used only when cleaning up the code,
+not for production builds, since otherwise gcc cannot inline certain
+things.
+
=back
=head1 Running Purify
probably have been named something to do with overriding though. Since
it's undocumented we could still change it... :-)
-Given that it's already there, you can use it to override
-distribution modules. If you do
+Given that it's already there, you can use it to override distribution modules.
+One way to do that is to add
- sh Configure -Dccflags='-DAPPLLIB_EXP=/my/override'
+ ccflags="$ccflags -DAPPLLIB_EXP=\"/my/override\""
+
+to your config.over file. (You have to be particularly careful to get the
+double quotes in. APPLLIB_EXP must be a valid C string. It might
+actually be easier to just #define it yourself in perl.c.)
-then perl.c will put /my/override ahead of ARCHLIB and PRIVLIB.
+Then perl.c will put /my/override ahead of ARCHLIB and PRIVLIB. Perl will
+also search architecture-specific and version-specific subdirectories of
+APPLLIB_EXP.
=head2 Shared libperl.so location
=back
+=head2 Indentation style
+
+Over the years Perl has become a mishmash of
+various indentation styles, but the original "Larry style" can
+probably be restored with (GNU) indent somewhat like this:
+
+ indent -kr -nce -psl -sc
+
+A more ambitious solution would also specify a list of Perl specific
+types with -TSV -TAV -THV .. -TMAGIC -TPerlIO ... but that list would
+be quite ungainly. Also note that GNU indent also doesn't do aligning
+of consecutive assignments, which would truly wreck the layout in
+places like sv.c:Perl_sv_upgrade() or sv.c:Perl_clone_using().
+Similarly nicely aligned &&s, ||s and ==s would not be respected.
+
=head1 Upload Your Work to CPAN
You can upload your work to CPAN if you have a CPAN id. Check out