packages feed

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 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