streamly 0.11.0 → 0.11.1
raw patch · 12 files changed
+423/−312 lines, 12 filesdep ~streamly-core
Dependency ranges changed: streamly-core
Files
- CHANGELOG.md +6/−1
- benchmark/streamly-benchmarks.cabal +6/−6
- configure +324/−269
- configure.ac +1/−1
- docs/User/Project/CONTRIBUTORS.md +5/−0
- docs/User/Project/Changelog.md +6/−1
- src/Streamly/Internal/Data/Fold/Channel/Type.hs +3/−0
- src/config.h.in +6/−6
- streamly.cabal +14/−12
- test/Streamly/Test/Data/Scanl/Concurrent.hs +34/−0
- test/Streamly/Test/FileSystem/DirIO.hs +11/−9
- test/streamly-tests.cabal +7/−7
CHANGELOG.md view
@@ -2,7 +2,12 @@ <!-- See rendered changelog at https://streamly.composewell.com --> -## 0.11.0+## 0.11.1 (May 2026)++* Fix `parDemuxScan` deadlock when a worker throws an exception while the+ driver is blocked on a full input buffer.++## 0.11.0 (Sep 2025) See [0.10.1-0.11.0 API Changelog](https://github.com/composewell/streamly/blob/streamly-0.11.0/docs/User/Project/ApiChangelogs/0.10.1-0.11.0.txt)
benchmark/streamly-benchmarks.cabal view
@@ -179,22 +179,22 @@ -- Core libraries shipped with ghc, the min and max -- constraints of these libraries should match with -- the GHC versions we support- base >= 4.9 && < 4.22+ base >= 4.9 && < 4.23 , deepseq >= 1.4.1 && < 1.6- , mtl >= 2.2 && < 2.3.2+ , mtl >= 2.2 && < 2.4 -- other libraries , exceptions >= 0.8 && < 0.11 , random >= 1.0 && < 2.0 , transformers >= 0.4 && < 0.7- , containers >= 0.5 && < 0.8+ , containers >= 0.5 && < 0.9 , hashable >= 1.3 && < 1.6 , unordered-containers >= 0.2 && < 0.3 , process >= 1.4 && < 1.7 , directory >= 1.2.2 && < 1.4 , filepath >= 1.4.1 && < 1.6 , ghc-prim >= 0.4 && < 0.14- , tasty-bench >= 0.3 && < 0.5+ , tasty-bench >= 0.3 && < 0.6 , tasty >= 1.4.1 && < 1.6 , streamly-core @@ -207,8 +207,8 @@ build-depends: fusion-plugin >= 0.2 && < 0.3 if flag(inspection)- build-depends: template-haskell >= 2.14 && < 2.24- , inspection-testing >= 0.4 && < 0.6+ build-depends: template-haskell >= 2.14 && < 2.25+ , inspection-testing >= 0.4 && < 0.7 -- Array uses a Storable constraint in dev build making several inspection -- tests fail if flag(dev) && flag(inspection)
configure view
@@ -1,11 +1,11 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles.-# Generated by GNU Autoconf 2.71 for streamly 0.11.0.+# Generated by GNU Autoconf 2.72 for streamly 0.11.1. # # Report bugs to <streamly@composewell.com>. # #-# Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation,+# Copyright (C) 1992-1996, 1998-2017, 2020-2023 Free Software Foundation, # Inc. # #@@ -17,7 +17,6 @@ # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh-as_nop=: if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 then : emulate sh@@ -26,12 +25,13 @@ # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST-else $as_nop- case `(set -o) 2>/dev/null` in #(+else case e in #(+ e) case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;;+esac ;; esac fi @@ -103,7 +103,7 @@ ;; esac-# We did not find ourselves, most probably we were run as `sh COMMAND'+# We did not find ourselves, most probably we were run as 'sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0@@ -133,15 +133,14 @@ esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail-# out after a failed `exec'.+# out after a failed 'exec'. printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi # We don't want this to propagate to other subprocesses. { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then- as_bourne_compatible="as_nop=:-if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1+ as_bourne_compatible="if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 then : emulate sh NULLCMD=:@@ -149,12 +148,13 @@ # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST-else \$as_nop- case \`(set -o) 2>/dev/null\` in #(+else case e in #(+ e) case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;;+esac ;; esac fi "@@ -172,8 +172,9 @@ if ( set x; as_fn_ret_success y && test x = \"\$1\" ) then : -else \$as_nop- exitcode=1; echo positional parameters were not saved.+else case e in #(+ e) exitcode=1; echo positional parameters were not saved. ;;+esac fi test x\$exitcode = x0 || exit 1 blah=\$(echo \$(echo blah))@@ -186,14 +187,15 @@ if (eval "$as_required") 2>/dev/null then : as_have_required=yes-else $as_nop- as_have_required=no+else case e in #(+ e) as_have_required=no ;;+esac fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null then : -else $as_nop- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR+else case e in #(+ e) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do@@ -226,12 +228,13 @@ if $as_found then : -else $as_nop- if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&+else case e in #(+ e) if { test -f "$SHELL" || test -f "$SHELL.exe"; } && as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null then : CONFIG_SHELL=$SHELL as_have_required=yes-fi+fi ;;+esac fi @@ -253,7 +256,7 @@ esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail-# out after a failed `exec'.+# out after a failed 'exec'. printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi@@ -273,7 +276,8 @@ $0: under such a shell if you do have one." fi exit 1-fi+fi ;;+esac fi fi SHELL=${CONFIG_SHELL-/bin/sh}@@ -312,14 +316,6 @@ as_fn_set_status $1 exit $1 } # as_fn_exit-# as_fn_nop-# ----------# Do nothing but, unlike ":", preserve the value of $?.-as_fn_nop ()-{- return $?-}-as_nop=as_fn_nop # as_fn_mkdir_p # -------------@@ -388,11 +384,12 @@ { eval $1+=\$2 }'-else $as_nop- as_fn_append ()+else case e in #(+ e) as_fn_append () { eval $1=\$$1\$2- }+ } ;;+esac fi # as_fn_append # as_fn_arith ARG...@@ -406,21 +403,14 @@ { as_val=$(( $* )) }'-else $as_nop- as_fn_arith ()+else case e in #(+ e) as_fn_arith () { as_val=`expr "$@" || test $? -eq 1`- }+ } ;;+esac fi # as_fn_arith -# as_fn_nop-# ----------# Do nothing but, unlike ":", preserve the value of $?.-as_fn_nop ()-{- return $?-}-as_nop=as_fn_nop # as_fn_error STATUS ERROR [LINENO LOG_FD] # ----------------------------------------@@ -494,6 +484,8 @@ /[$]LINENO/= ' <$as_myself | sed '+ t clear+ :clear s/[$]LINENO.*/&-/ t lineno b@@ -542,7 +534,6 @@ as_echo='printf %s\n' as_echo_n='printf %s' - rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file@@ -554,9 +545,9 @@ if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas:- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.- # In both cases, we have to default to `cp -pR'.+ # 1) On MSYS, both 'ln -s file dir' and 'ln file dir' fail.+ # 2) DJGPP < 2.04 has no symlinks; 'ln -s' creates a wrapper executable.+ # In both cases, we have to default to 'cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then@@ -581,10 +572,12 @@ as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name.-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"+as_sed_cpp="y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"+as_tr_cpp="eval sed '$as_sed_cpp'" # deprecated # Sed expression to map a string onto a valid variable name.-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"+as_sed_sh="y%*+%pp%;s%[^_$as_cr_alnum]%_%g"+as_tr_sh="eval sed '$as_sed_sh'" # deprecated test -n "$DJDIR" || exec 7<&0 </dev/null@@ -610,8 +603,8 @@ # Identity of this package. PACKAGE_NAME='streamly' PACKAGE_TARNAME='streamly'-PACKAGE_VERSION='0.11.0'-PACKAGE_STRING='streamly 0.11.0'+PACKAGE_VERSION='0.11.1'+PACKAGE_STRING='streamly 0.11.1' PACKAGE_BUGREPORT='streamly@composewell.com' PACKAGE_URL='https://streamly.composewell.com' @@ -784,7 +777,7 @@ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&- as_fn_error $? "invalid feature name: \`$ac_useropt'"+ as_fn_error $? "invalid feature name: '$ac_useropt'" ac_useropt_orig=$ac_useropt ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in@@ -810,7 +803,7 @@ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&- as_fn_error $? "invalid feature name: \`$ac_useropt'"+ as_fn_error $? "invalid feature name: '$ac_useropt'" ac_useropt_orig=$ac_useropt ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in@@ -1023,7 +1016,7 @@ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&- as_fn_error $? "invalid package name: \`$ac_useropt'"+ as_fn_error $? "invalid package name: '$ac_useropt'" ac_useropt_orig=$ac_useropt ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in@@ -1039,7 +1032,7 @@ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&- as_fn_error $? "invalid package name: \`$ac_useropt'"+ as_fn_error $? "invalid package name: '$ac_useropt'" ac_useropt_orig=$ac_useropt ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in@@ -1069,8 +1062,8 @@ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; - -*) as_fn_error $? "unrecognized option: \`$ac_option'-Try \`$0 --help' for more information"+ -*) as_fn_error $? "unrecognized option: '$ac_option'+Try '$0 --help' for more information" ;; *=*)@@ -1078,7 +1071,7 @@ # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* )- as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;+ as_fn_error $? "invalid variable name: '$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;;@@ -1128,7 +1121,7 @@ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done -# There might be people who depend on the old broken behavior: `$host'+# There might be people who depend on the old broken behavior: '$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias@@ -1196,7 +1189,7 @@ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"+ac_msg="sources are in $srcdir, but 'cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)`@@ -1224,7 +1217,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF-\`configure' configures streamly 0.11.0 to adapt to many kinds of systems.+'configure' configures streamly 0.11.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1238,11 +1231,11 @@ --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit- -q, --quiet, --silent do not print \`checking ...' messages+ -q, --quiet, --silent do not print 'checking ...' messages --cache-file=FILE cache test results in FILE [disabled]- -C, --config-cache alias for \`--cache-file=config.cache'+ -C, --config-cache alias for '--cache-file=config.cache' -n, --no-create do not create output files- --srcdir=DIR find the sources in DIR [configure dir or \`..']+ --srcdir=DIR find the sources in DIR [configure dir or '..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX@@ -1250,10 +1243,10 @@ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] -By default, \`make install' will install all the files in-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify-an installation prefix other than \`$ac_default_prefix' using \`--prefix',-for instance \`--prefix=\$HOME'.+By default, 'make install' will install all the files in+'$ac_default_prefix/bin', '$ac_default_prefix/lib' etc. You can specify+an installation prefix other than '$ac_default_prefix' using '--prefix',+for instance '--prefix=\$HOME'. For better control, use the options below. @@ -1286,7 +1279,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in- short | recursive ) echo "Configuration of streamly 0.11.0:";;+ short | recursive ) echo "Configuration of streamly 0.11.1:";; esac cat <<\_ACEOF @@ -1304,7 +1297,7 @@ CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if you have headers in a nonstandard directory <include dir> -Use these variables to override the choices made by `configure' or to help+Use these variables to override the choices made by 'configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to <streamly@composewell.com>.@@ -1372,10 +1365,10 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF-streamly configure 0.11.0-generated by GNU Autoconf 2.71+streamly configure 0.11.1+generated by GNU Autoconf 2.72 -Copyright (C) 2021 Free Software Foundation, Inc.+Copyright (C) 2023 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF@@ -1414,11 +1407,12 @@ } && test -s conftest.$ac_objext then : ac_retval=0-else $as_nop- printf "%s\n" "$as_me: failed program was:" >&5+else case e in #(+ e) printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_retval=1+ ac_retval=1 ;;+esac fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval@@ -1438,8 +1432,8 @@ if eval test \${$3+y} then : printf %s "(cached) " >&6-else $as_nop- as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`+else case e in #(+ e) as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` eval ac_save_FLAGS=\$$6 as_fn_append $6 " $5" cat confdefs.h - <<_ACEOF >conftest.$ac_ext@@ -1463,12 +1457,14 @@ if ac_fn_c_try_compile "$LINENO" then : eval "$3=yes"-else $as_nop- eval "$3=no"+else case e in #(+ e) eval "$3=no" ;;+esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext eval $6=\$ac_save_FLAGS-+ ;;+esac fi eval ac_res=\$$3 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5@@ -1500,8 +1496,8 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by streamly $as_me 0.11.0, which was-generated by GNU Autoconf 2.71. Invocation command line was+It was created by streamly $as_me 0.11.1, which was+generated by GNU Autoconf 2.72. Invocation command line was $ $0$ac_configure_args_raw @@ -1747,10 +1743,10 @@ printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \- || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}+ || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5+printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file-See \`config.log' for more details" "$LINENO" 5; }+See 'config.log' for more details" "$LINENO" 5; } fi done @@ -1786,9 +1782,7 @@ /* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ struct buf { int x; }; struct buf * (*rcsopen) (struct buf *, struct stat *, int);-static char *e (p, i)- char **p;- int i;+static char *e (char **p, int i) { return p[i]; }@@ -1802,6 +1796,21 @@ return s; } +/* C89 style stringification. */+#define noexpand_stringify(a) #a+const char *stringified = noexpand_stringify(arbitrary+token=sequence);++/* C89 style token pasting. Exercises some of the corner cases that+ e.g. old MSVC gets wrong, but not very hard. */+#define noexpand_concat(a,b) a##b+#define expand_concat(a,b) noexpand_concat(a,b)+extern int vA;+extern int vbee;+#define aye A+#define bee B+int *pvA = &expand_concat(v,aye);+int *pvbee = &noexpand_concat(v,bee);+ /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not \xHH hex character constants. These do not provoke an error unfortunately, instead are silently treated@@ -1829,16 +1838,19 @@ # Test code for whether the C compiler supports C99 (global declarations) ac_c_conftest_c99_globals='-// Does the compiler advertise C99 conformance?+/* Does the compiler advertise C99 conformance? */ #if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L # error "Compiler does not advertise C99 conformance" #endif +// See if C++-style comments work.+ #include <stdbool.h> extern int puts (const char *); extern int printf (const char *, ...); extern int dprintf (int, const char *, ...); extern void *malloc (size_t);+extern void free (void *); // Check varargs macros. These examples are taken from C99 6.10.3.5. // dprintf is used instead of fprintf to avoid needing to declare@@ -1888,7 +1900,6 @@ static inline int test_restrict (ccp restrict text) {- // See if C++-style comments work. // Iterate through items via the restricted pointer. // Also check for declarations in for loops. for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i)@@ -1954,6 +1965,8 @@ ia->datasize = 10; for (int i = 0; i < ia->datasize; ++i) ia->data[i] = i * 1.234;+ // Work around memory leak warnings.+ free (ia); // Check named initializers. struct named_init ni = {@@ -1975,7 +1988,7 @@ # Test code for whether the C compiler supports C11 (global declarations) ac_c_conftest_c11_globals='-// Does the compiler advertise C11 conformance?+/* Does the compiler advertise C11 conformance? */ #if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L # error "Compiler does not advertise C11 conformance" #endif@@ -2089,12 +2102,12 @@ eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,)- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5-printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: '$ac_var' was set to '$ac_old_val' in the previous run" >&5+printf "%s\n" "$as_me: error: '$ac_var' was set to '$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set)- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5-printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: '$ac_var' was not set in the previous run" >&5+printf "%s\n" "$as_me: error: '$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *)@@ -2103,18 +2116,18 @@ ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5-printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: '$ac_var' has changed since the previous run:" >&5+printf "%s\n" "$as_me: error: '$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5-printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in '$ac_var' since the previous run:" >&5+printf "%s\n" "$as_me: warning: ignoring whitespace changes in '$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5-printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;}- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5-printf "%s\n" "$as_me: current value: \`$ac_new_val'" >&2;}+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: '$ac_old_val'" >&5+printf "%s\n" "$as_me: former value: '$ac_old_val'" >&2;}+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: '$ac_new_val'" >&5+printf "%s\n" "$as_me: current value: '$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status.@@ -2130,11 +2143,11 @@ fi done if $ac_cache_corrupted; then- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5+printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;}- as_fn_error $? "run \`${MAKE-make} distclean' and/or \`rm $cache_file'+ as_fn_error $? "run '${MAKE-make} distclean' and/or 'rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ##@@ -2181,8 +2194,8 @@ if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6-else $as_nop- if test -n "$CC"; then+else case e in #(+ e) if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR@@ -2204,7 +2217,8 @@ done IFS=$as_save_IFS -fi+fi ;;+esac fi CC=$ac_cv_prog_CC if test -n "$CC"; then@@ -2226,8 +2240,8 @@ if test ${ac_cv_prog_ac_ct_CC+y} then : printf %s "(cached) " >&6-else $as_nop- if test -n "$ac_ct_CC"; then+else case e in #(+ e) if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR@@ -2249,7 +2263,8 @@ done IFS=$as_save_IFS -fi+fi ;;+esac fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then@@ -2284,8 +2299,8 @@ if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6-else $as_nop- if test -n "$CC"; then+else case e in #(+ e) if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR@@ -2307,7 +2322,8 @@ done IFS=$as_save_IFS -fi+fi ;;+esac fi CC=$ac_cv_prog_CC if test -n "$CC"; then@@ -2329,8 +2345,8 @@ if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6-else $as_nop- if test -n "$CC"; then+else case e in #(+ e) if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no@@ -2369,7 +2385,8 @@ ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@" fi fi-fi+fi ;;+esac fi CC=$ac_cv_prog_CC if test -n "$CC"; then@@ -2393,8 +2410,8 @@ if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6-else $as_nop- if test -n "$CC"; then+else case e in #(+ e) if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR@@ -2416,7 +2433,8 @@ done IFS=$as_save_IFS -fi+fi ;;+esac fi CC=$ac_cv_prog_CC if test -n "$CC"; then@@ -2442,8 +2460,8 @@ if test ${ac_cv_prog_ac_ct_CC+y} then : printf %s "(cached) " >&6-else $as_nop- if test -n "$ac_ct_CC"; then+else case e in #(+ e) if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR@@ -2465,7 +2483,8 @@ done IFS=$as_save_IFS -fi+fi ;;+esac fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then@@ -2503,8 +2522,8 @@ if test ${ac_cv_prog_CC+y} then : printf %s "(cached) " >&6-else $as_nop- if test -n "$CC"; then+else case e in #(+ e) if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR@@ -2526,7 +2545,8 @@ done IFS=$as_save_IFS -fi+fi ;;+esac fi CC=$ac_cv_prog_CC if test -n "$CC"; then@@ -2548,8 +2568,8 @@ if test ${ac_cv_prog_ac_ct_CC+y} then : printf %s "(cached) " >&6-else $as_nop- if test -n "$ac_ct_CC"; then+else case e in #(+ e) if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR@@ -2571,7 +2591,8 @@ done IFS=$as_save_IFS -fi+fi ;;+esac fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then@@ -2600,10 +2621,10 @@ fi -test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}+test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5+printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH-See \`config.log' for more details" "$LINENO" 5; }+See 'config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5@@ -2675,8 +2696,8 @@ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then :- # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'+ # Autoconf-2.13 could set the ac_cv_exeext variable to 'no'.+# So ignore a value of 'no', otherwise this would lead to 'EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf.@@ -2696,7 +2717,7 @@ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not- # safe: cross compilers may not add the suffix if given an `-o'+ # safe: cross compilers may not add the suffix if given an '-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working.@@ -2707,8 +2728,9 @@ done test "$ac_cv_exeext" = no && ac_cv_exeext= -else $as_nop- ac_file=''+else case e in #(+ e) ac_file='' ;;+esac fi if test -z "$ac_file" then :@@ -2717,13 +2739,14 @@ printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}+{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5+printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables-See \`config.log' for more details" "$LINENO" 5; }-else $as_nop- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5-printf "%s\n" "yes" >&6; }+See 'config.log' for more details" "$LINENO" 5; }+else case e in #(+ e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5+printf "%s\n" "yes" >&6; } ;;+esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 printf %s "checking for C compiler default output file name... " >&6; }@@ -2747,10 +2770,10 @@ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then :- # If both `conftest.exe' and `conftest' are `present' (well, observable)-# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will-# work properly (i.e., refer to `conftest.exe'), while it won't with-# `rm'.+ # If both 'conftest.exe' and 'conftest' are 'present' (well, observable)+# catch 'conftest.exe'. For instance with Cygwin, 'ls conftest' will+# work properly (i.e., refer to 'conftest.exe'), while it won't with+# 'rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in@@ -2760,11 +2783,12 @@ * ) break;; esac done-else $as_nop- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}+else case e in #(+ e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5+printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link-See \`config.log' for more details" "$LINENO" 5; }+See 'config.log' for more details" "$LINENO" 5; } ;;+esac fi rm -f conftest conftest$ac_cv_exeext { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5@@ -2780,6 +2804,8 @@ main (void) { FILE *f = fopen ("conftest.out", "w");+ if (!f)+ return 1; return ferror (f) || fclose (f) != 0; ;@@ -2819,26 +2845,27 @@ if test "$cross_compiling" = maybe; then cross_compiling=yes else- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5+printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error 77 "cannot run C compiled programs.-If you meant to cross compile, use \`--host'.-See \`config.log' for more details" "$LINENO" 5; }+If you meant to cross compile, use '--host'.+See 'config.log' for more details" "$LINENO" 5; } fi fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 printf "%s\n" "$cross_compiling" >&6; } -rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out+rm -f conftest.$ac_ext conftest$ac_cv_exeext \+ conftest.o conftest.obj conftest.out ac_clean_files=$ac_clean_files_save { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 printf %s "checking for suffix of object files... " >&6; } if test ${ac_cv_objext+y} then : printf %s "(cached) " >&6-else $as_nop- cat confdefs.h - <<_ACEOF >conftest.$ac_ext+else case e in #(+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int@@ -2870,16 +2897,18 @@ break;; esac done-else $as_nop- printf "%s\n" "$as_me: failed program was:" >&5+else case e in #(+ e) printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}+{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5+printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile-See \`config.log' for more details" "$LINENO" 5; }+See 'config.log' for more details" "$LINENO" 5; } ;;+esac fi-rm -f conftest.$ac_cv_objext conftest.$ac_ext+rm -f conftest.$ac_cv_objext conftest.$ac_ext ;;+esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 printf "%s\n" "$ac_cv_objext" >&6; }@@ -2890,8 +2919,8 @@ if test ${ac_cv_c_compiler_gnu+y} then : printf %s "(cached) " >&6-else $as_nop- cat confdefs.h - <<_ACEOF >conftest.$ac_ext+else case e in #(+ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int@@ -2908,12 +2937,14 @@ if ac_fn_c_try_compile "$LINENO" then : ac_compiler_gnu=yes-else $as_nop- ac_compiler_gnu=no+else case e in #(+ e) ac_compiler_gnu=no ;;+esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu-+ ;;+esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; }@@ -2931,8 +2962,8 @@ if test ${ac_cv_prog_cc_g+y} then : printf %s "(cached) " >&6-else $as_nop- ac_save_c_werror_flag=$ac_c_werror_flag+else case e in #(+ e) ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g"@@ -2950,8 +2981,8 @@ if ac_fn_c_try_compile "$LINENO" then : ac_cv_prog_cc_g=yes-else $as_nop- CFLAGS=""+else case e in #(+ e) CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -2966,8 +2997,8 @@ if ac_fn_c_try_compile "$LINENO" then : -else $as_nop- ac_c_werror_flag=$ac_save_c_werror_flag+else case e in #(+ e) ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */@@ -2984,12 +3015,15 @@ then : ac_cv_prog_cc_g=yes fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;+esac fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;+esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext- ac_c_werror_flag=$ac_save_c_werror_flag+ ac_c_werror_flag=$ac_save_c_werror_flag ;;+esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 printf "%s\n" "$ac_cv_prog_cc_g" >&6; }@@ -3016,8 +3050,8 @@ if test ${ac_cv_prog_cc_c11+y} then : printf %s "(cached) " >&6-else $as_nop- ac_cv_prog_cc_c11=no+else case e in #(+ e) ac_cv_prog_cc_c11=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */@@ -3034,25 +3068,28 @@ test "x$ac_cv_prog_cc_c11" != "xno" && break done rm -f conftest.$ac_ext-CC=$ac_save_CC+CC=$ac_save_CC ;;+esac fi if test "x$ac_cv_prog_cc_c11" = xno then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 printf "%s\n" "unsupported" >&6; }-else $as_nop- if test "x$ac_cv_prog_cc_c11" = x+else case e in #(+ e) if test "x$ac_cv_prog_cc_c11" = x then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 printf "%s\n" "none needed" >&6; }-else $as_nop- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5+else case e in #(+ e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 printf "%s\n" "$ac_cv_prog_cc_c11" >&6; }- CC="$CC $ac_cv_prog_cc_c11"+ CC="$CC $ac_cv_prog_cc_c11" ;;+esac fi ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11- ac_prog_cc_stdc=c11+ ac_prog_cc_stdc=c11 ;;+esac fi fi if test x$ac_prog_cc_stdc = xno@@ -3062,8 +3099,8 @@ if test ${ac_cv_prog_cc_c99+y} then : printf %s "(cached) " >&6-else $as_nop- ac_cv_prog_cc_c99=no+else case e in #(+ e) ac_cv_prog_cc_c99=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */@@ -3080,25 +3117,28 @@ test "x$ac_cv_prog_cc_c99" != "xno" && break done rm -f conftest.$ac_ext-CC=$ac_save_CC+CC=$ac_save_CC ;;+esac fi if test "x$ac_cv_prog_cc_c99" = xno then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 printf "%s\n" "unsupported" >&6; }-else $as_nop- if test "x$ac_cv_prog_cc_c99" = x+else case e in #(+ e) if test "x$ac_cv_prog_cc_c99" = x then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 printf "%s\n" "none needed" >&6; }-else $as_nop- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5+else case e in #(+ e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 printf "%s\n" "$ac_cv_prog_cc_c99" >&6; }- CC="$CC $ac_cv_prog_cc_c99"+ CC="$CC $ac_cv_prog_cc_c99" ;;+esac fi ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99- ac_prog_cc_stdc=c99+ ac_prog_cc_stdc=c99 ;;+esac fi fi if test x$ac_prog_cc_stdc = xno@@ -3108,8 +3148,8 @@ if test ${ac_cv_prog_cc_c89+y} then : printf %s "(cached) " >&6-else $as_nop- ac_cv_prog_cc_c89=no+else case e in #(+ e) ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */@@ -3126,25 +3166,28 @@ test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext-CC=$ac_save_CC+CC=$ac_save_CC ;;+esac fi if test "x$ac_cv_prog_cc_c89" = xno then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 printf "%s\n" "unsupported" >&6; }-else $as_nop- if test "x$ac_cv_prog_cc_c89" = x+else case e in #(+ e) if test "x$ac_cv_prog_cc_c89" = x then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 printf "%s\n" "none needed" >&6; }-else $as_nop- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5+else case e in #(+ e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 printf "%s\n" "$ac_cv_prog_cc_c89" >&6; }- CC="$CC $ac_cv_prog_cc_c89"+ CC="$CC $ac_cv_prog_cc_c89" ;;+esac fi ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89- ac_prog_cc_stdc=c89+ ac_prog_cc_stdc=c89 ;;+esac fi fi @@ -3160,8 +3203,8 @@ if test ${ac_cv_c_undeclared_builtin_options+y} then : printf %s "(cached) " >&6-else $as_nop- ac_save_CFLAGS=$CFLAGS+else case e in #(+ e) ac_save_CFLAGS=$CFLAGS ac_cv_c_undeclared_builtin_options='cannot detect' for ac_arg in '' -fno-builtin; do CFLAGS="$ac_save_CFLAGS $ac_arg"@@ -3180,8 +3223,8 @@ if ac_fn_c_try_compile "$LINENO" then : -else $as_nop- # This test program should compile successfully.+else case e in #(+ e) # This test program should compile successfully. # No library function is consistently available on # freestanding implementations, so test against a dummy # declaration. Include always-available headers on the@@ -3209,26 +3252,29 @@ if test x"$ac_arg" = x then : ac_cv_c_undeclared_builtin_options='none needed'-else $as_nop- ac_cv_c_undeclared_builtin_options=$ac_arg+else case e in #(+ e) ac_cv_c_undeclared_builtin_options=$ac_arg ;;+esac fi break fi-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;+esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext done CFLAGS=$ac_save_CFLAGS-+ ;;+esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_undeclared_builtin_options" >&5 printf "%s\n" "$ac_cv_c_undeclared_builtin_options" >&6; } case $ac_cv_c_undeclared_builtin_options in #( 'cannot detect') :- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5-printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5+printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "cannot make $CC report undeclared builtins-See \`config.log' for more details" "$LINENO" 5; } ;; #(+See 'config.log' for more details" "$LINENO" 5; } ;; #( 'none needed') : ac_c_undeclared_builtin_options='' ;; #( *) :@@ -3240,8 +3286,9 @@ if test "x$ac_cv_have_decl_IN_MASK_CREATE" = xyes then : ac_have_decl=1-else $as_nop- ac_have_decl=0+else case e in #(+ e) ac_have_decl=0 ;;+esac fi printf "%s\n" "#define HAVE_DECL_IN_MASK_CREATE $ac_have_decl" >>confdefs.h @@ -3250,8 +3297,9 @@ if test "x$ac_cv_have_decl_IN_EXCL_UNLINK" = xyes then : ac_have_decl=1-else $as_nop- ac_have_decl=0+else case e in #(+ e) ac_have_decl=0 ;;+esac fi printf "%s\n" "#define HAVE_DECL_IN_EXCL_UNLINK $ac_have_decl" >>confdefs.h @@ -3262,8 +3310,9 @@ if test "x$ac_cv_have_decl_kFSEventStreamCreateFlagFileEvents" = xyes then : ac_have_decl=1-else $as_nop- ac_have_decl=0+else case e in #(+ e) ac_have_decl=0 ;;+esac fi printf "%s\n" "#define HAVE_DECL_KFSEVENTSTREAMCREATEFLAGFILEEVENTS $ac_have_decl" >>confdefs.h @@ -3272,8 +3321,9 @@ if test "x$ac_cv_have_decl_kFSEventStreamCreateFlagFullHistory" = xyes then : ac_have_decl=1-else $as_nop- ac_have_decl=0+else case e in #(+ e) ac_have_decl=0 ;;+esac fi printf "%s\n" "#define HAVE_DECL_KFSEVENTSTREAMCREATEFLAGFULLHISTORY $ac_have_decl" >>confdefs.h @@ -3282,8 +3332,9 @@ if test "x$ac_cv_have_decl_kFSEventStreamEventFlagItemCloned" = xyes then : ac_have_decl=1-else $as_nop- ac_have_decl=0+else case e in #(+ e) ac_have_decl=0 ;;+esac fi printf "%s\n" "#define HAVE_DECL_KFSEVENTSTREAMEVENTFLAGITEMCLONED $ac_have_decl" >>confdefs.h @@ -3292,8 +3343,9 @@ if test "x$ac_cv_have_decl_kFSEventStreamEventFlagItemIsHardlink" = xyes then : ac_have_decl=1-else $as_nop- ac_have_decl=0+else case e in #(+ e) ac_have_decl=0 ;;+esac fi printf "%s\n" "#define HAVE_DECL_KFSEVENTSTREAMEVENTFLAGITEMISHARDLINK $ac_have_decl" >>confdefs.h @@ -3311,8 +3363,8 @@ # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. #-# `ac_cv_env_foo' variables (set or unset) will be overridden when-# loading this file, other *unset* `ac_cv_foo' will be assigned the+# 'ac_cv_env_foo' variables (set or unset) will be overridden when+# loading this file, other *unset* 'ac_cv_foo' will be assigned the # following values. _ACEOF@@ -3342,14 +3394,14 @@ (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *)- # `set' does not quote correctly, so add quotes: double-quote+ # 'set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *)- # `set' quotes correctly as required by POSIX, so do not add quotes.+ # 'set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac |@@ -3439,7 +3491,6 @@ # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh-as_nop=: if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 then : emulate sh@@ -3448,12 +3499,13 @@ # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST-else $as_nop- case `(set -o) 2>/dev/null` in #(+else case e in #(+ e) case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;;+esac ;; esac fi @@ -3525,7 +3577,7 @@ ;; esac-# We did not find ourselves, most probably we were run as `sh COMMAND'+# We did not find ourselves, most probably we were run as 'sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0@@ -3554,7 +3606,6 @@ } # as_fn_error - # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking.@@ -3594,11 +3645,12 @@ { eval $1+=\$2 }'-else $as_nop- as_fn_append ()+else case e in #(+ e) as_fn_append () { eval $1=\$$1\$2- }+ } ;;+esac fi # as_fn_append # as_fn_arith ARG...@@ -3612,11 +3664,12 @@ { as_val=$(( $* )) }'-else $as_nop- as_fn_arith ()+else case e in #(+ e) as_fn_arith () { as_val=`expr "$@" || test $? -eq 1`- }+ } ;;+esac fi # as_fn_arith @@ -3699,9 +3752,9 @@ if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas:- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.- # In both cases, we have to default to `cp -pR'.+ # 1) On MSYS, both 'ln -s file dir' and 'ln file dir' fail.+ # 2) DJGPP < 2.04 has no symlinks; 'ln -s' creates a wrapper executable.+ # In both cases, we have to default to 'cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then@@ -3782,10 +3835,12 @@ as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name.-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"+as_sed_cpp="y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"+as_tr_cpp="eval sed '$as_sed_cpp'" # deprecated # Sed expression to map a string onto a valid variable name.-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"+as_sed_sh="y%*+%pp%;s%[^_$as_cr_alnum]%_%g"+as_tr_sh="eval sed '$as_sed_sh'" # deprecated exec 6>&1@@ -3800,8 +3855,8 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log="-This file was extended by streamly $as_me 0.11.0, which was-generated by GNU Autoconf 2.71. Invocation command line was+This file was extended by streamly $as_me 0.11.1, which was+generated by GNU Autoconf 2.72. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS@@ -3828,7 +3883,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\-\`$as_me' instantiates files and other configuration actions+'$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. @@ -3856,11 +3911,11 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\-streamly config.status 0.11.0-configured by $0, generated by GNU Autoconf 2.71,+streamly config.status 0.11.1+configured by $0, generated by GNU Autoconf 2.72, with options \\"\$ac_cs_config\\" -Copyright (C) 2021 Free Software Foundation, Inc.+Copyright (C) 2023 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." @@ -3911,8 +3966,8 @@ ac_need_defaults=false;; --he | --h) # Conflict between --help and --header- as_fn_error $? "ambiguous option: \`$1'-Try \`$0 --help' for more information.";;+ as_fn_error $? "ambiguous option: '$1'+Try '$0 --help' for more information.";; --help | --hel | -h ) printf "%s\n" "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \@@ -3920,8 +3975,8 @@ ac_cs_silent=: ;; # This is an error.- -*) as_fn_error $? "unrecognized option: \`$1'-Try \`$0 --help' for more information." ;;+ -*) as_fn_error $? "unrecognized option: '$1'+Try '$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;;@@ -3971,7 +4026,7 @@ case $ac_config_target in "src/config.h") CONFIG_HEADERS="$CONFIG_HEADERS src/config.h" ;; - *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;+ *) as_fn_error $? "invalid argument: '$ac_config_target'" "$LINENO" 5;; esac done @@ -3989,7 +4044,7 @@ # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned:-# after its creation but before its name has been assigned to `$tmp'.+# after its creation but before its name has been assigned to '$tmp'. $debug || { tmp= ac_tmp=@@ -4013,13 +4068,13 @@ # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS.-# This happens for instance with `./config.status Makefile'.+# This happens for instance with './config.status Makefile'. if test -n "$CONFIG_HEADERS"; then cat >"$ac_tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF -# Transform confdefs.h into an awk script `defines.awk', embedded as+# Transform confdefs.h into an awk script 'defines.awk', embedded as # here-document in config.status, that substitutes the proper values into # config.h.in to produce config.h. @@ -4129,7 +4184,7 @@ esac case $ac_mode$ac_tag in :[FHL]*:*);;- :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;+ :L* | :C*:*) as_fn_error $? "invalid tag '$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac@@ -4151,19 +4206,19 @@ -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style,- # because $ac_f cannot contain `:'.+ # because $ac_f cannot contain ':'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac ||- as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;+ as_fn_error 1 "cannot find input file: '$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done - # Let's still pretend it is `configure' which instantiates (i.e., don't+ # Let's still pretend it is 'configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '`
configure.ac view
@@ -3,7 +3,7 @@ # See https://www.gnu.org/software/autoconf/manual/autoconf.html for help on # the macros used in this file. -AC_INIT([streamly], [0.11.0], [streamly@composewell.com], [streamly], [https://streamly.composewell.com])+AC_INIT([streamly], [0.11.1], [streamly@composewell.com], [streamly], [https://streamly.composewell.com]) # To suppress "WARNING: unrecognized options: --with-compiler" AC_ARG_WITH([compiler], [GHC])
docs/User/Project/CONTRIBUTORS.md view
@@ -4,6 +4,11 @@ Use `git shortlog -sn tag1...tag2` on the git repository to get a list of contributors between two repository tags. +## 0.11.1++* Harendra Kumar+* John Hampton+ ## 0.11.0 * Harendra Kumar
docs/User/Project/Changelog.md view
@@ -2,7 +2,12 @@ <!-- See rendered changelog at https://streamly.composewell.com --> -## 0.11.0+## 0.11.1 (May 2026)++* Fix `parDemuxScan` deadlock when a worker throws an exception while the+ driver is blocked on a full input buffer.++## 0.11.0 (Sep 2025) See [0.10.1-0.11.0 API Changelog](https://github.com/composewell/streamly/blob/streamly-0.11.0/docs/User/Project/ApiChangelogs/0.10.1-0.11.0.txt)
src/Streamly/Internal/Data/Fold/Channel/Type.hs view
@@ -313,7 +313,10 @@ sendExceptionToDriver :: Channel m a b -> SomeException -> IO () sendExceptionToDriver sv e = do tid <- myThreadId+ writeIORef (closedForInput sv) True+ -- Should ring the doorbell after sending the message void $ sendToDriver sv (FoldException tid e)+ void $ tryPutMVar (inputSpaceDoorBell sv) () data FromSVarState m a b = FromSVarRead (Channel m a b)
src/config.h.in view
@@ -1,27 +1,27 @@ /* src/config.h.in. Generated from configure.ac by autoheader. */ -/* Define to 1 if you have the declaration of `IN_EXCL_UNLINK', and to 0 if+/* Define to 1 if you have the declaration of 'IN_EXCL_UNLINK', and to 0 if you don't. */ #undef HAVE_DECL_IN_EXCL_UNLINK -/* Define to 1 if you have the declaration of `IN_MASK_CREATE', and to 0 if+/* Define to 1 if you have the declaration of 'IN_MASK_CREATE', and to 0 if you don't. */ #undef HAVE_DECL_IN_MASK_CREATE /* Define to 1 if you have the declaration of- `kFSEventStreamCreateFlagFileEvents', and to 0 if you don't. */+ 'kFSEventStreamCreateFlagFileEvents', and to 0 if you don't. */ #undef HAVE_DECL_KFSEVENTSTREAMCREATEFLAGFILEEVENTS /* Define to 1 if you have the declaration of- `kFSEventStreamCreateFlagFullHistory', and to 0 if you don't. */+ 'kFSEventStreamCreateFlagFullHistory', and to 0 if you don't. */ #undef HAVE_DECL_KFSEVENTSTREAMCREATEFLAGFULLHISTORY /* Define to 1 if you have the declaration of- `kFSEventStreamEventFlagItemCloned', and to 0 if you don't. */+ 'kFSEventStreamEventFlagItemCloned', and to 0 if you don't. */ #undef HAVE_DECL_KFSEVENTSTREAMEVENTFLAGITEMCLONED /* Define to 1 if you have the declaration of- `kFSEventStreamEventFlagItemIsHardlink', and to 0 if you don't. */+ 'kFSEventStreamEventFlagItemIsHardlink', and to 0 if you don't. */ #undef HAVE_DECL_KFSEVENTSTREAMEVENTFLAGITEMISHARDLINK /* Define to the address where bug reports for this package should be sent. */
streamly.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.4 name: streamly-version: 0.11.0+version: 0.11.1 synopsis: Streaming data pipelines with declarative concurrency description: For upgrading to streamly-0.9.0+ please read the@@ -53,8 +53,9 @@ , GHC==9.4.7 , GHC==9.6.3 , GHC==9.8.1- , GHC==9.10.1- , GHC==9.12.1+ , GHC==9.10.3+ , GHC==9.12.4+ , GHC==9.14.1 author: Composewell Technologies maintainer: streamly@composewell.com copyright: 2017 Composewell Technologies@@ -531,17 +532,17 @@ -- packages depending on the "ghc" package (packages -- depending on doctest is a common example) can -- depend on streamly.- base >= 4.12 && < 4.22+ base >= 4.12 && < 4.23 , fusion-plugin-types >= 0.1 && < 0.2- , containers >= 0.6.0 && < 0.8+ , containers >= 0.6.0 && < 0.9 , deepseq >= 1.4.4 && < 1.6 , exceptions >= 0.8.0 && < 0.11 , mtl >= 2.2.2 && < 2.4 , transformers >= 0.5.5 && < 0.7- , template-haskell >= 2.14 && < 2.24+ , template-haskell >= 2.14 && < 2.25 -- The core streamly package- , streamly-core == 0.3.0+ , streamly-core >= 0.3.0 && < 0.3.2 , hashable >= 1.3 && < 1.6 , unordered-containers >= 0.2 && < 0.3@@ -550,10 +551,11 @@ -- concurrency , lockfree-queue >= 0.2.4 && < 0.3 - , unicode-data >= 0.1 && < 0.7+ , unicode-data >= 0.1 && < 0.9 -- Network- , network >= 2.6 && < 3.3+ -- network version 3.2.8 is broken on windows+ , network >= 2.6 && < 3.3 if impl(ghc < 9.10)@@ -570,21 +572,21 @@ build-depends: monad-control >= 1.0 && < 1.1 if flag(internal-dev)- build-depends: primitive >= 0.5.4 && < 0.9+ build-depends: primitive >= 0.5.4 && < 0.10 -- For FileSystem.Event module if os(linux) build-depends: directory >= 1.2.2 && < 1.4 if os(windows)- build-depends: Win32 >= 2.6 && < 2.14+ build-depends: Win32 >= 2.6 && < 2.15 if os(darwin) build-depends: directory >= 1.2.2 && < 1.4 frameworks: Cocoa if flag(inspection)- build-depends: inspection-testing >= 0.4 && < 0.6+ build-depends: inspection-testing >= 0.4 && < 0.7 -- Array uses a Storable constraint in dev build making several inspection -- tests fail
test/Streamly/Test/Data/Scanl/Concurrent.hs view
@@ -10,6 +10,7 @@ module Streamly.Test.Data.Scanl.Concurrent (main) where import Control.Concurrent (threadDelay)+import Control.Exception (ErrorCall(..), try) import Data.Function ( (&) ) import Data.IORef (newIORef, atomicModifyIORef') import Data.List (sort)@@ -103,6 +104,37 @@ map snd (filter fst res) `shouldBe` filter even [1..streamLen] map snd (filter (not . fst) res) `shouldBe` filter odd [1..streamLen] +parDemuxScan_WorkerException :: (Scanl.Config -> Scanl.Config) -> IO ()+parDemuxScan_WorkerException concOpts = do+ let throwAfter = 3+ -- All items go to the same key so the driver stays in sendToWorker_+ -- for a single worker channel, maximizing the chance of blocking on a+ -- full buffer.+ demuxer _ = (0 :: Int)+ gen _ = pure+ $ Scanl.lmapM+ (\x -> do+ -- Slow the worker down so the buffer fills up and the+ -- driver blocks in sendToWorker_ waiting for space.+ threadDelay 50000+ if (x :: Int) > throwAfter+ then error "worker exception"+ else pure x)+ $ Scanl.mkScanl1 (\_ x -> x)+ -- Send enough items to fill the buffer (maxBuffer 1) and block+ inpList = [1..100]+ inpStream = Stream.fromList inpList+ res <- try+ $ Scanl.parDemuxScanM concOpts demuxer gen inpStream+ & Stream.concatMap Stream.fromList+ & fmap (\x -> (fst x,) <$> snd x)+ & Stream.catMaybes+ & Stream.fold Fold.toList+ case res of+ Left (ErrorCall msg) -> msg `shouldBe` "worker exception"+ Right _ -> expectationFailure+ "Expected ErrorCall exception but stream completed successfully"+ main :: IO () main = hspec $ H.parallel@@ -118,3 +150,5 @@ $ parDemuxScan_StreamEnd (Scanl.maxBuffer 1) it "parDemuxScanM (scan end) (maxBuffer 1)" $ parDemuxScan_ScanEnd (Scanl.maxBuffer 1)+ it "parDemuxScanM (worker exception) (maxBuffer 1)"+ $ parDemuxScan_WorkerException (Scanl.maxBuffer 1)
test/Streamly/Test/FileSystem/DirIO.hs view
@@ -17,7 +17,6 @@ -- Imports -------------------------------------------------------------------------------- -import Control.Exception (try, IOException) import Data.Word (Word8) import GHC.IO.Encoding (setLocaleEncoding, utf8) #if !defined(mingw32_HOST_OS) && !defined(__MINGW32__)@@ -70,11 +69,6 @@ reality `shouldBe` expectation #endif -ignoringError :: IO a -> IO ()-ignoringError act = do- (_ :: Either IOException a) <- try act- pure ()- testSymLinkFollow :: Spec testSymLinkFollow = do let fp = "benchmark-tmp/dir-structure-small-sym"@@ -87,7 +81,7 @@ $ StreamK.toStream $ StreamK.sortBy compare $ StreamK.fromStream $ Stream.fromList pathsUnsorted- runIO $ ignoringError $ do+ runIO $ do createDirectoryLink "./dir_1" (fp ++ "/sym-link-1") createDirectoryLink "./dir_1/dir_2" (fp ++ "/sym-link-2") createDirectoryLink "./broken_link" (fp ++ "/sym-link-3")@@ -118,13 +112,21 @@ testCorrectness sortedAnswerFollowSym (listDirUnfoldDfs- (Dir.followSymlinks True . Dir.ignoreMissing True)+ ( Dir.followSymlinks True+ . Dir.ignoreMissing True+ . Dir.ignoreInaccessible False+ . Dir.ignoreSymlinkLoops False+ ) fp) it "followSymlinks False" $ testCorrectness sortedAnswerNoFollowSym (listDirUnfoldDfs- (Dir.followSymlinks False . Dir.ignoreMissing True)+ ( Dir.followSymlinks False+ . Dir.ignoreMissing True+ . Dir.ignoreInaccessible False+ . Dir.ignoreSymlinkLoops False+ ) fp) -- | List the current directory recursively
test/streamly-tests.cabal view
@@ -150,21 +150,21 @@ common test-dependencies build-depends: streamly-core- , base >= 4.9 && < 4.22- , containers >= 0.5 && < 0.8+ , base >= 4.9 && < 4.23+ , containers >= 0.5 && < 0.9 , exceptions >= 0.8 && < 0.11 , ghc , hspec >= 2.0 && < 2.12- , mtl >= 2.2 && < 2.3.2- , random >= 1.0.0 && < 1.3+ , mtl >= 2.2 && < 2.4+ , random >= 1.0.0 && < 1.4 , transformers >= 0.4 && < 0.7- , QuickCheck >= 2.13 && < 2.16- , directory >= 1.2.2 && < 1.4+ , QuickCheck >= 2.13 && < 2.19+ , directory >= 1.2.2 && < 1.5 , filepath >= 1.4.1 && < 1.6 , temporary >= 1.3 && < 1.4 , network >= 3.1 && < 3.3 , scientific >= 0.0 && < 0.4- , template-haskell >= 2.12 && < 2.24+ , template-haskell >= 2.12 && < 2.25 if !flag(use-streamly-core) build-depends: streamly