summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Dougherty <doughera@lafayette.edu>1998-05-28 09:25:21 -0400
committerMalcolm Beattie <mbeattie@sable.ox.ac.uk>1998-05-28 17:36:57 +0000
commitdd64f1c34f78dffc99057d229091d8331d2ddf2d (patch)
treeca750a3aadd1c8febf58c9caa528875dacd13022
parent1abb42fe05605796a5aa3903270aa1e38a3bcec9 (diff)
downloadperl-dd64f1c34f78dffc99057d229091d8331d2ddf2d.tar.gz
[PATCH 5.004_65] Config_65-01: lchown() detection.
Date: Thu, 28 May 1998 13:25:21 -0400 (EDT) Subject: [PATCH 5.004_65] Config_65-01-02.diff: INSTALL and hints fixes Date: Thu, 28 May 1998 13:26:18 -0400 (EDT) p4raw-id: //depot/perl@1042
-rwxr-xr-xConfigure36
-rw-r--r--INSTALL37
-rw-r--r--Porting/Glossary5
-rw-r--r--Porting/config.sh5
-rw-r--r--Porting/config_H9
-rw-r--r--config_h.SH7
-rw-r--r--doio.c6
-rw-r--r--hints/bsdos.sh3
-rw-r--r--hints/openbsd.sh3
-rw-r--r--hints/svr4.sh14
-rw-r--r--plan9/config.plan97
-rw-r--r--vms/config.vms7
-rw-r--r--win32/config.bc1
-rw-r--r--win32/config.gc1
-rw-r--r--win32/config.vc1
15 files changed, 107 insertions, 35 deletions
diff --git a/Configure b/Configure
index 65b1872466..79b7a5d885 100755
--- a/Configure
+++ b/Configure
@@ -20,7 +20,7 @@
# $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $
#
-# Generated on Wed May 13 13:35:54 EDT 1998 [metaconfig 3.0 PL70]
+# Generated on Thu May 14 12:19:05 EDT 1998 [metaconfig 3.0 PL70]
cat >/tmp/c1$$ <<EOF
ARGGGHHHH!!!!!
@@ -357,6 +357,7 @@ d_htonl=''
d_inetaton=''
d_isascii=''
d_killpg=''
+d_lchown=''
d_link=''
d_locconv=''
d_lockf=''
@@ -7190,6 +7191,38 @@ $rm -f isascii*
set killpg d_killpg
eval $inlibc
+: see if lchown exists
+echo " "
+$cat > try.c <<'EOCP'
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char lchown(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char lchown();
+int main() {
+ /* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_lchown) || defined (__stub___lchown)
+choke me
+#else
+lchown();
+#endif
+; return 0; }
+EOCP
+set try
+if eval $compile; then
+ $echo "lchown() found." >&4
+ val="$define"
+else
+ $echo "lchown() NOT found." >&4
+ val="$undef"
+fi
+set d_lchown
+eval $setvar
+
: see if link exists
set link d_link
eval $inlibc
@@ -11043,6 +11076,7 @@ d_index='$d_index'
d_inetaton='$d_inetaton'
d_isascii='$d_isascii'
d_killpg='$d_killpg'
+d_lchown='$d_lchown'
d_link='$d_link'
d_locconv='$d_locconv'
d_lockf='$d_lockf'
diff --git a/INSTALL b/INSTALL
index f62e4fd179..43aa51a0ee 100644
--- a/INSTALL
+++ b/INSTALL
@@ -163,18 +163,11 @@ your perl source directory. If you do, installperl will attempt
infinite recursion.
It may seem obvious to say, but Perl is useful only when users can
-easily find it. When possible, it's good for both /usr/bin/perl and
-/usr/local/bin/perl to be symlinks to the actual binary. If that can't
-be done, system administrators are strongly encouraged to put
-(symlinks to) perl and its accompanying utilities, such as perldoc,
-into a directory typically found along a user's PATH, or in another
-obvious and convenient place.
-
-It may seem obvious to say, but Perl is useful only when users can
-easily find it. When possible, it's good for both /usr/bin/perl and
-/usr/local/bin/perl to be symlinks to the actual binary. If that can't
-be done, system administrators are strongly encouraged to put
-(symlinks to) perl and its accompanying utilities, such as perldoc,
+easily find it. It's often a good idea to have both /usr/bin/perl and
+/usr/local/bin/perl be symlinks to the actual binary. Be especially
+careful, however, of overwriting a version of perl supplied by your
+vendor. In any case, system administrators are strongly encouraged to
+put (symlinks to) perl and its accompanying utilities, such as perldoc,
into a directory typically found along a user's PATH, or in another
obvious and convenient place.
@@ -515,14 +508,6 @@ system. For most users, the defaults are sensible and will work.
Some users, however, may wish to further customize perl. Here are
some of the main things you can change.
-=head2 Installing perl under different names
-
-If you want to install perl under a name other than "perl" (for example,
-when installing perl with special features enabled, such as debugging),
-indicate the alternate name on the "make install" line, such as:
-
- make install PERLNAME=myperl
-
=head2 Threads
On some platforms, perl5.005 can be compiled to use threads. To
@@ -1319,6 +1304,16 @@ pages, however. You may need to be root to run B<make install>. If you
are not root, you must own the directories in question and you should
ignore any messages about chown not working.
+=head2 Installing perl under different names
+
+If you want to install perl under a name other than "perl" (for example,
+when installing perl with special features enabled, such as debugging),
+indicate the alternate name on the "make install" line, such as:
+
+ make install PERLNAME=myperl
+
+=head2 Installed files
+
If you want to see exactly what will happen without installing
anything, you can run
@@ -1588,4 +1583,4 @@ above.
=head1 LAST MODIFIED
-$Id: INSTALL,v 1.34 1998/04/23 18:19:41 doughera Released $
+$Id: INSTALL,v 1.35 1998/05/18 19:06:26 doughera Released $
diff --git a/Porting/Glossary b/Porting/Glossary
index 15ca4f9050..acc1d2ff4a 100644
--- a/Porting/Glossary
+++ b/Porting/Glossary
@@ -540,6 +540,11 @@ d_killpg (d_killpg.U):
indicates to the C program that the killpg() routine is available
to kill process groups.
+d_lchown (d_lchown.U):
+ This variable conditionally defines the HAS_LCHOWN symbol, which
+ indicates to the C program that the lchown() routine is available
+ to operate on a symbolic link (instead of following the link).
+
d_link (d_link.U):
This variable conditionally defines HAS_LINK if link() is
available to create hard links.
diff --git a/Porting/config.sh b/Porting/config.sh
index 69da4a96b0..60db390df7 100644
--- a/Porting/config.sh
+++ b/Porting/config.sh
@@ -8,7 +8,7 @@
# Package name : perl5
# Source directory : .
-# Configuration time: Wed May 13 13:36:52 EDT 1998
+# Configuration time: Thu May 14 11:18:05 EDT 1998
# Configured by : doughera
# Target system : linux fractal 2.0.33 #1 tue feb 3 10:11:46 est 1998 i686 unknown
@@ -52,7 +52,7 @@ ccdlflags='-rdynamic'
ccflags='-D_REENTRANT -Dbool=char -DHAS_BOOL -I/usr/local/include'
cf_by='doughera'
cf_email='yourname@yourhost.yourplace.com'
-cf_time='Wed May 13 13:36:52 EDT 1998'
+cf_time='Thu May 14 11:18:05 EDT 1998'
chgrp=''
chmod=''
chown=''
@@ -151,6 +151,7 @@ d_index='undef'
d_inetaton='define'
d_isascii='define'
d_killpg='define'
+d_lchown='undef'
d_link='define'
d_locconv='define'
d_lockf='define'
diff --git a/Porting/config_H b/Porting/config_H
index de0cfd6684..f586a6155b 100644
--- a/Porting/config_H
+++ b/Porting/config_H
@@ -17,7 +17,7 @@
/*
* Package name : perl5
* Source directory : .
- * Configuration time: Wed May 13 13:36:52 EDT 1998
+ * Configuration time: Thu May 14 11:18:05 EDT 1998
* Configured by : doughera
* Target system : linux fractal 2.0.33 #1 tue feb 3 10:11:46 est 1998 i686 unknown
*/
@@ -1213,6 +1213,13 @@
*/
#define HAS_ISASCII /**/
+/* HAS_LCHOWN:
+ * This symbol, if defined, indicates that the lchown routine is
+ * available to operate on a symbolic link (instead of following the
+ * link).
+ */
+/*#define HAS_LCHOWN / **/
+
/* HAS_OPEN3:
* This manifest constant lets the C program know that the three
* argument form of open(2) is available.
diff --git a/config_h.SH b/config_h.SH
index 5d4cffccf6..78486bacae 100644
--- a/config_h.SH
+++ b/config_h.SH
@@ -1227,6 +1227,13 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
*/
#$d_isascii HAS_ISASCII /**/
+/* HAS_LCHOWN:
+ * This symbol, if defined, indicates that the lchown routine is
+ * available to operate on a symbolic link (instead of following the
+ * link).
+ */
+#$d_lchown HAS_LCHOWN /**/
+
/* HAS_OPEN3:
* This manifest constant lets the C program know that the three
* argument form of open(2) is available.
diff --git a/doio.c b/doio.c
index c1c6f95cfd..bbf3837e1b 100644
--- a/doio.c
+++ b/doio.c
@@ -1131,6 +1131,12 @@ apply(I32 type, register SV **mark, register SV **sp)
}
break;
#endif
+/*
+XXX Should we make lchown() directly available from perl?
+For now, we'll let Configure test for HAS_LCHOWN, but do
+nothing in the core.
+ --AD 5/1998
+*/
#ifdef HAS_KILL
case OP_KILL:
what = "kill";
diff --git a/hints/bsdos.sh b/hints/bsdos.sh
index 0896e264ba..c54a0c1606 100644
--- a/hints/bsdos.sh
+++ b/hints/bsdos.sh
@@ -33,9 +33,6 @@ libswanted="$*"
glibpth="$glibpth /usr/X11/lib"
ldflags="$ldflags -L/usr/X11/lib"
-# Avoid telldir prototype conflict in pp_sys.c
-pp_sys_cflags='ccflags="$ccflags -DHAS_TELLDIR_PROTOTYPE"'
-
case "$optimize" in
'') optimize='-O2' ;;
esac
diff --git a/hints/openbsd.sh b/hints/openbsd.sh
index 633ac35d54..4c98ec8587 100644
--- a/hints/openbsd.sh
+++ b/hints/openbsd.sh
@@ -41,9 +41,6 @@ esac
# around for old NetBSD binaries.
libswanted=`echo $libswanted | sed 's/ crypt / /'`
-# Avoid telldir prototype conflict in pp_sys.c (OpenBSD uses const DIR *)
-pp_sys_cflags='ccflags="$ccflags -DHAS_TELLDIR_PROTOTYPE"'
-
# Configure can't figure this out non-interactively
d_suidsafe='define'
diff --git a/hints/svr4.sh b/hints/svr4.sh
index 2939e4ec1f..ed1640b1ad 100644
--- a/hints/svr4.sh
+++ b/hints/svr4.sh
@@ -66,12 +66,17 @@ if [ "$sh_cnt" -ne "$csh_cnt" ]; then
d_csh='undef'
fi
-# UnixWare has a broken csh. The undocumented -X argument to uname is probably
-# a reasonable way of detecting UnixWare. Also in 2.1.1 the fields in
-# FILE* got renamed! Plus 1.1 can't cast large floats to 32-bit ints.
-# Leave leading tabs so Configure doesn't propagate these variables
+# Unixware-specific problems. The undocumented -X argument to uname
+# is probably a reasonable way of detecting UnixWare.
+# UnixWare has a broken csh. (This might already be detected above).
+# In Unixware 2.1.1 the fields in FILE* got renamed!
+$ Unixware 1.1 can't cast large floats to 32-bit ints.
+#
+# Leave leading tabs on the next two lines so Configure doesn't
+# propagate these variables to config.sh
uw_ver=`uname -v`
uw_isuw=`uname -X 2>&1 | grep Release`
+
if [ "$uw_isuw" = "Release = 4.2" ]; then
case $uw_ver in
1.1)
@@ -93,6 +98,7 @@ if [ "$uw_isuw" = "Release = 4.2MP" ]; then
;;
esac
fi
+# End of Unixware-specific tests.
# DDE SMES Supermax Enterprise Server
case "`uname -sm`" in
diff --git a/plan9/config.plan9 b/plan9/config.plan9
index 6916622bf3..b35f60a93a 100644
--- a/plan9/config.plan9
+++ b/plan9/config.plan9
@@ -365,6 +365,13 @@
*/
#undef HAS_ISASCII /**/
+/* HAS_LCHOWN:
+ * This symbol, if defined, indicates that the lchown routine is
+ * available to operate on a symbolic link (instead of following the
+ * link).
+ */
+/*#define HAS_LCHOWN / **/
+
/* HAS_KILLPG:
* This symbol, if defined, indicates that the killpg routine is available
* to kill process groups. If unavailable, you probably should use kill
diff --git a/vms/config.vms b/vms/config.vms
index 9614ea60c3..bfc5bb2060 100644
--- a/vms/config.vms
+++ b/vms/config.vms
@@ -1652,6 +1652,13 @@
*/
#define HAS_ISASCII /**/
+/* HAS_LCHOWN:
+ * This symbol, if defined, indicates that the lchown routine is
+ * available to operate on a symbolic link (instead of following the
+ * link).
+ */
+/*#define HAS_LCHOWN / **/
+
/* HAS_SETLOCALE:
* This symbol, if defined, indicates that the setlocale routine is
* available to handle locale-specific ctype implementations.
diff --git a/win32/config.bc b/win32/config.bc
index cd82b30471..933a22f017 100644
--- a/win32/config.bc
+++ b/win32/config.bc
@@ -141,6 +141,7 @@ d_index='undef'
d_inetaton='undef'
d_isascii='define'
d_killpg='undef'
+d_lchown='undef'
d_link='undef'
d_locconv='define'
d_lockf='undef'
diff --git a/win32/config.gc b/win32/config.gc
index e06fe815ba..aec30ccea6 100644
--- a/win32/config.gc
+++ b/win32/config.gc
@@ -141,6 +141,7 @@ d_index='undef'
d_inetaton='undef'
d_isascii='define'
d_killpg='undef'
+d_lchown='undef'
d_link='undef'
d_locconv='define'
d_lockf='undef'
diff --git a/win32/config.vc b/win32/config.vc
index 84ee590de0..8451f9bc00 100644
--- a/win32/config.vc
+++ b/win32/config.vc
@@ -141,6 +141,7 @@ d_index='undef'
d_inetaton='undef'
d_isascii='define'
d_killpg='undef'
+d_lchown='undef'
d_link='undef'
d_locconv='define'
d_lockf='undef'