In metaconfig.git, the branch master has been updated

<http://perl5.git.perl.org/metaconfig.git/commitdiff/417455c42f4a42e2876f605b577c5cc8f4f86187?hp=63ea60024073a8d8267c437a5afd22fb0cdcec4c>

- Log -----------------------------------------------------------------
commit 417455c42f4a42e2876f605b577c5cc8f4f86187
Author: H.Merijn Brand - Tux <[email protected]>
Date:   Sat Sep 6 21:42:40 2014 +0200

    prctl needs unistd on Android

M       U/perl/d_prctl.U

commit 53665975d637c6639b86896d904fc4777a5f6bd6
Author: H.Merijn Brand - Tux <[email protected]>
Date:   Sat Sep 6 21:42:12 2014 +0200

    Backport all of Jarkko's hard work

A       U/perl/d_acosh.U
A       U/perl/d_fegetround.U
M       U/perl/d_fp_classl.U
M       U/perl/d_fpclassify.U
A       U/perl/d_fpgetround.U
M       U/perl/d_isfinite.U
A       U/perl/d_isfinitel.U
M       U/perl/d_isinf.U
A       U/perl/d_isinfl.U
M       U/perl/d_isnan.U
A       U/perl/d_j0.U
A       U/perl/i_fenv.U
A       U/perl/i_stdint.U

commit db9875793076ca6c3a1f8babb2c95e1f1d0d16b9
Author: H.Merijn Brand - Tux <[email protected]>
Date:   Wed Sep 3 18:15:47 2014 +0200

    If this format ever happens, it is probably left-aligned.
    
    Backport of fc0f129beb8db78ea29e976328efbe5df2f7aaf8
    Author: Jarkko Hietaniemi <[email protected]>  2014-08-22 16:56:10

M       U/modified/d_longdbl.U

commit 5bea2ccde5c5d8574e780d753afe7246cdb03464
Author: H.Merijn Brand - Tux <[email protected]>
Date:   Wed Sep 3 18:04:13 2014 +0200

    Darwin can have libfoo.0.dylib instead of libfoo.dylib.0
    
    Backport of d98292cc88b8c823e911dca3e59a28b3e3fd6fec
    Author: Jarkko Hietaniemi <[email protected]>  2014-08-22 18:28:00

M       U/modified/libs.U
-----------------------------------------------------------------------

Summary of changes:
 U/modified/d_longdbl.U |  3 +--
 U/modified/libs.U      |  3 +++
 U/perl/d_acosh.U       | 20 ++++++++++++++++
 U/perl/d_fegetround.U  | 21 +++++++++++++++++
 U/perl/d_fp_classl.U   | 14 +----------
 U/perl/d_fpclassify.U  | 63 ++++++++++++++++++++++++++++++++++++++++++++------
 U/perl/d_fpgetround.U  | 20 ++++++++++++++++
 U/perl/d_isfinite.U    | 27 ++++++++++++++++++----
 U/perl/d_isfinitel.U   | 25 ++++++++++++++++++++
 U/perl/d_isinf.U       | 25 ++++++++++++++++----
 U/perl/d_isinfl.U      | 24 +++++++++++++++++++
 U/perl/d_isnan.U       | 25 ++++++++++++++++----
 U/perl/d_j0.U          | 36 +++++++++++++++++++++++++++++
 U/perl/d_prctl.U       |  3 +++
 U/perl/i_fenv.U        | 21 +++++++++++++++++
 U/perl/i_stdint.U      | 21 +++++++++++++++++
 16 files changed, 316 insertions(+), 35 deletions(-)
 create mode 100644 U/perl/d_acosh.U
 create mode 100644 U/perl/d_fegetround.U
 create mode 100644 U/perl/d_fpgetround.U
 create mode 100644 U/perl/d_isfinitel.U
 create mode 100644 U/perl/d_isinfl.U
 create mode 100644 U/perl/d_j0.U
 create mode 100644 U/perl/i_fenv.U
 create mode 100644 U/perl/i_stdint.U

diff --git a/U/modified/d_longdbl.U b/U/modified/d_longdbl.U
index 323c8db..16c7b13 100644
--- a/U/modified/d_longdbl.U
+++ b/U/modified/d_longdbl.U
@@ -174,8 +174,7 @@ int main() {
     printf("3\n");
     exit(0);
   }
-  if (b[LONGDBLSIZE - 11] == 0x00 && b[LONGDBLSIZE - 10] == 0xBF &&
-      b[LONGDBLSIZE -  1] == 0xCD) {
+  if (b[0] == 0xBF && b[9] == 0xCD && b[10] == 0x00) {
     /* is there ever big-endian 80-bit, really? */
     printf("4\n");
     exit(0);
diff --git a/U/modified/libs.U b/U/modified/libs.U
index a5468f8..7c6dafe 100644
--- a/U/modified/libs.U
+++ b/U/modified/libs.U
@@ -124,6 +124,9 @@ for thislib in $libswanted; do
                xxx=`ls $thisdir/lib$thislib.$so.[0-9] 2>/dev/null|sed -n '$p'`
                $test -f "$xxx" && eval $libscheck
                $test -f "$xxx" && libstyle=shared
+               xxx=`ls $thisdir/lib$thislib.[0-9].$so 2>/dev/null|sed -n '$p'`
+               $test -f "$xxx" && eval $libscheck
+               $test -f "$xxx" && libstyle=shared
            fi
            if test ! -f "$xxx"; then
                xxx=$thisdir/lib$thislib.$so
diff --git a/U/perl/d_acosh.U b/U/perl/d_acosh.U
new file mode 100644
index 0000000..f7313ae
--- /dev/null
+++ b/U/perl/d_acosh.U
@@ -0,0 +1,20 @@
+?RCS: You may distribute under the terms of either the GNU General Public
+?RCS: License or the Artistic License, as specified in the README file.
+?RCS:
+?MAKE:d_acosh: Inlibc
+?MAKE: -pick add $@ %<
+?S:d_acosh:
+?S:    This variable conditionally defines the HAS_ACOSH symbol, which
+?S:    indicates to the C program that the acosh() routine is available.
+?S:.
+?C:HAS_ACOSH:
+?C:    This symbol, if defined, indicates that the acosh routine is
+?C:    available to do the inverse hyperbolic cosine function.
+?C:.
+?H:#$d_acosh HAS_ACOSH         /**/
+?H:.
+?LINT:set d_acosh
+: see if acosh exists
+set acosh d_acosh
+eval $inlibc
+
diff --git a/U/perl/d_fegetround.U b/U/perl/d_fegetround.U
new file mode 100644
index 0000000..d4393cf
--- /dev/null
+++ b/U/perl/d_fegetround.U
@@ -0,0 +1,21 @@
+?RCS: You may distribute under the terms of either the GNU General Public
+?RCS: License or the Artistic License, as specified in the README file.
+?RCS:
+?MAKE:d_fegetround: Inlibc
+?MAKE: -pick add $@ %<
+?S:d_fegetround:
+?S:    This variable conditionally defines HAS_FEGETROUND if fegetround() is
+?S:    available to get the floating point rounding mode.
+?S:.
+?C:HAS_FEGETROUND:
+?C:    This symbol, if defined, indicates that the fegetround routine is
+?C:    available to return the macro corresponding to the current rounding
+?C:    mode.
+?C:.
+?H:#$d_fegetround HAS_FEGETROUND       /**/
+?H:.
+?LINT:set d_fegetround
+: see if fegetround exists
+set fegetround d_fegetround
+eval $inlibc
+
diff --git a/U/perl/d_fp_classl.U b/U/perl/d_fp_classl.U
index 1ff83a3..bd9e35f 100644
--- a/U/perl/d_fp_classl.U
+++ b/U/perl/d_fp_classl.U
@@ -14,19 +14,7 @@
 ?C:HAS_FP_CLASSL:
 ?C:    This symbol, if defined, indicates that the fp_classl routine is
 ?C:    available to classify long doubles.  Available for example in
-?C:    Digital UNIX.
-?C:    The returned values are defined in <math.h> and are:
-?C:
-?C:    FP_SNAN           Signaling NaN (Not-a-Number)
-?C:    FP_QNAN           Quiet NaN (Not-a-Number)
-?C:    FP_POS_INF        +infinity
-?C:    FP_NEG_INF        -infinity
-?C:    FP_POS_NORM       Positive normalized
-?C:    FP_NEG_NORM       Negative normalized
-?C:    FP_POS_DENORM     Positive denormalized
-?C:    FP_NEG_DENORM     Negative denormalized
-?C:    FP_POS_ZERO       +0.0 (positive zero)
-?C:    FP_NEG_ZERO       -0.0 (negative zero)
+?C:    Digital UNIX.  See for possible values HAS_FP_CLASS.
 ?C:.
 ?H:#$d_fp_classl HAS_FP_CLASSL         /**/
 ?H:.
diff --git a/U/perl/d_fpclassify.U b/U/perl/d_fpclassify.U
index 119a0cf..54c0438 100644
--- a/U/perl/d_fpclassify.U
+++ b/U/perl/d_fpclassify.U
@@ -1,16 +1,23 @@
-?RCS: $Id$
-?RCS:
-?RCS: Copyright (c) 2000 Jarkko Hietaniemi
+?RCS: Copyright (c) 2000,2014 Jarkko Hietaniemi
 ?RCS:
 ?RCS: You may distribute under the terms of either the GNU General Public
 ?RCS: License or the Artistic License, as specified in the README file.
 ?RCS:
-?MAKE:d_fpclassify: Inlibc
+?MAKE:d_fpclassify d_fp_classify: Inlibc cat i_math Compile rm_try Setvar
 ?MAKE: -pick add $@ %<
+?X:the short story is that C99 says use fpclassify.  But the story is confused
+?X:by systems "partially C99" (or fully "pre C99") which either user fpclassify
+?X:but with different return values, or they use fp_classify (with the 
expected)
+?X:return values, or they use some other spelling of *fp*class* (sometimes even
+?X:without the *fp* part), with yet another set(s) of return values ...
 ?S:d_fpclassify:
 ?S:    This variable conditionally defines the HAS_FPCLASSIFY symbol, which
 ?S:    indicates to the C program that the fpclassify() routine is available.
 ?S:.
+?S:d_fp_classify:
+?S:    This variable conditionally defines the HAS_FP_CLASSIFY symbol, which
+?S:    indicates to the C program that the fp_classify() routine is available.
+?S:.
 ?C:HAS_FPCLASSIFY:
 ?C:    This symbol, if defined, indicates that the fpclassify routine is
 ?C:    available to classify doubles.  Available for example in HP-UX.
@@ -23,10 +30,52 @@
 ?C:           FP_NAN        NaN
 ?C:
 ?C:.
-?H:#$d_fpclassify HAS_FPCLASSIFY               /**/
+?C:HAS_FP_CLASSIFY:
+?C:    This symbol, if defined, indicates that the fp_classify routine is
+?C:    available to classify doubles. The values are defined in <math.h>
+?C:
+?C:           FP_NORMAL     Normalized
+?C:           FP_ZERO       Zero
+?C:           FP_INFINITE   Infinity
+?C:           FP_SUBNORMAL  Denormalized
+?C:           FP_NAN        NaN
+?C:
+?C:.
+?H:#$d_fpclassify      HAS_FPCLASSIFY          /**/
+?H:#$d_fp_classify     HAS_FP_CLASSIFY         /**/
 ?H:.
 ?LINT:set d_fpclassify
-: see if fpclassify exists
-set fpclassify d_fpclassify
+?LINT:set d_fp_classify
+: check for fpclassify
+?X:classified (Comment by jhi)
+?X:fpclassify  i_math
+?X:fp_classify i_math
+?X:fpclass     i_math i_ieeefp i_fp
+?X:fp_class    i_math i_fp_class
+?X:            No i_fp_class yet. But the systems that have
+?X:            this (Tru64 and IRIX) both had <fp_class.h>
+?X:class       i_math
+echo "Checking to see if you have fpclassify..." >&4
+$cat >try.c <<EOCP
+#$i_math I_MATH
+#ifdef I_MATH
+#include <math.h>
+#endif
+int main() { return fpclassify(1.0) == FP_NORMAL ? 0 : 1; }
+EOCP
+set try
+if eval $compile; then
+       val="$define"
+       echo "You have fpclassify."
+else
+       val="$undef"
+       echo "You do not have fpclassify."
+fi
+$rm_try
+set d_fpclassify
+eval $setvar
+
+: see if fp_classify exists
+set fp_classify d_fp_classify
 eval $inlibc
 
diff --git a/U/perl/d_fpgetround.U b/U/perl/d_fpgetround.U
new file mode 100644
index 0000000..c8d8ddc
--- /dev/null
+++ b/U/perl/d_fpgetround.U
@@ -0,0 +1,20 @@
+?RCS: You may distribute under the terms of either the GNU General Public
+?RCS: License or the Artistic License, as specified in the README file.
+?RCS:
+?MAKE:d_fpgetround: Inlibc
+?MAKE: -pick add $@ %<
+?S:d_fpgetround:
+?S:    This variable conditionally defines HAS_FPGETROUND if fpgetround()
+?S:    is available to get the floating point rounding mode.
+?S:.
+?C:HAS_FPGETROUND:
+?C:    This symbol, if defined, indicates that the fpgetround routine is
+?C:    available to get the floating point rounding mode.
+?C:.
+?H:#$d_fpgetround HAS_FPGETROUND               /**/
+?H:.
+?LINT:set d_fpgetround
+: see if fpgetround exists
+set fpgetround d_fpgetround
+eval $inlibc
+
diff --git a/U/perl/d_isfinite.U b/U/perl/d_isfinite.U
index 7453fa7..8034071 100644
--- a/U/perl/d_isfinite.U
+++ b/U/perl/d_isfinite.U
@@ -5,7 +5,7 @@
 ?RCS: You may distribute under the terms of either the GNU General Public
 ?RCS: License or the Artistic License, as specified in the README file.
 ?RCS:
-?MAKE:d_isfinite: Inlibc
+?MAKE:d_isfinite: Inlibc cat i_math Compile rm_try Setvar
 ?MAKE: -pick add $@ %<
 ?S:d_isfinite:
 ?S:    This variable conditionally defines the HAS_ISFINITE symbol, which
@@ -15,10 +15,27 @@
 ?C:    This symbol, if defined, indicates that the isfinite routine is
 ?C:    available to check whether a double is finite (non-infinity non-NaN).
 ?C:.
+?LINT:set d_isfinite
 ?H:#$d_isfinite HAS_ISFINITE           /**/
 ?H:.
-?LINT:set d_isfinite
-: see if isfinite exists
-set isfinite d_isfinite
-eval $inlibc
+: check for isfinite
+echo "Checking to see if you have isfinite..." >&4
+$cat >try.c <<EOCP
+#$i_math I_MATH
+#ifdef I_MATH
+#include <math.h>
+#endif
+int main() { return isfinite(0.0); }
+EOCP
+set try
+if eval $compile; then
+       val="$define"
+       echo "You have isfinite."
+else
+       val="$undef"
+       echo "You do not have isfinite."
+fi
+$rm_try
+set d_isfinite
+eval $setvar
 
diff --git a/U/perl/d_isfinitel.U b/U/perl/d_isfinitel.U
new file mode 100644
index 0000000..372ced0
--- /dev/null
+++ b/U/perl/d_isfinitel.U
@@ -0,0 +1,25 @@
+?RCS: $Id$
+?RCS:
+?RCS: Copyright (c) 2000 Jarkko Hietaniemi
+?RCS:
+?RCS: You may distribute under the terms of either the GNU General Public
+?RCS: License or the Artistic License, as specified in the README file.
+?RCS:
+?MAKE:d_isfinitel: Inlibc
+?MAKE: -pick add $@ %<
+?S:d_isfinitel:
+?S:    This variable conditionally defines the HAS_ISFINITEL symbol, which
+?S:    indicates to the C program that the isfinitel() routine is available.
+?S:.
+?C:HAS_ISFINITEL:
+?C:    This symbol, if defined, indicates that the isfinitel routine is
+?C:    available to check whether a long double is finite.
+?C:    (non-infinity non-NaN).
+?C:.
+?H:#$d_isfinitel HAS_ISFINITEL         /**/
+?H:.
+?LINT:set d_isfinitel
+: see if isfinitel exists
+set isfinitel d_isfinitel
+eval $inlibc
+
diff --git a/U/perl/d_isinf.U b/U/perl/d_isinf.U
index fd31a23..a08f8e3 100644
--- a/U/perl/d_isinf.U
+++ b/U/perl/d_isinf.U
@@ -5,7 +5,7 @@
 ?RCS: You may distribute under the terms of either the GNU General Public
 ?RCS: License or the Artistic License, as specified in the README file.
 ?RCS:
-?MAKE:d_isinf: Inlibc
+?MAKE:d_isinf: Inlibc cat i_math Compile rm_try Setvar
 ?MAKE: -pick add $@ %<
 ?S:d_isinf:
 ?S:    This variable conditionally defines the HAS_ISINF symbol, which
@@ -18,7 +18,24 @@
 ?H:#$d_isinf HAS_ISINF         /**/
 ?H:.
 ?LINT:set d_isinf
-: see if isinf exists
-set isinf d_isinf
-eval $inlibc
+: check for isinf
+echo "Checking to see if you have isinf..." >&4
+$cat >try.c <<EOCP
+#$i_math I_MATH
+#ifdef I_MATH
+#include <math.h>
+#endif
+int main() { return isinf(0.0); }
+EOCP
+set try
+if eval $compile; then
+       val="$define"
+       echo "You have isinf."
+else
+       val="$undef"
+       echo "You do not have isinf."
+fi
+$rm_try
+set d_isinf
+eval $setvar
 
diff --git a/U/perl/d_isinfl.U b/U/perl/d_isinfl.U
new file mode 100644
index 0000000..3f2e9fc
--- /dev/null
+++ b/U/perl/d_isinfl.U
@@ -0,0 +1,24 @@
+?RCS: $Id$
+?RCS:
+?RCS: Copyright (c) 2000 Jarkko Hietaniemi
+?RCS:
+?RCS: You may distribute under the terms of either the GNU General Public
+?RCS: License or the Artistic License, as specified in the README file.
+?RCS:
+?MAKE:d_isinfl: Inlibc
+?MAKE: -pick add $@ %<
+?S:d_isinfl:
+?S:    This variable conditionally defines the HAS_ISINFL symbol, which
+?S:    indicates to the C program that the isinfl() routine is available.
+?S:.
+?C:HAS_ISINFL:
+?C:    This symbol, if defined, indicates that the isinfl routine is
+?C:    available to check whether a long double is an infinity.
+?C:.
+?H:#$d_isinfl HAS_ISINFL               /**/
+?H:.
+?LINT:set d_isinfl
+: see if isinfl exists
+set isinfl d_isinfl
+eval $inlibc
+
diff --git a/U/perl/d_isnan.U b/U/perl/d_isnan.U
index 172a148..a3ec01c 100644
--- a/U/perl/d_isnan.U
+++ b/U/perl/d_isnan.U
@@ -5,7 +5,7 @@
 ?RCS: You may distribute under the terms of either the GNU General Public
 ?RCS: License or the Artistic License, as specified in the README file.
 ?RCS:
-?MAKE:d_isnan: Inlibc
+?MAKE:d_isnan: Inlibc cat i_math Compile rm_try Setvar
 ?MAKE: -pick add $@ %<
 ?S:d_isnan:
 ?S:    This variable conditionally defines the HAS_ISNAN symbol, which
@@ -18,7 +18,24 @@
 ?H:#$d_isnan HAS_ISNAN         /**/
 ?H:.
 ?LINT:set d_isnan
-: see if isnan exists
-set isnan d_isnan
-eval $inlibc
+: check for isnan
+echo "Checking to see if you have isnan..." >&4
+$cat >try.c <<EOCP
+#$i_math I_MATH
+#ifdef I_MATH
+#include <math.h>
+#endif
+int main() { return isnan(0.0); }
+EOCP
+set try
+if eval $compile; then
+       val="$define"
+       echo "You have isnan."
+else
+       val="$undef"
+       echo "You do not have isnan."
+fi
+$rm_try
+set d_isnan
+eval $setvar
 
diff --git a/U/perl/d_j0.U b/U/perl/d_j0.U
new file mode 100644
index 0000000..dafc054
--- /dev/null
+++ b/U/perl/d_j0.U
@@ -0,0 +1,36 @@
+?RCS: You may distribute under the terms of either the GNU General Public
+?RCS: License or the Artistic License, as specified in the README file.
+?RCS:
+?MAKE:d_j0 d_j0l: Inlibc
+?MAKE: -pick add $@ %<
+?S:d_j0:
+?S:    This variable conditionally defines the HAS_J0 symbol, which
+?S:    indicates to the C program that the j0() routine is available.
+?S:.
+?S:d_j0l:
+?S:    This variable conditionally defines the HAS_J0L symbol, which
+?S:    indicates to the C program that the j0l() routine is available.
+?S:.
+?C:HAS_J0:
+?C:    This symbol, if defined, indicates to the C program that the
+?C:    j0() function is available for Bessel functions of the first
+?C:    kind of the order zero, for doubles.
+?C:.
+?C:HAS_J0L:
+?C:    This symbol, if defined, indicates to the C program that the
+?C:    j0l() function is available for Bessel functions of the first
+?C:    kind of the order zero, for long doubles.
+?C:.
+?H:#$d_j0      HAS_J0          /**/
+?H:#$d_j0l     HAS_J0L         /**/
+?H:.
+?LINT:set d_j0
+?LINT:set d_j0l
+: see if j0 exists
+set j0 d_j0
+eval $inlibc
+
+: see if j0l exists
+set j0l d_j0l
+eval $inlibc
+
diff --git a/U/perl/d_prctl.U b/U/perl/d_prctl.U
index e630ce5..caf3dde 100644
--- a/U/perl/d_prctl.U
+++ b/U/perl/d_prctl.U
@@ -38,6 +38,9 @@ d_prctl_set_name=$undef
 case $d_prctl in
     $define)
        $cat >try.c <<EOM
+#ifdef __ANDROID__
+#include <unistd.h>
+#endif
 #include <sys/prctl.h>
 
 int main (int argc, char *argv[])
diff --git a/U/perl/i_fenv.U b/U/perl/i_fenv.U
new file mode 100644
index 0000000..ac77e77
--- /dev/null
+++ b/U/perl/i_fenv.U
@@ -0,0 +1,21 @@
+?RCS: You may redistribute only under the terms of the Artistic Licence,
+?RCS: as specified in the README file that comes with the distribution.
+?RCS:
+?MAKE:i_fenv: Inhdr
+?MAKE: -pick add $@ %<
+?S:i_fenv:
+?S:    This variable conditionally defines the I_FENV symbol, which
+?S:    indicates to the C program that <fenv.h> exists and should
+?S:    be included.
+?S:.
+?C:I_FENV:
+?C:    This symbol, if defined, indicates to the C program that it should
+?C:    include <fenv.h> to get the floating point environment definitions.
+?C:.
+?H:#$i_fenv I_FENV             /**/
+?H:.
+?LINT:set i_fenv
+: see if this is a fenv.h system
+set fenv.h i_fenv
+eval $inhdr
+
diff --git a/U/perl/i_stdint.U b/U/perl/i_stdint.U
new file mode 100644
index 0000000..09c6808
--- /dev/null
+++ b/U/perl/i_stdint.U
@@ -0,0 +1,21 @@
+?RCS: You may redistribute only under the terms of the Artistic Licence,
+?RCS: as specified in the README file that comes with the distribution.
+?RCS:
+?MAKE:i_stdint: Inhdr
+?MAKE: -pick add $@ %<
+?S:i_stdint:
+?S:    This variable conditionally defines the I_STDINT symbol, which
+?S:    indicates to the C program that <stdint.h> exists and should
+?S:    be included.
+?S:.
+?C:I_STDINT:
+?C:    This symbol, if defined, indicates that <stdint.h> exists and
+?C:    should be included.
+?C:.
+?H:#$i_stdint I_STDINT         /**/
+?H:.
+?LINT:set i_stdint
+: see if stdint is available
+set stdint.h i_stdint
+eval $inhdr
+

--
perl5 metaconfig repository

Reply via email to