diff options
author | Andy Dougherty <doughera@lafayette.edu> | 1998-05-28 09:25:21 -0400 |
---|---|---|
committer | Malcolm Beattie <mbeattie@sable.ox.ac.uk> | 1998-05-28 17:36:57 +0000 |
commit | dd64f1c34f78dffc99057d229091d8331d2ddf2d (patch) | |
tree | ca750a3aadd1c8febf58c9caa528875dacd13022 | |
parent | 1abb42fe05605796a5aa3903270aa1e38a3bcec9 (diff) | |
download | perl-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-x | Configure | 36 | ||||
-rw-r--r-- | INSTALL | 37 | ||||
-rw-r--r-- | Porting/Glossary | 5 | ||||
-rw-r--r-- | Porting/config.sh | 5 | ||||
-rw-r--r-- | Porting/config_H | 9 | ||||
-rw-r--r-- | config_h.SH | 7 | ||||
-rw-r--r-- | doio.c | 6 | ||||
-rw-r--r-- | hints/bsdos.sh | 3 | ||||
-rw-r--r-- | hints/openbsd.sh | 3 | ||||
-rw-r--r-- | hints/svr4.sh | 14 | ||||
-rw-r--r-- | plan9/config.plan9 | 7 | ||||
-rw-r--r-- | vms/config.vms | 7 | ||||
-rw-r--r-- | win32/config.bc | 1 | ||||
-rw-r--r-- | win32/config.gc | 1 | ||||
-rw-r--r-- | win32/config.vc | 1 |
15 files changed, 107 insertions, 35 deletions
@@ -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' @@ -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. @@ -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' |