rice 2.1.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/COPYING +2 -2
- data/Doxyfile +4 -16
- data/Makefile.am +2 -2
- data/Makefile.in +28 -17
- data/{README → README.md} +323 -328
- data/aclocal.m4 +104 -107
- data/ax_cxx_compile_stdcxx.m4 +951 -0
- data/configure +549 -238
- data/configure.ac +3 -3
- data/extconf.rb +11 -10
- data/rice/Array.hpp +16 -16
- data/rice/Array.ipp +11 -11
- data/rice/Class_defn.hpp +1 -0
- data/rice/Constructor.hpp +27 -371
- data/rice/Data_Object_defn.hpp +3 -3
- data/rice/Director.hpp +3 -3
- data/rice/Enum.ipp +1 -1
- data/rice/Exception.cpp +2 -7
- data/rice/Hash.hpp +8 -5
- data/rice/Hash.ipp +2 -2
- data/rice/Makefile.am +1 -4
- data/rice/Makefile.in +80 -35
- data/rice/Module_impl.ipp +1 -1
- data/rice/Object.cpp +1 -1
- data/rice/Object.ipp +15 -1
- data/rice/Object_defn.hpp +24 -1
- data/rice/String.cpp +2 -7
- data/rice/Struct.cpp +2 -2
- data/rice/Struct.hpp +1 -1
- data/rice/Struct.ipp +1 -1
- data/rice/config.hpp +2 -2
- data/rice/config.hpp.in +2 -2
- data/rice/detail/Arguments.hpp +1 -1
- data/rice/detail/Auto_Function_Wrapper.ipp +512 -1025
- data/rice/detail/Auto_Member_Function_Wrapper.ipp +272 -545
- data/rice/detail/Iterator.hpp +2 -2
- data/rice/detail/method_data.cpp +8 -2
- data/rice/detail/ruby.hpp +1 -4
- data/rice/detail/ruby_version_code.hpp +1 -1
- data/rice/detail/wrap_function.hpp +32 -307
- data/rice/protect.hpp +3 -57
- data/rice/to_from_ruby.ipp +128 -4
- data/ruby/Makefile.in +11 -8
- data/ruby/lib/Makefile.in +10 -7
- data/ruby/lib/version.rb +1 -1
- data/sample/Makefile.am +10 -4
- data/sample/Makefile.in +20 -11
- data/sample/callbacks/extconf.rb +3 -0
- data/sample/callbacks/sample_callbacks.cpp +38 -0
- data/sample/callbacks/test.rb +28 -0
- data/test/Makefile.am +1 -0
- data/test/Makefile.in +118 -49
- data/test/embed_ruby.cpp +21 -0
- data/test/embed_ruby.hpp +4 -0
- data/test/ext/Makefile.in +10 -7
- data/test/test_Address_Registration_Guard.cpp +2 -1
- data/test/test_Array.cpp +2 -1
- data/test/test_Builtin_Object.cpp +2 -1
- data/test/test_Class.cpp +7 -4
- data/test/test_Data_Object.cpp +2 -1
- data/test/test_Data_Type.cpp +2 -1
- data/test/test_Director.cpp +2 -1
- data/test/test_Enum.cpp +24 -3
- data/test/test_Exception.cpp +2 -1
- data/test/test_Hash.cpp +2 -1
- data/test/test_Identifier.cpp +2 -1
- data/test/test_Memory_Management.cpp +2 -1
- data/test/test_Module.cpp +2 -1
- data/test/test_Object.cpp +13 -1
- data/test/test_String.cpp +2 -1
- data/test/test_Struct.cpp +2 -1
- data/test/test_Symbol.cpp +2 -1
- data/test/test_To_From_Ruby.cpp +102 -1
- data/test/test_global_functions.cpp +2 -1
- data/test/test_rice.rb +4 -0
- data/test/unittest.cpp +35 -9
- metadata +72 -16
- data/check_stdcxx_11.ac +0 -142
- data/rice/detail/object_call.hpp +0 -69
- data/rice/detail/object_call.ipp +0 -131
- data/rice/detail/traits.hpp +0 -43
- data/rice/detail/wrap_function.ipp +0 -514
data/configure
CHANGED
@@ -645,7 +645,7 @@ RUBY_CPPFLAGS
|
|
645
645
|
RUBY_VERSION_CODE
|
646
646
|
RUBY
|
647
647
|
RICE_USING_MINGW32
|
648
|
-
|
648
|
+
HAVE_CXX14
|
649
649
|
host_os
|
650
650
|
host_vendor
|
651
651
|
host_cpu
|
@@ -664,7 +664,6 @@ am__nodep
|
|
664
664
|
AMDEPBACKSLASH
|
665
665
|
AMDEP_FALSE
|
666
666
|
AMDEP_TRUE
|
667
|
-
am__quote
|
668
667
|
am__include
|
669
668
|
DEPDIR
|
670
669
|
OBJEXT
|
@@ -738,7 +737,8 @@ PACKAGE_VERSION
|
|
738
737
|
PACKAGE_TARNAME
|
739
738
|
PACKAGE_NAME
|
740
739
|
PATH_SEPARATOR
|
741
|
-
SHELL
|
740
|
+
SHELL
|
741
|
+
am__quote'
|
742
742
|
ac_subst_files=''
|
743
743
|
ac_user_opts='
|
744
744
|
enable_option_checking
|
@@ -1922,7 +1922,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
|
|
1922
1922
|
|
1923
1923
|
|
1924
1924
|
|
1925
|
-
am__api_version='1.
|
1925
|
+
am__api_version='1.16'
|
1926
1926
|
|
1927
1927
|
ac_aux_dir=
|
1928
1928
|
for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
|
@@ -2127,12 +2127,7 @@ program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
|
|
2127
2127
|
am_aux_dir=`cd "$ac_aux_dir" && pwd`
|
2128
2128
|
|
2129
2129
|
if test x"${MISSING+set}" != xset; then
|
2130
|
-
|
2131
|
-
*\ * | *\ *)
|
2132
|
-
MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
|
2133
|
-
*)
|
2134
|
-
MISSING="\${SHELL} \"$am_aux_dir\"/missing" ;;
|
2135
|
-
esac
|
2130
|
+
MISSING="\${SHELL} '$am_aux_dir/missing'"
|
2136
2131
|
fi
|
2137
2132
|
# Use eval to expand $SHELL
|
2138
2133
|
if eval "$MISSING --is-lightweight"; then
|
@@ -2467,8 +2462,8 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
|
|
2467
2462
|
|
2468
2463
|
# For better backward compatibility. To be removed once Automake 1.9.x
|
2469
2464
|
# dies out for good. For more background, see:
|
2470
|
-
# <
|
2471
|
-
# <
|
2465
|
+
# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
|
2466
|
+
# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
|
2472
2467
|
mkdir_p='$(MKDIR_P)'
|
2473
2468
|
|
2474
2469
|
# We need awk for the "check" target (and possibly the TAP driver). The
|
@@ -2519,7 +2514,7 @@ END
|
|
2519
2514
|
Aborting the configuration process, to ensure you take notice of the issue.
|
2520
2515
|
|
2521
2516
|
You can download and install GNU coreutils to get an 'rm' implementation
|
2522
|
-
that behaves properly: <
|
2517
|
+
that behaves properly: <https://www.gnu.org/software/coreutils/>.
|
2523
2518
|
|
2524
2519
|
If you want to complete the configuration process using your problematic
|
2525
2520
|
'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
|
@@ -3050,45 +3045,45 @@ DEPDIR="${am__leading_dot}deps"
|
|
3050
3045
|
|
3051
3046
|
ac_config_commands="$ac_config_commands depfiles"
|
3052
3047
|
|
3053
|
-
|
3054
|
-
|
3055
|
-
cat > confinc << 'END'
|
3048
|
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5
|
3049
|
+
$as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; }
|
3050
|
+
cat > confinc.mk << 'END'
|
3056
3051
|
am__doit:
|
3057
|
-
@echo this is the am__doit target
|
3052
|
+
@echo this is the am__doit target >confinc.out
|
3058
3053
|
.PHONY: am__doit
|
3059
3054
|
END
|
3060
|
-
# If we don't find an include directive, just comment out the code.
|
3061
|
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
|
3062
|
-
$as_echo_n "checking for style of include used by $am_make... " >&6; }
|
3063
3055
|
am__include="#"
|
3064
3056
|
am__quote=
|
3065
|
-
|
3066
|
-
|
3067
|
-
|
3068
|
-
|
3069
|
-
|
3070
|
-
|
3071
|
-
|
3072
|
-
|
3073
|
-
|
3074
|
-
|
3075
|
-
|
3076
|
-
|
3077
|
-
|
3078
|
-
|
3079
|
-
|
3080
|
-
|
3081
|
-
|
3082
|
-
|
3083
|
-
|
3057
|
+
# BSD make does it like this.
|
3058
|
+
echo '.include "confinc.mk" # ignored' > confmf.BSD
|
3059
|
+
# Other make implementations (GNU, Solaris 10, AIX) do it like this.
|
3060
|
+
echo 'include confinc.mk # ignored' > confmf.GNU
|
3061
|
+
_am_result=no
|
3062
|
+
for s in GNU BSD; do
|
3063
|
+
{ echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5
|
3064
|
+
(${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5
|
3065
|
+
ac_status=$?
|
3066
|
+
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
3067
|
+
(exit $ac_status); }
|
3068
|
+
case $?:`cat confinc.out 2>/dev/null` in #(
|
3069
|
+
'0:this is the am__doit target') :
|
3070
|
+
case $s in #(
|
3071
|
+
BSD) :
|
3072
|
+
am__include='.include' am__quote='"' ;; #(
|
3073
|
+
*) :
|
3074
|
+
am__include='include' am__quote='' ;;
|
3075
|
+
esac ;; #(
|
3076
|
+
*) :
|
3084
3077
|
;;
|
3085
|
-
|
3086
|
-
|
3087
|
-
|
3088
|
-
|
3089
|
-
|
3090
|
-
|
3091
|
-
rm -f confinc confmf
|
3078
|
+
esac
|
3079
|
+
if test "$am__include" != "#"; then
|
3080
|
+
_am_result="yes ($s style)"
|
3081
|
+
break
|
3082
|
+
fi
|
3083
|
+
done
|
3084
|
+
rm -f confinc.* confmf.*
|
3085
|
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5
|
3086
|
+
$as_echo "${_am_result}" >&6; }
|
3092
3087
|
|
3093
3088
|
# Check whether --enable-dependency-tracking was given.
|
3094
3089
|
if test "${enable_dependency_tracking+set}" = set; then :
|
@@ -3420,198 +3415,506 @@ else
|
|
3420
3415
|
RICE_USING_MINGW32="false"
|
3421
3416
|
fi
|
3422
3417
|
|
3423
|
-
#
|
3424
|
-
#
|
3425
|
-
#
|
3418
|
+
# ===========================================================================
|
3419
|
+
# https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html
|
3420
|
+
# ===========================================================================
|
3426
3421
|
#
|
3427
3422
|
# SYNOPSIS
|
3428
3423
|
#
|
3429
|
-
#
|
3424
|
+
# AX_CXX_COMPILE_STDCXX(VERSION, [ext|noext], [mandatory|optional])
|
3430
3425
|
#
|
3431
3426
|
# DESCRIPTION
|
3432
3427
|
#
|
3433
|
-
# Check for baseline language coverage in the compiler for the
|
3434
|
-
# standard
|
3428
|
+
# Check for baseline language coverage in the compiler for the specified
|
3429
|
+
# version of the C++ standard. If necessary, add switches to CXX and
|
3430
|
+
# CXXCPP to enable support. VERSION may be '11' (for the C++11 standard)
|
3431
|
+
# or '14' (for the C++14 standard).
|
3435
3432
|
#
|
3436
|
-
# The
|
3433
|
+
# The second argument, if specified, indicates whether you insist on an
|
3437
3434
|
# extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g.
|
3438
3435
|
# -std=c++11). If neither is specified, you get whatever works, with
|
3439
3436
|
# preference for an extended mode.
|
3440
3437
|
#
|
3441
|
-
# The
|
3442
|
-
# indicates that baseline
|
3443
|
-
# should error out if no mode with that
|
3444
|
-
# 'optional', then configuration proceeds
|
3445
|
-
#
|
3438
|
+
# The third argument, if specified 'mandatory' or if left unspecified,
|
3439
|
+
# indicates that baseline support for the specified C++ standard is
|
3440
|
+
# required and that the macro should error out if no mode with that
|
3441
|
+
# support is found. If specified 'optional', then configuration proceeds
|
3442
|
+
# regardless, after defining HAVE_CXX${VERSION} if and only if a
|
3443
|
+
# supporting mode is found.
|
3446
3444
|
#
|
3447
3445
|
# LICENSE
|
3448
3446
|
#
|
3449
3447
|
# Copyright (c) 2008 Benjamin Kosnik <bkoz@redhat.com>
|
3450
3448
|
# Copyright (c) 2012 Zack Weinberg <zackw@panix.com>
|
3451
3449
|
# Copyright (c) 2013 Roy Stogner <roystgnr@ices.utexas.edu>
|
3452
|
-
# Copyright (c) 2014 Alexey Sokolov <sokolov@google.com>
|
3450
|
+
# Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov <sokolov@google.com>
|
3451
|
+
# Copyright (c) 2015 Paul Norman <penorman@mac.com>
|
3452
|
+
# Copyright (c) 2015 Moritz Klammler <moritz@klammler.eu>
|
3453
|
+
# Copyright (c) 2016, 2018 Krzesimir Nowak <qdlacz@gmail.com>
|
3454
|
+
# Copyright (c) 2019 Enji Cooper <yaneurabeya@gmail.com>
|
3453
3455
|
#
|
3454
3456
|
# Copying and distribution of this file, with or without modification, are
|
3455
3457
|
# permitted in any medium without royalty provided the copyright notice
|
3456
|
-
# and this notice are preserved.
|
3458
|
+
# and this notice are preserved. This file is offered as-is, without any
|
3457
3459
|
# warranty.
|
3458
3460
|
|
3459
|
-
#serial
|
3461
|
+
#serial 11
|
3462
|
+
|
3463
|
+
|
3464
|
+
|
3465
|
+
|
3466
|
+
|
3467
|
+
|
3468
|
+
|
3469
|
+
|
3470
|
+
|
3471
|
+
|
3472
|
+
|
3473
|
+
|
3474
|
+
|
3475
|
+
|
3476
|
+
|
3477
|
+
|
3460
3478
|
|
3461
3479
|
|
3462
3480
|
|
3463
3481
|
|
3464
3482
|
|
3465
3483
|
|
3466
|
-
|
3484
|
+
|
3485
|
+
|
3486
|
+
|
3487
|
+
|
3488
|
+
ax_cxx_compile_alternatives="14 1y" ax_cxx_compile_cxx14_required=true
|
3467
3489
|
ac_ext=cpp
|
3468
3490
|
ac_cpp='$CXXCPP $CPPFLAGS'
|
3469
3491
|
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
3470
3492
|
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
3471
3493
|
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
|
3472
3494
|
ac_success=no
|
3473
|
-
|
3474
|
-
|
3475
|
-
|
3495
|
+
|
3496
|
+
|
3497
|
+
|
3498
|
+
if test x$ac_success = xno; then
|
3499
|
+
for alternative in ${ax_cxx_compile_alternatives}; do
|
3500
|
+
for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}"; do
|
3501
|
+
cachevar=`$as_echo "ax_cv_cxx_compile_cxx14_$switch" | $as_tr_sh`
|
3502
|
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++14 features with $switch" >&5
|
3503
|
+
$as_echo_n "checking whether $CXX supports C++14 features with $switch... " >&6; }
|
3504
|
+
if eval \${$cachevar+:} false; then :
|
3476
3505
|
$as_echo_n "(cached) " >&6
|
3477
3506
|
else
|
3478
|
-
|
3507
|
+
ac_save_CXX="$CXX"
|
3508
|
+
CXX="$CXX $switch"
|
3509
|
+
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
3479
3510
|
/* end confdefs.h. */
|
3480
3511
|
|
3481
|
-
|
3512
|
+
|
3513
|
+
// If the compiler admits that it is not ready for C++11, why torture it?
|
3514
|
+
// Hopefully, this will speed up the test.
|
3515
|
+
|
3516
|
+
#ifndef __cplusplus
|
3517
|
+
|
3518
|
+
#error "This is not a C++ compiler"
|
3519
|
+
|
3520
|
+
#elif __cplusplus < 201103L
|
3521
|
+
|
3522
|
+
#error "This is not a C++11 compiler"
|
3523
|
+
|
3524
|
+
#else
|
3525
|
+
|
3526
|
+
namespace cxx11
|
3527
|
+
{
|
3528
|
+
|
3529
|
+
namespace test_static_assert
|
3530
|
+
{
|
3531
|
+
|
3532
|
+
template <typename T>
|
3482
3533
|
struct check
|
3483
3534
|
{
|
3484
3535
|
static_assert(sizeof(int) <= sizeof(T), "not big enough");
|
3485
3536
|
};
|
3486
3537
|
|
3487
|
-
|
3488
|
-
|
3538
|
+
}
|
3539
|
+
|
3540
|
+
namespace test_final_override
|
3541
|
+
{
|
3542
|
+
|
3543
|
+
struct Base
|
3544
|
+
{
|
3545
|
+
virtual ~Base() {}
|
3546
|
+
virtual void f() {}
|
3489
3547
|
};
|
3490
|
-
|
3491
|
-
|
3548
|
+
|
3549
|
+
struct Derived : public Base
|
3550
|
+
{
|
3551
|
+
virtual ~Derived() override {}
|
3552
|
+
virtual void f() override {}
|
3492
3553
|
};
|
3493
3554
|
|
3494
|
-
|
3555
|
+
}
|
3495
3556
|
|
3496
|
-
|
3497
|
-
|
3557
|
+
namespace test_double_right_angle_brackets
|
3558
|
+
{
|
3498
3559
|
|
3499
|
-
|
3500
|
-
|
3501
|
-
check_type&& cr = static_cast<check_type&&>(c);
|
3560
|
+
template < typename T >
|
3561
|
+
struct check {};
|
3502
3562
|
|
3503
|
-
|
3504
|
-
|
3563
|
+
typedef check<void> single_type;
|
3564
|
+
typedef check<check<void>> double_type;
|
3565
|
+
typedef check<check<check<void>>> triple_type;
|
3566
|
+
typedef check<check<check<check<void>>>> quadruple_type;
|
3505
3567
|
|
3506
|
-
|
3507
|
-
if ac_fn_cxx_try_compile "$LINENO"; then :
|
3508
|
-
ax_cv_cxx_compile_cxx11=yes
|
3509
|
-
else
|
3510
|
-
ax_cv_cxx_compile_cxx11=no
|
3511
|
-
fi
|
3512
|
-
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
3513
|
-
fi
|
3514
|
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxx_compile_cxx11" >&5
|
3515
|
-
$as_echo "$ax_cv_cxx_compile_cxx11" >&6; }
|
3516
|
-
if test x$ax_cv_cxx_compile_cxx11 = xyes; then
|
3517
|
-
ac_success=yes
|
3518
|
-
fi
|
3568
|
+
}
|
3519
3569
|
|
3520
|
-
|
3521
|
-
|
3522
|
-
cachevar=`$as_echo "ax_cv_cxx_compile_cxx11_$switch" | $as_tr_sh`
|
3523
|
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features with $switch" >&5
|
3524
|
-
$as_echo_n "checking whether $CXX supports C++11 features with $switch... " >&6; }
|
3525
|
-
if eval \${$cachevar+:} false; then :
|
3526
|
-
$as_echo_n "(cached) " >&6
|
3527
|
-
else
|
3528
|
-
ac_save_CXXFLAGS="$CXXFLAGS"
|
3529
|
-
CXXFLAGS="$CXXFLAGS $switch"
|
3530
|
-
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
3531
|
-
/* end confdefs.h. */
|
3570
|
+
namespace test_decltype
|
3571
|
+
{
|
3532
3572
|
|
3533
|
-
|
3534
|
-
|
3573
|
+
int
|
3574
|
+
f()
|
3535
3575
|
{
|
3536
|
-
|
3576
|
+
int a = 1;
|
3577
|
+
decltype(a) b = 2;
|
3578
|
+
return a + b;
|
3579
|
+
}
|
3580
|
+
|
3581
|
+
}
|
3582
|
+
|
3583
|
+
namespace test_type_deduction
|
3584
|
+
{
|
3585
|
+
|
3586
|
+
template < typename T1, typename T2 >
|
3587
|
+
struct is_same
|
3588
|
+
{
|
3589
|
+
static const bool value = false;
|
3537
3590
|
};
|
3538
3591
|
|
3539
|
-
|
3540
|
-
|
3592
|
+
template < typename T >
|
3593
|
+
struct is_same<T, T>
|
3594
|
+
{
|
3595
|
+
static const bool value = true;
|
3541
3596
|
};
|
3542
|
-
|
3543
|
-
|
3597
|
+
|
3598
|
+
template < typename T1, typename T2 >
|
3599
|
+
auto
|
3600
|
+
add(T1 a1, T2 a2) -> decltype(a1 + a2)
|
3601
|
+
{
|
3602
|
+
return a1 + a2;
|
3603
|
+
}
|
3604
|
+
|
3605
|
+
int
|
3606
|
+
test(const int c, volatile int v)
|
3607
|
+
{
|
3608
|
+
static_assert(is_same<int, decltype(0)>::value == true, "");
|
3609
|
+
static_assert(is_same<int, decltype(c)>::value == false, "");
|
3610
|
+
static_assert(is_same<int, decltype(v)>::value == false, "");
|
3611
|
+
auto ac = c;
|
3612
|
+
auto av = v;
|
3613
|
+
auto sumi = ac + av + 'x';
|
3614
|
+
auto sumf = ac + av + 1.0;
|
3615
|
+
static_assert(is_same<int, decltype(ac)>::value == true, "");
|
3616
|
+
static_assert(is_same<int, decltype(av)>::value == true, "");
|
3617
|
+
static_assert(is_same<int, decltype(sumi)>::value == true, "");
|
3618
|
+
static_assert(is_same<int, decltype(sumf)>::value == false, "");
|
3619
|
+
static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
|
3620
|
+
return (sumf > 0.0) ? sumi : add(c, v);
|
3621
|
+
}
|
3622
|
+
|
3623
|
+
}
|
3624
|
+
|
3625
|
+
namespace test_noexcept
|
3626
|
+
{
|
3627
|
+
|
3628
|
+
int f() { return 0; }
|
3629
|
+
int g() noexcept { return 0; }
|
3630
|
+
|
3631
|
+
static_assert(noexcept(f()) == false, "");
|
3632
|
+
static_assert(noexcept(g()) == true, "");
|
3633
|
+
|
3634
|
+
}
|
3635
|
+
|
3636
|
+
namespace test_constexpr
|
3637
|
+
{
|
3638
|
+
|
3639
|
+
template < typename CharT >
|
3640
|
+
unsigned long constexpr
|
3641
|
+
strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
|
3642
|
+
{
|
3643
|
+
return *s ? strlen_c_r(s + 1, acc + 1) : acc;
|
3644
|
+
}
|
3645
|
+
|
3646
|
+
template < typename CharT >
|
3647
|
+
unsigned long constexpr
|
3648
|
+
strlen_c(const CharT *const s) noexcept
|
3649
|
+
{
|
3650
|
+
return strlen_c_r(s, 0UL);
|
3651
|
+
}
|
3652
|
+
|
3653
|
+
static_assert(strlen_c("") == 0UL, "");
|
3654
|
+
static_assert(strlen_c("1") == 1UL, "");
|
3655
|
+
static_assert(strlen_c("example") == 7UL, "");
|
3656
|
+
static_assert(strlen_c("another\0example") == 7UL, "");
|
3657
|
+
|
3658
|
+
}
|
3659
|
+
|
3660
|
+
namespace test_rvalue_references
|
3661
|
+
{
|
3662
|
+
|
3663
|
+
template < int N >
|
3664
|
+
struct answer
|
3665
|
+
{
|
3666
|
+
static constexpr int value = N;
|
3544
3667
|
};
|
3545
3668
|
|
3546
|
-
|
3669
|
+
answer<1> f(int&) { return answer<1>(); }
|
3670
|
+
answer<2> f(const int&) { return answer<2>(); }
|
3671
|
+
answer<3> f(int&&) { return answer<3>(); }
|
3547
3672
|
|
3548
|
-
|
3549
|
-
|
3673
|
+
void
|
3674
|
+
test()
|
3675
|
+
{
|
3676
|
+
int i = 0;
|
3677
|
+
const int c = 0;
|
3678
|
+
static_assert(decltype(f(i))::value == 1, "");
|
3679
|
+
static_assert(decltype(f(c))::value == 2, "");
|
3680
|
+
static_assert(decltype(f(0))::value == 3, "");
|
3681
|
+
}
|
3550
3682
|
|
3551
|
-
|
3552
|
-
check_type c;
|
3553
|
-
check_type&& cr = static_cast<check_type&&>(c);
|
3683
|
+
}
|
3554
3684
|
|
3555
|
-
|
3556
|
-
|
3685
|
+
namespace test_uniform_initialization
|
3686
|
+
{
|
3557
3687
|
|
3558
|
-
|
3559
|
-
|
3560
|
-
|
3561
|
-
|
3562
|
-
|
3563
|
-
fi
|
3564
|
-
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
3565
|
-
CXXFLAGS="$ac_save_CXXFLAGS"
|
3566
|
-
fi
|
3567
|
-
eval ac_res=\$$cachevar
|
3568
|
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
|
3569
|
-
$as_echo "$ac_res" >&6; }
|
3570
|
-
if eval test x\$$cachevar = xyes; then
|
3571
|
-
CXXFLAGS="$CXXFLAGS $switch"
|
3572
|
-
ac_success=yes
|
3573
|
-
break
|
3574
|
-
fi
|
3575
|
-
done
|
3576
|
-
fi
|
3688
|
+
struct test
|
3689
|
+
{
|
3690
|
+
static const int zero {};
|
3691
|
+
static const int one {1};
|
3692
|
+
};
|
3577
3693
|
|
3578
|
-
|
3579
|
-
|
3580
|
-
cachevar=`$as_echo "ax_cv_cxx_compile_cxx11_$switch" | $as_tr_sh`
|
3581
|
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features with $switch" >&5
|
3582
|
-
$as_echo_n "checking whether $CXX supports C++11 features with $switch... " >&6; }
|
3583
|
-
if eval \${$cachevar+:} false; then :
|
3584
|
-
$as_echo_n "(cached) " >&6
|
3585
|
-
else
|
3586
|
-
ac_save_CXXFLAGS="$CXXFLAGS"
|
3587
|
-
CXXFLAGS="$CXXFLAGS $switch"
|
3588
|
-
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
3589
|
-
/* end confdefs.h. */
|
3694
|
+
static_assert(test::zero == 0, "");
|
3695
|
+
static_assert(test::one == 1, "");
|
3590
3696
|
|
3591
|
-
|
3592
|
-
|
3697
|
+
}
|
3698
|
+
|
3699
|
+
namespace test_lambdas
|
3700
|
+
{
|
3701
|
+
|
3702
|
+
void
|
3703
|
+
test1()
|
3593
3704
|
{
|
3594
|
-
|
3705
|
+
auto lambda1 = [](){};
|
3706
|
+
auto lambda2 = lambda1;
|
3707
|
+
lambda1();
|
3708
|
+
lambda2();
|
3709
|
+
}
|
3710
|
+
|
3711
|
+
int
|
3712
|
+
test2()
|
3713
|
+
{
|
3714
|
+
auto a = [](int i, int j){ return i + j; }(1, 2);
|
3715
|
+
auto b = []() -> int { return '0'; }();
|
3716
|
+
auto c = [=](){ return a + b; }();
|
3717
|
+
auto d = [&](){ return c; }();
|
3718
|
+
auto e = [a, &b](int x) mutable {
|
3719
|
+
const auto identity = [](int y){ return y; };
|
3720
|
+
for (auto i = 0; i < a; ++i)
|
3721
|
+
a += b--;
|
3722
|
+
return x + identity(a + b);
|
3723
|
+
}(0);
|
3724
|
+
return a + b + c + d + e;
|
3725
|
+
}
|
3726
|
+
|
3727
|
+
int
|
3728
|
+
test3()
|
3729
|
+
{
|
3730
|
+
const auto nullary = [](){ return 0; };
|
3731
|
+
const auto unary = [](int x){ return x; };
|
3732
|
+
using nullary_t = decltype(nullary);
|
3733
|
+
using unary_t = decltype(unary);
|
3734
|
+
const auto higher1st = [](nullary_t f){ return f(); };
|
3735
|
+
const auto higher2nd = [unary](nullary_t f1){
|
3736
|
+
return [unary, f1](unary_t f2){ return f2(unary(f1())); };
|
3737
|
+
};
|
3738
|
+
return higher1st(nullary) + higher2nd(nullary)(unary);
|
3739
|
+
}
|
3740
|
+
|
3741
|
+
}
|
3742
|
+
|
3743
|
+
namespace test_variadic_templates
|
3744
|
+
{
|
3745
|
+
|
3746
|
+
template <int...>
|
3747
|
+
struct sum;
|
3748
|
+
|
3749
|
+
template <int N0, int... N1toN>
|
3750
|
+
struct sum<N0, N1toN...>
|
3751
|
+
{
|
3752
|
+
static constexpr auto value = N0 + sum<N1toN...>::value;
|
3753
|
+
};
|
3754
|
+
|
3755
|
+
template <>
|
3756
|
+
struct sum<>
|
3757
|
+
{
|
3758
|
+
static constexpr auto value = 0;
|
3595
3759
|
};
|
3596
3760
|
|
3597
|
-
|
3598
|
-
|
3761
|
+
static_assert(sum<>::value == 0, "");
|
3762
|
+
static_assert(sum<1>::value == 1, "");
|
3763
|
+
static_assert(sum<23>::value == 23, "");
|
3764
|
+
static_assert(sum<1, 2>::value == 3, "");
|
3765
|
+
static_assert(sum<5, 5, 11>::value == 21, "");
|
3766
|
+
static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
|
3767
|
+
|
3768
|
+
}
|
3769
|
+
|
3770
|
+
// http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
|
3771
|
+
// Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
|
3772
|
+
// because of this.
|
3773
|
+
namespace test_template_alias_sfinae
|
3774
|
+
{
|
3775
|
+
|
3776
|
+
struct foo {};
|
3777
|
+
|
3778
|
+
template<typename T>
|
3779
|
+
using member = typename T::member_type;
|
3780
|
+
|
3781
|
+
template<typename T>
|
3782
|
+
void func(...) {}
|
3783
|
+
|
3784
|
+
template<typename T>
|
3785
|
+
void func(member<T>*) {}
|
3786
|
+
|
3787
|
+
void test();
|
3788
|
+
|
3789
|
+
void test() { func<foo>(0); }
|
3790
|
+
|
3791
|
+
}
|
3792
|
+
|
3793
|
+
} // namespace cxx11
|
3794
|
+
|
3795
|
+
#endif // __cplusplus >= 201103L
|
3796
|
+
|
3797
|
+
|
3798
|
+
|
3799
|
+
|
3800
|
+
// If the compiler admits that it is not ready for C++14, why torture it?
|
3801
|
+
// Hopefully, this will speed up the test.
|
3802
|
+
|
3803
|
+
#ifndef __cplusplus
|
3804
|
+
|
3805
|
+
#error "This is not a C++ compiler"
|
3806
|
+
|
3807
|
+
#elif __cplusplus < 201402L
|
3808
|
+
|
3809
|
+
#error "This is not a C++14 compiler"
|
3810
|
+
|
3811
|
+
#else
|
3812
|
+
|
3813
|
+
namespace cxx14
|
3814
|
+
{
|
3815
|
+
|
3816
|
+
namespace test_polymorphic_lambdas
|
3817
|
+
{
|
3818
|
+
|
3819
|
+
int
|
3820
|
+
test()
|
3821
|
+
{
|
3822
|
+
const auto lambda = [](auto&&... args){
|
3823
|
+
const auto istiny = [](auto x){
|
3824
|
+
return (sizeof(x) == 1UL) ? 1 : 0;
|
3825
|
+
};
|
3826
|
+
const int aretiny[] = { istiny(args)... };
|
3827
|
+
return aretiny[0];
|
3828
|
+
};
|
3829
|
+
return lambda(1, 1L, 1.0f, '1');
|
3830
|
+
}
|
3831
|
+
|
3832
|
+
}
|
3833
|
+
|
3834
|
+
namespace test_binary_literals
|
3835
|
+
{
|
3836
|
+
|
3837
|
+
constexpr auto ivii = 0b0000000000101010;
|
3838
|
+
static_assert(ivii == 42, "wrong value");
|
3839
|
+
|
3840
|
+
}
|
3841
|
+
|
3842
|
+
namespace test_generalized_constexpr
|
3843
|
+
{
|
3844
|
+
|
3845
|
+
template < typename CharT >
|
3846
|
+
constexpr unsigned long
|
3847
|
+
strlen_c(const CharT *const s) noexcept
|
3848
|
+
{
|
3849
|
+
auto length = 0UL;
|
3850
|
+
for (auto p = s; *p; ++p)
|
3851
|
+
++length;
|
3852
|
+
return length;
|
3853
|
+
}
|
3854
|
+
|
3855
|
+
static_assert(strlen_c("") == 0UL, "");
|
3856
|
+
static_assert(strlen_c("x") == 1UL, "");
|
3857
|
+
static_assert(strlen_c("test") == 4UL, "");
|
3858
|
+
static_assert(strlen_c("another\0test") == 7UL, "");
|
3859
|
+
|
3860
|
+
}
|
3861
|
+
|
3862
|
+
namespace test_lambda_init_capture
|
3863
|
+
{
|
3864
|
+
|
3865
|
+
int
|
3866
|
+
test()
|
3867
|
+
{
|
3868
|
+
auto x = 0;
|
3869
|
+
const auto lambda1 = [a = x](int b){ return a + b; };
|
3870
|
+
const auto lambda2 = [a = lambda1(x)](){ return a; };
|
3871
|
+
return lambda2();
|
3872
|
+
}
|
3873
|
+
|
3874
|
+
}
|
3875
|
+
|
3876
|
+
namespace test_digit_separators
|
3877
|
+
{
|
3878
|
+
|
3879
|
+
constexpr auto ten_million = 100'000'000;
|
3880
|
+
static_assert(ten_million == 100000000, "");
|
3881
|
+
|
3882
|
+
}
|
3883
|
+
|
3884
|
+
namespace test_return_type_deduction
|
3885
|
+
{
|
3886
|
+
|
3887
|
+
auto f(int& x) { return x; }
|
3888
|
+
decltype(auto) g(int& x) { return x; }
|
3889
|
+
|
3890
|
+
template < typename T1, typename T2 >
|
3891
|
+
struct is_same
|
3892
|
+
{
|
3893
|
+
static constexpr auto value = false;
|
3599
3894
|
};
|
3600
|
-
|
3601
|
-
|
3895
|
+
|
3896
|
+
template < typename T >
|
3897
|
+
struct is_same<T, T>
|
3898
|
+
{
|
3899
|
+
static constexpr auto value = true;
|
3602
3900
|
};
|
3603
3901
|
|
3604
|
-
|
3902
|
+
int
|
3903
|
+
test()
|
3904
|
+
{
|
3905
|
+
auto x = 0;
|
3906
|
+
static_assert(is_same<int, decltype(f(x))>::value, "");
|
3907
|
+
static_assert(is_same<int&, decltype(g(x))>::value, "");
|
3908
|
+
return x;
|
3909
|
+
}
|
3910
|
+
|
3911
|
+
}
|
3912
|
+
|
3913
|
+
} // namespace cxx14
|
3605
3914
|
|
3606
|
-
|
3607
|
-
decltype(a) b;
|
3915
|
+
#endif // __cplusplus >= 201402L
|
3608
3916
|
|
3609
|
-
typedef check<int> check_type;
|
3610
|
-
check_type c;
|
3611
|
-
check_type&& cr = static_cast<check_type&&>(c);
|
3612
3917
|
|
3613
|
-
auto d = a;
|
3614
|
-
auto l = [](){};
|
3615
3918
|
|
3616
3919
|
_ACEOF
|
3617
3920
|
if ac_fn_cxx_try_compile "$LINENO"; then :
|
@@ -3620,14 +3923,21 @@ else
|
|
3620
3923
|
eval $cachevar=no
|
3621
3924
|
fi
|
3622
3925
|
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
3623
|
-
|
3926
|
+
CXX="$ac_save_CXX"
|
3624
3927
|
fi
|
3625
3928
|
eval ac_res=\$$cachevar
|
3626
3929
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
|
3627
3930
|
$as_echo "$ac_res" >&6; }
|
3628
|
-
|
3629
|
-
|
3630
|
-
|
3931
|
+
if eval test x\$$cachevar = xyes; then
|
3932
|
+
CXX="$CXX $switch"
|
3933
|
+
if test -n "$CXXCPP" ; then
|
3934
|
+
CXXCPP="$CXXCPP $switch"
|
3935
|
+
fi
|
3936
|
+
ac_success=yes
|
3937
|
+
break
|
3938
|
+
fi
|
3939
|
+
done
|
3940
|
+
if test x$ac_success = xyes; then
|
3631
3941
|
break
|
3632
3942
|
fi
|
3633
3943
|
done
|
@@ -3638,22 +3948,19 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
|
3638
3948
|
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
3639
3949
|
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
|
3640
3950
|
|
3641
|
-
if test x$
|
3951
|
+
if test x$ax_cxx_compile_cxx14_required = xtrue; then
|
3642
3952
|
if test x$ac_success = xno; then
|
3643
|
-
as_fn_error $? "*** A compiler with support for C++
|
3953
|
+
as_fn_error $? "*** A compiler with support for C++14 language features is required." "$LINENO" 5
|
3644
3954
|
fi
|
3955
|
+
fi
|
3956
|
+
if test x$ac_success = xno; then
|
3957
|
+
HAVE_CXX14=0
|
3958
|
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: No compiler with C++14 support was found" >&5
|
3959
|
+
$as_echo "$as_me: No compiler with C++14 support was found" >&6;}
|
3645
3960
|
else
|
3646
|
-
|
3647
|
-
HAVE_CXX11=0
|
3648
|
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: No compiler with C++11 support was found" >&5
|
3649
|
-
$as_echo "$as_me: No compiler with C++11 support was found" >&6;}
|
3650
|
-
else
|
3651
|
-
HAVE_CXX11=1
|
3652
|
-
|
3653
|
-
$as_echo "#define HAVE_CXX11 1" >>confdefs.h
|
3654
|
-
|
3655
|
-
fi
|
3961
|
+
HAVE_CXX14=1
|
3656
3962
|
|
3963
|
+
$as_echo "#define HAVE_CXX14 1" >>confdefs.h
|
3657
3964
|
|
3658
3965
|
fi
|
3659
3966
|
|
@@ -3668,6 +3975,7 @@ $as_echo "#define HAVE_CXX11 1" >>confdefs.h
|
|
3668
3975
|
|
3669
3976
|
|
3670
3977
|
|
3978
|
+
|
3671
3979
|
# Check whether --with-ruby was given.
|
3672
3980
|
if test "${with_ruby+set}" = set; then :
|
3673
3981
|
withval=$with_ruby; RUBY=$withval
|
@@ -5919,7 +6227,7 @@ esac
|
|
5919
6227
|
#echo DX_ENV=$DX_ENV
|
5920
6228
|
|
5921
6229
|
|
5922
|
-
RICE_SAMPLES="enum map inheritance"
|
6230
|
+
RICE_SAMPLES="enum map inheritance callbacks"
|
5923
6231
|
|
5924
6232
|
|
5925
6233
|
RICE_ROOT=`pwd`
|
@@ -6730,7 +7038,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
|
6730
7038
|
#
|
6731
7039
|
# INIT-COMMANDS
|
6732
7040
|
#
|
6733
|
-
AMDEP_TRUE="$AMDEP_TRUE"
|
7041
|
+
AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"
|
6734
7042
|
|
6735
7043
|
_ACEOF
|
6736
7044
|
|
@@ -7350,29 +7658,35 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
|
|
7350
7658
|
# Older Autoconf quotes --file arguments for eval, but not when files
|
7351
7659
|
# are listed without --file. Let's play safe and only enable the eval
|
7352
7660
|
# if we detect the quoting.
|
7353
|
-
|
7354
|
-
|
7355
|
-
|
7356
|
-
|
7661
|
+
# TODO: see whether this extra hack can be removed once we start
|
7662
|
+
# requiring Autoconf 2.70 or later.
|
7663
|
+
case $CONFIG_FILES in #(
|
7664
|
+
*\'*) :
|
7665
|
+
eval set x "$CONFIG_FILES" ;; #(
|
7666
|
+
*) :
|
7667
|
+
set x $CONFIG_FILES ;; #(
|
7668
|
+
*) :
|
7669
|
+
;;
|
7670
|
+
esac
|
7357
7671
|
shift
|
7358
|
-
|
7672
|
+
# Used to flag and report bootstrapping failures.
|
7673
|
+
am_rc=0
|
7674
|
+
for am_mf
|
7359
7675
|
do
|
7360
7676
|
# Strip MF so we end up with the name of the file.
|
7361
|
-
|
7362
|
-
# Check whether this is an Automake generated Makefile
|
7363
|
-
#
|
7364
|
-
#
|
7365
|
-
# Grep'ing the first line is not enough: some people post-process
|
7366
|
-
# each Makefile.in and add a new line on top of each file to say so.
|
7367
|
-
# Grep'ing the whole file is not good either: AIX grep has a line
|
7677
|
+
am_mf=`$as_echo "$am_mf" | sed -e 's/:.*$//'`
|
7678
|
+
# Check whether this is an Automake generated Makefile which includes
|
7679
|
+
# dependency-tracking related rules and includes.
|
7680
|
+
# Grep'ing the whole file directly is not great: AIX grep has a line
|
7368
7681
|
# limit of 2048, but all sed's we know have understand at least 4000.
|
7369
|
-
|
7370
|
-
|
7371
|
-
|
7372
|
-
|
7373
|
-
X"$
|
7374
|
-
X"$
|
7375
|
-
|
7682
|
+
sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
|
7683
|
+
|| continue
|
7684
|
+
am_dirpart=`$as_dirname -- "$am_mf" ||
|
7685
|
+
$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
7686
|
+
X"$am_mf" : 'X\(//\)[^/]' \| \
|
7687
|
+
X"$am_mf" : 'X\(//\)$' \| \
|
7688
|
+
X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
|
7689
|
+
$as_echo X"$am_mf" |
|
7376
7690
|
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
|
7377
7691
|
s//\1/
|
7378
7692
|
q
|
@@ -7390,53 +7704,50 @@ $as_echo X"$mf" |
|
|
7390
7704
|
q
|
7391
7705
|
}
|
7392
7706
|
s/.*/./; q'`
|
7393
|
-
|
7394
|
-
|
7395
|
-
|
7396
|
-
|
7397
|
-
|
7398
|
-
|
7399
|
-
test -z "$DEPDIR" && continue
|
7400
|
-
am__include=`sed -n 's/^am__include = //p' < "$mf"`
|
7401
|
-
test -z "$am__include" && continue
|
7402
|
-
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
|
7403
|
-
# Find all dependency output files, they are included files with
|
7404
|
-
# $(DEPDIR) in their names. We invoke sed twice because it is the
|
7405
|
-
# simplest approach to changing $(DEPDIR) to its actual value in the
|
7406
|
-
# expansion.
|
7407
|
-
for file in `sed -n "
|
7408
|
-
s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
|
7409
|
-
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
|
7410
|
-
# Make sure the directory exists.
|
7411
|
-
test -f "$dirpart/$file" && continue
|
7412
|
-
fdir=`$as_dirname -- "$file" ||
|
7413
|
-
$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
7414
|
-
X"$file" : 'X\(//\)[^/]' \| \
|
7415
|
-
X"$file" : 'X\(//\)$' \| \
|
7416
|
-
X"$file" : 'X\(/\)' \| . 2>/dev/null ||
|
7417
|
-
$as_echo X"$file" |
|
7418
|
-
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
|
7419
|
-
s//\1/
|
7420
|
-
q
|
7421
|
-
}
|
7422
|
-
/^X\(\/\/\)[^/].*/{
|
7707
|
+
am_filepart=`$as_basename -- "$am_mf" ||
|
7708
|
+
$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \
|
7709
|
+
X"$am_mf" : 'X\(//\)$' \| \
|
7710
|
+
X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
|
7711
|
+
$as_echo X/"$am_mf" |
|
7712
|
+
sed '/^.*\/\([^/][^/]*\)\/*$/{
|
7423
7713
|
s//\1/
|
7424
7714
|
q
|
7425
7715
|
}
|
7426
|
-
/^X
|
7716
|
+
/^X\/\(\/\/\)$/{
|
7427
7717
|
s//\1/
|
7428
7718
|
q
|
7429
7719
|
}
|
7430
|
-
/^X
|
7720
|
+
/^X\/\(\/\).*/{
|
7431
7721
|
s//\1/
|
7432
7722
|
q
|
7433
7723
|
}
|
7434
7724
|
s/.*/./; q'`
|
7435
|
-
|
7436
|
-
|
7437
|
-
|
7438
|
-
|
7725
|
+
{ echo "$as_me:$LINENO: cd "$am_dirpart" \
|
7726
|
+
&& sed -e '/# am--include-marker/d' "$am_filepart" \
|
7727
|
+
| $MAKE -f - am--depfiles" >&5
|
7728
|
+
(cd "$am_dirpart" \
|
7729
|
+
&& sed -e '/# am--include-marker/d' "$am_filepart" \
|
7730
|
+
| $MAKE -f - am--depfiles) >&5 2>&5
|
7731
|
+
ac_status=$?
|
7732
|
+
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
7733
|
+
(exit $ac_status); } || am_rc=$?
|
7439
7734
|
done
|
7735
|
+
if test $am_rc -ne 0; then
|
7736
|
+
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
|
7737
|
+
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
|
7738
|
+
as_fn_error $? "Something went wrong bootstrapping makefile fragments
|
7739
|
+
for automatic dependency tracking. If GNU make was not used, consider
|
7740
|
+
re-running the configure script with MAKE=\"gmake\" (or whatever is
|
7741
|
+
necessary). You can also try re-running configure with the
|
7742
|
+
'--disable-dependency-tracking' option to at least be able to build
|
7743
|
+
the package (albeit without support for automatic dependency tracking).
|
7744
|
+
See \`config.log' for more details" "$LINENO" 5; }
|
7745
|
+
fi
|
7746
|
+
{ am_dirpart=; unset am_dirpart;}
|
7747
|
+
{ am_filepart=; unset am_filepart;}
|
7748
|
+
{ am_mf=; unset am_mf;}
|
7749
|
+
{ am_rc=; unset am_rc;}
|
7750
|
+
rm -f conftest-deps.mk
|
7440
7751
|
}
|
7441
7752
|
;;
|
7442
7753
|
|