summaryrefslogtreecommitdiff
path: root/Porting
diff options
context:
space:
mode:
authorNick Ing-Simmons <nik@tiuk.ti.com>2002-10-20 09:06:00 +0000
committerNick Ing-Simmons <nik@tiuk.ti.com>2002-10-20 09:06:00 +0000
commit81b04369996fe19fbab7e8dfd28db6db516b0d90 (patch)
treedc529f4ebe8a3f960051deb3709c25684aa9512d /Porting
parent7c07f45e8da164583bdc891840f65bb5d002d0e0 (diff)
parent3db8f154c4c6e098a5a0bdf7932e8f86fbd2c451 (diff)
downloadperl-81b04369996fe19fbab7e8dfd28db6db516b0d90.tar.gz
Integrate mainline
p4raw-id: //depot/perlio@18031
Diffstat (limited to 'Porting')
-rw-r--r--Porting/Glossary5
-rw-r--r--Porting/config.sh17
-rw-r--r--Porting/config_H16
-rw-r--r--Porting/pumpkin.pod86
4 files changed, 84 insertions, 40 deletions
diff --git a/Porting/Glossary b/Porting/Glossary
index 9cec029211..79da8e1027 100644
--- a/Porting/Glossary
+++ b/Porting/Glossary
@@ -4342,11 +4342,6 @@ uquadtype (quadtype.U):
unsigned int, unsigned long long, uint64_t, or whatever type is
used for 64-bit integers.
-use5005threads (usethreads.U):
- This variable conditionally defines the USE_5005THREADS symbol,
- and indicates that Perl should be built to use the 5.005-based
- threading implementation.
-
use64bitall (use64bits.U):
This variable conditionally defines the USE_64_BIT_ALL symbol,
and indicates that 64-bit integer types should be used
diff --git a/Porting/config.sh b/Porting/config.sh
index 4c342bdf91..1c1a88a50f 100644
--- a/Porting/config.sh
+++ b/Porting/config.sh
@@ -8,7 +8,7 @@
# Package name : perl5
# Source directory : .
-# Configuration time: Wed Sep 11 10:54:26 METDST 2002
+# Configuration time: Mon Sep 30 10:33:19 METDST 2002
# Configured by : merijn
# Target system : hp-ux l1 b.11.00 u 9000800 527706567 unlimited-user license
@@ -63,7 +63,7 @@ ccsymbols='__HP_cc=111104 __STDC_EXT__=1'
ccversion='B.11.11.25985.GP'
cf_by='merijn'
cf_email='yourname@yourhost.yourplace.com'
-cf_time='Wed Sep 11 10:54:26 METDST 2002'
+cf_time='Mon Sep 30 10:33:19 METDST 2002'
charsize='1'
chgrp=''
chmod='chmod'
@@ -304,6 +304,7 @@ d_msgsnd='define'
d_msync='define'
d_munmap='define'
d_mymalloc='undef'
+d_nanosleep='define'
d_nice='define'
d_nl_langinfo='define'
d_nv_preserves_uv='define'
@@ -523,6 +524,7 @@ from=':'
full_ar='/usr/bin/ar'
full_csh='/usr/bin/csh'
full_sed='/usr/bin/sed'
+gccansipedantic=''
gccosandvers=''
gccversion=''
getgrent_r_proto='0'
@@ -691,8 +693,8 @@ libperl='libperl.a'
libpth='/usr/local/lib /lib /usr/lib /usr/ccs/lib'
libs='-lcl -lpthread -lnsl -lnm -lndbm -lgdbm -ldb -lmalloc -ldld -lm -lc -lndir -lcrypt -lsec'
libsdirs=' /lib'
-libsfiles=' libcl.sl libpthread.sl libnsl.sl libnm.sl libndbm.sl libgdbm.sl libdb.sl libmalloc.a libdld.sl libm.sl libc.sl libndir.a libcrypt.a libsec.sl'
-libsfound=' /lib/libcl.sl /lib/libpthread.sl /lib/libnsl.sl /lib/libnm.sl /lib/libndbm.sl /lib/libgdbm.sl /lib/libdb.sl /lib/libmalloc.a /lib/libdld.sl /lib/libm.sl /lib/libc.sl /lib/libndir.a /lib/libcrypt.a /lib/libsec.sl'
+libsfiles=' libcl.sl libpthread.sl libnsl.sl libnm.sl libndbm.sl libgdbm.sl.3 libdb.sl libmalloc.a libdld.sl libm.sl libc.sl libndir.a libcrypt.a libsec.sl'
+libsfound=' /lib/libcl.sl /lib/libpthread.sl /lib/libnsl.sl /lib/libnm.sl /lib/libndbm.sl /lib/libgdbm.sl.3 /lib/libdb.sl /lib/libmalloc.a /lib/libdld.sl /lib/libm.sl /lib/libc.sl /lib/libndir.a /lib/libcrypt.a /lib/libsec.sl'
libspath=' /usr/local/lib /lib /usr/lib /usr/ccs/lib'
libswanted='cl pthread sfio socket bind inet nsl nm ndbm gdbm db malloc dl dld sun m c cposix posix ndir dir crypt sec ucb bsd x util'
libswanted_uselargefiles=''
@@ -771,7 +773,7 @@ patchlevel='9'
path_sep=':'
perl5='/pro/bin/perl'
perl=''
-perl_patchlevel='17892'
+perl_patchlevel='17942'
perladmin='yourname@yourhost.yourplace.com'
perllibs='-lcl -lpthread -lnsl -lnm -lmalloc -ldld -lm -lc -lndir -lcrypt -lsec'
perlpath='/opt/perl/bin/perl5.9.0'
@@ -915,7 +917,6 @@ uidtype='uid_t'
uname='uname'
uniq='uniq'
uquadtype='unsigned long long'
-use5005threads='undef'
use64bitall='undef'
use64bitint='undef'
usecrosscompile='undef'
@@ -955,7 +956,7 @@ vendorlibexp=''
vendorprefix=''
vendorprefixexp=''
version='5.9.0'
-version_patchlevel_string='version 9 subversion 0 patch 17892'
+version_patchlevel_string='version 9 subversion 0 patch 17942'
versiononly='define'
vi=''
voidflags='15'
@@ -983,7 +984,7 @@ PERL_SUBVERSION=0
PERL_API_REVISION=5
PERL_API_VERSION=8
PERL_API_SUBVERSION=0
-PERL_PATCHLEVEL=17892
+PERL_PATCHLEVEL=17942
PERL_CONFIG_SH=true
# Variables propagated from previous config.sh file.
doop_cflags=''
diff --git a/Porting/config_H b/Porting/config_H
index d2614fe088..e004bd6813 100644
--- a/Porting/config_H
+++ b/Porting/config_H
@@ -17,7 +17,7 @@
/*
* Package name : perl5
* Source directory : .
- * Configuration time: Wed Sep 11 10:54:26 METDST 2002
+ * Configuration time: Mon Sep 30 10:33:19 METDST 2002
* Configured by : merijn
* Target system : hp-ux l1 b.11.00 u 9000800 527706567 unlimited-user license
*/
@@ -2018,6 +2018,12 @@
*/
#define HAS_STRUCT_MSGHDR /**/
+/* HAS_NANOSLEEP:
+ * This symbol, if defined, indicates that the nanosleep
+ * system call is available to sleep with 1E-9 sec accuracy.
+ */
+#define HAS_NANOSLEEP /**/
+
/* HAS_OFF64_T:
* This symbol will be defined if the C compiler supports off64_t.
*/
@@ -3569,10 +3575,6 @@
* This symbol, if defined, indicates that Perl should be built to
* use the interpreter-based threading implementation.
*/
-/* USE_5005THREADS:
- * This symbol, if defined, indicates that Perl should be built to
- * use the 5.005-based threading implementation.
- */
/* OLD_PTHREADS_API:
* This symbol, if defined, indicates that Perl should
* be built to use the old draft POSIX threads API.
@@ -3582,11 +3584,7 @@
* try to use the various _r versions of library functions.
* This is extremely experimental.
*/
-/*#define USE_5005THREADS / **/
/*#define USE_ITHREADS / **/
-#if defined(USE_5005THREADS) && !defined(USE_ITHREADS)
-#define USE_THREADS /* until src is revised*/
-#endif
/*#define OLD_PTHREADS_API / **/
/*#define USE_REENTRANT_API / **/
diff --git a/Porting/pumpkin.pod b/Porting/pumpkin.pod
index cff54cdf10..1962f3eecb 100644
--- a/Porting/pumpkin.pod
+++ b/Porting/pumpkin.pod
@@ -43,7 +43,7 @@ to perl5-porters-request@perl.org .
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?
@@ -103,7 +103,7 @@ always match the regular expression:
C<$1> in the pattern is always an even number for maintenance
versions, and odd for developer releases.
-In the past it has been observed that pumkings tend to invent new
+In the past it has been observed that pumpkings tend to invent new
naming conventions on the fly. If you are a pumpking, before you
invent a new name for any of the three types of perl distributions,
please inform the guys from the CPAN who are doing indexing and
@@ -159,6 +159,8 @@ settled elsewhere.
If feasible, try to keep filenames 8.3-compliant to humor those poor
souls that get joy from running Perl under such dire limitations.
There's a script, check83.pl, for keeping your nose 8.3-clean.
+In a similar vein, do not create files or directories which differ only
+in case (upper versus lower).
=head2 Seek consensus on major changes
@@ -590,19 +592,19 @@ to change the version number near the top of the F<Changes> file.
=head2 Todo
-The F<Todo> 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
-perhaps identify others which, while you decide not to address them
-this time around, may be tackled in the future. Update the file
-reflect the situation as it stands when you hand over the pumpkin.
+The F<pod/perltodo.pod> file contains a roughly-categorized 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
+perhaps identify others which, while you decide not to address them this
+time around, may be tackled in the future. Update the file to reflect
+the situation as it stands when you hand over the pumpkin.
You might like, early in your pumpkin-holding career, to see if you
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
@@ -769,6 +771,48 @@ clean up, and print warnings from the log files
(-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
@@ -1216,12 +1260,18 @@ a mail message from Larry:
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
@@ -1277,9 +1327,11 @@ Anyway, all this leads to quite obscure failures that are sure to drive
casual users crazy. Even experienced users will get confused :-). Upon
reflection, I'd say leave libperl.so in $archlib.
-=item 4.
+=back
+
+=head2 Indentation style
-Indentation style: over the years Perl has become a mishmash of
+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:
@@ -1292,8 +1344,6 @@ 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.
-=back
-
=head1 Upload Your Work to CPAN
You can upload your work to CPAN if you have a CPAN id. Check out