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
