summaryrefslogtreecommitdiff
path: root/Configure
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>1999-10-29 23:36:19 +0000
committerJarkko Hietaniemi <jhi@iki.fi>1999-10-29 23:36:19 +0000
commita22e52b96b9903703a79e4a00983091457f7aff2 (patch)
tree982e667e6b0fd021174900989689148d2a0a8035 /Configure
parent8175356b4402d90d1aa6427725992225d7ec9fd1 (diff)
downloadperl-a22e52b96b9903703a79e4a00983091457f7aff2.tar.gz
Continue what #4494 started; introduce uid and gid formats.
p4raw-id: //depot/cfgperl@4495
Diffstat (limited to 'Configure')
-rwxr-xr-xConfigure400
1 files changed, 256 insertions, 144 deletions
diff --git a/Configure b/Configure
index 3bd3a060bf..559eb24df1 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 Sat Oct 30 01:07:44 EET DST 1999 [metaconfig 3.0 PL70]
+# Generated on Sat Oct 30 02:37:12 EET DST 1999 [metaconfig 3.0 PL70]
# (with additional metaconfig patches by perlbug@perl.com)
cat >/tmp/c1$$ <<EOF
@@ -572,6 +572,7 @@ fflushNULL=''
fflushall=''
fpossize=''
fpostype=''
+gidformat=''
gidsign=''
gidsize=''
gidtype=''
@@ -842,6 +843,7 @@ stdio_stream_array=''
d_strtoull=''
sysman=''
trnl=''
+uidformat=''
uidsign=''
uidsize=''
uidtype=''
@@ -8537,10 +8539,10 @@ EOCP
set try
if eval $compile; then
val="$define"
- echo " Yup, it does."
+ echo "Yes, it does."
else
val="$undef"
- echo " Nope, it doesn't."
+ echo "No, it doesn't."
case "$lseeksize" in
8) echo "(This is okay because your off_t is 64 bits wide.)" ;;
esac
@@ -8559,10 +8561,10 @@ EOCP
set try
if eval $compile; then
val="$define"
- echo " Yup, it does."
+ echo "Yes, it does."
else
val="$undef"
- echo " Nope, it doesn't."
+ echo "No, it doesn't."
case "$fpossize" in
8) echo "(This is okay because your fpos_t is 64 bits wide.)" ;;
esac
@@ -8607,8 +8609,8 @@ echo "Checking to see if your system supports struct fs_data..." >&4
set d_fs_data_s fs_data $i_systypes sys/types.h $i_sysparam sys/param.h $i_sysmount sys/mount.h
eval $hasstruct
case "$d_fs_data_s" in
-"$define") echo "Yup, it does." ;;
-*) echo "Nope, it doesn't." ;;
+"$define") echo "Yes, it does." ;;
+*) echo "No, it doesn't." ;;
esac
: see if fseeko exists
@@ -10346,8 +10348,8 @@ echo "Checking to see if your system supports struct statfs..." >&4
set d_statfs_s statfs $i_systypes sys/types.h $i_sysparam sys/param.h $i_sysmount sys/mount.h $i_sysvfs sys/vfs.h $i_sysstatfs sys/statfs.h
eval $hasstruct
case "$d_statfs_s" in
-"$define") echo "Yup, it does." ;;
-*) echo "Nope, it doesn't." ;;
+"$define") echo "Yes, it does." ;;
+*) echo "No, it doesn't." ;;
esac
@@ -10366,8 +10368,8 @@ define)
;;
esac
case "$d_statfs_f_flags" in
-"$define") echo "Yup, it does." ;;
-*) echo "Nope, it doesn't." ;;
+"$define") echo "Yes, it does." ;;
+*) echo "No, it doesn't." ;;
esac
: see if _ptr and _cnt from stdio act std
@@ -11675,35 +11677,28 @@ case "$gidtype" in
*_t) zzz="$gidtype" ;;
*) zzz="gid" ;;
esac
-echo "Checking the sign of $zzz..." >&4
+echo "Checking the size of $zzz..." >&4
cat > try.c <<EOCP
#include <sys/types.h>
#include <stdio.h>
int main() {
- $gidtype foo = -1;
- if (foo < 0)
- printf("-1\n");
- else
- printf("1\n");
+ printf("%d\n", sizeof($gidtype));
}
EOCP
set try
-if eval $compile; then
+if eval $compile_ok; then
yyy=`./try`
case "$yyy" in
- '') gidsign=1
- echo "(I can't execute the test program--guessing unsigned.)" >&4
+ '') gidsize=4
+ echo "(I can't execute the test program--guessing $gidsize.)" >&4
;;
- *) gidsign=$yyy
- case "$gidsign" in
- 1) echo "Your $zzz is unsigned." ;;
- -1) echo "Your $zzz is signed." ;;
- esac
+ *) gidsize=$yyy
+ echo "Your $zzz size is $gidsize bytes."
;;
esac
else
- gidsign=1
- echo "(I can't compile the test program--guessing unsigned.)" >&4
+ gidsize=4
+ echo "(I can't compile the test program--guessing $gidsize.)" >&4
fi
@@ -11712,60 +11707,38 @@ case "$gidtype" in
*_t) zzz="$gidtype" ;;
*) zzz="gid" ;;
esac
-echo "Checking the size of $zzz..." >&4
+echo "Checking the sign of $zzz..." >&4
cat > try.c <<EOCP
#include <sys/types.h>
#include <stdio.h>
int main() {
- printf("%d\n", sizeof($gidtype));
+ $gidtype foo = -1;
+ if (foo < 0)
+ printf("-1\n");
+ else
+ printf("1\n");
}
EOCP
set try
-if eval $compile_ok; then
+if eval $compile; then
yyy=`./try`
case "$yyy" in
- '') gidsize=4
- echo "(I can't execute the test program--guessing $gidsize.)" >&4
+ '') gidsign=1
+ echo "(I can't execute the test program--guessing unsigned.)" >&4
;;
- *) gidsize=$yyy
- echo "Your $zzz size is $gidsize bytes."
+ *) gidsign=$yyy
+ case "$gidsign" in
+ 1) echo "Your $zzz is unsigned." ;;
+ -1) echo "Your $zzz is signed." ;;
+ esac
;;
esac
else
- gidsize=4
- echo "(I can't compile the test program--guessing $gidsize.)" >&4
+ gidsign=1
+ echo "(I can't compile the test program--guessing unsigned.)" >&4
fi
-: see if getgroups exists
-set getgroups d_getgrps
-eval $inlibc
-
-: see if setgroups exists
-set setgroups d_setgrps
-eval $inlibc
-
-
-: Find type of 2nd arg to 'getgroups()' and 'setgroups()'
-echo " "
-case "$d_getgrps$d_setgrps" in
-*define*)
- case "$groupstype" in
- '') dflt="$gidtype" ;;
- *) dflt="$groupstype" ;;
- esac
- $cat <<EOM
-What type of pointer is the second argument to getgroups() and setgroups()?
-Usually this is the same as group ids, $gidtype, but not always.
-
-EOM
- rp='What type pointer is the second argument to getgroups() and setgroups()?'
- . ./myread
- groupstype="$ans"
- ;;
-*) groupstype="$gidtype";;
-esac
-
echo " "
echo "Checking which 64-bit integer type to use..." >&4
@@ -11904,64 +11877,81 @@ int main() {
uint32_t u = UINT32_MAX;
printf("int32_t\n");
#endif
-#ifdef INT64
- int64_t i = INT64_MAX;
- uint64_t u = UINT64_MAX;
- printf("int64_t\n");
-#endif
}
EOCP
-set try -DINT8
-if eval $compile; then
- case "`./try$exe_ext`" in
- int8_t) i8type=int8_t
- u8type=uint8_t
- i8size=1
- u8size=1
+
+case "$i8type" in
+'') case "$charsize" in
+ 1) i8type=char
+ u8type="unsigned char"
+ i8size=$charsize
+ u8size=$charsize
;;
esac
-fi
+ ;;
+esac
+case "$i8type" in
+'') set try -DINT8
+ if eval $compile; then
+ case "`./try$exe_ext`" in
+ int8_t) i8type=int8_t
+ u8type=uint8_t
+ i8size=1
+ u8size=1
+ ;;
+ esac
+ fi
+ ;;
+esac
case "$i8type" in
-'') i8type=char
- u8type="unsigned char"
- i8size=$charsize
- u8size=$charsize
+'') if $test $charsize -ge 1; then
+ i8type=char
+ u8type="unsigned char"
+ i8size=$charsize
+ u8size=$charsize
+ fi
;;
esac
-set try -DINT16
-if eval $compile; then
- case "`./try$exe_ext`" in
- int16_t)
- i16type=int16_t
- u16type=uint16_t
- i16size=2
- u16size=2
+
+case "$i16type" in
+'') case "$shortsize" in
+ 2) i16type=short
+ u16type="unsigned short"
+ i16size=$shortsize
+ u16size=$shortsize
;;
esac
-fi
+ ;;
+esac
+case "$i16type" in
+'') set try -DINT16
+ if eval $compile; then
+ case "`./try$exe_ext`" in
+ int16_t)
+ i16type=int16_t
+ u16type=uint16_t
+ i16size=2
+ u16size=2
+ ;;
+ esac
+ fi
+ ;;
+esac
case "$i16type" in
-'') i16type=short
- u16type="unsigned short"
- i16size=$shortsize
- u16size=$shortsize
+'') if $test $shortsize -ge 2; then
+ i16type=short
+ u16type="unsigned short"
+ i16size=$shortsize
+ u16size=$shortsize
+ fi
;;
esac
-set try -DINT32
-if eval $compile; then
- case "`./try$exe_ext`" in
- int32_t)
- i32type=int32_t
- u32type=uint32_t
- i32size=4
- u32size=4
- ;;
- esac
-fi
+
case "$i32type" in
'') case "$longsize" in
4) i32type=long
u32type="unsigned long"
- i32size=longsize
+ i32size=$longsize
u32size=$longsize
;;
*) case "$intsize" in
@@ -11975,17 +11965,30 @@ case "$i32type" in
esac
;;
esac
-set try -DINT64
-if eval $compile; then
- case "`./try$exe_ext`" in
- int64_t)
- i64type=int64_t
- u64type=uint64_t
- i64size=8
- u64size=8
- ;;
- esac
-fi
+case "$i32type" in
+'') set try -DINT32
+ if eval $compile; then
+ case "`./try$exe_ext`" in
+ int32_t)
+ i32type=int32_t
+ u32type=uint32_t
+ i32size=4
+ u32size=4
+ ;;
+ esac
+ fi
+ ;;
+esac
+case "$i32type" in
+'') if $test $intsize -ge 4; then
+ i32type=int
+ u32type="unsigned int"
+ i32size=$intsize
+ u32size=$intsize
+ fi
+ ;;
+esac
+
case "$i64type" in
'') case "$quadtype" in
'') ;;
@@ -12195,6 +12198,74 @@ case "$ivdformat" in
;;
esac
+
+echo " "
+$echo "Checking the format string to be used for gids..." >&4
+
+case "$gidsign" in
+-1) if $test X"$gidsize" = X"$ivsize"; then
+ gidformat="$ivdformat"
+ else
+ if $test X"$gidsize" = X"$longsize"; then
+ gidformat='"ld"'
+ else
+ if $test X"$gidsize" = X"$intsize"; then
+ gidformat='"d"'
+ else
+ if $test X"$gidsize" = X"$shortsize"; then
+ gidformat='"hd"'
+ fi
+ fi
+ fi
+ fi
+ ;;
+*) if $test X"$gidsize" = X"$uvsize"; then
+ gidformat="$uvuformat"
+ else
+ if $test X"$gidsize" = X"$longsize"; then
+ gidformat='"lu"'
+ else
+ if $test X"$gidsize" = X"$intsize"; then
+ gidformat='"u"'
+ else
+ if $test X"$gidsize" = X"$shortsize"; then
+ gidformat='"hu"'
+ fi
+ fi
+ fi
+ fi
+ ;;
+esac
+
+: see if getgroups exists
+set getgroups d_getgrps
+eval $inlibc
+
+: see if setgroups exists
+set setgroups d_setgrps
+eval $inlibc
+
+
+: Find type of 2nd arg to 'getgroups()' and 'setgroups()'
+echo " "
+case "$d_getgrps$d_setgrps" in
+*define*)
+ case "$groupstype" in
+ '') dflt="$gidtype" ;;
+ *) dflt="$groupstype" ;;
+ esac
+ $cat <<EOM
+What type of pointer is the second argument to getgroups() and setgroups()?
+Usually this is the same as group ids, $gidtype, but not always.
+
+EOM
+ rp='What type pointer is the second argument to getgroups() and setgroups()?'
+ . ./myread
+ groupstype="$ans"
+ ;;
+*) groupstype="$gidtype";;
+esac
+
echo " "
echo "Checking if your $make program sets \$(MAKE)..." >&4
case "$make_set_make" in
@@ -13006,67 +13077,106 @@ case "$uidtype" in
*_t) zzz="$uidtype" ;;
*) zzz="uid" ;;
esac
-echo "Checking the sign of $zzz..." >&4
+echo "Checking the size of $zzz..." >&4
cat > try.c <<EOCP
#include <sys/types.h>
#include <stdio.h>
int main() {
- $uidtype foo = -1;
- if (foo < 0)
- printf("-1\n");
- else
- printf("1\n");
+ printf("%d\n", sizeof($uidtype));
}
EOCP
set try
-if eval $compile; then
+if eval $compile_ok; then
yyy=`./try`
case "$yyy" in
- '') uidsign=1
- echo "(I can't execute the test program--guessing unsigned.)" >&4
+ '') uidsize=4
+ echo "(I can't execute the test program--guessing $uidsize.)" >&4
;;
- *) uidsign=$yyy
- case "$uidsign" in
- 1) echo "Your $zzz is unsigned." ;;
- -1) echo "Your $zzz is signed." ;;
- esac
+ *) uidsize=$yyy
+ echo "Your $zzz size is $uidsize bytes."
;;
esac
else
- uidsign=1
- echo "(I can't compile the test program--guessing unsigned.)" >&4
+ uidsize=4
+ echo "(I can't compile the test program--guessing $uidsize.)" >&4
fi
-
echo " "
case "$uidtype" in
*_t) zzz="$uidtype" ;;
*) zzz="uid" ;;
esac
-echo "Checking the size of $zzz..." >&4
+echo "Checking the sign of $zzz..." >&4
cat > try.c <<EOCP
#include <sys/types.h>
#include <stdio.h>
int main() {
- printf("%d\n", sizeof($uidtype));
+ $uidtype foo = -1;
+ if (foo < 0)
+ printf("-1\n");
+ else
+ printf("1\n");
}
EOCP
set try
-if eval $compile_ok; then
+if eval $compile; then
yyy=`./try`
case "$yyy" in
- '') uidsize=4
- echo "(I can't execute the test program--guessing $uidsize.)" >&4
+ '') uidsign=1
+ echo "(I can't execute the test program--guessing unsigned.)" >&4
;;
- *) uidsize=$yyy
- echo "Your $zzz size is $uidsize bytes."
+ *) uidsign=$yyy
+ case "$uidsign" in
+ 1) echo "Your $zzz is unsigned." ;;
+ -1) echo "Your $zzz is signed." ;;
+ esac
;;
esac
else
- uidsize=4
- echo "(I can't compile the test program--guessing $uidsize.)" >&4
+ uidsign=1
+ echo "(I can't compile the test program--guessing unsigned.)" >&4
fi
+
+
+echo " "
+$echo "Checking the format string to be used for uids..." >&4
+
+case "$uidsign" in
+-1) if $test X"$uidsize" = X"$ivsize"; then
+ uidformat="$ivdformat"
+ else
+ if $test X"$uidsize" = X"$longsize"; then
+ uidformat='"ld"'
+ else
+ if $test X"$uidsize" = X"$intsize"; then
+ uidformat='"d"'
+ else
+ if $test X"$uidsize" = X"$shortsize"; then
+ uidformat='"hd"'
+ fi
+ fi
+ fi
+ fi
+ ;;
+*) if $test X"$uidsize" = X"$uvsize"; then
+ uidformat="$uvuformat"
+ else
+ if $test X"$uidsize" = X"$longsize"; then
+ uidformat='"lu"'
+ else
+ if $test X"$uidsize" = X"$intsize"; then
+ uidformat='"u"'
+ else
+ if $test X"$uidsize" = X"$shortsize"; then
+ uidformat='"hu"'
+ fi
+ fi
+ fi
+ fi
+ ;;
+esac
+
: see if dbm.h is available
: see if dbmclose exists
set dbmclose d_dbmclose
@@ -14282,6 +14392,7 @@ full_ar='$full_ar'
full_csh='$full_csh'
full_sed='$full_sed'
gccversion='$gccversion'
+gidformat='$gidformat'
gidsign='$gidsign'
gidsize='$gidsize'
gidtype='$gidtype'
@@ -14586,6 +14697,7 @@ u64size='$u64size'
u64type='$u64type'
u8size='$u8size'
u8type='$u8type'
+uidformat='$uidformat'
uidsign='$uidsign'
uidsize='$uidsize'
uidtype='$uidtype'