parent
7e333260aa
commit
290513889f
38 changed files with 4938 additions and 548 deletions
|
@ -40,7 +40,7 @@ index 6f20c5e..684f369 100644
|
|||
or die "Cannot exec $cpp";
|
||||
}
|
||||
diff --git a/hints/linux.sh b/hints/linux.sh
|
||||
index ac264c3..fb5a46e 100644
|
||||
index ac264c3..3f38ea0 100644
|
||||
--- a/hints/linux.sh
|
||||
+++ b/hints/linux.sh
|
||||
@@ -13,11 +13,14 @@
|
||||
|
@ -123,10 +123,37 @@ index ac264c3..fb5a46e 100644
|
|||
ppc*)
|
||||
# on ppc, it seems that gcc (at least gcc 3.3.2) isn't happy
|
||||
# with -O2 ; so downgrade to -O1.
|
||||
@@ -143,6 +150,77 @@ case "$optimize" in
|
||||
@@ -143,93 +150,78 @@ case "$optimize" in
|
||||
;;
|
||||
esac
|
||||
|
||||
-# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
|
||||
-# for this test.
|
||||
-cat >try.c <<'EOM'
|
||||
-/* Test for whether ELF binaries are produced */
|
||||
-#include <fcntl.h>
|
||||
-#include <stdlib.h>
|
||||
-#include <unistd.h>
|
||||
-main() {
|
||||
- char buffer[4];
|
||||
- int i=open("a.out",O_RDONLY);
|
||||
- if(i==-1)
|
||||
- exit(1); /* fail */
|
||||
- if(read(i,&buffer[0],4)<4)
|
||||
- exit(1); /* fail */
|
||||
- if(buffer[0] != 127 || buffer[1] != 'E' ||
|
||||
- buffer[2] != 'L' || buffer[3] != 'F')
|
||||
- exit(1); /* fail */
|
||||
- exit(0); /* succeed (yes, it's ELF) */
|
||||
-}
|
||||
-EOM
|
||||
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
|
||||
- cat <<'EOM' >&4
|
||||
-
|
||||
-You appear to have ELF support. I'll try to use it for dynamic loading.
|
||||
-If dynamic loading doesn't work, read hints/linux.sh for further information.
|
||||
-EOM
|
||||
-
|
||||
+# Ubuntu 11.04 (and later, presumably) doesn't keep most libraries
|
||||
+# (such as -lm) in /lib or /usr/lib. So we have to ask gcc to tell us
|
||||
+# where to look. We don't want gcc's own libraries, however, so we
|
||||
|
@ -142,10 +169,16 @@ index ac264c3..fb5a46e 100644
|
|||
+# plibpth to bypass this check.
|
||||
+if [ -x /usr/bin/gcc ] ; then
|
||||
+ gcc=/usr/bin/gcc
|
||||
+else
|
||||
else
|
||||
- cat <<'EOM' >&4
|
||||
+ gcc=gcc
|
||||
+fi
|
||||
+
|
||||
|
||||
-You don't have an ELF gcc. I will use dld if possible. If you are
|
||||
-using a version of DLD earlier than 3.2.6, or don't have it at all, you
|
||||
-should probably upgrade. If you are forced to use 3.2.4, you should
|
||||
-uncomment a couple of lines in hints/linux.sh and restart Configure so
|
||||
-that shared libraries will be disallowed.
|
||||
+case "$plibpth" in
|
||||
+'') plibpth=`LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries |
|
||||
+ cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
|
||||
|
@ -154,7 +187,54 @@ index ac264c3..fb5a46e 100644
|
|||
+ plibpth="$*"
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
|
||||
-EOM
|
||||
- lddlflags="-r $lddlflags"
|
||||
- # These empty values are so that Configure doesn't put in the
|
||||
- # Linux ELF values.
|
||||
- ccdlflags=' '
|
||||
- cccdlflags=' '
|
||||
- ccflags="-DOVR_DBL_DIG=14 $ccflags"
|
||||
- so='sa'
|
||||
- dlext='o'
|
||||
- nm_so_opt=' '
|
||||
- ## If you are using DLD 3.2.4 which does not support shared libs,
|
||||
- ## uncomment the next two lines:
|
||||
- #ldflags="-static"
|
||||
- #so='none'
|
||||
-
|
||||
- # In addition, on some systems there is a problem with perl and NDBM
|
||||
- # which causes AnyDBM and NDBM_File to lock up. This is evidenced
|
||||
- # in the tests as AnyDBM just freezing. Apparently, this only
|
||||
- # happens on a.out systems, so we disable NDBM for all a.out linux
|
||||
- # systems. If someone can suggest a more robust test
|
||||
- # that would be appreciated.
|
||||
- #
|
||||
- # More info:
|
||||
- # Date: Wed, 7 Feb 1996 03:21:04 +0900
|
||||
- # From: Jeffrey Friedl <jfriedl@nff.ncl.omron.co.jp>
|
||||
- #
|
||||
- # I tried compiling with DBM support and sure enough things locked up
|
||||
- # just as advertised. Checking into it, I found that the lockup was
|
||||
- # during the call to dbm_open. Not *in* dbm_open -- but between the call
|
||||
- # to and the jump into.
|
||||
- #
|
||||
- # To make a long story short, making sure that the *.a and *.sa pairs of
|
||||
- # /usr/lib/lib{m,db,gdbm}.{a,sa}
|
||||
- # were perfectly in sync took care of it.
|
||||
- #
|
||||
- # This will generate a harmless Whoa There! message
|
||||
- case "$d_dbm_open" in
|
||||
- '') cat <<'EOM' >&4
|
||||
-
|
||||
-Disabling ndbm. This will generate a Whoa There message in Configure.
|
||||
-Read hints/linux.sh for further information.
|
||||
-EOM
|
||||
- # You can override this with Configure -Dd_dbm_open
|
||||
- d_dbm_open=undef
|
||||
- ;;
|
||||
- esac
|
||||
-fi
|
||||
+# libquadmath is sometimes installed as gcc internal library,
|
||||
+# so contrary to our usual policy of *not* looking at gcc internal
|
||||
+# directories we now *do* look at them, in case they contain
|
||||
|
@ -171,7 +251,8 @@ index ac264c3..fb5a46e 100644
|
|||
+ done
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
|
||||
-rm -f try.c a.out
|
||||
+case "$libc" in
|
||||
+'')
|
||||
+# If you have glibc, then report the version for ./myconfig bug reporting.
|
||||
|
@ -197,29 +278,13 @@ index ac264c3..fb5a46e 100644
|
|||
+ done
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
|
||||
# for this test.
|
||||
cat >try.c <<'EOM'
|
||||
@@ -163,7 +241,7 @@ main() {
|
||||
exit(0); /* succeed (yes, it's ELF) */
|
||||
}
|
||||
EOM
|
||||
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
|
||||
+if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then
|
||||
cat <<'EOM' >&4
|
||||
|
||||
You appear to have ELF support. I'll try to use it for dynamic loading.
|
||||
@@ -229,7 +307,7 @@ fi
|
||||
|
||||
rm -f try.c a.out
|
||||
|
||||
-if /bin/sh -c exit; then
|
||||
+if ${sh:-/bin/sh} -c exit; then
|
||||
echo ''
|
||||
echo 'You appear to have a working bash. Good.'
|
||||
else
|
||||
@@ -296,7 +374,7 @@ fi
|
||||
@@ -296,7 +288,7 @@ fi
|
||||
#'osfmach3ppc') ccdlflags='-Wl,-E' ;;
|
||||
#esac
|
||||
|
||||
|
@ -228,7 +293,7 @@ index ac264c3..fb5a46e 100644
|
|||
sparc*)
|
||||
case "$cccdlflags" in
|
||||
*-fpic*) cccdlflags="`echo $cccdlflags|sed 's/-fpic/-fPIC/'`" ;;
|
||||
@@ -311,24 +389,62 @@ esac
|
||||
@@ -311,24 +303,62 @@ esac
|
||||
# version of -lgdbm which is a bad idea. So if we have 'nm'
|
||||
# make sure it can read the file
|
||||
# NI-S 2003/08/07
|
||||
|
@ -302,7 +367,7 @@ index ac264c3..fb5a46e 100644
|
|||
if echo $libswanted | grep -v pthread >/dev/null
|
||||
then
|
||||
set `echo X "$libswanted "| sed -e 's/ c / pthread c /'`
|
||||
@@ -375,16 +491,6 @@ $define|true|[yY]*)
|
||||
@@ -375,16 +405,6 @@ $define|true|[yY]*)
|
||||
;;
|
||||
esac
|
||||
|
||||
|
@ -319,7 +384,7 @@ index ac264c3..fb5a46e 100644
|
|||
# If using g++, the Configure scan for dlopen() and (especially)
|
||||
# dlerror() might fail, easier just to forcibly hint them in.
|
||||
case "$cc" in
|
||||
@@ -408,7 +514,7 @@ then
|
||||
@@ -408,7 +428,7 @@ then
|
||||
DBLIB="$DBDIR/libdb.so"
|
||||
if [ -f $DBLIB ]
|
||||
then
|
||||
|
@ -387,18 +452,6 @@ index 030db74..0d15a40 100644
|
|||
}
|
||||
}
|
||||
|
||||
diff --git a/patchlevel.h b/patchlevel.h
|
||||
index 82f11ed..2254fd1 100644
|
||||
--- a/patchlevel.h
|
||||
+++ b/patchlevel.h
|
||||
@@ -121,6 +121,7 @@ hunk.
|
||||
#if !defined(PERL_PATCHLEVEL_H_IMPLICIT) && !defined(LOCAL_PATCH_COUNT)
|
||||
static const char *local_patches[] = {
|
||||
NULL
|
||||
+ ,"Devel::PatchPerl 1.38"
|
||||
,NULL
|
||||
};
|
||||
|
||||
diff --git a/perl.c b/perl.c
|
||||
index 82e5538..b9e02fe 100644
|
||||
--- a/perl.c
|
||||
|
|
|
@ -10,7 +10,7 @@ COPY *.patch /usr/src/perl/
|
|||
WORKDIR /usr/src/perl
|
||||
|
||||
RUN curl -SL https://cpan.metacpan.org/authors/id/N/NW/NWCLARK/perl-5.8.9.tar.bz2 -o perl-5.8.9.tar.bz2 \
|
||||
&& echo '19843b5a7585cf35d96c07dbcd419bbdd5813617 *perl-5.8.9.tar.bz2' | sha1sum -c - \
|
||||
&& echo '1097fbcd48ceccb2bc735d119c9db399a02a8ab9f7dc53e29e47e6a8d0d72e79 *perl-5.8.9.tar.bz2' | sha256sum -c - \
|
||||
&& tar --strip-components=1 -xjf perl-5.8.9.tar.bz2 -C /usr/src/perl \
|
||||
&& rm perl-5.8.9.tar.bz2 \
|
||||
&& cat *.patch | patch -p1 \
|
||||
|
|
|
@ -40,7 +40,7 @@ index 6f20c5e..684f369 100644
|
|||
or die "Cannot exec $cpp";
|
||||
}
|
||||
diff --git a/hints/linux.sh b/hints/linux.sh
|
||||
index ac264c3..fb5a46e 100644
|
||||
index ac264c3..3f38ea0 100644
|
||||
--- a/hints/linux.sh
|
||||
+++ b/hints/linux.sh
|
||||
@@ -13,11 +13,14 @@
|
||||
|
@ -123,10 +123,37 @@ index ac264c3..fb5a46e 100644
|
|||
ppc*)
|
||||
# on ppc, it seems that gcc (at least gcc 3.3.2) isn't happy
|
||||
# with -O2 ; so downgrade to -O1.
|
||||
@@ -143,6 +150,77 @@ case "$optimize" in
|
||||
@@ -143,93 +150,78 @@ case "$optimize" in
|
||||
;;
|
||||
esac
|
||||
|
||||
-# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
|
||||
-# for this test.
|
||||
-cat >try.c <<'EOM'
|
||||
-/* Test for whether ELF binaries are produced */
|
||||
-#include <fcntl.h>
|
||||
-#include <stdlib.h>
|
||||
-#include <unistd.h>
|
||||
-main() {
|
||||
- char buffer[4];
|
||||
- int i=open("a.out",O_RDONLY);
|
||||
- if(i==-1)
|
||||
- exit(1); /* fail */
|
||||
- if(read(i,&buffer[0],4)<4)
|
||||
- exit(1); /* fail */
|
||||
- if(buffer[0] != 127 || buffer[1] != 'E' ||
|
||||
- buffer[2] != 'L' || buffer[3] != 'F')
|
||||
- exit(1); /* fail */
|
||||
- exit(0); /* succeed (yes, it's ELF) */
|
||||
-}
|
||||
-EOM
|
||||
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
|
||||
- cat <<'EOM' >&4
|
||||
-
|
||||
-You appear to have ELF support. I'll try to use it for dynamic loading.
|
||||
-If dynamic loading doesn't work, read hints/linux.sh for further information.
|
||||
-EOM
|
||||
-
|
||||
+# Ubuntu 11.04 (and later, presumably) doesn't keep most libraries
|
||||
+# (such as -lm) in /lib or /usr/lib. So we have to ask gcc to tell us
|
||||
+# where to look. We don't want gcc's own libraries, however, so we
|
||||
|
@ -142,10 +169,16 @@ index ac264c3..fb5a46e 100644
|
|||
+# plibpth to bypass this check.
|
||||
+if [ -x /usr/bin/gcc ] ; then
|
||||
+ gcc=/usr/bin/gcc
|
||||
+else
|
||||
else
|
||||
- cat <<'EOM' >&4
|
||||
+ gcc=gcc
|
||||
+fi
|
||||
+
|
||||
|
||||
-You don't have an ELF gcc. I will use dld if possible. If you are
|
||||
-using a version of DLD earlier than 3.2.6, or don't have it at all, you
|
||||
-should probably upgrade. If you are forced to use 3.2.4, you should
|
||||
-uncomment a couple of lines in hints/linux.sh and restart Configure so
|
||||
-that shared libraries will be disallowed.
|
||||
+case "$plibpth" in
|
||||
+'') plibpth=`LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries |
|
||||
+ cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
|
||||
|
@ -154,7 +187,54 @@ index ac264c3..fb5a46e 100644
|
|||
+ plibpth="$*"
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
|
||||
-EOM
|
||||
- lddlflags="-r $lddlflags"
|
||||
- # These empty values are so that Configure doesn't put in the
|
||||
- # Linux ELF values.
|
||||
- ccdlflags=' '
|
||||
- cccdlflags=' '
|
||||
- ccflags="-DOVR_DBL_DIG=14 $ccflags"
|
||||
- so='sa'
|
||||
- dlext='o'
|
||||
- nm_so_opt=' '
|
||||
- ## If you are using DLD 3.2.4 which does not support shared libs,
|
||||
- ## uncomment the next two lines:
|
||||
- #ldflags="-static"
|
||||
- #so='none'
|
||||
-
|
||||
- # In addition, on some systems there is a problem with perl and NDBM
|
||||
- # which causes AnyDBM and NDBM_File to lock up. This is evidenced
|
||||
- # in the tests as AnyDBM just freezing. Apparently, this only
|
||||
- # happens on a.out systems, so we disable NDBM for all a.out linux
|
||||
- # systems. If someone can suggest a more robust test
|
||||
- # that would be appreciated.
|
||||
- #
|
||||
- # More info:
|
||||
- # Date: Wed, 7 Feb 1996 03:21:04 +0900
|
||||
- # From: Jeffrey Friedl <jfriedl@nff.ncl.omron.co.jp>
|
||||
- #
|
||||
- # I tried compiling with DBM support and sure enough things locked up
|
||||
- # just as advertised. Checking into it, I found that the lockup was
|
||||
- # during the call to dbm_open. Not *in* dbm_open -- but between the call
|
||||
- # to and the jump into.
|
||||
- #
|
||||
- # To make a long story short, making sure that the *.a and *.sa pairs of
|
||||
- # /usr/lib/lib{m,db,gdbm}.{a,sa}
|
||||
- # were perfectly in sync took care of it.
|
||||
- #
|
||||
- # This will generate a harmless Whoa There! message
|
||||
- case "$d_dbm_open" in
|
||||
- '') cat <<'EOM' >&4
|
||||
-
|
||||
-Disabling ndbm. This will generate a Whoa There message in Configure.
|
||||
-Read hints/linux.sh for further information.
|
||||
-EOM
|
||||
- # You can override this with Configure -Dd_dbm_open
|
||||
- d_dbm_open=undef
|
||||
- ;;
|
||||
- esac
|
||||
-fi
|
||||
+# libquadmath is sometimes installed as gcc internal library,
|
||||
+# so contrary to our usual policy of *not* looking at gcc internal
|
||||
+# directories we now *do* look at them, in case they contain
|
||||
|
@ -171,7 +251,8 @@ index ac264c3..fb5a46e 100644
|
|||
+ done
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
|
||||
-rm -f try.c a.out
|
||||
+case "$libc" in
|
||||
+'')
|
||||
+# If you have glibc, then report the version for ./myconfig bug reporting.
|
||||
|
@ -197,29 +278,13 @@ index ac264c3..fb5a46e 100644
|
|||
+ done
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
|
||||
# for this test.
|
||||
cat >try.c <<'EOM'
|
||||
@@ -163,7 +241,7 @@ main() {
|
||||
exit(0); /* succeed (yes, it's ELF) */
|
||||
}
|
||||
EOM
|
||||
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
|
||||
+if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then
|
||||
cat <<'EOM' >&4
|
||||
|
||||
You appear to have ELF support. I'll try to use it for dynamic loading.
|
||||
@@ -229,7 +307,7 @@ fi
|
||||
|
||||
rm -f try.c a.out
|
||||
|
||||
-if /bin/sh -c exit; then
|
||||
+if ${sh:-/bin/sh} -c exit; then
|
||||
echo ''
|
||||
echo 'You appear to have a working bash. Good.'
|
||||
else
|
||||
@@ -296,7 +374,7 @@ fi
|
||||
@@ -296,7 +288,7 @@ fi
|
||||
#'osfmach3ppc') ccdlflags='-Wl,-E' ;;
|
||||
#esac
|
||||
|
||||
|
@ -228,7 +293,7 @@ index ac264c3..fb5a46e 100644
|
|||
sparc*)
|
||||
case "$cccdlflags" in
|
||||
*-fpic*) cccdlflags="`echo $cccdlflags|sed 's/-fpic/-fPIC/'`" ;;
|
||||
@@ -311,24 +389,62 @@ esac
|
||||
@@ -311,24 +303,62 @@ esac
|
||||
# version of -lgdbm which is a bad idea. So if we have 'nm'
|
||||
# make sure it can read the file
|
||||
# NI-S 2003/08/07
|
||||
|
@ -302,7 +367,7 @@ index ac264c3..fb5a46e 100644
|
|||
if echo $libswanted | grep -v pthread >/dev/null
|
||||
then
|
||||
set `echo X "$libswanted "| sed -e 's/ c / pthread c /'`
|
||||
@@ -375,16 +491,6 @@ $define|true|[yY]*)
|
||||
@@ -375,16 +405,6 @@ $define|true|[yY]*)
|
||||
;;
|
||||
esac
|
||||
|
||||
|
@ -319,7 +384,7 @@ index ac264c3..fb5a46e 100644
|
|||
# If using g++, the Configure scan for dlopen() and (especially)
|
||||
# dlerror() might fail, easier just to forcibly hint them in.
|
||||
case "$cc" in
|
||||
@@ -408,7 +514,7 @@ then
|
||||
@@ -408,7 +428,7 @@ then
|
||||
DBLIB="$DBDIR/libdb.so"
|
||||
if [ -f $DBLIB ]
|
||||
then
|
||||
|
@ -387,18 +452,6 @@ index 030db74..0d15a40 100644
|
|||
}
|
||||
}
|
||||
|
||||
diff --git a/patchlevel.h b/patchlevel.h
|
||||
index 82f11ed..2254fd1 100644
|
||||
--- a/patchlevel.h
|
||||
+++ b/patchlevel.h
|
||||
@@ -121,6 +121,7 @@ hunk.
|
||||
#if !defined(PERL_PATCHLEVEL_H_IMPLICIT) && !defined(LOCAL_PATCH_COUNT)
|
||||
static const char *local_patches[] = {
|
||||
NULL
|
||||
+ ,"Devel::PatchPerl 1.38"
|
||||
,NULL
|
||||
};
|
||||
|
||||
diff --git a/perl.c b/perl.c
|
||||
index 82e5538..b9e02fe 100644
|
||||
--- a/perl.c
|
||||
|
|
|
@ -10,7 +10,7 @@ COPY *.patch /usr/src/perl/
|
|||
WORKDIR /usr/src/perl
|
||||
|
||||
RUN curl -SL https://cpan.metacpan.org/authors/id/N/NW/NWCLARK/perl-5.8.9.tar.bz2 -o perl-5.8.9.tar.bz2 \
|
||||
&& echo '19843b5a7585cf35d96c07dbcd419bbdd5813617 *perl-5.8.9.tar.bz2' | sha1sum -c - \
|
||||
&& echo '1097fbcd48ceccb2bc735d119c9db399a02a8ab9f7dc53e29e47e6a8d0d72e79 *perl-5.8.9.tar.bz2' | sha256sum -c - \
|
||||
&& tar --strip-components=1 -xjf perl-5.8.9.tar.bz2 -C /usr/src/perl \
|
||||
&& rm perl-5.8.9.tar.bz2 \
|
||||
&& cat *.patch | patch -p1 \
|
||||
|
|
|
@ -92,7 +92,7 @@ index f8ca492..204bba0 100644
|
|||
+ $self->{LIBS}->[0] .= ' -lgdbm_compat' if -e $_.'/libgdbm_compat.so';
|
||||
}
|
||||
diff --git a/hints/linux.sh b/hints/linux.sh
|
||||
index c88f157..fb5a46e 100644
|
||||
index c88f157..3f38ea0 100644
|
||||
--- a/hints/linux.sh
|
||||
+++ b/hints/linux.sh
|
||||
@@ -13,11 +13,14 @@
|
||||
|
@ -176,10 +176,37 @@ index c88f157..fb5a46e 100644
|
|||
ppc*)
|
||||
# on ppc, it seems that gcc (at least gcc 3.3.2) isn't happy
|
||||
# with -O2 ; so downgrade to -O1.
|
||||
@@ -146,6 +150,77 @@ case "$optimize" in
|
||||
@@ -146,93 +150,78 @@ case "$optimize" in
|
||||
;;
|
||||
esac
|
||||
|
||||
-# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
|
||||
-# for this test.
|
||||
-cat >try.c <<'EOM'
|
||||
-/* Test for whether ELF binaries are produced */
|
||||
-#include <fcntl.h>
|
||||
-#include <stdlib.h>
|
||||
-#include <unistd.h>
|
||||
-main() {
|
||||
- char buffer[4];
|
||||
- int i=open("a.out",O_RDONLY);
|
||||
- if(i==-1)
|
||||
- exit(1); /* fail */
|
||||
- if(read(i,&buffer[0],4)<4)
|
||||
- exit(1); /* fail */
|
||||
- if(buffer[0] != 127 || buffer[1] != 'E' ||
|
||||
- buffer[2] != 'L' || buffer[3] != 'F')
|
||||
- exit(1); /* fail */
|
||||
- exit(0); /* succeed (yes, it's ELF) */
|
||||
-}
|
||||
-EOM
|
||||
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
|
||||
- cat <<'EOM' >&4
|
||||
-
|
||||
-You appear to have ELF support. I'll try to use it for dynamic loading.
|
||||
-If dynamic loading doesn't work, read hints/linux.sh for further information.
|
||||
-EOM
|
||||
-
|
||||
+# Ubuntu 11.04 (and later, presumably) doesn't keep most libraries
|
||||
+# (such as -lm) in /lib or /usr/lib. So we have to ask gcc to tell us
|
||||
+# where to look. We don't want gcc's own libraries, however, so we
|
||||
|
@ -195,10 +222,16 @@ index c88f157..fb5a46e 100644
|
|||
+# plibpth to bypass this check.
|
||||
+if [ -x /usr/bin/gcc ] ; then
|
||||
+ gcc=/usr/bin/gcc
|
||||
+else
|
||||
else
|
||||
- cat <<'EOM' >&4
|
||||
+ gcc=gcc
|
||||
+fi
|
||||
+
|
||||
|
||||
-You don't have an ELF gcc. I will use dld if possible. If you are
|
||||
-using a version of DLD earlier than 3.2.6, or don't have it at all, you
|
||||
-should probably upgrade. If you are forced to use 3.2.4, you should
|
||||
-uncomment a couple of lines in hints/linux.sh and restart Configure so
|
||||
-that shared libraries will be disallowed.
|
||||
+case "$plibpth" in
|
||||
+'') plibpth=`LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries |
|
||||
+ cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
|
||||
|
@ -207,7 +240,54 @@ index c88f157..fb5a46e 100644
|
|||
+ plibpth="$*"
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
|
||||
-EOM
|
||||
- lddlflags="-r $lddlflags"
|
||||
- # These empty values are so that Configure doesn't put in the
|
||||
- # Linux ELF values.
|
||||
- ccdlflags=' '
|
||||
- cccdlflags=' '
|
||||
- ccflags="-DOVR_DBL_DIG=14 $ccflags"
|
||||
- so='sa'
|
||||
- dlext='o'
|
||||
- nm_so_opt=' '
|
||||
- ## If you are using DLD 3.2.4 which does not support shared libs,
|
||||
- ## uncomment the next two lines:
|
||||
- #ldflags="-static"
|
||||
- #so='none'
|
||||
-
|
||||
- # In addition, on some systems there is a problem with perl and NDBM
|
||||
- # which causes AnyDBM and NDBM_File to lock up. This is evidenced
|
||||
- # in the tests as AnyDBM just freezing. Apparently, this only
|
||||
- # happens on a.out systems, so we disable NDBM for all a.out linux
|
||||
- # systems. If someone can suggest a more robust test
|
||||
- # that would be appreciated.
|
||||
- #
|
||||
- # More info:
|
||||
- # Date: Wed, 7 Feb 1996 03:21:04 +0900
|
||||
- # From: Jeffrey Friedl <jfriedl@nff.ncl.omron.co.jp>
|
||||
- #
|
||||
- # I tried compiling with DBM support and sure enough things locked up
|
||||
- # just as advertised. Checking into it, I found that the lockup was
|
||||
- # during the call to dbm_open. Not *in* dbm_open -- but between the call
|
||||
- # to and the jump into.
|
||||
- #
|
||||
- # To make a long story short, making sure that the *.a and *.sa pairs of
|
||||
- # /usr/lib/lib{m,db,gdbm}.{a,sa}
|
||||
- # were perfectly in sync took care of it.
|
||||
- #
|
||||
- # This will generate a harmless Whoa There! message
|
||||
- case "$d_dbm_open" in
|
||||
- '') cat <<'EOM' >&4
|
||||
-
|
||||
-Disabling ndbm. This will generate a Whoa There message in Configure.
|
||||
-Read hints/linux.sh for further information.
|
||||
-EOM
|
||||
- # You can override this with Configure -Dd_dbm_open
|
||||
- d_dbm_open=undef
|
||||
- ;;
|
||||
- esac
|
||||
-fi
|
||||
+# libquadmath is sometimes installed as gcc internal library,
|
||||
+# so contrary to our usual policy of *not* looking at gcc internal
|
||||
+# directories we now *do* look at them, in case they contain
|
||||
|
@ -224,7 +304,8 @@ index c88f157..fb5a46e 100644
|
|||
+ done
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
|
||||
-rm -f try.c a.out
|
||||
+case "$libc" in
|
||||
+'')
|
||||
+# If you have glibc, then report the version for ./myconfig bug reporting.
|
||||
|
@ -250,29 +331,13 @@ index c88f157..fb5a46e 100644
|
|||
+ done
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
|
||||
# for this test.
|
||||
cat >try.c <<'EOM'
|
||||
@@ -166,7 +241,7 @@ main() {
|
||||
exit(0); /* succeed (yes, it's ELF) */
|
||||
}
|
||||
EOM
|
||||
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
|
||||
+if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then
|
||||
cat <<'EOM' >&4
|
||||
|
||||
You appear to have ELF support. I'll try to use it for dynamic loading.
|
||||
@@ -232,7 +307,7 @@ fi
|
||||
|
||||
rm -f try.c a.out
|
||||
|
||||
-if /bin/sh -c exit; then
|
||||
+if ${sh:-/bin/sh} -c exit; then
|
||||
echo ''
|
||||
echo 'You appear to have a working bash. Good.'
|
||||
else
|
||||
@@ -299,7 +374,7 @@ fi
|
||||
@@ -299,7 +288,7 @@ fi
|
||||
#'osfmach3ppc') ccdlflags='-Wl,-E' ;;
|
||||
#esac
|
||||
|
||||
|
@ -281,7 +346,7 @@ index c88f157..fb5a46e 100644
|
|||
sparc*)
|
||||
case "$cccdlflags" in
|
||||
*-fpic*) cccdlflags="`echo $cccdlflags|sed 's/-fpic/-fPIC/'`" ;;
|
||||
@@ -314,30 +389,62 @@ esac
|
||||
@@ -314,30 +303,62 @@ esac
|
||||
# version of -lgdbm which is a bad idea. So if we have 'nm'
|
||||
# make sure it can read the file
|
||||
# NI-S 2003/08/07
|
||||
|
@ -361,7 +426,7 @@ index c88f157..fb5a46e 100644
|
|||
if echo $libswanted | grep -v pthread >/dev/null
|
||||
then
|
||||
set `echo X "$libswanted "| sed -e 's/ c / pthread c /'`
|
||||
@@ -384,16 +491,6 @@ $define|true|[yY]*)
|
||||
@@ -384,16 +405,6 @@ $define|true|[yY]*)
|
||||
;;
|
||||
esac
|
||||
|
||||
|
@ -378,7 +443,7 @@ index c88f157..fb5a46e 100644
|
|||
# If using g++, the Configure scan for dlopen() and (especially)
|
||||
# dlerror() might fail, easier just to forcibly hint them in.
|
||||
case "$cc" in
|
||||
@@ -417,7 +514,7 @@ then
|
||||
@@ -417,7 +428,7 @@ then
|
||||
DBLIB="$DBDIR/libdb.so"
|
||||
if [ -f $DBLIB ]
|
||||
then
|
||||
|
@ -486,18 +551,6 @@ index 22a97eb..6eac035 100644
|
|||
print "\nRunning Makefile.PL in $ext_dir\n";
|
||||
|
||||
# Presumably this can be simplified
|
||||
diff --git a/patchlevel.h b/patchlevel.h
|
||||
index 4442407..b82feab 100644
|
||||
--- a/patchlevel.h
|
||||
+++ b/patchlevel.h
|
||||
@@ -131,6 +131,7 @@ static const char * const local_patches[] = {
|
||||
NULL
|
||||
PERL_GIT_UNPUSHED_COMMITS /* do not remove this line */
|
||||
PERL_GIT_UNCOMMITTED_CHANGES /* do not remove this line */
|
||||
+ ,"Devel::PatchPerl 1.38"
|
||||
,NULL
|
||||
};
|
||||
|
||||
diff --git a/perl.c b/perl.c
|
||||
index 94f2b13..5f30040 100644
|
||||
--- a/perl.c
|
||||
|
@ -512,9 +565,7 @@ index 94f2b13..5f30040 100644
|
|||
|
||||
# ifdef OS2
|
||||
diff --git a/t/op/hash.t b/t/op/hash.t
|
||||
old mode 100755
|
||||
new mode 100644
|
||||
index 9bde518..45eb782
|
||||
index 9bde518..45eb782 100755
|
||||
--- a/t/op/hash.t
|
||||
+++ b/t/op/hash.t
|
||||
@@ -39,22 +39,36 @@ use constant THRESHOLD => 14;
|
||||
|
|
|
@ -10,7 +10,7 @@ COPY *.patch /usr/src/perl/
|
|||
WORKDIR /usr/src/perl
|
||||
|
||||
RUN curl -SL https://cpan.metacpan.org/authors/id/D/DA/DAPM/perl-5.10.1.tar.bz2 -o perl-5.10.1.tar.bz2 \
|
||||
&& echo '98b762b5cd4fb76dd354dfa5ba0d21bc2acacaf2 *perl-5.10.1.tar.bz2' | sha1sum -c - \
|
||||
&& echo '9385f2c8c2ca8b1dc4a7c31903f1f8dc8f2ba867dc2a9e5c93012ed6b564e826 *perl-5.10.1.tar.bz2' | sha256sum -c - \
|
||||
&& tar --strip-components=1 -xjf perl-5.10.1.tar.bz2 -C /usr/src/perl \
|
||||
&& rm perl-5.10.1.tar.bz2 \
|
||||
&& cat *.patch | patch -p1 \
|
||||
|
|
|
@ -92,7 +92,7 @@ index f8ca492..204bba0 100644
|
|||
+ $self->{LIBS}->[0] .= ' -lgdbm_compat' if -e $_.'/libgdbm_compat.so';
|
||||
}
|
||||
diff --git a/hints/linux.sh b/hints/linux.sh
|
||||
index c88f157..fb5a46e 100644
|
||||
index c88f157..3f38ea0 100644
|
||||
--- a/hints/linux.sh
|
||||
+++ b/hints/linux.sh
|
||||
@@ -13,11 +13,14 @@
|
||||
|
@ -176,10 +176,37 @@ index c88f157..fb5a46e 100644
|
|||
ppc*)
|
||||
# on ppc, it seems that gcc (at least gcc 3.3.2) isn't happy
|
||||
# with -O2 ; so downgrade to -O1.
|
||||
@@ -146,6 +150,77 @@ case "$optimize" in
|
||||
@@ -146,93 +150,78 @@ case "$optimize" in
|
||||
;;
|
||||
esac
|
||||
|
||||
-# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
|
||||
-# for this test.
|
||||
-cat >try.c <<'EOM'
|
||||
-/* Test for whether ELF binaries are produced */
|
||||
-#include <fcntl.h>
|
||||
-#include <stdlib.h>
|
||||
-#include <unistd.h>
|
||||
-main() {
|
||||
- char buffer[4];
|
||||
- int i=open("a.out",O_RDONLY);
|
||||
- if(i==-1)
|
||||
- exit(1); /* fail */
|
||||
- if(read(i,&buffer[0],4)<4)
|
||||
- exit(1); /* fail */
|
||||
- if(buffer[0] != 127 || buffer[1] != 'E' ||
|
||||
- buffer[2] != 'L' || buffer[3] != 'F')
|
||||
- exit(1); /* fail */
|
||||
- exit(0); /* succeed (yes, it's ELF) */
|
||||
-}
|
||||
-EOM
|
||||
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
|
||||
- cat <<'EOM' >&4
|
||||
-
|
||||
-You appear to have ELF support. I'll try to use it for dynamic loading.
|
||||
-If dynamic loading doesn't work, read hints/linux.sh for further information.
|
||||
-EOM
|
||||
-
|
||||
+# Ubuntu 11.04 (and later, presumably) doesn't keep most libraries
|
||||
+# (such as -lm) in /lib or /usr/lib. So we have to ask gcc to tell us
|
||||
+# where to look. We don't want gcc's own libraries, however, so we
|
||||
|
@ -195,10 +222,16 @@ index c88f157..fb5a46e 100644
|
|||
+# plibpth to bypass this check.
|
||||
+if [ -x /usr/bin/gcc ] ; then
|
||||
+ gcc=/usr/bin/gcc
|
||||
+else
|
||||
else
|
||||
- cat <<'EOM' >&4
|
||||
+ gcc=gcc
|
||||
+fi
|
||||
+
|
||||
|
||||
-You don't have an ELF gcc. I will use dld if possible. If you are
|
||||
-using a version of DLD earlier than 3.2.6, or don't have it at all, you
|
||||
-should probably upgrade. If you are forced to use 3.2.4, you should
|
||||
-uncomment a couple of lines in hints/linux.sh and restart Configure so
|
||||
-that shared libraries will be disallowed.
|
||||
+case "$plibpth" in
|
||||
+'') plibpth=`LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries |
|
||||
+ cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
|
||||
|
@ -207,7 +240,54 @@ index c88f157..fb5a46e 100644
|
|||
+ plibpth="$*"
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
|
||||
-EOM
|
||||
- lddlflags="-r $lddlflags"
|
||||
- # These empty values are so that Configure doesn't put in the
|
||||
- # Linux ELF values.
|
||||
- ccdlflags=' '
|
||||
- cccdlflags=' '
|
||||
- ccflags="-DOVR_DBL_DIG=14 $ccflags"
|
||||
- so='sa'
|
||||
- dlext='o'
|
||||
- nm_so_opt=' '
|
||||
- ## If you are using DLD 3.2.4 which does not support shared libs,
|
||||
- ## uncomment the next two lines:
|
||||
- #ldflags="-static"
|
||||
- #so='none'
|
||||
-
|
||||
- # In addition, on some systems there is a problem with perl and NDBM
|
||||
- # which causes AnyDBM and NDBM_File to lock up. This is evidenced
|
||||
- # in the tests as AnyDBM just freezing. Apparently, this only
|
||||
- # happens on a.out systems, so we disable NDBM for all a.out linux
|
||||
- # systems. If someone can suggest a more robust test
|
||||
- # that would be appreciated.
|
||||
- #
|
||||
- # More info:
|
||||
- # Date: Wed, 7 Feb 1996 03:21:04 +0900
|
||||
- # From: Jeffrey Friedl <jfriedl@nff.ncl.omron.co.jp>
|
||||
- #
|
||||
- # I tried compiling with DBM support and sure enough things locked up
|
||||
- # just as advertised. Checking into it, I found that the lockup was
|
||||
- # during the call to dbm_open. Not *in* dbm_open -- but between the call
|
||||
- # to and the jump into.
|
||||
- #
|
||||
- # To make a long story short, making sure that the *.a and *.sa pairs of
|
||||
- # /usr/lib/lib{m,db,gdbm}.{a,sa}
|
||||
- # were perfectly in sync took care of it.
|
||||
- #
|
||||
- # This will generate a harmless Whoa There! message
|
||||
- case "$d_dbm_open" in
|
||||
- '') cat <<'EOM' >&4
|
||||
-
|
||||
-Disabling ndbm. This will generate a Whoa There message in Configure.
|
||||
-Read hints/linux.sh for further information.
|
||||
-EOM
|
||||
- # You can override this with Configure -Dd_dbm_open
|
||||
- d_dbm_open=undef
|
||||
- ;;
|
||||
- esac
|
||||
-fi
|
||||
+# libquadmath is sometimes installed as gcc internal library,
|
||||
+# so contrary to our usual policy of *not* looking at gcc internal
|
||||
+# directories we now *do* look at them, in case they contain
|
||||
|
@ -224,7 +304,8 @@ index c88f157..fb5a46e 100644
|
|||
+ done
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
|
||||
-rm -f try.c a.out
|
||||
+case "$libc" in
|
||||
+'')
|
||||
+# If you have glibc, then report the version for ./myconfig bug reporting.
|
||||
|
@ -250,29 +331,13 @@ index c88f157..fb5a46e 100644
|
|||
+ done
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
|
||||
# for this test.
|
||||
cat >try.c <<'EOM'
|
||||
@@ -166,7 +241,7 @@ main() {
|
||||
exit(0); /* succeed (yes, it's ELF) */
|
||||
}
|
||||
EOM
|
||||
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
|
||||
+if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then
|
||||
cat <<'EOM' >&4
|
||||
|
||||
You appear to have ELF support. I'll try to use it for dynamic loading.
|
||||
@@ -232,7 +307,7 @@ fi
|
||||
|
||||
rm -f try.c a.out
|
||||
|
||||
-if /bin/sh -c exit; then
|
||||
+if ${sh:-/bin/sh} -c exit; then
|
||||
echo ''
|
||||
echo 'You appear to have a working bash. Good.'
|
||||
else
|
||||
@@ -299,7 +374,7 @@ fi
|
||||
@@ -299,7 +288,7 @@ fi
|
||||
#'osfmach3ppc') ccdlflags='-Wl,-E' ;;
|
||||
#esac
|
||||
|
||||
|
@ -281,7 +346,7 @@ index c88f157..fb5a46e 100644
|
|||
sparc*)
|
||||
case "$cccdlflags" in
|
||||
*-fpic*) cccdlflags="`echo $cccdlflags|sed 's/-fpic/-fPIC/'`" ;;
|
||||
@@ -314,30 +389,62 @@ esac
|
||||
@@ -314,30 +303,62 @@ esac
|
||||
# version of -lgdbm which is a bad idea. So if we have 'nm'
|
||||
# make sure it can read the file
|
||||
# NI-S 2003/08/07
|
||||
|
@ -361,7 +426,7 @@ index c88f157..fb5a46e 100644
|
|||
if echo $libswanted | grep -v pthread >/dev/null
|
||||
then
|
||||
set `echo X "$libswanted "| sed -e 's/ c / pthread c /'`
|
||||
@@ -384,16 +491,6 @@ $define|true|[yY]*)
|
||||
@@ -384,16 +405,6 @@ $define|true|[yY]*)
|
||||
;;
|
||||
esac
|
||||
|
||||
|
@ -378,7 +443,7 @@ index c88f157..fb5a46e 100644
|
|||
# If using g++, the Configure scan for dlopen() and (especially)
|
||||
# dlerror() might fail, easier just to forcibly hint them in.
|
||||
case "$cc" in
|
||||
@@ -417,7 +514,7 @@ then
|
||||
@@ -417,7 +428,7 @@ then
|
||||
DBLIB="$DBDIR/libdb.so"
|
||||
if [ -f $DBLIB ]
|
||||
then
|
||||
|
@ -486,18 +551,6 @@ index 22a97eb..6eac035 100644
|
|||
print "\nRunning Makefile.PL in $ext_dir\n";
|
||||
|
||||
# Presumably this can be simplified
|
||||
diff --git a/patchlevel.h b/patchlevel.h
|
||||
index 4442407..b82feab 100644
|
||||
--- a/patchlevel.h
|
||||
+++ b/patchlevel.h
|
||||
@@ -131,6 +131,7 @@ static const char * const local_patches[] = {
|
||||
NULL
|
||||
PERL_GIT_UNPUSHED_COMMITS /* do not remove this line */
|
||||
PERL_GIT_UNCOMMITTED_CHANGES /* do not remove this line */
|
||||
+ ,"Devel::PatchPerl 1.38"
|
||||
,NULL
|
||||
};
|
||||
|
||||
diff --git a/perl.c b/perl.c
|
||||
index 94f2b13..5f30040 100644
|
||||
--- a/perl.c
|
||||
|
@ -512,9 +565,7 @@ index 94f2b13..5f30040 100644
|
|||
|
||||
# ifdef OS2
|
||||
diff --git a/t/op/hash.t b/t/op/hash.t
|
||||
old mode 100755
|
||||
new mode 100644
|
||||
index 9bde518..45eb782
|
||||
index 9bde518..45eb782 100755
|
||||
--- a/t/op/hash.t
|
||||
+++ b/t/op/hash.t
|
||||
@@ -39,22 +39,36 @@ use constant THRESHOLD => 14;
|
||||
|
|
|
@ -10,7 +10,7 @@ COPY *.patch /usr/src/perl/
|
|||
WORKDIR /usr/src/perl
|
||||
|
||||
RUN curl -SL https://cpan.metacpan.org/authors/id/D/DA/DAPM/perl-5.10.1.tar.bz2 -o perl-5.10.1.tar.bz2 \
|
||||
&& echo '98b762b5cd4fb76dd354dfa5ba0d21bc2acacaf2 *perl-5.10.1.tar.bz2' | sha1sum -c - \
|
||||
&& echo '9385f2c8c2ca8b1dc4a7c31903f1f8dc8f2ba867dc2a9e5c93012ed6b564e826 *perl-5.10.1.tar.bz2' | sha256sum -c - \
|
||||
&& tar --strip-components=1 -xjf perl-5.10.1.tar.bz2 -C /usr/src/perl \
|
||||
&& rm perl-5.10.1.tar.bz2 \
|
||||
&& cat *.patch | patch -p1 \
|
||||
|
|
|
@ -117,7 +117,7 @@ index f8ca492..204bba0 100644
|
|||
+ $self->{LIBS}->[0] .= ' -lgdbm_compat' if -e $_.'/libgdbm_compat.so';
|
||||
}
|
||||
diff --git a/hints/linux.sh b/hints/linux.sh
|
||||
index 0519eca..fb5a46e 100644
|
||||
index 0519eca..3f38ea0 100644
|
||||
--- a/hints/linux.sh
|
||||
+++ b/hints/linux.sh
|
||||
@@ -13,11 +13,14 @@
|
||||
|
@ -215,10 +215,93 @@ index 0519eca..fb5a46e 100644
|
|||
cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
|
||||
set X $plibpth # Collapse all entries on one line
|
||||
shift
|
||||
@@ -171,6 +178,49 @@ case "$plibpth" in
|
||||
@@ -171,93 +178,50 @@ case "$plibpth" in
|
||||
;;
|
||||
esac
|
||||
|
||||
-# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
|
||||
-# for this test.
|
||||
-cat >try.c <<'EOM'
|
||||
-/* Test for whether ELF binaries are produced */
|
||||
-#include <fcntl.h>
|
||||
-#include <stdlib.h>
|
||||
-#include <unistd.h>
|
||||
-main() {
|
||||
- char buffer[4];
|
||||
- int i=open("a.out",O_RDONLY);
|
||||
- if(i==-1)
|
||||
- exit(1); /* fail */
|
||||
- if(read(i,&buffer[0],4)<4)
|
||||
- exit(1); /* fail */
|
||||
- if(buffer[0] != 127 || buffer[1] != 'E' ||
|
||||
- buffer[2] != 'L' || buffer[3] != 'F')
|
||||
- exit(1); /* fail */
|
||||
- exit(0); /* succeed (yes, it's ELF) */
|
||||
-}
|
||||
-EOM
|
||||
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
|
||||
- cat <<'EOM' >&4
|
||||
-
|
||||
-You appear to have ELF support. I'll try to use it for dynamic loading.
|
||||
-If dynamic loading doesn't work, read hints/linux.sh for further information.
|
||||
-EOM
|
||||
-
|
||||
-else
|
||||
- cat <<'EOM' >&4
|
||||
-
|
||||
-You don't have an ELF gcc. I will use dld if possible. If you are
|
||||
-using a version of DLD earlier than 3.2.6, or don't have it at all, you
|
||||
-should probably upgrade. If you are forced to use 3.2.4, you should
|
||||
-uncomment a couple of lines in hints/linux.sh and restart Configure so
|
||||
-that shared libraries will be disallowed.
|
||||
-
|
||||
-EOM
|
||||
- lddlflags="-r $lddlflags"
|
||||
- # These empty values are so that Configure doesn't put in the
|
||||
- # Linux ELF values.
|
||||
- ccdlflags=' '
|
||||
- cccdlflags=' '
|
||||
- ccflags="-DOVR_DBL_DIG=14 $ccflags"
|
||||
- so='sa'
|
||||
- dlext='o'
|
||||
- nm_so_opt=' '
|
||||
- ## If you are using DLD 3.2.4 which does not support shared libs,
|
||||
- ## uncomment the next two lines:
|
||||
- #ldflags="-static"
|
||||
- #so='none'
|
||||
-
|
||||
- # In addition, on some systems there is a problem with perl and NDBM
|
||||
- # which causes AnyDBM and NDBM_File to lock up. This is evidenced
|
||||
- # in the tests as AnyDBM just freezing. Apparently, this only
|
||||
- # happens on a.out systems, so we disable NDBM for all a.out linux
|
||||
- # systems. If someone can suggest a more robust test
|
||||
- # that would be appreciated.
|
||||
- #
|
||||
- # More info:
|
||||
- # Date: Wed, 7 Feb 1996 03:21:04 +0900
|
||||
- # From: Jeffrey Friedl <jfriedl@nff.ncl.omron.co.jp>
|
||||
- #
|
||||
- # I tried compiling with DBM support and sure enough things locked up
|
||||
- # just as advertised. Checking into it, I found that the lockup was
|
||||
- # during the call to dbm_open. Not *in* dbm_open -- but between the call
|
||||
- # to and the jump into.
|
||||
- #
|
||||
- # To make a long story short, making sure that the *.a and *.sa pairs of
|
||||
- # /usr/lib/lib{m,db,gdbm}.{a,sa}
|
||||
- # were perfectly in sync took care of it.
|
||||
- #
|
||||
- # This will generate a harmless Whoa There! message
|
||||
- case "$d_dbm_open" in
|
||||
- '') cat <<'EOM' >&4
|
||||
-
|
||||
-Disabling ndbm. This will generate a Whoa There message in Configure.
|
||||
-Read hints/linux.sh for further information.
|
||||
-EOM
|
||||
- # You can override this with Configure -Dd_dbm_open
|
||||
- d_dbm_open=undef
|
||||
- ;;
|
||||
- esac
|
||||
-fi
|
||||
+# libquadmath is sometimes installed as gcc internal library,
|
||||
+# so contrary to our usual policy of *not* looking at gcc internal
|
||||
+# directories we now *do* look at them, in case they contain
|
||||
|
@ -235,7 +318,8 @@ index 0519eca..fb5a46e 100644
|
|||
+ done
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
|
||||
-rm -f try.c a.out
|
||||
+case "$libc" in
|
||||
+'')
|
||||
+# If you have glibc, then report the version for ./myconfig bug reporting.
|
||||
|
@ -261,29 +345,13 @@ index 0519eca..fb5a46e 100644
|
|||
+ done
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
|
||||
# for this test.
|
||||
cat >try.c <<'EOM'
|
||||
@@ -191,7 +241,7 @@ main() {
|
||||
exit(0); /* succeed (yes, it's ELF) */
|
||||
}
|
||||
EOM
|
||||
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
|
||||
+if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then
|
||||
cat <<'EOM' >&4
|
||||
|
||||
You appear to have ELF support. I'll try to use it for dynamic loading.
|
||||
@@ -257,7 +307,7 @@ fi
|
||||
|
||||
rm -f try.c a.out
|
||||
|
||||
-if /bin/sh -c exit; then
|
||||
+if ${sh:-/bin/sh} -c exit; then
|
||||
echo ''
|
||||
echo 'You appear to have a working bash. Good.'
|
||||
else
|
||||
@@ -324,7 +374,7 @@ fi
|
||||
@@ -324,7 +288,7 @@ fi
|
||||
#'osfmach3ppc') ccdlflags='-Wl,-E' ;;
|
||||
#esac
|
||||
|
||||
|
@ -292,7 +360,7 @@ index 0519eca..fb5a46e 100644
|
|||
sparc*)
|
||||
case "$cccdlflags" in
|
||||
*-fpic*) cccdlflags="`echo $cccdlflags|sed 's/-fpic/-fPIC/'`" ;;
|
||||
@@ -339,30 +389,62 @@ esac
|
||||
@@ -339,30 +303,62 @@ esac
|
||||
# version of -lgdbm which is a bad idea. So if we have 'nm'
|
||||
# make sure it can read the file
|
||||
# NI-S 2003/08/07
|
||||
|
@ -372,7 +440,7 @@ index 0519eca..fb5a46e 100644
|
|||
if echo $libswanted | grep -v pthread >/dev/null
|
||||
then
|
||||
set `echo X "$libswanted "| sed -e 's/ c / pthread c /'`
|
||||
@@ -409,16 +491,6 @@ $define|true|[yY]*)
|
||||
@@ -409,16 +405,6 @@ $define|true|[yY]*)
|
||||
;;
|
||||
esac
|
||||
|
||||
|
@ -389,7 +457,7 @@ index 0519eca..fb5a46e 100644
|
|||
# If using g++, the Configure scan for dlopen() and (especially)
|
||||
# dlerror() might fail, easier just to forcibly hint them in.
|
||||
case "$cc" in
|
||||
@@ -442,7 +514,7 @@ then
|
||||
@@ -442,7 +428,7 @@ then
|
||||
DBLIB="$DBDIR/libdb.so"
|
||||
if [ -f $DBLIB ]
|
||||
then
|
||||
|
@ -472,22 +540,8 @@ index de26d84..52b0492 100644
|
|||
print "\nRunning Makefile.PL in $ext_dir\n";
|
||||
|
||||
# Presumably this can be simplified
|
||||
diff --git a/patchlevel.h b/patchlevel.h
|
||||
index f1a12bd..420296d 100644
|
||||
--- a/patchlevel.h
|
||||
+++ b/patchlevel.h
|
||||
@@ -131,6 +131,7 @@ static const char * const local_patches[] = {
|
||||
,"uncommitted-changes"
|
||||
#endif
|
||||
PERL_GIT_UNPUSHED_COMMITS /* do not remove this line */
|
||||
+ ,"Devel::PatchPerl 1.38"
|
||||
,NULL
|
||||
};
|
||||
|
||||
diff --git a/t/op/hash.t b/t/op/hash.t
|
||||
old mode 100755
|
||||
new mode 100644
|
||||
index 9bde518..45eb782
|
||||
index 9bde518..45eb782 100755
|
||||
--- a/t/op/hash.t
|
||||
+++ b/t/op/hash.t
|
||||
@@ -39,22 +39,36 @@ use constant THRESHOLD => 14;
|
||||
|
|
|
@ -10,7 +10,7 @@ COPY *.patch /usr/src/perl/
|
|||
WORKDIR /usr/src/perl
|
||||
|
||||
RUN curl -SL https://cpan.metacpan.org/authors/id/D/DO/DOM/perl-5.12.5.tar.bz2 -o perl-5.12.5.tar.bz2 \
|
||||
&& echo '812139ceef512eb8458af29ffbf46d78ef26c12a *perl-5.12.5.tar.bz2' | sha1sum -c - \
|
||||
&& echo '10749417fd3010aae320a34181ad4cd6a4855c1fc63403b87fa4d630b18e966c *perl-5.12.5.tar.bz2' | sha256sum -c - \
|
||||
&& tar --strip-components=1 -xjf perl-5.12.5.tar.bz2 -C /usr/src/perl \
|
||||
&& rm perl-5.12.5.tar.bz2 \
|
||||
&& cat *.patch | patch -p1 \
|
||||
|
|
|
@ -117,7 +117,7 @@ index f8ca492..204bba0 100644
|
|||
+ $self->{LIBS}->[0] .= ' -lgdbm_compat' if -e $_.'/libgdbm_compat.so';
|
||||
}
|
||||
diff --git a/hints/linux.sh b/hints/linux.sh
|
||||
index 0519eca..fb5a46e 100644
|
||||
index 0519eca..3f38ea0 100644
|
||||
--- a/hints/linux.sh
|
||||
+++ b/hints/linux.sh
|
||||
@@ -13,11 +13,14 @@
|
||||
|
@ -215,10 +215,93 @@ index 0519eca..fb5a46e 100644
|
|||
cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
|
||||
set X $plibpth # Collapse all entries on one line
|
||||
shift
|
||||
@@ -171,6 +178,49 @@ case "$plibpth" in
|
||||
@@ -171,93 +178,50 @@ case "$plibpth" in
|
||||
;;
|
||||
esac
|
||||
|
||||
-# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
|
||||
-# for this test.
|
||||
-cat >try.c <<'EOM'
|
||||
-/* Test for whether ELF binaries are produced */
|
||||
-#include <fcntl.h>
|
||||
-#include <stdlib.h>
|
||||
-#include <unistd.h>
|
||||
-main() {
|
||||
- char buffer[4];
|
||||
- int i=open("a.out",O_RDONLY);
|
||||
- if(i==-1)
|
||||
- exit(1); /* fail */
|
||||
- if(read(i,&buffer[0],4)<4)
|
||||
- exit(1); /* fail */
|
||||
- if(buffer[0] != 127 || buffer[1] != 'E' ||
|
||||
- buffer[2] != 'L' || buffer[3] != 'F')
|
||||
- exit(1); /* fail */
|
||||
- exit(0); /* succeed (yes, it's ELF) */
|
||||
-}
|
||||
-EOM
|
||||
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
|
||||
- cat <<'EOM' >&4
|
||||
-
|
||||
-You appear to have ELF support. I'll try to use it for dynamic loading.
|
||||
-If dynamic loading doesn't work, read hints/linux.sh for further information.
|
||||
-EOM
|
||||
-
|
||||
-else
|
||||
- cat <<'EOM' >&4
|
||||
-
|
||||
-You don't have an ELF gcc. I will use dld if possible. If you are
|
||||
-using a version of DLD earlier than 3.2.6, or don't have it at all, you
|
||||
-should probably upgrade. If you are forced to use 3.2.4, you should
|
||||
-uncomment a couple of lines in hints/linux.sh and restart Configure so
|
||||
-that shared libraries will be disallowed.
|
||||
-
|
||||
-EOM
|
||||
- lddlflags="-r $lddlflags"
|
||||
- # These empty values are so that Configure doesn't put in the
|
||||
- # Linux ELF values.
|
||||
- ccdlflags=' '
|
||||
- cccdlflags=' '
|
||||
- ccflags="-DOVR_DBL_DIG=14 $ccflags"
|
||||
- so='sa'
|
||||
- dlext='o'
|
||||
- nm_so_opt=' '
|
||||
- ## If you are using DLD 3.2.4 which does not support shared libs,
|
||||
- ## uncomment the next two lines:
|
||||
- #ldflags="-static"
|
||||
- #so='none'
|
||||
-
|
||||
- # In addition, on some systems there is a problem with perl and NDBM
|
||||
- # which causes AnyDBM and NDBM_File to lock up. This is evidenced
|
||||
- # in the tests as AnyDBM just freezing. Apparently, this only
|
||||
- # happens on a.out systems, so we disable NDBM for all a.out linux
|
||||
- # systems. If someone can suggest a more robust test
|
||||
- # that would be appreciated.
|
||||
- #
|
||||
- # More info:
|
||||
- # Date: Wed, 7 Feb 1996 03:21:04 +0900
|
||||
- # From: Jeffrey Friedl <jfriedl@nff.ncl.omron.co.jp>
|
||||
- #
|
||||
- # I tried compiling with DBM support and sure enough things locked up
|
||||
- # just as advertised. Checking into it, I found that the lockup was
|
||||
- # during the call to dbm_open. Not *in* dbm_open -- but between the call
|
||||
- # to and the jump into.
|
||||
- #
|
||||
- # To make a long story short, making sure that the *.a and *.sa pairs of
|
||||
- # /usr/lib/lib{m,db,gdbm}.{a,sa}
|
||||
- # were perfectly in sync took care of it.
|
||||
- #
|
||||
- # This will generate a harmless Whoa There! message
|
||||
- case "$d_dbm_open" in
|
||||
- '') cat <<'EOM' >&4
|
||||
-
|
||||
-Disabling ndbm. This will generate a Whoa There message in Configure.
|
||||
-Read hints/linux.sh for further information.
|
||||
-EOM
|
||||
- # You can override this with Configure -Dd_dbm_open
|
||||
- d_dbm_open=undef
|
||||
- ;;
|
||||
- esac
|
||||
-fi
|
||||
+# libquadmath is sometimes installed as gcc internal library,
|
||||
+# so contrary to our usual policy of *not* looking at gcc internal
|
||||
+# directories we now *do* look at them, in case they contain
|
||||
|
@ -235,7 +318,8 @@ index 0519eca..fb5a46e 100644
|
|||
+ done
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
|
||||
-rm -f try.c a.out
|
||||
+case "$libc" in
|
||||
+'')
|
||||
+# If you have glibc, then report the version for ./myconfig bug reporting.
|
||||
|
@ -261,29 +345,13 @@ index 0519eca..fb5a46e 100644
|
|||
+ done
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
|
||||
# for this test.
|
||||
cat >try.c <<'EOM'
|
||||
@@ -191,7 +241,7 @@ main() {
|
||||
exit(0); /* succeed (yes, it's ELF) */
|
||||
}
|
||||
EOM
|
||||
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
|
||||
+if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then
|
||||
cat <<'EOM' >&4
|
||||
|
||||
You appear to have ELF support. I'll try to use it for dynamic loading.
|
||||
@@ -257,7 +307,7 @@ fi
|
||||
|
||||
rm -f try.c a.out
|
||||
|
||||
-if /bin/sh -c exit; then
|
||||
+if ${sh:-/bin/sh} -c exit; then
|
||||
echo ''
|
||||
echo 'You appear to have a working bash. Good.'
|
||||
else
|
||||
@@ -324,7 +374,7 @@ fi
|
||||
@@ -324,7 +288,7 @@ fi
|
||||
#'osfmach3ppc') ccdlflags='-Wl,-E' ;;
|
||||
#esac
|
||||
|
||||
|
@ -292,7 +360,7 @@ index 0519eca..fb5a46e 100644
|
|||
sparc*)
|
||||
case "$cccdlflags" in
|
||||
*-fpic*) cccdlflags="`echo $cccdlflags|sed 's/-fpic/-fPIC/'`" ;;
|
||||
@@ -339,30 +389,62 @@ esac
|
||||
@@ -339,30 +303,62 @@ esac
|
||||
# version of -lgdbm which is a bad idea. So if we have 'nm'
|
||||
# make sure it can read the file
|
||||
# NI-S 2003/08/07
|
||||
|
@ -372,7 +440,7 @@ index 0519eca..fb5a46e 100644
|
|||
if echo $libswanted | grep -v pthread >/dev/null
|
||||
then
|
||||
set `echo X "$libswanted "| sed -e 's/ c / pthread c /'`
|
||||
@@ -409,16 +491,6 @@ $define|true|[yY]*)
|
||||
@@ -409,16 +405,6 @@ $define|true|[yY]*)
|
||||
;;
|
||||
esac
|
||||
|
||||
|
@ -389,7 +457,7 @@ index 0519eca..fb5a46e 100644
|
|||
# If using g++, the Configure scan for dlopen() and (especially)
|
||||
# dlerror() might fail, easier just to forcibly hint them in.
|
||||
case "$cc" in
|
||||
@@ -442,7 +514,7 @@ then
|
||||
@@ -442,7 +428,7 @@ then
|
||||
DBLIB="$DBDIR/libdb.so"
|
||||
if [ -f $DBLIB ]
|
||||
then
|
||||
|
@ -472,22 +540,8 @@ index de26d84..52b0492 100644
|
|||
print "\nRunning Makefile.PL in $ext_dir\n";
|
||||
|
||||
# Presumably this can be simplified
|
||||
diff --git a/patchlevel.h b/patchlevel.h
|
||||
index f1a12bd..420296d 100644
|
||||
--- a/patchlevel.h
|
||||
+++ b/patchlevel.h
|
||||
@@ -131,6 +131,7 @@ static const char * const local_patches[] = {
|
||||
,"uncommitted-changes"
|
||||
#endif
|
||||
PERL_GIT_UNPUSHED_COMMITS /* do not remove this line */
|
||||
+ ,"Devel::PatchPerl 1.38"
|
||||
,NULL
|
||||
};
|
||||
|
||||
diff --git a/t/op/hash.t b/t/op/hash.t
|
||||
old mode 100755
|
||||
new mode 100644
|
||||
index 9bde518..45eb782
|
||||
index 9bde518..45eb782 100755
|
||||
--- a/t/op/hash.t
|
||||
+++ b/t/op/hash.t
|
||||
@@ -39,22 +39,36 @@ use constant THRESHOLD => 14;
|
||||
|
|
|
@ -10,7 +10,7 @@ COPY *.patch /usr/src/perl/
|
|||
WORKDIR /usr/src/perl
|
||||
|
||||
RUN curl -SL https://cpan.metacpan.org/authors/id/D/DO/DOM/perl-5.12.5.tar.bz2 -o perl-5.12.5.tar.bz2 \
|
||||
&& echo '812139ceef512eb8458af29ffbf46d78ef26c12a *perl-5.12.5.tar.bz2' | sha1sum -c - \
|
||||
&& echo '10749417fd3010aae320a34181ad4cd6a4855c1fc63403b87fa4d630b18e966c *perl-5.12.5.tar.bz2' | sha256sum -c - \
|
||||
&& tar --strip-components=1 -xjf perl-5.12.5.tar.bz2 -C /usr/src/perl \
|
||||
&& rm perl-5.12.5.tar.bz2 \
|
||||
&& cat *.patch | patch -p1 \
|
||||
|
|
|
@ -40,7 +40,7 @@ index 56bc815..cf688be 100644
|
|||
or die "Cannot exec $cpp";
|
||||
}
|
||||
diff --git a/hints/linux.sh b/hints/linux.sh
|
||||
index d0ac9fa..fb5a46e 100644
|
||||
index d0ac9fa..3f38ea0 100644
|
||||
--- a/hints/linux.sh
|
||||
+++ b/hints/linux.sh
|
||||
@@ -39,7 +39,7 @@ i_libutil='undef'
|
||||
|
@ -111,10 +111,93 @@ index d0ac9fa..fb5a46e 100644
|
|||
cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
|
||||
set X $plibpth # Collapse all entries on one line
|
||||
shift
|
||||
@@ -182,6 +178,49 @@ case "$plibpth" in
|
||||
@@ -182,93 +178,50 @@ case "$plibpth" in
|
||||
;;
|
||||
esac
|
||||
|
||||
-# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
|
||||
-# for this test.
|
||||
-cat >try.c <<'EOM'
|
||||
-/* Test for whether ELF binaries are produced */
|
||||
-#include <fcntl.h>
|
||||
-#include <stdlib.h>
|
||||
-#include <unistd.h>
|
||||
-main() {
|
||||
- char buffer[4];
|
||||
- int i=open("a.out",O_RDONLY);
|
||||
- if(i==-1)
|
||||
- exit(1); /* fail */
|
||||
- if(read(i,&buffer[0],4)<4)
|
||||
- exit(1); /* fail */
|
||||
- if(buffer[0] != 127 || buffer[1] != 'E' ||
|
||||
- buffer[2] != 'L' || buffer[3] != 'F')
|
||||
- exit(1); /* fail */
|
||||
- exit(0); /* succeed (yes, it's ELF) */
|
||||
-}
|
||||
-EOM
|
||||
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
|
||||
- cat <<'EOM' >&4
|
||||
-
|
||||
-You appear to have ELF support. I'll try to use it for dynamic loading.
|
||||
-If dynamic loading doesn't work, read hints/linux.sh for further information.
|
||||
-EOM
|
||||
-
|
||||
-else
|
||||
- cat <<'EOM' >&4
|
||||
-
|
||||
-You don't have an ELF gcc. I will use dld if possible. If you are
|
||||
-using a version of DLD earlier than 3.2.6, or don't have it at all, you
|
||||
-should probably upgrade. If you are forced to use 3.2.4, you should
|
||||
-uncomment a couple of lines in hints/linux.sh and restart Configure so
|
||||
-that shared libraries will be disallowed.
|
||||
-
|
||||
-EOM
|
||||
- lddlflags="-r $lddlflags"
|
||||
- # These empty values are so that Configure doesn't put in the
|
||||
- # Linux ELF values.
|
||||
- ccdlflags=' '
|
||||
- cccdlflags=' '
|
||||
- ccflags="-DOVR_DBL_DIG=14 $ccflags"
|
||||
- so='sa'
|
||||
- dlext='o'
|
||||
- nm_so_opt=' '
|
||||
- ## If you are using DLD 3.2.4 which does not support shared libs,
|
||||
- ## uncomment the next two lines:
|
||||
- #ldflags="-static"
|
||||
- #so='none'
|
||||
-
|
||||
- # In addition, on some systems there is a problem with perl and NDBM
|
||||
- # which causes AnyDBM and NDBM_File to lock up. This is evidenced
|
||||
- # in the tests as AnyDBM just freezing. Apparently, this only
|
||||
- # happens on a.out systems, so we disable NDBM for all a.out linux
|
||||
- # systems. If someone can suggest a more robust test
|
||||
- # that would be appreciated.
|
||||
- #
|
||||
- # More info:
|
||||
- # Date: Wed, 7 Feb 1996 03:21:04 +0900
|
||||
- # From: Jeffrey Friedl <jfriedl@nff.ncl.omron.co.jp>
|
||||
- #
|
||||
- # I tried compiling with DBM support and sure enough things locked up
|
||||
- # just as advertised. Checking into it, I found that the lockup was
|
||||
- # during the call to dbm_open. Not *in* dbm_open -- but between the call
|
||||
- # to and the jump into.
|
||||
- #
|
||||
- # To make a long story short, making sure that the *.a and *.sa pairs of
|
||||
- # /usr/lib/lib{m,db,gdbm}.{a,sa}
|
||||
- # were perfectly in sync took care of it.
|
||||
- #
|
||||
- # This will generate a harmless Whoa There! message
|
||||
- case "$d_dbm_open" in
|
||||
- '') cat <<'EOM' >&4
|
||||
-
|
||||
-Disabling ndbm. This will generate a Whoa There message in Configure.
|
||||
-Read hints/linux.sh for further information.
|
||||
-EOM
|
||||
- # You can override this with Configure -Dd_dbm_open
|
||||
- d_dbm_open=undef
|
||||
- ;;
|
||||
- esac
|
||||
-fi
|
||||
+# libquadmath is sometimes installed as gcc internal library,
|
||||
+# so contrary to our usual policy of *not* looking at gcc internal
|
||||
+# directories we now *do* look at them, in case they contain
|
||||
|
@ -131,7 +214,8 @@ index d0ac9fa..fb5a46e 100644
|
|||
+ done
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
|
||||
-rm -f try.c a.out
|
||||
+case "$libc" in
|
||||
+'')
|
||||
+# If you have glibc, then report the version for ./myconfig bug reporting.
|
||||
|
@ -157,29 +241,13 @@ index d0ac9fa..fb5a46e 100644
|
|||
+ done
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
|
||||
# for this test.
|
||||
cat >try.c <<'EOM'
|
||||
@@ -202,7 +241,7 @@ main() {
|
||||
exit(0); /* succeed (yes, it's ELF) */
|
||||
}
|
||||
EOM
|
||||
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
|
||||
+if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then
|
||||
cat <<'EOM' >&4
|
||||
|
||||
You appear to have ELF support. I'll try to use it for dynamic loading.
|
||||
@@ -268,7 +307,7 @@ fi
|
||||
|
||||
rm -f try.c a.out
|
||||
|
||||
-if /bin/sh -c exit; then
|
||||
+if ${sh:-/bin/sh} -c exit; then
|
||||
echo ''
|
||||
echo 'You appear to have a working bash. Good.'
|
||||
else
|
||||
@@ -335,7 +374,7 @@ fi
|
||||
@@ -335,7 +288,7 @@ fi
|
||||
#'osfmach3ppc') ccdlflags='-Wl,-E' ;;
|
||||
#esac
|
||||
|
||||
|
@ -188,7 +256,7 @@ index d0ac9fa..fb5a46e 100644
|
|||
sparc*)
|
||||
case "$cccdlflags" in
|
||||
*-fpic*) cccdlflags="`echo $cccdlflags|sed 's/-fpic/-fPIC/'`" ;;
|
||||
@@ -350,30 +389,62 @@ esac
|
||||
@@ -350,30 +303,62 @@ esac
|
||||
# version of -lgdbm which is a bad idea. So if we have 'nm'
|
||||
# make sure it can read the file
|
||||
# NI-S 2003/08/07
|
||||
|
@ -268,7 +336,7 @@ index d0ac9fa..fb5a46e 100644
|
|||
if echo $libswanted | grep -v pthread >/dev/null
|
||||
then
|
||||
set `echo X "$libswanted "| sed -e 's/ c / pthread c /'`
|
||||
@@ -420,16 +491,6 @@ $define|true|[yY]*)
|
||||
@@ -420,16 +405,6 @@ $define|true|[yY]*)
|
||||
;;
|
||||
esac
|
||||
|
||||
|
@ -285,7 +353,7 @@ index d0ac9fa..fb5a46e 100644
|
|||
# If using g++, the Configure scan for dlopen() and (especially)
|
||||
# dlerror() might fail, easier just to forcibly hint them in.
|
||||
case "$cc" in
|
||||
@@ -453,7 +514,7 @@ then
|
||||
@@ -453,7 +428,7 @@ then
|
||||
DBLIB="$DBDIR/libdb.so"
|
||||
if [ -f $DBLIB ]
|
||||
then
|
||||
|
@ -309,15 +377,3 @@ index 13a15b4..a564bb3 100644
|
|||
print "\nRunning Makefile.PL in $ext_dir\n";
|
||||
|
||||
# Presumably this can be simplified
|
||||
diff --git a/patchlevel.h b/patchlevel.h
|
||||
index 4d9cd6d..0052d4a 100644
|
||||
--- a/patchlevel.h
|
||||
+++ b/patchlevel.h
|
||||
@@ -137,6 +137,7 @@ static const char * const local_patches[] = {
|
||||
,"uncommitted-changes"
|
||||
#endif
|
||||
PERL_GIT_UNPUSHED_COMMITS /* do not remove this line */
|
||||
+ ,"Devel::PatchPerl 1.38"
|
||||
,NULL
|
||||
};
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ COPY *.patch /usr/src/perl/
|
|||
WORKDIR /usr/src/perl
|
||||
|
||||
RUN curl -SL https://cpan.metacpan.org/authors/id/D/DA/DAPM/perl-5.14.4.tar.bz2 -o perl-5.14.4.tar.bz2 \
|
||||
&& echo '3527c9e26f985cba98796439bf555fde8be73cdf *perl-5.14.4.tar.bz2' | sha1sum -c - \
|
||||
&& echo 'eece8c2b0d491bf6f746bd1f4f1bb7ce26f6b98e91c54690c617d7af38964745 *perl-5.14.4.tar.bz2' | sha256sum -c - \
|
||||
&& tar --strip-components=1 -xjf perl-5.14.4.tar.bz2 -C /usr/src/perl \
|
||||
&& rm perl-5.14.4.tar.bz2 \
|
||||
&& cat *.patch | patch -p1 \
|
||||
|
|
|
@ -40,7 +40,7 @@ index 56bc815..cf688be 100644
|
|||
or die "Cannot exec $cpp";
|
||||
}
|
||||
diff --git a/hints/linux.sh b/hints/linux.sh
|
||||
index d0ac9fa..fb5a46e 100644
|
||||
index d0ac9fa..3f38ea0 100644
|
||||
--- a/hints/linux.sh
|
||||
+++ b/hints/linux.sh
|
||||
@@ -39,7 +39,7 @@ i_libutil='undef'
|
||||
|
@ -111,10 +111,93 @@ index d0ac9fa..fb5a46e 100644
|
|||
cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
|
||||
set X $plibpth # Collapse all entries on one line
|
||||
shift
|
||||
@@ -182,6 +178,49 @@ case "$plibpth" in
|
||||
@@ -182,93 +178,50 @@ case "$plibpth" in
|
||||
;;
|
||||
esac
|
||||
|
||||
-# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
|
||||
-# for this test.
|
||||
-cat >try.c <<'EOM'
|
||||
-/* Test for whether ELF binaries are produced */
|
||||
-#include <fcntl.h>
|
||||
-#include <stdlib.h>
|
||||
-#include <unistd.h>
|
||||
-main() {
|
||||
- char buffer[4];
|
||||
- int i=open("a.out",O_RDONLY);
|
||||
- if(i==-1)
|
||||
- exit(1); /* fail */
|
||||
- if(read(i,&buffer[0],4)<4)
|
||||
- exit(1); /* fail */
|
||||
- if(buffer[0] != 127 || buffer[1] != 'E' ||
|
||||
- buffer[2] != 'L' || buffer[3] != 'F')
|
||||
- exit(1); /* fail */
|
||||
- exit(0); /* succeed (yes, it's ELF) */
|
||||
-}
|
||||
-EOM
|
||||
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
|
||||
- cat <<'EOM' >&4
|
||||
-
|
||||
-You appear to have ELF support. I'll try to use it for dynamic loading.
|
||||
-If dynamic loading doesn't work, read hints/linux.sh for further information.
|
||||
-EOM
|
||||
-
|
||||
-else
|
||||
- cat <<'EOM' >&4
|
||||
-
|
||||
-You don't have an ELF gcc. I will use dld if possible. If you are
|
||||
-using a version of DLD earlier than 3.2.6, or don't have it at all, you
|
||||
-should probably upgrade. If you are forced to use 3.2.4, you should
|
||||
-uncomment a couple of lines in hints/linux.sh and restart Configure so
|
||||
-that shared libraries will be disallowed.
|
||||
-
|
||||
-EOM
|
||||
- lddlflags="-r $lddlflags"
|
||||
- # These empty values are so that Configure doesn't put in the
|
||||
- # Linux ELF values.
|
||||
- ccdlflags=' '
|
||||
- cccdlflags=' '
|
||||
- ccflags="-DOVR_DBL_DIG=14 $ccflags"
|
||||
- so='sa'
|
||||
- dlext='o'
|
||||
- nm_so_opt=' '
|
||||
- ## If you are using DLD 3.2.4 which does not support shared libs,
|
||||
- ## uncomment the next two lines:
|
||||
- #ldflags="-static"
|
||||
- #so='none'
|
||||
-
|
||||
- # In addition, on some systems there is a problem with perl and NDBM
|
||||
- # which causes AnyDBM and NDBM_File to lock up. This is evidenced
|
||||
- # in the tests as AnyDBM just freezing. Apparently, this only
|
||||
- # happens on a.out systems, so we disable NDBM for all a.out linux
|
||||
- # systems. If someone can suggest a more robust test
|
||||
- # that would be appreciated.
|
||||
- #
|
||||
- # More info:
|
||||
- # Date: Wed, 7 Feb 1996 03:21:04 +0900
|
||||
- # From: Jeffrey Friedl <jfriedl@nff.ncl.omron.co.jp>
|
||||
- #
|
||||
- # I tried compiling with DBM support and sure enough things locked up
|
||||
- # just as advertised. Checking into it, I found that the lockup was
|
||||
- # during the call to dbm_open. Not *in* dbm_open -- but between the call
|
||||
- # to and the jump into.
|
||||
- #
|
||||
- # To make a long story short, making sure that the *.a and *.sa pairs of
|
||||
- # /usr/lib/lib{m,db,gdbm}.{a,sa}
|
||||
- # were perfectly in sync took care of it.
|
||||
- #
|
||||
- # This will generate a harmless Whoa There! message
|
||||
- case "$d_dbm_open" in
|
||||
- '') cat <<'EOM' >&4
|
||||
-
|
||||
-Disabling ndbm. This will generate a Whoa There message in Configure.
|
||||
-Read hints/linux.sh for further information.
|
||||
-EOM
|
||||
- # You can override this with Configure -Dd_dbm_open
|
||||
- d_dbm_open=undef
|
||||
- ;;
|
||||
- esac
|
||||
-fi
|
||||
+# libquadmath is sometimes installed as gcc internal library,
|
||||
+# so contrary to our usual policy of *not* looking at gcc internal
|
||||
+# directories we now *do* look at them, in case they contain
|
||||
|
@ -131,7 +214,8 @@ index d0ac9fa..fb5a46e 100644
|
|||
+ done
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
|
||||
-rm -f try.c a.out
|
||||
+case "$libc" in
|
||||
+'')
|
||||
+# If you have glibc, then report the version for ./myconfig bug reporting.
|
||||
|
@ -157,29 +241,13 @@ index d0ac9fa..fb5a46e 100644
|
|||
+ done
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
|
||||
# for this test.
|
||||
cat >try.c <<'EOM'
|
||||
@@ -202,7 +241,7 @@ main() {
|
||||
exit(0); /* succeed (yes, it's ELF) */
|
||||
}
|
||||
EOM
|
||||
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
|
||||
+if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then
|
||||
cat <<'EOM' >&4
|
||||
|
||||
You appear to have ELF support. I'll try to use it for dynamic loading.
|
||||
@@ -268,7 +307,7 @@ fi
|
||||
|
||||
rm -f try.c a.out
|
||||
|
||||
-if /bin/sh -c exit; then
|
||||
+if ${sh:-/bin/sh} -c exit; then
|
||||
echo ''
|
||||
echo 'You appear to have a working bash. Good.'
|
||||
else
|
||||
@@ -335,7 +374,7 @@ fi
|
||||
@@ -335,7 +288,7 @@ fi
|
||||
#'osfmach3ppc') ccdlflags='-Wl,-E' ;;
|
||||
#esac
|
||||
|
||||
|
@ -188,7 +256,7 @@ index d0ac9fa..fb5a46e 100644
|
|||
sparc*)
|
||||
case "$cccdlflags" in
|
||||
*-fpic*) cccdlflags="`echo $cccdlflags|sed 's/-fpic/-fPIC/'`" ;;
|
||||
@@ -350,30 +389,62 @@ esac
|
||||
@@ -350,30 +303,62 @@ esac
|
||||
# version of -lgdbm which is a bad idea. So if we have 'nm'
|
||||
# make sure it can read the file
|
||||
# NI-S 2003/08/07
|
||||
|
@ -268,7 +336,7 @@ index d0ac9fa..fb5a46e 100644
|
|||
if echo $libswanted | grep -v pthread >/dev/null
|
||||
then
|
||||
set `echo X "$libswanted "| sed -e 's/ c / pthread c /'`
|
||||
@@ -420,16 +491,6 @@ $define|true|[yY]*)
|
||||
@@ -420,16 +405,6 @@ $define|true|[yY]*)
|
||||
;;
|
||||
esac
|
||||
|
||||
|
@ -285,7 +353,7 @@ index d0ac9fa..fb5a46e 100644
|
|||
# If using g++, the Configure scan for dlopen() and (especially)
|
||||
# dlerror() might fail, easier just to forcibly hint them in.
|
||||
case "$cc" in
|
||||
@@ -453,7 +514,7 @@ then
|
||||
@@ -453,7 +428,7 @@ then
|
||||
DBLIB="$DBDIR/libdb.so"
|
||||
if [ -f $DBLIB ]
|
||||
then
|
||||
|
@ -309,15 +377,3 @@ index 13a15b4..a564bb3 100644
|
|||
print "\nRunning Makefile.PL in $ext_dir\n";
|
||||
|
||||
# Presumably this can be simplified
|
||||
diff --git a/patchlevel.h b/patchlevel.h
|
||||
index 4d9cd6d..0052d4a 100644
|
||||
--- a/patchlevel.h
|
||||
+++ b/patchlevel.h
|
||||
@@ -137,6 +137,7 @@ static const char * const local_patches[] = {
|
||||
,"uncommitted-changes"
|
||||
#endif
|
||||
PERL_GIT_UNPUSHED_COMMITS /* do not remove this line */
|
||||
+ ,"Devel::PatchPerl 1.38"
|
||||
,NULL
|
||||
};
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ COPY *.patch /usr/src/perl/
|
|||
WORKDIR /usr/src/perl
|
||||
|
||||
RUN curl -SL https://cpan.metacpan.org/authors/id/D/DA/DAPM/perl-5.14.4.tar.bz2 -o perl-5.14.4.tar.bz2 \
|
||||
&& echo '3527c9e26f985cba98796439bf555fde8be73cdf *perl-5.14.4.tar.bz2' | sha1sum -c - \
|
||||
&& echo 'eece8c2b0d491bf6f746bd1f4f1bb7ce26f6b98e91c54690c617d7af38964745 *perl-5.14.4.tar.bz2' | sha256sum -c - \
|
||||
&& tar --strip-components=1 -xjf perl-5.14.4.tar.bz2 -C /usr/src/perl \
|
||||
&& rm perl-5.14.4.tar.bz2 \
|
||||
&& cat *.patch | patch -p1 \
|
||||
|
|
|
@ -40,7 +40,7 @@ index 439f254..a324604 100644
|
|||
or die "Cannot exec $cpp";
|
||||
}
|
||||
diff --git a/hints/linux.sh b/hints/linux.sh
|
||||
index 688c68d..fb5a46e 100644
|
||||
index 688c68d..3f38ea0 100644
|
||||
--- a/hints/linux.sh
|
||||
+++ b/hints/linux.sh
|
||||
@@ -39,7 +39,7 @@ i_libutil='undef'
|
||||
|
@ -111,10 +111,93 @@ index 688c68d..fb5a46e 100644
|
|||
cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
|
||||
set X $plibpth # Collapse all entries on one line
|
||||
shift
|
||||
@@ -182,6 +178,49 @@ case "$plibpth" in
|
||||
@@ -182,93 +178,50 @@ case "$plibpth" in
|
||||
;;
|
||||
esac
|
||||
|
||||
-# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
|
||||
-# for this test.
|
||||
-cat >try.c <<'EOM'
|
||||
-/* Test for whether ELF binaries are produced */
|
||||
-#include <fcntl.h>
|
||||
-#include <stdlib.h>
|
||||
-#include <unistd.h>
|
||||
-main() {
|
||||
- char buffer[4];
|
||||
- int i=open("a.out",O_RDONLY);
|
||||
- if(i==-1)
|
||||
- exit(1); /* fail */
|
||||
- if(read(i,&buffer[0],4)<4)
|
||||
- exit(1); /* fail */
|
||||
- if(buffer[0] != 127 || buffer[1] != 'E' ||
|
||||
- buffer[2] != 'L' || buffer[3] != 'F')
|
||||
- exit(1); /* fail */
|
||||
- exit(0); /* succeed (yes, it's ELF) */
|
||||
-}
|
||||
-EOM
|
||||
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
|
||||
- cat <<'EOM' >&4
|
||||
-
|
||||
-You appear to have ELF support. I'll try to use it for dynamic loading.
|
||||
-If dynamic loading doesn't work, read hints/linux.sh for further information.
|
||||
-EOM
|
||||
-
|
||||
-else
|
||||
- cat <<'EOM' >&4
|
||||
-
|
||||
-You don't have an ELF gcc. I will use dld if possible. If you are
|
||||
-using a version of DLD earlier than 3.2.6, or don't have it at all, you
|
||||
-should probably upgrade. If you are forced to use 3.2.4, you should
|
||||
-uncomment a couple of lines in hints/linux.sh and restart Configure so
|
||||
-that shared libraries will be disallowed.
|
||||
-
|
||||
-EOM
|
||||
- lddlflags="-r $lddlflags"
|
||||
- # These empty values are so that Configure doesn't put in the
|
||||
- # Linux ELF values.
|
||||
- ccdlflags=' '
|
||||
- cccdlflags=' '
|
||||
- ccflags="-DOVR_DBL_DIG=14 $ccflags"
|
||||
- so='sa'
|
||||
- dlext='o'
|
||||
- nm_so_opt=' '
|
||||
- ## If you are using DLD 3.2.4 which does not support shared libs,
|
||||
- ## uncomment the next two lines:
|
||||
- #ldflags="-static"
|
||||
- #so='none'
|
||||
-
|
||||
- # In addition, on some systems there is a problem with perl and NDBM
|
||||
- # which causes AnyDBM and NDBM_File to lock up. This is evidenced
|
||||
- # in the tests as AnyDBM just freezing. Apparently, this only
|
||||
- # happens on a.out systems, so we disable NDBM for all a.out linux
|
||||
- # systems. If someone can suggest a more robust test
|
||||
- # that would be appreciated.
|
||||
- #
|
||||
- # More info:
|
||||
- # Date: Wed, 7 Feb 1996 03:21:04 +0900
|
||||
- # From: Jeffrey Friedl <jfriedl@nff.ncl.omron.co.jp>
|
||||
- #
|
||||
- # I tried compiling with DBM support and sure enough things locked up
|
||||
- # just as advertised. Checking into it, I found that the lockup was
|
||||
- # during the call to dbm_open. Not *in* dbm_open -- but between the call
|
||||
- # to and the jump into.
|
||||
- #
|
||||
- # To make a long story short, making sure that the *.a and *.sa pairs of
|
||||
- # /usr/lib/lib{m,db,gdbm}.{a,sa}
|
||||
- # were perfectly in sync took care of it.
|
||||
- #
|
||||
- # This will generate a harmless Whoa There! message
|
||||
- case "$d_dbm_open" in
|
||||
- '') cat <<'EOM' >&4
|
||||
-
|
||||
-Disabling ndbm. This will generate a Whoa There message in Configure.
|
||||
-Read hints/linux.sh for further information.
|
||||
-EOM
|
||||
- # You can override this with Configure -Dd_dbm_open
|
||||
- d_dbm_open=undef
|
||||
- ;;
|
||||
- esac
|
||||
-fi
|
||||
+# libquadmath is sometimes installed as gcc internal library,
|
||||
+# so contrary to our usual policy of *not* looking at gcc internal
|
||||
+# directories we now *do* look at them, in case they contain
|
||||
|
@ -131,7 +214,8 @@ index 688c68d..fb5a46e 100644
|
|||
+ done
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
|
||||
-rm -f try.c a.out
|
||||
+case "$libc" in
|
||||
+'')
|
||||
+# If you have glibc, then report the version for ./myconfig bug reporting.
|
||||
|
@ -157,29 +241,13 @@ index 688c68d..fb5a46e 100644
|
|||
+ done
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
|
||||
# for this test.
|
||||
cat >try.c <<'EOM'
|
||||
@@ -202,7 +241,7 @@ main() {
|
||||
exit(0); /* succeed (yes, it's ELF) */
|
||||
}
|
||||
EOM
|
||||
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
|
||||
+if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then
|
||||
cat <<'EOM' >&4
|
||||
|
||||
You appear to have ELF support. I'll try to use it for dynamic loading.
|
||||
@@ -268,7 +307,7 @@ fi
|
||||
|
||||
rm -f try.c a.out
|
||||
|
||||
-if /bin/sh -c exit; then
|
||||
+if ${sh:-/bin/sh} -c exit; then
|
||||
echo ''
|
||||
echo 'You appear to have a working bash. Good.'
|
||||
else
|
||||
@@ -335,7 +374,7 @@ fi
|
||||
@@ -335,7 +288,7 @@ fi
|
||||
#'osfmach3ppc') ccdlflags='-Wl,-E' ;;
|
||||
#esac
|
||||
|
||||
|
@ -188,7 +256,7 @@ index 688c68d..fb5a46e 100644
|
|||
sparc*)
|
||||
case "$cccdlflags" in
|
||||
*-fpic*) cccdlflags="`echo $cccdlflags|sed 's/-fpic/-fPIC/'`" ;;
|
||||
@@ -350,17 +389,55 @@ esac
|
||||
@@ -350,17 +303,55 @@ esac
|
||||
# version of -lgdbm which is a bad idea. So if we have 'nm'
|
||||
# make sure it can read the file
|
||||
# NI-S 2003/08/07
|
||||
|
@ -254,7 +322,7 @@ index 688c68d..fb5a46e 100644
|
|||
|
||||
# This script UU/usethreads.cbu will get 'called-back' by Configure
|
||||
# after it has prompted the user for whether to use threads.
|
||||
@@ -414,16 +491,6 @@ $define|true|[yY]*)
|
||||
@@ -414,16 +405,6 @@ $define|true|[yY]*)
|
||||
;;
|
||||
esac
|
||||
|
||||
|
@ -271,7 +339,7 @@ index 688c68d..fb5a46e 100644
|
|||
# If using g++, the Configure scan for dlopen() and (especially)
|
||||
# dlerror() might fail, easier just to forcibly hint them in.
|
||||
case "$cc" in
|
||||
@@ -447,7 +514,7 @@ then
|
||||
@@ -447,7 +428,7 @@ then
|
||||
DBLIB="$DBDIR/libdb.so"
|
||||
if [ -f $DBLIB ]
|
||||
then
|
||||
|
@ -280,15 +348,3 @@ index 688c68d..fb5a46e 100644
|
|||
then
|
||||
if ldd $DBLIB | grep pthread >/dev/null
|
||||
then
|
||||
diff --git a/patchlevel.h b/patchlevel.h
|
||||
index be508d1..d71558a 100644
|
||||
--- a/patchlevel.h
|
||||
+++ b/patchlevel.h
|
||||
@@ -137,6 +137,7 @@ static const char * const local_patches[] = {
|
||||
,"uncommitted-changes"
|
||||
#endif
|
||||
PERL_GIT_UNPUSHED_COMMITS /* do not remove this line */
|
||||
+ ,"Devel::PatchPerl 1.38"
|
||||
,NULL
|
||||
};
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ COPY *.patch /usr/src/perl/
|
|||
WORKDIR /usr/src/perl
|
||||
|
||||
RUN curl -SL https://cpan.metacpan.org/authors/id/R/RJ/RJBS/perl-5.16.3.tar.bz2 -o perl-5.16.3.tar.bz2 \
|
||||
&& echo '060bc17cf9f142d043f9bf7b861422ec624875ea *perl-5.16.3.tar.bz2' | sha1sum -c - \
|
||||
&& echo 'bb7bc735e6813b177dcfccd480defcde7eddefa173b5967eac11babd1bfa98e8 *perl-5.16.3.tar.bz2' | sha256sum -c - \
|
||||
&& tar --strip-components=1 -xjf perl-5.16.3.tar.bz2 -C /usr/src/perl \
|
||||
&& rm perl-5.16.3.tar.bz2 \
|
||||
&& cat *.patch | patch -p1 \
|
||||
|
|
|
@ -40,7 +40,7 @@ index 439f254..a324604 100644
|
|||
or die "Cannot exec $cpp";
|
||||
}
|
||||
diff --git a/hints/linux.sh b/hints/linux.sh
|
||||
index 688c68d..fb5a46e 100644
|
||||
index 688c68d..3f38ea0 100644
|
||||
--- a/hints/linux.sh
|
||||
+++ b/hints/linux.sh
|
||||
@@ -39,7 +39,7 @@ i_libutil='undef'
|
||||
|
@ -111,10 +111,93 @@ index 688c68d..fb5a46e 100644
|
|||
cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
|
||||
set X $plibpth # Collapse all entries on one line
|
||||
shift
|
||||
@@ -182,6 +178,49 @@ case "$plibpth" in
|
||||
@@ -182,93 +178,50 @@ case "$plibpth" in
|
||||
;;
|
||||
esac
|
||||
|
||||
-# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
|
||||
-# for this test.
|
||||
-cat >try.c <<'EOM'
|
||||
-/* Test for whether ELF binaries are produced */
|
||||
-#include <fcntl.h>
|
||||
-#include <stdlib.h>
|
||||
-#include <unistd.h>
|
||||
-main() {
|
||||
- char buffer[4];
|
||||
- int i=open("a.out",O_RDONLY);
|
||||
- if(i==-1)
|
||||
- exit(1); /* fail */
|
||||
- if(read(i,&buffer[0],4)<4)
|
||||
- exit(1); /* fail */
|
||||
- if(buffer[0] != 127 || buffer[1] != 'E' ||
|
||||
- buffer[2] != 'L' || buffer[3] != 'F')
|
||||
- exit(1); /* fail */
|
||||
- exit(0); /* succeed (yes, it's ELF) */
|
||||
-}
|
||||
-EOM
|
||||
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
|
||||
- cat <<'EOM' >&4
|
||||
-
|
||||
-You appear to have ELF support. I'll try to use it for dynamic loading.
|
||||
-If dynamic loading doesn't work, read hints/linux.sh for further information.
|
||||
-EOM
|
||||
-
|
||||
-else
|
||||
- cat <<'EOM' >&4
|
||||
-
|
||||
-You don't have an ELF gcc. I will use dld if possible. If you are
|
||||
-using a version of DLD earlier than 3.2.6, or don't have it at all, you
|
||||
-should probably upgrade. If you are forced to use 3.2.4, you should
|
||||
-uncomment a couple of lines in hints/linux.sh and restart Configure so
|
||||
-that shared libraries will be disallowed.
|
||||
-
|
||||
-EOM
|
||||
- lddlflags="-r $lddlflags"
|
||||
- # These empty values are so that Configure doesn't put in the
|
||||
- # Linux ELF values.
|
||||
- ccdlflags=' '
|
||||
- cccdlflags=' '
|
||||
- ccflags="-DOVR_DBL_DIG=14 $ccflags"
|
||||
- so='sa'
|
||||
- dlext='o'
|
||||
- nm_so_opt=' '
|
||||
- ## If you are using DLD 3.2.4 which does not support shared libs,
|
||||
- ## uncomment the next two lines:
|
||||
- #ldflags="-static"
|
||||
- #so='none'
|
||||
-
|
||||
- # In addition, on some systems there is a problem with perl and NDBM
|
||||
- # which causes AnyDBM and NDBM_File to lock up. This is evidenced
|
||||
- # in the tests as AnyDBM just freezing. Apparently, this only
|
||||
- # happens on a.out systems, so we disable NDBM for all a.out linux
|
||||
- # systems. If someone can suggest a more robust test
|
||||
- # that would be appreciated.
|
||||
- #
|
||||
- # More info:
|
||||
- # Date: Wed, 7 Feb 1996 03:21:04 +0900
|
||||
- # From: Jeffrey Friedl <jfriedl@nff.ncl.omron.co.jp>
|
||||
- #
|
||||
- # I tried compiling with DBM support and sure enough things locked up
|
||||
- # just as advertised. Checking into it, I found that the lockup was
|
||||
- # during the call to dbm_open. Not *in* dbm_open -- but between the call
|
||||
- # to and the jump into.
|
||||
- #
|
||||
- # To make a long story short, making sure that the *.a and *.sa pairs of
|
||||
- # /usr/lib/lib{m,db,gdbm}.{a,sa}
|
||||
- # were perfectly in sync took care of it.
|
||||
- #
|
||||
- # This will generate a harmless Whoa There! message
|
||||
- case "$d_dbm_open" in
|
||||
- '') cat <<'EOM' >&4
|
||||
-
|
||||
-Disabling ndbm. This will generate a Whoa There message in Configure.
|
||||
-Read hints/linux.sh for further information.
|
||||
-EOM
|
||||
- # You can override this with Configure -Dd_dbm_open
|
||||
- d_dbm_open=undef
|
||||
- ;;
|
||||
- esac
|
||||
-fi
|
||||
+# libquadmath is sometimes installed as gcc internal library,
|
||||
+# so contrary to our usual policy of *not* looking at gcc internal
|
||||
+# directories we now *do* look at them, in case they contain
|
||||
|
@ -131,7 +214,8 @@ index 688c68d..fb5a46e 100644
|
|||
+ done
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
|
||||
-rm -f try.c a.out
|
||||
+case "$libc" in
|
||||
+'')
|
||||
+# If you have glibc, then report the version for ./myconfig bug reporting.
|
||||
|
@ -157,29 +241,13 @@ index 688c68d..fb5a46e 100644
|
|||
+ done
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
|
||||
# for this test.
|
||||
cat >try.c <<'EOM'
|
||||
@@ -202,7 +241,7 @@ main() {
|
||||
exit(0); /* succeed (yes, it's ELF) */
|
||||
}
|
||||
EOM
|
||||
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
|
||||
+if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then
|
||||
cat <<'EOM' >&4
|
||||
|
||||
You appear to have ELF support. I'll try to use it for dynamic loading.
|
||||
@@ -268,7 +307,7 @@ fi
|
||||
|
||||
rm -f try.c a.out
|
||||
|
||||
-if /bin/sh -c exit; then
|
||||
+if ${sh:-/bin/sh} -c exit; then
|
||||
echo ''
|
||||
echo 'You appear to have a working bash. Good.'
|
||||
else
|
||||
@@ -335,7 +374,7 @@ fi
|
||||
@@ -335,7 +288,7 @@ fi
|
||||
#'osfmach3ppc') ccdlflags='-Wl,-E' ;;
|
||||
#esac
|
||||
|
||||
|
@ -188,7 +256,7 @@ index 688c68d..fb5a46e 100644
|
|||
sparc*)
|
||||
case "$cccdlflags" in
|
||||
*-fpic*) cccdlflags="`echo $cccdlflags|sed 's/-fpic/-fPIC/'`" ;;
|
||||
@@ -350,17 +389,55 @@ esac
|
||||
@@ -350,17 +303,55 @@ esac
|
||||
# version of -lgdbm which is a bad idea. So if we have 'nm'
|
||||
# make sure it can read the file
|
||||
# NI-S 2003/08/07
|
||||
|
@ -254,7 +322,7 @@ index 688c68d..fb5a46e 100644
|
|||
|
||||
# This script UU/usethreads.cbu will get 'called-back' by Configure
|
||||
# after it has prompted the user for whether to use threads.
|
||||
@@ -414,16 +491,6 @@ $define|true|[yY]*)
|
||||
@@ -414,16 +405,6 @@ $define|true|[yY]*)
|
||||
;;
|
||||
esac
|
||||
|
||||
|
@ -271,7 +339,7 @@ index 688c68d..fb5a46e 100644
|
|||
# If using g++, the Configure scan for dlopen() and (especially)
|
||||
# dlerror() might fail, easier just to forcibly hint them in.
|
||||
case "$cc" in
|
||||
@@ -447,7 +514,7 @@ then
|
||||
@@ -447,7 +428,7 @@ then
|
||||
DBLIB="$DBDIR/libdb.so"
|
||||
if [ -f $DBLIB ]
|
||||
then
|
||||
|
@ -280,15 +348,3 @@ index 688c68d..fb5a46e 100644
|
|||
then
|
||||
if ldd $DBLIB | grep pthread >/dev/null
|
||||
then
|
||||
diff --git a/patchlevel.h b/patchlevel.h
|
||||
index be508d1..d71558a 100644
|
||||
--- a/patchlevel.h
|
||||
+++ b/patchlevel.h
|
||||
@@ -137,6 +137,7 @@ static const char * const local_patches[] = {
|
||||
,"uncommitted-changes"
|
||||
#endif
|
||||
PERL_GIT_UNPUSHED_COMMITS /* do not remove this line */
|
||||
+ ,"Devel::PatchPerl 1.38"
|
||||
,NULL
|
||||
};
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ COPY *.patch /usr/src/perl/
|
|||
WORKDIR /usr/src/perl
|
||||
|
||||
RUN curl -SL https://cpan.metacpan.org/authors/id/R/RJ/RJBS/perl-5.16.3.tar.bz2 -o perl-5.16.3.tar.bz2 \
|
||||
&& echo '060bc17cf9f142d043f9bf7b861422ec624875ea *perl-5.16.3.tar.bz2' | sha1sum -c - \
|
||||
&& echo 'bb7bc735e6813b177dcfccd480defcde7eddefa173b5967eac11babd1bfa98e8 *perl-5.16.3.tar.bz2' | sha256sum -c - \
|
||||
&& tar --strip-components=1 -xjf perl-5.16.3.tar.bz2 -C /usr/src/perl \
|
||||
&& rm perl-5.16.3.tar.bz2 \
|
||||
&& cat *.patch | patch -p1 \
|
||||
|
|
|
@ -40,7 +40,7 @@ index b707911..2588f0b 100644
|
|||
or die "Cannot exec $cpp";
|
||||
}
|
||||
diff --git a/hints/linux.sh b/hints/linux.sh
|
||||
index a148248..fb5a46e 100644
|
||||
index a148248..3f38ea0 100644
|
||||
--- a/hints/linux.sh
|
||||
+++ b/hints/linux.sh
|
||||
@@ -39,7 +39,7 @@ i_libutil='undef'
|
||||
|
@ -111,10 +111,93 @@ index a148248..fb5a46e 100644
|
|||
cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
|
||||
set X $plibpth # Collapse all entries on one line
|
||||
shift
|
||||
@@ -182,6 +178,49 @@ case "$plibpth" in
|
||||
@@ -182,93 +178,50 @@ case "$plibpth" in
|
||||
;;
|
||||
esac
|
||||
|
||||
-# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
|
||||
-# for this test.
|
||||
-cat >try.c <<'EOM'
|
||||
-/* Test for whether ELF binaries are produced */
|
||||
-#include <fcntl.h>
|
||||
-#include <stdlib.h>
|
||||
-#include <unistd.h>
|
||||
-main() {
|
||||
- char buffer[4];
|
||||
- int i=open("a.out",O_RDONLY);
|
||||
- if(i==-1)
|
||||
- exit(1); /* fail */
|
||||
- if(read(i,&buffer[0],4)<4)
|
||||
- exit(1); /* fail */
|
||||
- if(buffer[0] != 127 || buffer[1] != 'E' ||
|
||||
- buffer[2] != 'L' || buffer[3] != 'F')
|
||||
- exit(1); /* fail */
|
||||
- exit(0); /* succeed (yes, it's ELF) */
|
||||
-}
|
||||
-EOM
|
||||
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
|
||||
- cat <<'EOM' >&4
|
||||
-
|
||||
-You appear to have ELF support. I'll try to use it for dynamic loading.
|
||||
-If dynamic loading doesn't work, read hints/linux.sh for further information.
|
||||
-EOM
|
||||
-
|
||||
-else
|
||||
- cat <<'EOM' >&4
|
||||
-
|
||||
-You don't have an ELF gcc. I will use dld if possible. If you are
|
||||
-using a version of DLD earlier than 3.2.6, or don't have it at all, you
|
||||
-should probably upgrade. If you are forced to use 3.2.4, you should
|
||||
-uncomment a couple of lines in hints/linux.sh and restart Configure so
|
||||
-that shared libraries will be disallowed.
|
||||
-
|
||||
-EOM
|
||||
- lddlflags="-r $lddlflags"
|
||||
- # These empty values are so that Configure doesn't put in the
|
||||
- # Linux ELF values.
|
||||
- ccdlflags=' '
|
||||
- cccdlflags=' '
|
||||
- ccflags="-DOVR_DBL_DIG=14 $ccflags"
|
||||
- so='sa'
|
||||
- dlext='o'
|
||||
- nm_so_opt=' '
|
||||
- ## If you are using DLD 3.2.4 which does not support shared libs,
|
||||
- ## uncomment the next two lines:
|
||||
- #ldflags="-static"
|
||||
- #so='none'
|
||||
-
|
||||
- # In addition, on some systems there is a problem with perl and NDBM
|
||||
- # which causes AnyDBM and NDBM_File to lock up. This is evidenced
|
||||
- # in the tests as AnyDBM just freezing. Apparently, this only
|
||||
- # happens on a.out systems, so we disable NDBM for all a.out linux
|
||||
- # systems. If someone can suggest a more robust test
|
||||
- # that would be appreciated.
|
||||
- #
|
||||
- # More info:
|
||||
- # Date: Wed, 7 Feb 1996 03:21:04 +0900
|
||||
- # From: Jeffrey Friedl <jfriedl@nff.ncl.omron.co.jp>
|
||||
- #
|
||||
- # I tried compiling with DBM support and sure enough things locked up
|
||||
- # just as advertised. Checking into it, I found that the lockup was
|
||||
- # during the call to dbm_open. Not *in* dbm_open -- but between the call
|
||||
- # to and the jump into.
|
||||
- #
|
||||
- # To make a long story short, making sure that the *.a and *.sa pairs of
|
||||
- # /usr/lib/lib{m,db,gdbm}.{a,sa}
|
||||
- # were perfectly in sync took care of it.
|
||||
- #
|
||||
- # This will generate a harmless Whoa There! message
|
||||
- case "$d_dbm_open" in
|
||||
- '') cat <<'EOM' >&4
|
||||
-
|
||||
-Disabling ndbm. This will generate a Whoa There message in Configure.
|
||||
-Read hints/linux.sh for further information.
|
||||
-EOM
|
||||
- # You can override this with Configure -Dd_dbm_open
|
||||
- d_dbm_open=undef
|
||||
- ;;
|
||||
- esac
|
||||
-fi
|
||||
+# libquadmath is sometimes installed as gcc internal library,
|
||||
+# so contrary to our usual policy of *not* looking at gcc internal
|
||||
+# directories we now *do* look at them, in case they contain
|
||||
|
@ -131,7 +214,8 @@ index a148248..fb5a46e 100644
|
|||
+ done
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
|
||||
-rm -f try.c a.out
|
||||
+case "$libc" in
|
||||
+'')
|
||||
+# If you have glibc, then report the version for ./myconfig bug reporting.
|
||||
|
@ -157,29 +241,13 @@ index a148248..fb5a46e 100644
|
|||
+ done
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
|
||||
# for this test.
|
||||
cat >try.c <<'EOM'
|
||||
@@ -202,7 +241,7 @@ main() {
|
||||
exit(0); /* succeed (yes, it's ELF) */
|
||||
}
|
||||
EOM
|
||||
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
|
||||
+if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then
|
||||
cat <<'EOM' >&4
|
||||
|
||||
You appear to have ELF support. I'll try to use it for dynamic loading.
|
||||
@@ -268,7 +307,7 @@ fi
|
||||
|
||||
rm -f try.c a.out
|
||||
|
||||
-if /bin/sh -c exit; then
|
||||
+if ${sh:-/bin/sh} -c exit; then
|
||||
echo ''
|
||||
echo 'You appear to have a working bash. Good.'
|
||||
else
|
||||
@@ -335,7 +374,7 @@ fi
|
||||
@@ -335,7 +288,7 @@ fi
|
||||
#'osfmach3ppc') ccdlflags='-Wl,-E' ;;
|
||||
#esac
|
||||
|
||||
|
@ -188,7 +256,7 @@ index a148248..fb5a46e 100644
|
|||
sparc*)
|
||||
case "$cccdlflags" in
|
||||
*-fpic*) cccdlflags="`echo $cccdlflags|sed 's/-fpic/-fPIC/'`" ;;
|
||||
@@ -350,17 +389,55 @@ esac
|
||||
@@ -350,17 +303,55 @@ esac
|
||||
# version of -lgdbm which is a bad idea. So if we have 'nm'
|
||||
# make sure it can read the file
|
||||
# NI-S 2003/08/07
|
||||
|
@ -254,7 +322,7 @@ index a148248..fb5a46e 100644
|
|||
|
||||
# This script UU/usethreads.cbu will get 'called-back' by Configure
|
||||
# after it has prompted the user for whether to use threads.
|
||||
@@ -437,7 +514,7 @@ then
|
||||
@@ -437,7 +428,7 @@ then
|
||||
DBLIB="$DBDIR/libdb.so"
|
||||
if [ -f $DBLIB ]
|
||||
then
|
||||
|
@ -263,15 +331,3 @@ index a148248..fb5a46e 100644
|
|||
then
|
||||
if ldd $DBLIB | grep pthread >/dev/null
|
||||
then
|
||||
diff --git a/patchlevel.h b/patchlevel.h
|
||||
index cb033ea..78c727d 100644
|
||||
--- a/patchlevel.h
|
||||
+++ b/patchlevel.h
|
||||
@@ -137,6 +137,7 @@ static const char * const local_patches[] = {
|
||||
,"uncommitted-changes"
|
||||
#endif
|
||||
PERL_GIT_UNPUSHED_COMMITS /* do not remove this line */
|
||||
+ ,"Devel::PatchPerl 1.38"
|
||||
,NULL
|
||||
};
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ COPY *.patch /usr/src/perl/
|
|||
WORKDIR /usr/src/perl
|
||||
|
||||
RUN curl -SL https://cpan.metacpan.org/authors/id/R/RJ/RJBS/perl-5.18.4.tar.bz2 -o perl-5.18.4.tar.bz2 \
|
||||
&& echo '69c34558a0a939a7adbbc1de48c06ea418d81e27 *perl-5.18.4.tar.bz2' | sha1sum -c - \
|
||||
&& echo '1fb4d27b75cd244e849f253320260efe1750641aaff4a18ce0d67556ff1b96a5 *perl-5.18.4.tar.bz2' | sha256sum -c - \
|
||||
&& tar --strip-components=1 -xjf perl-5.18.4.tar.bz2 -C /usr/src/perl \
|
||||
&& rm perl-5.18.4.tar.bz2 \
|
||||
&& cat *.patch | patch -p1 \
|
||||
|
|
|
@ -40,7 +40,7 @@ index b707911..2588f0b 100644
|
|||
or die "Cannot exec $cpp";
|
||||
}
|
||||
diff --git a/hints/linux.sh b/hints/linux.sh
|
||||
index a148248..fb5a46e 100644
|
||||
index a148248..3f38ea0 100644
|
||||
--- a/hints/linux.sh
|
||||
+++ b/hints/linux.sh
|
||||
@@ -39,7 +39,7 @@ i_libutil='undef'
|
||||
|
@ -111,10 +111,93 @@ index a148248..fb5a46e 100644
|
|||
cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
|
||||
set X $plibpth # Collapse all entries on one line
|
||||
shift
|
||||
@@ -182,6 +178,49 @@ case "$plibpth" in
|
||||
@@ -182,93 +178,50 @@ case "$plibpth" in
|
||||
;;
|
||||
esac
|
||||
|
||||
-# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
|
||||
-# for this test.
|
||||
-cat >try.c <<'EOM'
|
||||
-/* Test for whether ELF binaries are produced */
|
||||
-#include <fcntl.h>
|
||||
-#include <stdlib.h>
|
||||
-#include <unistd.h>
|
||||
-main() {
|
||||
- char buffer[4];
|
||||
- int i=open("a.out",O_RDONLY);
|
||||
- if(i==-1)
|
||||
- exit(1); /* fail */
|
||||
- if(read(i,&buffer[0],4)<4)
|
||||
- exit(1); /* fail */
|
||||
- if(buffer[0] != 127 || buffer[1] != 'E' ||
|
||||
- buffer[2] != 'L' || buffer[3] != 'F')
|
||||
- exit(1); /* fail */
|
||||
- exit(0); /* succeed (yes, it's ELF) */
|
||||
-}
|
||||
-EOM
|
||||
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
|
||||
- cat <<'EOM' >&4
|
||||
-
|
||||
-You appear to have ELF support. I'll try to use it for dynamic loading.
|
||||
-If dynamic loading doesn't work, read hints/linux.sh for further information.
|
||||
-EOM
|
||||
-
|
||||
-else
|
||||
- cat <<'EOM' >&4
|
||||
-
|
||||
-You don't have an ELF gcc. I will use dld if possible. If you are
|
||||
-using a version of DLD earlier than 3.2.6, or don't have it at all, you
|
||||
-should probably upgrade. If you are forced to use 3.2.4, you should
|
||||
-uncomment a couple of lines in hints/linux.sh and restart Configure so
|
||||
-that shared libraries will be disallowed.
|
||||
-
|
||||
-EOM
|
||||
- lddlflags="-r $lddlflags"
|
||||
- # These empty values are so that Configure doesn't put in the
|
||||
- # Linux ELF values.
|
||||
- ccdlflags=' '
|
||||
- cccdlflags=' '
|
||||
- ccflags="-DOVR_DBL_DIG=14 $ccflags"
|
||||
- so='sa'
|
||||
- dlext='o'
|
||||
- nm_so_opt=' '
|
||||
- ## If you are using DLD 3.2.4 which does not support shared libs,
|
||||
- ## uncomment the next two lines:
|
||||
- #ldflags="-static"
|
||||
- #so='none'
|
||||
-
|
||||
- # In addition, on some systems there is a problem with perl and NDBM
|
||||
- # which causes AnyDBM and NDBM_File to lock up. This is evidenced
|
||||
- # in the tests as AnyDBM just freezing. Apparently, this only
|
||||
- # happens on a.out systems, so we disable NDBM for all a.out linux
|
||||
- # systems. If someone can suggest a more robust test
|
||||
- # that would be appreciated.
|
||||
- #
|
||||
- # More info:
|
||||
- # Date: Wed, 7 Feb 1996 03:21:04 +0900
|
||||
- # From: Jeffrey Friedl <jfriedl@nff.ncl.omron.co.jp>
|
||||
- #
|
||||
- # I tried compiling with DBM support and sure enough things locked up
|
||||
- # just as advertised. Checking into it, I found that the lockup was
|
||||
- # during the call to dbm_open. Not *in* dbm_open -- but between the call
|
||||
- # to and the jump into.
|
||||
- #
|
||||
- # To make a long story short, making sure that the *.a and *.sa pairs of
|
||||
- # /usr/lib/lib{m,db,gdbm}.{a,sa}
|
||||
- # were perfectly in sync took care of it.
|
||||
- #
|
||||
- # This will generate a harmless Whoa There! message
|
||||
- case "$d_dbm_open" in
|
||||
- '') cat <<'EOM' >&4
|
||||
-
|
||||
-Disabling ndbm. This will generate a Whoa There message in Configure.
|
||||
-Read hints/linux.sh for further information.
|
||||
-EOM
|
||||
- # You can override this with Configure -Dd_dbm_open
|
||||
- d_dbm_open=undef
|
||||
- ;;
|
||||
- esac
|
||||
-fi
|
||||
+# libquadmath is sometimes installed as gcc internal library,
|
||||
+# so contrary to our usual policy of *not* looking at gcc internal
|
||||
+# directories we now *do* look at them, in case they contain
|
||||
|
@ -131,7 +214,8 @@ index a148248..fb5a46e 100644
|
|||
+ done
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
|
||||
-rm -f try.c a.out
|
||||
+case "$libc" in
|
||||
+'')
|
||||
+# If you have glibc, then report the version for ./myconfig bug reporting.
|
||||
|
@ -157,29 +241,13 @@ index a148248..fb5a46e 100644
|
|||
+ done
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
|
||||
# for this test.
|
||||
cat >try.c <<'EOM'
|
||||
@@ -202,7 +241,7 @@ main() {
|
||||
exit(0); /* succeed (yes, it's ELF) */
|
||||
}
|
||||
EOM
|
||||
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
|
||||
+if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then
|
||||
cat <<'EOM' >&4
|
||||
|
||||
You appear to have ELF support. I'll try to use it for dynamic loading.
|
||||
@@ -268,7 +307,7 @@ fi
|
||||
|
||||
rm -f try.c a.out
|
||||
|
||||
-if /bin/sh -c exit; then
|
||||
+if ${sh:-/bin/sh} -c exit; then
|
||||
echo ''
|
||||
echo 'You appear to have a working bash. Good.'
|
||||
else
|
||||
@@ -335,7 +374,7 @@ fi
|
||||
@@ -335,7 +288,7 @@ fi
|
||||
#'osfmach3ppc') ccdlflags='-Wl,-E' ;;
|
||||
#esac
|
||||
|
||||
|
@ -188,7 +256,7 @@ index a148248..fb5a46e 100644
|
|||
sparc*)
|
||||
case "$cccdlflags" in
|
||||
*-fpic*) cccdlflags="`echo $cccdlflags|sed 's/-fpic/-fPIC/'`" ;;
|
||||
@@ -350,17 +389,55 @@ esac
|
||||
@@ -350,17 +303,55 @@ esac
|
||||
# version of -lgdbm which is a bad idea. So if we have 'nm'
|
||||
# make sure it can read the file
|
||||
# NI-S 2003/08/07
|
||||
|
@ -254,7 +322,7 @@ index a148248..fb5a46e 100644
|
|||
|
||||
# This script UU/usethreads.cbu will get 'called-back' by Configure
|
||||
# after it has prompted the user for whether to use threads.
|
||||
@@ -437,7 +514,7 @@ then
|
||||
@@ -437,7 +428,7 @@ then
|
||||
DBLIB="$DBDIR/libdb.so"
|
||||
if [ -f $DBLIB ]
|
||||
then
|
||||
|
@ -263,15 +331,3 @@ index a148248..fb5a46e 100644
|
|||
then
|
||||
if ldd $DBLIB | grep pthread >/dev/null
|
||||
then
|
||||
diff --git a/patchlevel.h b/patchlevel.h
|
||||
index cb033ea..78c727d 100644
|
||||
--- a/patchlevel.h
|
||||
+++ b/patchlevel.h
|
||||
@@ -137,6 +137,7 @@ static const char * const local_patches[] = {
|
||||
,"uncommitted-changes"
|
||||
#endif
|
||||
PERL_GIT_UNPUSHED_COMMITS /* do not remove this line */
|
||||
+ ,"Devel::PatchPerl 1.38"
|
||||
,NULL
|
||||
};
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ COPY *.patch /usr/src/perl/
|
|||
WORKDIR /usr/src/perl
|
||||
|
||||
RUN curl -SL https://cpan.metacpan.org/authors/id/R/RJ/RJBS/perl-5.18.4.tar.bz2 -o perl-5.18.4.tar.bz2 \
|
||||
&& echo '69c34558a0a939a7adbbc1de48c06ea418d81e27 *perl-5.18.4.tar.bz2' | sha1sum -c - \
|
||||
&& echo '1fb4d27b75cd244e849f253320260efe1750641aaff4a18ce0d67556ff1b96a5 *perl-5.18.4.tar.bz2' | sha256sum -c - \
|
||||
&& tar --strip-components=1 -xjf perl-5.18.4.tar.bz2 -C /usr/src/perl \
|
||||
&& rm perl-5.18.4.tar.bz2 \
|
||||
&& cat *.patch | patch -p1 \
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
diff --git a/hints/linux.sh b/hints/linux.sh
|
||||
index 956adfc..fb5a46e 100644
|
||||
index 956adfc..3f38ea0 100644
|
||||
--- a/hints/linux.sh
|
||||
+++ b/hints/linux.sh
|
||||
@@ -178,6 +178,23 @@ case "$plibpth" in
|
||||
|
@ -26,7 +26,100 @@ index 956adfc..fb5a46e 100644
|
|||
case "$libc" in
|
||||
'')
|
||||
# If you have glibc, then report the version for ./myconfig bug reporting.
|
||||
@@ -497,7 +514,7 @@ then
|
||||
@@ -204,92 +221,6 @@ case "$libc" in
|
||||
;;
|
||||
esac
|
||||
|
||||
-# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
|
||||
-# for this test.
|
||||
-cat >try.c <<'EOM'
|
||||
-/* Test for whether ELF binaries are produced */
|
||||
-#include <fcntl.h>
|
||||
-#include <stdlib.h>
|
||||
-#include <unistd.h>
|
||||
-main() {
|
||||
- char buffer[4];
|
||||
- int i=open("a.out",O_RDONLY);
|
||||
- if(i==-1)
|
||||
- exit(1); /* fail */
|
||||
- if(read(i,&buffer[0],4)<4)
|
||||
- exit(1); /* fail */
|
||||
- if(buffer[0] != 127 || buffer[1] != 'E' ||
|
||||
- buffer[2] != 'L' || buffer[3] != 'F')
|
||||
- exit(1); /* fail */
|
||||
- exit(0); /* succeed (yes, it's ELF) */
|
||||
-}
|
||||
-EOM
|
||||
-if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then
|
||||
- cat <<'EOM' >&4
|
||||
-
|
||||
-You appear to have ELF support. I'll try to use it for dynamic loading.
|
||||
-If dynamic loading doesn't work, read hints/linux.sh for further information.
|
||||
-EOM
|
||||
-
|
||||
-else
|
||||
- cat <<'EOM' >&4
|
||||
-
|
||||
-You don't have an ELF gcc. I will use dld if possible. If you are
|
||||
-using a version of DLD earlier than 3.2.6, or don't have it at all, you
|
||||
-should probably upgrade. If you are forced to use 3.2.4, you should
|
||||
-uncomment a couple of lines in hints/linux.sh and restart Configure so
|
||||
-that shared libraries will be disallowed.
|
||||
-
|
||||
-EOM
|
||||
- lddlflags="-r $lddlflags"
|
||||
- # These empty values are so that Configure doesn't put in the
|
||||
- # Linux ELF values.
|
||||
- ccdlflags=' '
|
||||
- cccdlflags=' '
|
||||
- ccflags="-DOVR_DBL_DIG=14 $ccflags"
|
||||
- so='sa'
|
||||
- dlext='o'
|
||||
- nm_so_opt=' '
|
||||
- ## If you are using DLD 3.2.4 which does not support shared libs,
|
||||
- ## uncomment the next two lines:
|
||||
- #ldflags="-static"
|
||||
- #so='none'
|
||||
-
|
||||
- # In addition, on some systems there is a problem with perl and NDBM
|
||||
- # which causes AnyDBM and NDBM_File to lock up. This is evidenced
|
||||
- # in the tests as AnyDBM just freezing. Apparently, this only
|
||||
- # happens on a.out systems, so we disable NDBM for all a.out linux
|
||||
- # systems. If someone can suggest a more robust test
|
||||
- # that would be appreciated.
|
||||
- #
|
||||
- # More info:
|
||||
- # Date: Wed, 7 Feb 1996 03:21:04 +0900
|
||||
- # From: Jeffrey Friedl <jfriedl@nff.ncl.omron.co.jp>
|
||||
- #
|
||||
- # I tried compiling with DBM support and sure enough things locked up
|
||||
- # just as advertised. Checking into it, I found that the lockup was
|
||||
- # during the call to dbm_open. Not *in* dbm_open -- but between the call
|
||||
- # to and the jump into.
|
||||
- #
|
||||
- # To make a long story short, making sure that the *.a and *.sa pairs of
|
||||
- # /usr/lib/lib{m,db,gdbm}.{a,sa}
|
||||
- # were perfectly in sync took care of it.
|
||||
- #
|
||||
- # This will generate a harmless Whoa There! message
|
||||
- case "$d_dbm_open" in
|
||||
- '') cat <<'EOM' >&4
|
||||
-
|
||||
-Disabling ndbm. This will generate a Whoa There message in Configure.
|
||||
-Read hints/linux.sh for further information.
|
||||
-EOM
|
||||
- # You can override this with Configure -Dd_dbm_open
|
||||
- d_dbm_open=undef
|
||||
- ;;
|
||||
- esac
|
||||
-fi
|
||||
-
|
||||
-rm -f try.c a.out
|
||||
-
|
||||
if ${sh:-/bin/sh} -c exit; then
|
||||
echo ''
|
||||
echo 'You appear to have a working bash. Good.'
|
||||
@@ -497,7 +428,7 @@ then
|
||||
DBLIB="$DBDIR/libdb.so"
|
||||
if [ -f $DBLIB ]
|
||||
then
|
||||
|
@ -35,15 +128,3 @@ index 956adfc..fb5a46e 100644
|
|||
then
|
||||
if ldd $DBLIB | grep pthread >/dev/null
|
||||
then
|
||||
diff --git a/patchlevel.h b/patchlevel.h
|
||||
index f416602..e8062d1 100644
|
||||
--- a/patchlevel.h
|
||||
+++ b/patchlevel.h
|
||||
@@ -137,6 +137,7 @@ static const char * const local_patches[] = {
|
||||
,"uncommitted-changes"
|
||||
#endif
|
||||
PERL_GIT_UNPUSHED_COMMITS /* do not remove this line */
|
||||
+ ,"Devel::PatchPerl 1.38"
|
||||
,NULL
|
||||
};
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ COPY *.patch /usr/src/perl/
|
|||
WORKDIR /usr/src/perl
|
||||
|
||||
RUN curl -SL https://cpan.metacpan.org/authors/id/S/SH/SHAY/perl-5.20.3.tar.bz2 -o perl-5.20.3.tar.bz2 \
|
||||
&& echo 'eedf9e3be3c83bef15911996ed18703cffe4d113 *perl-5.20.3.tar.bz2' | sha1sum -c - \
|
||||
&& echo '1b40068166c242e34a536836286e70b78410602a80615143301e52aa2901493b *perl-5.20.3.tar.bz2' | sha256sum -c - \
|
||||
&& tar --strip-components=1 -xjf perl-5.20.3.tar.bz2 -C /usr/src/perl \
|
||||
&& rm perl-5.20.3.tar.bz2 \
|
||||
&& cat *.patch | patch -p1 \
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
diff --git a/hints/linux.sh b/hints/linux.sh
|
||||
index 956adfc..fb5a46e 100644
|
||||
index 956adfc..3f38ea0 100644
|
||||
--- a/hints/linux.sh
|
||||
+++ b/hints/linux.sh
|
||||
@@ -178,6 +178,23 @@ case "$plibpth" in
|
||||
|
@ -26,7 +26,100 @@ index 956adfc..fb5a46e 100644
|
|||
case "$libc" in
|
||||
'')
|
||||
# If you have glibc, then report the version for ./myconfig bug reporting.
|
||||
@@ -497,7 +514,7 @@ then
|
||||
@@ -204,92 +221,6 @@ case "$libc" in
|
||||
;;
|
||||
esac
|
||||
|
||||
-# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
|
||||
-# for this test.
|
||||
-cat >try.c <<'EOM'
|
||||
-/* Test for whether ELF binaries are produced */
|
||||
-#include <fcntl.h>
|
||||
-#include <stdlib.h>
|
||||
-#include <unistd.h>
|
||||
-main() {
|
||||
- char buffer[4];
|
||||
- int i=open("a.out",O_RDONLY);
|
||||
- if(i==-1)
|
||||
- exit(1); /* fail */
|
||||
- if(read(i,&buffer[0],4)<4)
|
||||
- exit(1); /* fail */
|
||||
- if(buffer[0] != 127 || buffer[1] != 'E' ||
|
||||
- buffer[2] != 'L' || buffer[3] != 'F')
|
||||
- exit(1); /* fail */
|
||||
- exit(0); /* succeed (yes, it's ELF) */
|
||||
-}
|
||||
-EOM
|
||||
-if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then
|
||||
- cat <<'EOM' >&4
|
||||
-
|
||||
-You appear to have ELF support. I'll try to use it for dynamic loading.
|
||||
-If dynamic loading doesn't work, read hints/linux.sh for further information.
|
||||
-EOM
|
||||
-
|
||||
-else
|
||||
- cat <<'EOM' >&4
|
||||
-
|
||||
-You don't have an ELF gcc. I will use dld if possible. If you are
|
||||
-using a version of DLD earlier than 3.2.6, or don't have it at all, you
|
||||
-should probably upgrade. If you are forced to use 3.2.4, you should
|
||||
-uncomment a couple of lines in hints/linux.sh and restart Configure so
|
||||
-that shared libraries will be disallowed.
|
||||
-
|
||||
-EOM
|
||||
- lddlflags="-r $lddlflags"
|
||||
- # These empty values are so that Configure doesn't put in the
|
||||
- # Linux ELF values.
|
||||
- ccdlflags=' '
|
||||
- cccdlflags=' '
|
||||
- ccflags="-DOVR_DBL_DIG=14 $ccflags"
|
||||
- so='sa'
|
||||
- dlext='o'
|
||||
- nm_so_opt=' '
|
||||
- ## If you are using DLD 3.2.4 which does not support shared libs,
|
||||
- ## uncomment the next two lines:
|
||||
- #ldflags="-static"
|
||||
- #so='none'
|
||||
-
|
||||
- # In addition, on some systems there is a problem with perl and NDBM
|
||||
- # which causes AnyDBM and NDBM_File to lock up. This is evidenced
|
||||
- # in the tests as AnyDBM just freezing. Apparently, this only
|
||||
- # happens on a.out systems, so we disable NDBM for all a.out linux
|
||||
- # systems. If someone can suggest a more robust test
|
||||
- # that would be appreciated.
|
||||
- #
|
||||
- # More info:
|
||||
- # Date: Wed, 7 Feb 1996 03:21:04 +0900
|
||||
- # From: Jeffrey Friedl <jfriedl@nff.ncl.omron.co.jp>
|
||||
- #
|
||||
- # I tried compiling with DBM support and sure enough things locked up
|
||||
- # just as advertised. Checking into it, I found that the lockup was
|
||||
- # during the call to dbm_open. Not *in* dbm_open -- but between the call
|
||||
- # to and the jump into.
|
||||
- #
|
||||
- # To make a long story short, making sure that the *.a and *.sa pairs of
|
||||
- # /usr/lib/lib{m,db,gdbm}.{a,sa}
|
||||
- # were perfectly in sync took care of it.
|
||||
- #
|
||||
- # This will generate a harmless Whoa There! message
|
||||
- case "$d_dbm_open" in
|
||||
- '') cat <<'EOM' >&4
|
||||
-
|
||||
-Disabling ndbm. This will generate a Whoa There message in Configure.
|
||||
-Read hints/linux.sh for further information.
|
||||
-EOM
|
||||
- # You can override this with Configure -Dd_dbm_open
|
||||
- d_dbm_open=undef
|
||||
- ;;
|
||||
- esac
|
||||
-fi
|
||||
-
|
||||
-rm -f try.c a.out
|
||||
-
|
||||
if ${sh:-/bin/sh} -c exit; then
|
||||
echo ''
|
||||
echo 'You appear to have a working bash. Good.'
|
||||
@@ -497,7 +428,7 @@ then
|
||||
DBLIB="$DBDIR/libdb.so"
|
||||
if [ -f $DBLIB ]
|
||||
then
|
||||
|
@ -35,15 +128,3 @@ index 956adfc..fb5a46e 100644
|
|||
then
|
||||
if ldd $DBLIB | grep pthread >/dev/null
|
||||
then
|
||||
diff --git a/patchlevel.h b/patchlevel.h
|
||||
index f416602..e8062d1 100644
|
||||
--- a/patchlevel.h
|
||||
+++ b/patchlevel.h
|
||||
@@ -137,6 +137,7 @@ static const char * const local_patches[] = {
|
||||
,"uncommitted-changes"
|
||||
#endif
|
||||
PERL_GIT_UNPUSHED_COMMITS /* do not remove this line */
|
||||
+ ,"Devel::PatchPerl 1.38"
|
||||
,NULL
|
||||
};
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ COPY *.patch /usr/src/perl/
|
|||
WORKDIR /usr/src/perl
|
||||
|
||||
RUN curl -SL https://cpan.metacpan.org/authors/id/S/SH/SHAY/perl-5.20.3.tar.bz2 -o perl-5.20.3.tar.bz2 \
|
||||
&& echo 'eedf9e3be3c83bef15911996ed18703cffe4d113 *perl-5.20.3.tar.bz2' | sha1sum -c - \
|
||||
&& echo '1b40068166c242e34a536836286e70b78410602a80615143301e52aa2901493b *perl-5.20.3.tar.bz2' | sha256sum -c - \
|
||||
&& tar --strip-components=1 -xjf perl-5.20.3.tar.bz2 -C /usr/src/perl \
|
||||
&& rm perl-5.20.3.tar.bz2 \
|
||||
&& cat *.patch | patch -p1 \
|
||||
|
|
|
@ -1,12 +1,97 @@
|
|||
diff --git a/patchlevel.h b/patchlevel.h
|
||||
index bfd796b..69d5fb0 100644
|
||||
--- a/patchlevel.h
|
||||
+++ b/patchlevel.h
|
||||
@@ -137,6 +137,7 @@ static const char * const local_patches[] = {
|
||||
,"uncommitted-changes"
|
||||
#endif
|
||||
PERL_GIT_UNPUSHED_COMMITS /* do not remove this line */
|
||||
+ ,"Devel::PatchPerl 1.38"
|
||||
,NULL
|
||||
};
|
||||
diff --git a/hints/linux.sh b/hints/linux.sh
|
||||
index fb5a46e..3f38ea0 100644
|
||||
--- a/hints/linux.sh
|
||||
+++ b/hints/linux.sh
|
||||
@@ -221,92 +221,6 @@ case "$libc" in
|
||||
;;
|
||||
esac
|
||||
|
||||
-# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
|
||||
-# for this test.
|
||||
-cat >try.c <<'EOM'
|
||||
-/* Test for whether ELF binaries are produced */
|
||||
-#include <fcntl.h>
|
||||
-#include <stdlib.h>
|
||||
-#include <unistd.h>
|
||||
-main() {
|
||||
- char buffer[4];
|
||||
- int i=open("a.out",O_RDONLY);
|
||||
- if(i==-1)
|
||||
- exit(1); /* fail */
|
||||
- if(read(i,&buffer[0],4)<4)
|
||||
- exit(1); /* fail */
|
||||
- if(buffer[0] != 127 || buffer[1] != 'E' ||
|
||||
- buffer[2] != 'L' || buffer[3] != 'F')
|
||||
- exit(1); /* fail */
|
||||
- exit(0); /* succeed (yes, it's ELF) */
|
||||
-}
|
||||
-EOM
|
||||
-if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then
|
||||
- cat <<'EOM' >&4
|
||||
-
|
||||
-You appear to have ELF support. I'll try to use it for dynamic loading.
|
||||
-If dynamic loading doesn't work, read hints/linux.sh for further information.
|
||||
-EOM
|
||||
-
|
||||
-else
|
||||
- cat <<'EOM' >&4
|
||||
-
|
||||
-You don't have an ELF gcc. I will use dld if possible. If you are
|
||||
-using a version of DLD earlier than 3.2.6, or don't have it at all, you
|
||||
-should probably upgrade. If you are forced to use 3.2.4, you should
|
||||
-uncomment a couple of lines in hints/linux.sh and restart Configure so
|
||||
-that shared libraries will be disallowed.
|
||||
-
|
||||
-EOM
|
||||
- lddlflags="-r $lddlflags"
|
||||
- # These empty values are so that Configure doesn't put in the
|
||||
- # Linux ELF values.
|
||||
- ccdlflags=' '
|
||||
- cccdlflags=' '
|
||||
- ccflags="-DOVR_DBL_DIG=14 $ccflags"
|
||||
- so='sa'
|
||||
- dlext='o'
|
||||
- nm_so_opt=' '
|
||||
- ## If you are using DLD 3.2.4 which does not support shared libs,
|
||||
- ## uncomment the next two lines:
|
||||
- #ldflags="-static"
|
||||
- #so='none'
|
||||
-
|
||||
- # In addition, on some systems there is a problem with perl and NDBM
|
||||
- # which causes AnyDBM and NDBM_File to lock up. This is evidenced
|
||||
- # in the tests as AnyDBM just freezing. Apparently, this only
|
||||
- # happens on a.out systems, so we disable NDBM for all a.out linux
|
||||
- # systems. If someone can suggest a more robust test
|
||||
- # that would be appreciated.
|
||||
- #
|
||||
- # More info:
|
||||
- # Date: Wed, 7 Feb 1996 03:21:04 +0900
|
||||
- # From: Jeffrey Friedl <jfriedl@nff.ncl.omron.co.jp>
|
||||
- #
|
||||
- # I tried compiling with DBM support and sure enough things locked up
|
||||
- # just as advertised. Checking into it, I found that the lockup was
|
||||
- # during the call to dbm_open. Not *in* dbm_open -- but between the call
|
||||
- # to and the jump into.
|
||||
- #
|
||||
- # To make a long story short, making sure that the *.a and *.sa pairs of
|
||||
- # /usr/lib/lib{m,db,gdbm}.{a,sa}
|
||||
- # were perfectly in sync took care of it.
|
||||
- #
|
||||
- # This will generate a harmless Whoa There! message
|
||||
- case "$d_dbm_open" in
|
||||
- '') cat <<'EOM' >&4
|
||||
-
|
||||
-Disabling ndbm. This will generate a Whoa There message in Configure.
|
||||
-Read hints/linux.sh for further information.
|
||||
-EOM
|
||||
- # You can override this with Configure -Dd_dbm_open
|
||||
- d_dbm_open=undef
|
||||
- ;;
|
||||
- esac
|
||||
-fi
|
||||
-
|
||||
-rm -f try.c a.out
|
||||
-
|
||||
if ${sh:-/bin/sh} -c exit; then
|
||||
echo ''
|
||||
echo 'You appear to have a working bash. Good.'
|
||||
|
|
|
@ -10,7 +10,7 @@ COPY *.patch /usr/src/perl/
|
|||
WORKDIR /usr/src/perl
|
||||
|
||||
RUN curl -SL https://cpan.metacpan.org/authors/id/S/SH/SHAY/perl-5.22.2.tar.bz2 -o perl-5.22.2.tar.bz2 \
|
||||
&& echo 'e2f465446dcd45a7fa3da696037f9ebe73e78e55 *perl-5.22.2.tar.bz2' | sha1sum -c - \
|
||||
&& echo 'f2322b9b04fe0cdbca9fe755360da04892cb6483d44959457cfebc0bcddc8058 *perl-5.22.2.tar.bz2' | sha256sum -c - \
|
||||
&& tar --strip-components=1 -xjf perl-5.22.2.tar.bz2 -C /usr/src/perl \
|
||||
&& rm perl-5.22.2.tar.bz2 \
|
||||
&& cat *.patch | patch -p1 \
|
||||
|
|
|
@ -1,12 +1,97 @@
|
|||
diff --git a/patchlevel.h b/patchlevel.h
|
||||
index bfd796b..69d5fb0 100644
|
||||
--- a/patchlevel.h
|
||||
+++ b/patchlevel.h
|
||||
@@ -137,6 +137,7 @@ static const char * const local_patches[] = {
|
||||
,"uncommitted-changes"
|
||||
#endif
|
||||
PERL_GIT_UNPUSHED_COMMITS /* do not remove this line */
|
||||
+ ,"Devel::PatchPerl 1.38"
|
||||
,NULL
|
||||
};
|
||||
diff --git a/hints/linux.sh b/hints/linux.sh
|
||||
index fb5a46e..3f38ea0 100644
|
||||
--- a/hints/linux.sh
|
||||
+++ b/hints/linux.sh
|
||||
@@ -221,92 +221,6 @@ case "$libc" in
|
||||
;;
|
||||
esac
|
||||
|
||||
-# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
|
||||
-# for this test.
|
||||
-cat >try.c <<'EOM'
|
||||
-/* Test for whether ELF binaries are produced */
|
||||
-#include <fcntl.h>
|
||||
-#include <stdlib.h>
|
||||
-#include <unistd.h>
|
||||
-main() {
|
||||
- char buffer[4];
|
||||
- int i=open("a.out",O_RDONLY);
|
||||
- if(i==-1)
|
||||
- exit(1); /* fail */
|
||||
- if(read(i,&buffer[0],4)<4)
|
||||
- exit(1); /* fail */
|
||||
- if(buffer[0] != 127 || buffer[1] != 'E' ||
|
||||
- buffer[2] != 'L' || buffer[3] != 'F')
|
||||
- exit(1); /* fail */
|
||||
- exit(0); /* succeed (yes, it's ELF) */
|
||||
-}
|
||||
-EOM
|
||||
-if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then
|
||||
- cat <<'EOM' >&4
|
||||
-
|
||||
-You appear to have ELF support. I'll try to use it for dynamic loading.
|
||||
-If dynamic loading doesn't work, read hints/linux.sh for further information.
|
||||
-EOM
|
||||
-
|
||||
-else
|
||||
- cat <<'EOM' >&4
|
||||
-
|
||||
-You don't have an ELF gcc. I will use dld if possible. If you are
|
||||
-using a version of DLD earlier than 3.2.6, or don't have it at all, you
|
||||
-should probably upgrade. If you are forced to use 3.2.4, you should
|
||||
-uncomment a couple of lines in hints/linux.sh and restart Configure so
|
||||
-that shared libraries will be disallowed.
|
||||
-
|
||||
-EOM
|
||||
- lddlflags="-r $lddlflags"
|
||||
- # These empty values are so that Configure doesn't put in the
|
||||
- # Linux ELF values.
|
||||
- ccdlflags=' '
|
||||
- cccdlflags=' '
|
||||
- ccflags="-DOVR_DBL_DIG=14 $ccflags"
|
||||
- so='sa'
|
||||
- dlext='o'
|
||||
- nm_so_opt=' '
|
||||
- ## If you are using DLD 3.2.4 which does not support shared libs,
|
||||
- ## uncomment the next two lines:
|
||||
- #ldflags="-static"
|
||||
- #so='none'
|
||||
-
|
||||
- # In addition, on some systems there is a problem with perl and NDBM
|
||||
- # which causes AnyDBM and NDBM_File to lock up. This is evidenced
|
||||
- # in the tests as AnyDBM just freezing. Apparently, this only
|
||||
- # happens on a.out systems, so we disable NDBM for all a.out linux
|
||||
- # systems. If someone can suggest a more robust test
|
||||
- # that would be appreciated.
|
||||
- #
|
||||
- # More info:
|
||||
- # Date: Wed, 7 Feb 1996 03:21:04 +0900
|
||||
- # From: Jeffrey Friedl <jfriedl@nff.ncl.omron.co.jp>
|
||||
- #
|
||||
- # I tried compiling with DBM support and sure enough things locked up
|
||||
- # just as advertised. Checking into it, I found that the lockup was
|
||||
- # during the call to dbm_open. Not *in* dbm_open -- but between the call
|
||||
- # to and the jump into.
|
||||
- #
|
||||
- # To make a long story short, making sure that the *.a and *.sa pairs of
|
||||
- # /usr/lib/lib{m,db,gdbm}.{a,sa}
|
||||
- # were perfectly in sync took care of it.
|
||||
- #
|
||||
- # This will generate a harmless Whoa There! message
|
||||
- case "$d_dbm_open" in
|
||||
- '') cat <<'EOM' >&4
|
||||
-
|
||||
-Disabling ndbm. This will generate a Whoa There message in Configure.
|
||||
-Read hints/linux.sh for further information.
|
||||
-EOM
|
||||
- # You can override this with Configure -Dd_dbm_open
|
||||
- d_dbm_open=undef
|
||||
- ;;
|
||||
- esac
|
||||
-fi
|
||||
-
|
||||
-rm -f try.c a.out
|
||||
-
|
||||
if ${sh:-/bin/sh} -c exit; then
|
||||
echo ''
|
||||
echo 'You appear to have a working bash. Good.'
|
||||
|
|
|
@ -10,7 +10,7 @@ COPY *.patch /usr/src/perl/
|
|||
WORKDIR /usr/src/perl
|
||||
|
||||
RUN curl -SL https://cpan.metacpan.org/authors/id/S/SH/SHAY/perl-5.22.2.tar.bz2 -o perl-5.22.2.tar.bz2 \
|
||||
&& echo 'e2f465446dcd45a7fa3da696037f9ebe73e78e55 *perl-5.22.2.tar.bz2' | sha1sum -c - \
|
||||
&& echo 'f2322b9b04fe0cdbca9fe755360da04892cb6483d44959457cfebc0bcddc8058 *perl-5.22.2.tar.bz2' | sha256sum -c - \
|
||||
&& tar --strip-components=1 -xjf perl-5.22.2.tar.bz2 -C /usr/src/perl \
|
||||
&& rm perl-5.22.2.tar.bz2 \
|
||||
&& cat *.patch | patch -p1 \
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -10,7 +10,7 @@ COPY *.patch /usr/src/perl/
|
|||
WORKDIR /usr/src/perl
|
||||
|
||||
RUN curl -SL https://cpan.metacpan.org/authors/id/R/RJ/RJBS/perl-5.24.0.tar.bz2 -o perl-5.24.0.tar.bz2 \
|
||||
&& echo '298fa605138c1a00dab95643130ae0edab369b4d *perl-5.24.0.tar.bz2' | sha1sum -c - \
|
||||
&& echo '62328a53d157e8153b33e137594155f6f8b64418f7f9238210feb809585290e0 *perl-5.24.0.tar.bz2' | sha256sum -c - \
|
||||
&& tar --strip-components=1 -xjf perl-5.24.0.tar.bz2 -C /usr/src/perl \
|
||||
&& rm perl-5.24.0.tar.bz2 \
|
||||
&& cat *.patch | patch -p1 \
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -10,7 +10,7 @@ COPY *.patch /usr/src/perl/
|
|||
WORKDIR /usr/src/perl
|
||||
|
||||
RUN curl -SL https://cpan.metacpan.org/authors/id/R/RJ/RJBS/perl-5.24.0.tar.bz2 -o perl-5.24.0.tar.bz2 \
|
||||
&& echo '298fa605138c1a00dab95643130ae0edab369b4d *perl-5.24.0.tar.bz2' | sha1sum -c - \
|
||||
&& echo '62328a53d157e8153b33e137594155f6f8b64418f7f9238210feb809585290e0 *perl-5.24.0.tar.bz2' | sha256sum -c - \
|
||||
&& tar --strip-components=1 -xjf perl-5.24.0.tar.bz2 -C /usr/src/perl \
|
||||
&& rm perl-5.24.0.tar.bz2 \
|
||||
&& cat *.patch | patch -p1 \
|
||||
|
|
|
@ -1,44 +1,48 @@
|
|||
releases:
|
||||
- version: 5.8.9
|
||||
sha1: 19843b5a7585cf35d96c07dbcd419bbdd5813617
|
||||
sha256: 1097fbcd48ceccb2bc735d119c9db399a02a8ab9f7dc53e29e47e6a8d0d72e79
|
||||
pause: NWCLARK
|
||||
extra_flags: "-A ccflags=-fwrapv"
|
||||
test_parallel: no
|
||||
|
||||
- version: 5.10.1
|
||||
sha1: 98b762b5cd4fb76dd354dfa5ba0d21bc2acacaf2
|
||||
sha256: 9385f2c8c2ca8b1dc4a7c31903f1f8dc8f2ba867dc2a9e5c93012ed6b564e826
|
||||
pause: DAPM
|
||||
extra_flags: "-A ccflags=-fwrapv"
|
||||
test_parallel: no
|
||||
|
||||
- version: 5.12.5
|
||||
sha1: 812139ceef512eb8458af29ffbf46d78ef26c12a
|
||||
sha256: 10749417fd3010aae320a34181ad4cd6a4855c1fc63403b87fa4d630b18e966c
|
||||
pause: DOM
|
||||
extra_flags: "-A ccflags=-fwrapv"
|
||||
test_parallel: no
|
||||
|
||||
- version: 5.14.4
|
||||
sha1: 3527c9e26f985cba98796439bf555fde8be73cdf
|
||||
sha256: eece8c2b0d491bf6f746bd1f4f1bb7ce26f6b98e91c54690c617d7af38964745
|
||||
pause: DAPM
|
||||
extra_flags: "-A ccflags=-fwrapv"
|
||||
test_parallel: no
|
||||
|
||||
- version: 5.16.3
|
||||
sha1: 060bc17cf9f142d043f9bf7b861422ec624875ea
|
||||
sha256: bb7bc735e6813b177dcfccd480defcde7eddefa173b5967eac11babd1bfa98e8
|
||||
pause: RJBS
|
||||
extra_flags: "-A ccflags=-fwrapv"
|
||||
test_parallel: no
|
||||
|
||||
- version: 5.18.4
|
||||
sha1: 69c34558a0a939a7adbbc1de48c06ea418d81e27
|
||||
sha256: 1fb4d27b75cd244e849f253320260efe1750641aaff4a18ce0d67556ff1b96a5
|
||||
pause: RJBS
|
||||
extra_flags: "-A ccflags=-fwrapv"
|
||||
test_parallel: no
|
||||
|
||||
- version: 5.20.3
|
||||
sha1: eedf9e3be3c83bef15911996ed18703cffe4d113
|
||||
sha256: 1b40068166c242e34a536836286e70b78410602a80615143301e52aa2901493b
|
||||
pause: SHAY
|
||||
|
||||
- version: 5.22.2
|
||||
sha1: e2f465446dcd45a7fa3da696037f9ebe73e78e55
|
||||
sha256: f2322b9b04fe0cdbca9fe755360da04892cb6483d44959457cfebc0bcddc8058
|
||||
pause: SHAY
|
||||
|
||||
- version: 5.24.0
|
||||
sha256: 62328a53d157e8153b33e137594155f6f8b64418f7f9238210feb809585290e0
|
||||
pause: RJBS
|
||||
|
|
16
generate.pl
16
generate.pl
|
@ -13,10 +13,10 @@ The Releases.yaml file must look roughly like:
|
|||
|
||||
releases:
|
||||
- version: 5.20.0
|
||||
sha1: asdasdadas
|
||||
sha256: asdasdadas
|
||||
pause: RJBS
|
||||
|
||||
Where version is the version number of Perl, sha1 is the SHA1 of the
|
||||
Where version is the version number of Perl, sha256 is the SHA256 of the
|
||||
tar.bz2 file, and pause is the PAUSE account of the release manager.
|
||||
|
||||
If needed or desired, extra_flags: can be added, which will be passed
|
||||
|
@ -49,7 +49,7 @@ if (! -d "downloads") {
|
|||
}
|
||||
|
||||
for my $release (@{$yaml->{releases}}) {
|
||||
do { die_with_sample unless $release->{$_}} for (qw(version pause sha1));
|
||||
do { die_with_sample unless $release->{$_}} for (qw(version pause sha256));
|
||||
|
||||
die "Bad version: $release->{version}" unless $release->{version} =~ /\A5\.\d+\.\d+\Z/;
|
||||
|
||||
|
@ -57,7 +57,7 @@ for my $release (@{$yaml->{releases}}) {
|
|||
my $file = "perl-$release->{version}.tar.bz2";
|
||||
my $url = "http://www.cpan.org/src/5.0/$file";
|
||||
if (-f "downloads/$file" &&
|
||||
`sha1sum downloads/$file` =~ /^\Q$release->{sha1}\E\s+\Qdownloads\/$file\E/) {
|
||||
`sha256sum downloads/$file` =~ /^\Q$release->{sha256}\E\s+\Qdownloads\/$file\E/) {
|
||||
print "Skipping download of $file, already current\n";
|
||||
} else {
|
||||
print "Downloading $url\n";
|
||||
|
@ -88,7 +88,7 @@ for my $release (@{$yaml->{releases}}) {
|
|||
|
||||
for my $config (keys %builds) {
|
||||
my $output = $template;
|
||||
$output =~ s/\{\{$_\}\}/$release->{$_}/mg for (qw(version pause extra_flags sha1));
|
||||
$output =~ s/\{\{$_\}\}/$release->{$_}/mg for (qw(version pause extra_flags sha256));
|
||||
$output =~ s/\{\{args\}\}/$builds{$config}/mg;
|
||||
|
||||
my $dir = sprintf "%i.%03i.%03i-%s",
|
||||
|
@ -143,9 +143,9 @@ each with the following keys:
|
|||
|
||||
The actual perl version, such as B<5.20.1>.
|
||||
|
||||
=item sha1
|
||||
=item sha256
|
||||
|
||||
The SHA-1 of the C<.tar.bz2> file for that release.
|
||||
The SHA-256 of the C<.tar.bz2> file for that release.
|
||||
|
||||
=item pause
|
||||
|
||||
|
@ -191,7 +191,7 @@ COPY *.patch /usr/src/perl/
|
|||
WORKDIR /usr/src/perl
|
||||
|
||||
RUN curl -SL https://cpan.metacpan.org/authors/id/{{pause}}/perl-{{version}}.tar.bz2 -o perl-{{version}}.tar.bz2 \
|
||||
&& echo '{{sha1}} *perl-{{version}}.tar.bz2' | sha1sum -c - \
|
||||
&& echo '{{sha256}} *perl-{{version}}.tar.bz2' | sha256sum -c - \
|
||||
&& tar --strip-components=1 -xjf perl-{{version}}.tar.bz2 -C /usr/src/perl \
|
||||
&& rm perl-{{version}}.tar.bz2 \
|
||||
&& cat *.patch | patch -p1 \
|
||||
|
|
Loading…
Add table
Reference in a new issue